My Brain is Open.

思いついたことを適当に列列と

数学勉強会:2017-02-09 集合と命題

ただいま社内でこちらの本を使って数学勉強会を開催中。 論理と集合から始める数学の基礎作者: 嘉田勝出版社/メーカー: 日本評論社発売日: 2008/12メディア: 単行本購入: 1人 クリック: 5回この商品を含むブログを見る 振り返りを兼ねて、内容を記録しておき…

関数型プログラミング言語Elmのススメ

Elmとは? 最近、JavaScriptのトランスパイラが色々ありますよね。CoffeeScriptとかTypeScriptとか、更にそれを取り巻くwebpack, gulpなどのエコシステム…すごい勢いですね。 そんな中で、Elmという言語はとても硬派な部類に入ると思います。他の軟弱なJavaS…

外部連携APIのモックサーバをSwaggerを利用して作る

外部APIとの連携をしたい。でも同時並行で実装中でモックすら無い。どうしよう…。 様々な関係会社の方々と連動して仕様を定めながら開発を進めていかなければならない場合、実際の接続を確認しながら実装を作りたいけど接続先のサーバがない、という状況が起…

ユークリッド互除法と連分数と円周率の有理数近似

ユークリッド互除法 ユークリッドの互除法と言うのはご存知でしょうか。 2つの数の最大公約数を求めるアルゴリズムですね。例えば、390と91ではこうなります。 \[\begin{aligned} 390 &= 91 \times 4 + 26 \\ 91 &= 26 \times 3 + 13 \\ 26 &= 13 \times 2 +…

はてなブログにMathJaxを使って数式を埋め込む

MathJaxを使って次のような数式をブログに記述できます。 $$\phi = 1+\frac{1}{1+}\frac{1}{1+}\ldots$$ インストール Using the MathJax CDNに書かれている内容と同じです。 [設定] > [詳細設定タブ] > [headに要素を追加] に以下を追加します。 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> </script> これによ…

akka.io.Tcpのアクター構成について

こちらからの便乗日記です。日本一わかりやすいというほどでもない Akka2.2 の IO まわりと Pipeline まわり http://nekogata.hatenablog.com/entry/2013/06/05/222540akka-actor 2.2からは(元々実験的(experimental)だった) akka.actor.IO が非推奨になっ…

akka.actor.IOManagerでエコーサーバ

akka-actorのライブラリにはIOManagerというクラスがあり、こちらを用いることでActorSystemの裏側でネットワークI/Oを管理してくれます。 通常ネットワークI/Oを利用する場合、C言語ならread()やwrite()などの関数を使い、JavaならSocketからInputStream, O…

ScalaでHello,world!

今更感がありますが、Hello,world!を自分なりに解説してみます。 サンプルコードはこちら。 // Hello.scala object Hello { def main(args: Array[String]): Unit = { println("Hello,world!") } } Scalaでは次のようにスクリプト実行することもできます。(…

Scala+Javaプロジェクト事始め with sbt (1)

Scalaでコードを書きつつ、Javaコードも書いて、テストも両方書いて、同じプロジェクトとしてビルドしたい!という要望により、環境作成をシコシコとやってみることにしてみました。 今回はScalaの単体テスト環境構築まで。とりあえず、sbtが一番簡単そうな…

homebrewでemacsをインストール

homebrew( http://mxcl.github.com/homebrew/ )でemacs23.4をインストールして環境構築中です。あれこれいじってたら以下の表示が出てなんかおかしなことに。 Warning: arch-dependent data dir (/private/tmp/homebrew-emacs-23.4-P2zw/emacs-23.4/nextstep…

PostgreSQLのコネクションをいっぱいにして保持するツール

需要あんのかな? #!/usr/bin/env ruby require 'rubygems' require 'pg' # postgres ## Setting ## ConnectionInfo = { :host => "localhost", :port => 5432, :dbname => "postgres", :user => "postgres", } # get wait_time from ARGV[0] if ARGV.size <…

C言語ことはじめ

改めまして、お仕事でC言語を取り扱うことになって1ヶ月ほど経ちました。これまでシェル(bash)とかRuby on Railsとかスクリプト系が多くてすっかり忘れている感がありました。 というか、実際のところ大学の実習程度にしかやっておりません。 そんな僕に何が…

引き継ぎ

そう言っていいのかどうか分からないけど、しばらくの間MongoDBとRuby on Railsで作っていたあるアプリケーション開発のお仕事は、諸事情により中断することになってしまい、僕自身も別の会社で仕事を始めることになっております。 元々の企画自体は引き継ぎ…

Carbon Emacs のカラーテーマ

Carbon Emacsにはcolor-theme.el が最初から入っているため、以下のコードを ~/.emacs.el などに書けば利用可能になる。 ;; Color-Theme loading (require 'color-theme) (color-theme-initialize) ;; Select theme (color-theme-clarity) そんなわけで、デ…

メソッド定義のカラクリ

Twitter APIのラッパーである"Rubytter"を使おうと思ってドキュメントを漁ってたんですが、 RubyGems.orgからリンクされているこちらのドキュメントにメソッドが足りない事に気づきました。 http://rubydoc.info/gems/rubytter/1.4.2/framesじゃあ、ソース見…

pTeX on MacPorts

TeX

個人的に、大学1年の頃からTeXで組版をやっていたため、未だに履歴書とかTeXで作成・保存・更新したりしています。しかしこれまでTeXを触ってきた環境はWindows(またはLinux)であったため、 Macでの組版環境のインストールに関して今やっと調べているとこ…

Mongoid 2.0.0.rc.4への更新で早速ハマる

Mongoid の正式版リリースに向けて、rc.4まで出ていたのでインストールしてみた。 その他、Rails3.0.3 もあったりしたので、Gemfileに以下を記述して bundle update 実行。 gem 'rails', '3.0.3' gem 'mongoid', '2.0.0.rc.4' 問題なく動くんだけど、一部ass…

需要ある?

総務省が以下で公開している情報があるのですが、WordやPDFしかないのでデータとして探しづらい。 http://www.soumu.go.jp/main_sosiki/joho_tsusin/top/tel_number/shigai_list.htmlそこで、自前でCSVに変換してみる。といっても、ベースはPDFの方からテキ…

Fakerモジュールが国際化対応

掲題のとおり、Fakerモジュールが0.9.0からI18Nに対応するようになったようですが、 default = "ja" になってたりすると、日本語の対応する文字列がないよ!って言われてテストが通らなくなっちゃう。というわけで、以下の指定を$RAILS_ROOT/Gemfileにしてア…

rvm+passenger3+nginxで作るRailsアプリケーションサーバ

rvm : Ruby Version Manager。コマンド一つでRubyバージョンを切り替えたりgemsetとかを切り替えたりできます。 nginx : 軽量WebProxy。HTTPサーバとしても使えます。 Passenger : mod_railsとも。Ruby on Railsをデプロイするときに超便利。 まぁ、ここを見…

references_oneの挙動

MongoDBの(埋め込みでない)参照を用いる references_one の挙動について。 class Person include Mongoid::Document field :name references_one :car end class Car include Mongoid::Document field :name referenced_in :person end モデルがこうなって…

埋め込みドキュメントの参照

Mongoidのドキュメントに微妙に書いてないのでメモ。 class Person include Mongoid::Document embeds_many :phones end class Phone include Mongoid::Document field :number embedded_in :person, :inverse_of => :phones end となっているときに、ある電…

Mongoidによるatomicな更新

MongoDBの特徴として、RDBMSではおおよそ用いられる以下の方法が使えない。 joinがない transactionがない そのかわり、次の特徴がある 埋め込みドキュメントが使える ドキュメントの各要素について、atomicな更新ができる 前者は例えば「紐付けて必ず参照す…

参照のあるモデルをviewから作る

ParentとChildの関係にあるモデルの作り方と簡単な使いかたを前回書いたが、では画面からそれらを登録していくにはどうすればいいか。考えられる方法はとりあえず二つ 作成済みのParentのページにChildを作るリンクを作成する Childを新規作成するページで既…

nginx起動スクリプト

需要があるかどうかわからないけど、nginxの起動停止スクリプトをのせておく。

Mongoidのモデル間参照について備忘録

参照関係(Relation)を作るにはMongoidのモデルで以下を指定する。 references_one references_mary referenced_in 使い方に注意が必要で、例えば Parent, Childな関係の場合 class Parent include Mongoid::Document references_many :child end class Child…

Fabrication

FabricationというのがMongoidのドキュメントに対応しているらしいので、テストの為に使ってみる。とりあえず、次の事はわかった。 spec/fabricators/model_fabricator.rb で Fabricator(:model)を作成。 Fabricate(:model)でモデルを作成し保存。いろいろ試…

Mongoid generate

Mongoidでモデルを作るときにTimestampとか付ける方法について軽くメモ。 rails g model model_name [field:type [...] ] [--timestamps=true] [--parent=parent_model_name]

nokogiri 1.4.4でエラー

Ruby on Railsで業務アプリを構築中。将来必要になるだろうjpmobileを入れてみたところ、入るバージョン0.1.3ではwebratを使用しており、その依存関係でnokogiriがインストールされる。 開発マシンのMac OS X 10.6ではそこでエラーが発生。 mkmf.logはこんな…

どうなるやら

とりあえず、メモ帳を用意。 書いていかねば。