タグ

ブックマーク / shyouhei.tumblr.com (4)

  • 卜部昌平のあまりreblogしないtumblr

    前回の続き。 前回の時点では「git blameが密になっているところはきっと活発に編集されていたに違いない」という仮説があったわけですが、これは当のところは、よくわからない。なぜかというと、blameというのは地層のように降り積もったコミットの表面に露頭してるところしか見せてくれないわけです。当に活発に更新されていたかを知るには、ようするに地質平面図じゃなくて地質断面図が必要なわけ。分かりますよね。 で、それはどうやって作ればいいかというと、gitには便利なgit log -pという、こういうとき便利だけど普段は使い道のなさそーなコマンドがあって、これは生のdiffをすべてだらだらと表示してくれるわけですよ。で、diffからblameを再構成するにはdiffの+行をひたすら集めてくればいいわけだけど、その時-行も一緒に覚えておいて、あるコミットでどのコミットが上書きされたかを覚えてお

    卜部昌平のあまりreblogしないtumblr
    yhara
    yhara 2013/11/18
    面白い
  • [ruby][howto]クラスを生成するクラスの作り方

    Rubyな話。 「とあるオブジェクト群はそのなかでクラスタに分かれていて、クラスタごとに振る舞いが違うんだけど、そのクラスタの数が不定」という状況がたまぁ〜にある。Ruby なおまえらがよく知っている例としては Active Record パターンとかはそう。Active Record パターンだとオブジェクトは DB の行で、したがって振る舞いは DB のテーブル(かビュー)によって決まるんだけど、Active Record の基底クラスを設計している段階ではどんなテーブルがあるかなんてのは当然すべてのパターンを網羅的に作成しておく事はできない。 んで、Rails についてくる ActiveRecord::Base だと、そのへんはかつては「クラスが継承されたときにそこにフックして派生クラスに実装を注入」というインド人もびっくりの力技で解決されていて(今見たら今はそこまでじゃないが)、ま

    [ruby][howto]クラスを生成するクラスの作り方
    yhara
    yhara 2010/03/02
  • あえて言うがRuby会議はそろそろ一回終わってみるべき。

    表題のようなことを実は2007年のやつの後くらいから思ってて、今年はほとんど確信に近くなっている。Ruby会議2009最終日にうっかり角谷さんの電波(自称)を浴びてしまったせいで、当日は「あー、俺より角谷さんのほうがちゃんと考えてて、でも逃げてないんだなあ」とか思った。思ったが、一日たって冷静に考えてみたら、やっぱ逃げてもいいと思うよ。なので当初考えていたとおりに書くことにする。 (1) おまえらの仕事は品質過剰です。 Ruby会議は世間のカンファレンスの相場から考えると、クオリティに比して参加費が異常に安い。クオリティの高さに関しては素晴らしいとは思うが、それの費用は安すぎだと思う。 なぜRuby会議はあのクオリティで開催できるのか、一回きちんと考察してみるべきだ。俺には参加費の代わりにおまえらのモチベーションを削ぎ落としながら燃料にしてオペレーション回してるようにしか見えない。横から見

    あえて言うがRuby会議はそろそろ一回終わってみるべき。
    yhara
    yhara 2009/07/21
  • Rubyのweakref.rbはすごーくいけてない

    標準添付のweakref.rbなんですけどね。こいつえらいメモリいなんですわ。 zsh % ruby -e' require "weakref" p ObjectSpace.count_objects x = WeakRef.new(Object.new) p ObjectSpace.count_objects' {:TOTAL=>13471, :FREE=>286, :T_OBJECT=>7, :T_CLASS=>493, :T_MODULE=>18, :T_FLOAT=>5, :T_STRING=>3036, :T_REGEXP=>12, :T_ARRAY=>605, :T_HASH=>9, :T_BIGNUM=>2, :T_FILE=>6, :T_DATA=>256, :T_MATCH=>1, :T_COMPLEX=>1, :T_NODE=>8715, :T_ICLASS=>19}

    Rubyのweakref.rbはすごーくいけてない
    yhara
    yhara 2009/03/28
    誰かCで書き直さないか?という話
  • 1