Hatena::Groupsubtech

#生存戦略 、それは

-> 05 { 11 / 04 }

inamodeは

22:56 | はてなブックマーク - inamodeは - #生存戦略 、それは

ネーミング良くないから!なんというか、ぶっちゃけダサイお!

Railsは密結合のフレームワーク

17:02 | はてなブックマーク - Railsは密結合のフレームワーク - #生存戦略 、それは

でがちがちだから柔らかさが足りないんじゃ…、って思ってる人が多そうなんだけど、そこはRubyの柔軟さがカバーしてるからそんなガチガチだとは思わない。何でもできるし。(るびりすと

にぽたんムービ

16:51 | はてなブックマーク - にぽたんムービ - #生存戦略 、それは

いままでscaffold使って終わり、系なのが多いだけに新鮮。sledgeマスターしれてばコードごりごり書いても10分でできるんだよ、つーのがひしひしと伝わってきてこれはこれでいいなぁ。

prototype.js mousewheel patch

16:28 | はてなブックマーク -  prototype.js mousewheel patch - #生存戦略 、それは

万が一消失したらめんどくさいので書いておく。

  *** prototype.js.orig 2005-10-15 01:10:14.000000000 +0900
  --- prototype.js  2005-10-15 02:32:45.000000000 +0900
  ***************
  *** 1355,1362 ****

        if (name == 'keypress' &&
            (navigator.appVersion.match(/Konqueror|Safari|KHTML/)
  !         || element.attachEvent))
          name = 'keydown';

        this._observeAndCache(element, name, observer, useCapture);
      },
  --- 1355,1375 ----

        if (name == 'keypress' &&
            (navigator.appVersion.match(/Konqueror|Safari|KHTML/)
  !         || element.attachEvent)) {
          name = 'keydown';
  +     } else if (name == 'mousewheel') {
  +       if (element.addEventListener)
  +         name = 'DOMMouseScroll';
  +       var _observer = observer;
  +       observer.wheelHacked = (function(event) {
  +           var wheelCount = event.wheelDelta?
  +           (event.wheelDelta > 0 ? 1 : -1) : // IE
  +           (event.detail > 0 ? -1 : 1);    // Firefox
  +           _observer(element, wheelCount);
  +           }).bindAsEventListener(this);
  +       observer = observer.wheelHacked;
  +       observer.wheelHacked = observer;
  +     }

        this._observeAndCache(element, name, observer, useCapture);
      },
  ***************
  *** 1367,1374 ****

        if (name == 'keypress' &&
            (navigator.appVersion.match(/Konqueror|Safari|KHTML/)
  !         || element.detachEvent))
          name = 'keydown';

        if (element.removeEventListener) {
          element.removeEventListener(name, observer, useCapture);
  --- 1380,1392 ----

        if (name == 'keypress' &&
            (navigator.appVersion.match(/Konqueror|Safari|KHTML/)
  !         || element.detachEvent)) {
          name = 'keydown';
  +     } else if (name == 'mousewheel') {
  +       if (element.addEventListener)
  +         name = 'DOMMouseScroll';
  +       observer = observer.wheelHacked;
  +     }

        if (element.removeEventListener) {
          element.removeEventListener(name, observer, useCapture);

うわ、もう三週間ぐらい前なのかこれ作ったの。


optionsをメソッドチェインで指定

11:46 | はてなブックマーク - optionsをメソッドチェインで指定 - #生存戦略 、それは

普段Railsはoptionはhashで

paginate :people, :order => 'last_name', :per_page => 20

とか指定してるんだけど、

paginate(:people).order('last_name').per_page(20)

とかゆーのはどうだろうか。こっちの方がtype数的には楽なんだけど。

○○という名前でキーワードを作ったら

11:24 | はてなブックマーク - ○○という名前でキーワードを作ったら - #生存戦略 、それは

正規表現の\w+でマッチしてくれたら便利そう。ただの正規表現で扱うとめっちゃ重そうだけど。教えて!○○!→ /教えて!\w{1,30}!/ にマッチ、みたいな。

ネーミングセンス

11:12 | はてなブックマーク - ネーミングセンス - #生存戦略 、それは

id:tokuhiromは俺と同じでネーミングセンスが無いと思った。つかどうやったらカチェイ(かっこいい)名前つけられるんだろう。教えて!ミヤガワマン

MoMBで

09:46 | はてなブックマーク - MoMBで - #生存戦略 、それは

livemarkが紹介されてるよ。FeedBringerに続いて日本製アプリじゃ二つ目かな。ちなみにMoMBはWeb2.0ライク(Web2.0っぽい「外観」のアプリ)を紹介してるサイト。ときたまWeb2.0アプリもあるけど。アルギRSS購読必須ですよ!

(^o^)/~~~

09:24 | はてなブックマーク - (^o^)/~~~ - #生存戦略 、それは

普通に上記AAを使っている人が居て世代間ギャップを感じた。

babiebabie2005/11/04 12:25意味が判りにくくなるかと。people で paginate された結果のオブジェクトに「'last_name' で 整列しろ(order)」と言って、そのまた結果のオブジェクトに「1ページ当たり20個な(per_page)」と命令しているように読めます。生成されるオブジェクトが謎なところが読みにくい。
オリジナルの「people をー、順番は 'lastname' でー、1ページ当たり 20個でー、paginate してー」の方が読みやすいかなと。

secondlifesecondlife2005/11/04 12:32なるほど。確かに並列の方がいいすね。

ogijunogijun2005/11/04 15:21キーワード引数入るとちょと短くなるよ

secondlifesecondlife2005/11/04 15:48む、キーワード引数入る、ってどんなのですかね?

ogijunogijun2005/11/04 16:47つhttp://www.rubyist.net/~matz/slides/rc2005/mgp0001[0-4].html

secondlifesecondlife2005/11/04 16:52おお、じせだいるびー(Ruby2.0←2.0ブームっぽく)のすか!

トラックバック - http://subtech.g.hatena.ne.jp/secondlife/20051104