タグ

ブックマーク / d.hatena.ne.jp/lurker (3)

  • Firebugの便利な組み込み関数 - 技術メモ帳

    id:brazil さんのブックマークで知ったのだが、 Firebugには、便利な組み込み関数が定義されているようだ。 一通りさわってみたのだが、 $x() で 任意のXPath要素が取得できるのとかに感動した。 そして、やっぱりちゃんとドキュメント読むべきだなぁと思った。 XPathから要素を取得する。 $x("/html/body/h1"); -> 要素の配列が返ってくる。 selector名から要素を取得する。(getElementsByTagName) $$("h1") -> 要素の配列 所要時間測定 console#time, console#timeEnd time ~ timeEnd で囲んだ部分の所要時間を 計測することが出来るみたいで、 以下のような関数にまとめると良さそうだ。 function bench( callback ) { var uniq_id = Date

  • Ruby Debuggerの良さ - 技術メモ帳

    会社からだから、走り書き。 特に推敲もしていない。一度も見直していない。 だが、これは限りなく音に近いのだ。 ruby -rdebug hoge.rb よく使うコマンド break クラス:メソッド名 delete ブレークポイント解除 c ブレークポイントまで続行 l 該当ソースコード表示 n 次の行へ s 次の行へ、関数であれば中に入る p 画面にデバッグ表示 catch off 例外発生時に止まらなくする。 catch <Exception> 指定した例外発生時に停止 var l ローカル変数をすべて表示 良いところ rubyの標準モジュールが使えるところ。 irb 見たいな感覚で使える。 当然、デバッグ中に require 出来るので、 たとえば、pritty print したかったら require 'pp' pp @hoge とかもできるし、 require 'y' y @h

  • マルチスレッドな仕事 - 技術メモ帳

    今、仕事でマルチスレッドな Ruby アプリケーションを書いている。 そのときにリファクタリングの過程で こんなのあったら便利じゃないのかなぁってのを 思いついたのでココに書いてみる。 とりあえず、普通に書くとマルチスレッドなアプリの イディオムは以下のようになると思う。 threads = [] 10.times{ threads << Thread.new{ puts "hello" } } threads.each{ |th| th.join } こいつをメソッドとして、抽出してみた。 def do_multi_threads(num, &block) threads = [] num.times{ threads << Thread.new{ block.call } } threads.each{ |th| th.join } end # メインコードはすごくシンプルになる。 d

    hideden
    hideden 2006/06/23
  • 1