タグ

ブックマーク / secondlife.hatenablog.jp (9)

  • 川o・-・)<2nd life

    Perl での print debug の方法の紹介がブーム(?)だったので、自分がよく行ってる Ruby での debug 方法7つについて書いてみます。 p ご存じの人も多い Kernel#p メソッド。これを使うとオブジェクトの内容を見やすい形で出力してくれます。 >> p ({:foobar => :baz}) {:foobar=>:baz}Object#inspect を使うと、p で出力するときと同じ文字列を String として取得できます。 >> puts ({:foobar => :baz}).inspect {:foobar=>:baz}初心者の頃この p での出力を使う方法がわからなくて困った記憶が…。 pp pp というライブラリを使うと、p より、より見やすい形式で出力してくれます。たとえば >> a = Array.new(10) { {:foobar => :

    川o・-・)<2nd life
    essa
    essa 2006/10/12
  • ruby のスクレイピングツールキット scrAPI - 川o・-・)<2nd life

    http://blog.labnotes.org/category/scrapi/ rubyスクレイピングして web の情報を取得するのには、今まで正規表現か xpath でやってたので、わりと面倒でした。で、ふと scrAPI というスクレイピングツールキットを知ったのですが、これがかなり便利そう。 このツールキットを使うと、CSS3 なセレクタを記述することで、要素を取得することができます。たとえばとあるサイトのリンクを全部取得したければ、 require 'rubygems' require 'scrapi' require 'open-uri' require 'nkf' require 'pp' $KCODE = 'u' links = Scraper.define do process "a[href]", "urls[]"=>"@href" result :urls e

    ruby のスクレイピングツールキット scrAPI - 川o・-・)<2nd life
  • mysqlar ActiveRecordを使った対話型のMySQLクライアント - 2nd life (移転しました)

    通常mysqlのデータをコンソールで調べたい場合はmysqlコマンドを使って調べます。しかしActiveRecord依存症な人(含む自分)な人は簡単なSQLをど忘れしたり、ああRubyのあのメソッドつかえば簡単に計算ができるのに、とか思ったり思わなかったり。 またちょっと値を弄って、計算してinsertやupdateを行うときなんかもmysqlコマンドからSQL発行する形だとやりにくかったりします。 そのため今までは簡単なActiveRecordを使ったスクリプトを書いたんですが、実際はコネクションの設定がほとんどで、プログラムのコアはほんの1〜数行だったりします。 そこでどうせならirb使って対話型にmysqlを使えるようにするクライアントを書いてみました。 mysqlar -unobody -ppassword -t wiki など、mysqlコマンドのように立ち上げることができます。

    mysqlar ActiveRecordを使った対話型のMySQLクライアント - 2nd life (移転しました)
  • zsh + screen で端末に表示されてる文字列を補完する - 川o・-・)<2nd life:

    以前に入力したコマンドの履歴を覚えていて補完してくれるshellはあるが、 端末に表示されている文字列を補完してくれるshellは無いだろうか。 表示されている文字列を補完してくれるshellが欲しい とvimrc diaryに書かれてたのでzsh + screenで端末に表示されてる文字列を補完する方法を。.zshrcなどに # dabbrev HARDCOPYFILE=$HOME/tmp/screen-hardcopy touch $HARDCOPYFILE dabbrev-complete () { local reply lines=80 # 80行分 screen -X eval "hardcopy -h $HARDCOPYFILE" reply=($(sed '/^$/d' $HARDCOPYFILE | sed '$ d' | tail -$lines)) compadd -

    zsh + screen で端末に表示されてる文字列を補完する - 川o・-・)<2nd life:
    essa
    essa 2006/01/08
  • RailsのFastCGI運営時でのrestert,reloadの方法 - 2nd life (移転しました)

    RailsのFastCGIで動かしてるアプリケーションのconfig(enviroment.rb)やライブラリの再読込って最初やり方が解らずに、lighttpdを毎回毎回毎回再起動というアホらしいことをしていたんだけど、先日RailsFCGIHandlerのソースを見たら特定のSIGNALを送ればいいことが解った。ソースには SIGNALS = { 'HUP' => :reload, 'TERM' => :exit, 'USR1' => :exit, 'USR2' => :restart } と定義されてるている。reloadとrestartの一番の違いはreloadだとライブラリなどの再読込はされるけど、enviroment.rbは再読込されず、restartは両方再読込されることだろう。で、コレを知ってからはアプリケーションがwikiならばwikiがpathに含まれているので $ fo

    RailsのFastCGI運営時でのrestert,reloadの方法 - 2nd life (移転しました)
  • So-net Clip! βオープン - 2nd life (移転しました)

    http://www.so-net.ne.jp/rss/ RSSリーダ + ソーシャルブックマークのようなもの。so-netユーザなんで早速使ってはみたものの、これすごい出来だよ! まず基RSSリーダ。bloglinesやFEEDBRINGERを使ってるともうありえない。デフォルトの3ペインな状態だと読みたいサイトをクリックして、その後みたい記事をクリックして、という冗長すぎる設定。2ペインにするとbloglinesっぽくなるけど、レスポンスが遅いのと挙動不審で話にならない。開いてるRSSの記事タイトル検索って機能もあるんだけど、こんなんJavaScriptでやればすむ話なのに、わざわざサーバサイドで検索、わけわかんないよぅ。 次は記事の追加。まずOPMLからのインポートができない…。他のRSSリーダからの移行は考えてない様子。で、追加はURLを一個一個入力するタイプで、Bookmar

    So-net Clip! βオープン - 2nd life (移転しました)
    essa
    essa 2005/07/29
    「自発的にすげー使いやすいRSSリーダ作ろう!って企画ならこうはならないだろぅ…。」
  • 川o・-・)<2nd life - bookmarkletの文字数制限を無くす

    bookmarkletを作るとき、IEでは500文字ちょい、Firefoxでは2000文字ぐらい(?)の文字数制限がある。また、作った後に一行にまとめたり、デバッグしたりも大変面倒。でもそれがとても簡単な方法でどうにでもなることをインターフェイス!インターフェイス!の人に教わった。 javascript:(function(){var s=document.createElement("script");s.charset="UTF-8";s.src="http://example.com/example.js";document.body.appendChild(s)})(); createElementでscript要素を作って、その中にhttp://example.com/example.jsとソースを指定することによってそのJSを実行できる。WinIEとFirefoxでは確認済み。

    川o・-・)<2nd life - bookmarkletの文字数制限を無くす
  • 川o・-・)<2nd life - zshでgem installの補完

    最近俺の中でRoR*1が熱い!っていうんで必然的にgemを使う機会が増えるわけで。んでgem install packageでパッケージをインストールするんだけどいちいち手で入力するのは面倒。apt-get install [tab]みたいな感で補完とかしたい!つんで、昔ながらのcompctlを使った方法で補完してみる。 ailas gem-update='gem update;gem list -r 2> /dev/null|egrep '\''^[a-zA-Z]'\'' |awk '\''{print }'\'' > ~/tmp/gem_list' compctl -k '(help install uninstall check build query list search update rDoc environment specification unpack)' \ -x 'c

    川o・-・)<2nd life - zshでgem installの補完
  • webアプリケーションテストツール seleniumがヤバすぎる

    http://selenium.thoughtworks.com/index.html JavaScriptを使い実際のブラウザを介してテストするseleniumがヤバすぎる。便利すぎ。Web案件なんつーのはほんと最終フェイズになってもMVCで云うモデルに当たる部分が「仕様変更」の一言によって変更されることも多々あって、そんなときは各種testが書き直しになったりする。んで最終で時間がない状態じゃtest書き直せる訳もなく人海戦術で無理矢理なんとか仕上げる、つーのがいまのWeb案件の大概の末路の気がするんだけどそれはおいといて。 このseleniumを使えば、簡単な記述で人間が実際にブラウザを操作してテストしている部分の大半である画面遷移、フォームの入力、ヴァリデーションの正否がなどが行える。つまりインターフェイスの仕様が変わらなければ延々とテストし続けられるわけだ。最後の受け入れテストの

    webアプリケーションテストツール seleniumがヤバすぎる
  • 1