ruby

pre-commitへPull Request送ったときの調査方法

pre-commitって何?という人は、こちらを先に見てください git用のpre-commit gemが便利すぎる - TakiTakeの日記takitake.hatenablog.com もしや、バグ? ignoreできないファイルがある 普段から、pre-commitを愛用していますが、中にはチェックして欲しくな…

Scottyで簡易サーバ作成

つくったもの ScottyでWeb API呼び出しを束ねる(予定)のServerを作成しました。Yesodは、俺にはまだ早かった。 構成 Web Browser -> Web Server (Scotty) -> API Server (Sinatra) SinatraでAPI Server作成 Rubyの方が慣れているので、API Server側はRuby…

Rubyの子クラスで定数を再定義したのに親の定数が参照されちゃう

ちゃう class Parent CONST = 'parent' def initialize p CONST end end class Child1 < Parent CONST = 'child' end Child1.new # "parent" "child"を期待してたら、"parent"が返ってきた!? 定数の場合、今のスコープになかったら、外のスコープから探索…

RubyでDSL作ってみる

肝となる処理 instance_eval が便利。ブロック渡し以外にも、文字列を渡してインスタンス内のコンテキストで実行可能。 てことで DSL用のメソッドAを用意 DSLで書かれたファイルを読み込む メソッドAと同じインスタンスで、ファイルの内容をinstance_eval -_…

バイナリ形式にするだけでメモリ節約プログラミング

比較条件に関係しない値なら、バイナリにする価値あり 小さい数値を多く扱う場合は、バイナリ(可変長表現)にすると結構小さくできます。 データ量が小さくなれば、DBからの取得速度が向上し、アプリのメモリ上にもより多くのデータを保持できるようになりま…