Rubygemsをダウングレードする方法のメモ
Rubygems-1
1 # gem update --system 1.7.1
Rubygems-1
1 # gem update --system 1.7.1
Rubyスクリプト中から
1 require "hoge"
されている hoge
のソースを見てみたい時には、
1 vim `gem which hoge`.rb
すると見つけてきてくれます。
昔はShift JISからEUC-JPに一括変換するのにqkcを使っていましたが、 最近は UTF8に変換する方が多いので、qkc は使えません。 そんな時は nkf で
1 % nkf -w --in-place*
--in-place
を指定すれば一括変換できます。
普段のコミットログから作業日報的なものを生成したい場合、 以下のようなコマンドでそれらしいものが出力できます。
1 % git log --author=takiuchi --format="%ad %s" --date=sho rt
厳守してるわけじゃないですが、なんとなくこんなリズムでコードを書くようにしています。
朝は脳が冴えていて、前日仕込んだバグが嘘のようによく取れます。
午後は眠くなるので、あまり脳を使わないテストやドキュメントを書きます。 単調な作業への反動でいいアイディアをひらめいたりします。Yakです。
夜は創造の時間です。新しいことに取り組みます。行き止まりだと思っていたところに道が開けます。
Valgrindを使うとメモリリークの検出などを行うことができて便利ですが、 OSやライブラリに起因するメモリリークのレポートが大量に出てくると邪魔なため、backtraceのパターンを指定して抑制(suppress)することができます。
例)valgrind.s
1 { 2 <insert_a_suppression _name_here > 3 Memcheck:L eak 4 fun:malloc 5 fun:_nc_ta ble_insert _n 6 fun:token_ table_add 7 fun:notify _register_ check 8 fun:notify _register_ tz 9 fun:tzsetw all_basic 10 fun:localt ime 11 fun:ctime 12 }
funはbacktrace上の関数名を示しますが、全体をマッチさせる場合、 呼び出し経路ごとに異なったパターンになるため、 沢山登録する必要が出てきてしまいます。
最新のValgrind(valgrind-3
1 { 2 <insert_a_suppression _name_here > 3 Memcheck:L eak 4 fun:malloc 5 ... 6 fun:localt ime 7 }
localtime関数を呼び出したあとに、内部のmalloc呼び出しで 発生したメモリリークを全部一括で抑制できます。便利ですね。
To reduce consumptio
Be careful of the flow of from even number pages to odd number pages.
If you do oppositely
This can be used with layouts that have 2 or more pages a paper.
行末に|を記述するHamlの複数行記法が書きにくかったので、 Vimで整形出来るようにするための外部プログラムを作ってみました。
1 set fp=/path/to/haml_for matter.rb
して、visualモードで選択してgqで整形です。
rubyで普通にinjectを使って合計を求めようとした場合、こんな感じになります。
1 (1..10).inject(0){|sum, i| sum + i} #=> 55
しかし、以下のように書く事も出来ます。
1 (1..10).inject(&:+) #=> 55
Enumerable
1 Dir["config/environments/ *.rb"].grep(%r{(\w+)\.rb$}){$1} 2 #=> ["developmen t", "production ", "rake", "staging", "test"]
痒いところに手が届く感じですね。