タグ

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

  • ActionScript3 でネームスペース使ったキーイベント監視ユーティリティ作りました - 2nd life (移転しました)

    AS3 のキーイベント監視でなんかいい方法ないかなー、と考えていたら良い方法が思いついたので実装してみた、らかなり便利な気がするので公開してみます。 http://github.com/hotchpotch/as3rails2u/tree/master 通常のキーイベントの監視では addEventListener(KeyboardEvent.KEY_DOWN, func) で関数を登録して switch で event.keyCode 判別して Shift が押されてるか Ctrl が押されてるかによって云々、でかなりめんどくさいです。でもこの KeyTypeListener を使うと驚き300%(当社比)の方法でキーイベントを定義できます。 // 読み込んで import com.rails2u.utils.KeyTypeListener; import com.rails2u.uti

    ActionScript3 でネームスペース使ったキーイベント監視ユーティリティ作りました - 2nd life (移転しました)
    drawnboy
    drawnboy 2007/07/01
  • 画像レンダリングのプロセスを視るサービス - 2nd life (移転しました)

    http://lab.rails2u.com/auto_renderer/ を作ってみました。WinIE だとかなり重い疑惑なので注意です。 最近Life is beautiful: Flashで「油絵フィルター」を作ってみたを読んで、そういえば Taka さんが .fla で書いてたよなぁ、と読み返してみたら面白そうなので実装してみました。 で、あれこれやってるうちに、何にもないところから徐々にアニメーションさせて表示させてみたらそれはそれでかなり面白くて。レタッチして最終的な出来を重視するよりも、いろいろレンダラ差し替えたりサイズ変えたりしてる方が面白くなりそうなので、その値を微調整するインターフェイスを Flex2 で作ってみたり。 右下のフォームに作成プロセスを視たい画像の URL 入れればロードされます。最初はぼーっと視るのも良し、いきなり suto shape size を外し

    画像レンダリングのプロセスを視るサービス - 2nd life (移転しました)
    drawnboy
    drawnboy 2007/07/01
    すげーおもしろい
  • 川o・-・)<2nd life - Rack を使って Web サーバで統一されたインターフェイスの利用する

    http://rack.rubyforge.org/ 先日登場した Rack というライブラリを使うと、Web サーバごとに同一のインターフェイスを利用できるようになります。通常、Ruby で Web アプリケーション を動作させるとき、cgi なのか、fcgi なのか、もしくは mongrel や webrick を使うのか、ということを考えなければなりません。cgi のみで動作決めうち、など良いのですが、ガワである Web アプリケーションフレームワークや一般に配布するアプリケーションなど、既存のフレームワークを用いずに作るときは、さまざまな動作環境でも動くように考慮しなくてはなりません。 たとえば既存のフレームワークである Rails や Camping はそれぞれ個別に cgi/fcgi/mongrel/webrick などの対応を行っています。しかし Rack で定義されているイ

    川o・-・)<2nd life - Rack を使って Web サーバで統一されたインターフェイスの利用する
  • Rails のためのものぐさな Web アプリケーションの国際化手法 - 川o・-・)<2nd life

    最近、自分が作る Web アプリケーションで、日語圏に限らず使ってもらえそうな物は最初から一応国際化(というか英語対応)して作るようにしています。国際化対応しておくと、はてブに限らず、del.icio.us や digg で取り上げられたりして、いろいろな人に使えてもらって嬉しいし海外からも adsense 収入gです。del.icio.us のトップや /popular/ からのリファラは、はてブトップ or 人気エントリーからのリファラとそんなに変わらないぐらいなのですが、digg からのアクセスはその十数倍あって驚きでした。 で、題の国際化の方法なのですが、favicon2dots や polaroizeぐらいの小粒なアプリケーションなら、ほんの数分〜十数分作業時間を増やすだけで対応できてしまうので、その方法のご紹介を。 ruby-gettext 武藤さん作の ruby-gett

    Rails のためのものぐさな Web アプリケーションの国際化手法 - 川o・-・)<2nd life
  • Rails 1.2 pre / Rails 1.1.6 の htmlhelp 作りました(trunk も更新) - 2nd life (移転しました)

    http://rails2u.com/htmlhelp/rails/ というわけで現時点の Rails 1.2 pre 用のを作ったり、stable が無いのはどうよ?と思って Rails 1.1.6 のを作ったり trunk を最新に更新したりしました。これからも気が向いたら更新して上記ディレクトリに上げておきます。lighty や apache の dir-listing で RSS はいてくれないかなぁ*1、とか思う今日この頃です。 で、そろそろ 1.2 が出そうな予感です。Rails 1.2 では現在の stable だと問題ないけど、非推奨になっている項目が結構あるので、数ヶ月後にリリースしようと思っているような方は、今のうちから使っておくと良いと思います。 詳しくは WEB+DB Vol 36 で Rails 1.2 についての解説記事、『先取り Rails』を読むと良いと思い

    Rails 1.2 pre / Rails 1.1.6 の htmlhelp 作りました(trunk も更新) - 2nd life (移転しました)
  • 価格.com API for ruby - 川o・-・)<2nd life

    価格.com WEBサービス API マニュアル http://rails2u.com/misc/kakaku_com_api.rb.txt 価格.com WEBサービス APIがリリースされた!というわけで作ってみました。ほぼ RakuAPI ライブラリのコピペですんだ、という…。これはオフィシャルなサービスなのでそのうち rubyforge に上げる…かも(コペ)。ひょっとしたらインターフェイス周り変えるかも。id:naoya が作った naoyaのはてなダイアリー - WebService::KakakuCom で使ってる Data::Page がなにやら便利そうなのでそれっぽいページャクラス作るかもー。 使い方は require 'kakaku_com_api' require 'pp' $KCODE = 'u' k = KakakuComAPI.new results = k.s

    価格.com API for ruby - 川o・-・)<2nd life
    drawnboy
    drawnboy 2006/09/28
    ページャクラス
  • TDD で作る RakuAPI ライブラリ - 2nd life (移転しました)

    RakuAPI - 楽天市場 非公式ウェブサービス という楽天の非公式 API のライブラリを作るのが流行みたいなので作ってみました。ただそれだけでは面白くないので、最近自分が TDD でライブラリ作るときの方法も軽くご紹介します。 まずはインターフェイスの構想 何はともあれ、どんなインターフェイスを定義して、どんな結果が返ってくるのかがイメージできないとライブラリは作りにくいです。というわけでざっくり最初に構想を練ります。 RakuAPI の場合は WebAPI がシンプルに使えて良い感じなので、構想を練るのに考え込む、というのはありませんでした。 そんなんで、RakuAPI.new でインスタンスを取得して、search メソッドで第一引数に検索文字列、第二引数はオプションでジャンルやプライスを渡せるように、結果は配列にStruct が格納されてる感じにしよう。と考えました。 テストを

    TDD で作る RakuAPI ライブラリ - 2nd life (移転しました)
  • 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
    drawnboy
    drawnboy 2006/09/22
    []
  • 川o・-・)<2nd life - Developer Enviroments Conference の発表資料

    9/8 に開かれた DEcon で windows enviroments and vim という内容で発表してきました。主に自分が使ってる windows の開発に便利なツールと、vim についてプレゼンしてきました。時間大幅に押してしまいましてスイマセン…。 また、スピーカと参加者のみなさん、お疲れ様でした。他の方の開発環境やポリシーが聴けて大変参考になりました。あとカンジマン(id:tnx)には毎度の事ながら様々な準備お疲れ様でした。 自分のプレゼンには自作のはてな記法つかったプレゼンツールを使ったのですが、よくよく考えるとそれをエントリーに貼り付ければいいじゃん!ということに気づいたので、以下に発表資料を貼り付けておきます。 windows environments and vim secondlife 発表内容 windows での環境 どんなツールがあると便利か vim vim

    川o・-・)<2nd life - Developer Enviroments Conference の発表資料
    drawnboy
    drawnboy 2006/09/09
    text object
  • 選択範囲を数値文字参照に変換するスクリプト str2numchar.vim - 2nd life (移転しました)

    http://www.vim.org/scripts/script.php?script_id=1646 HTML を書いているときに文字列を数値文字参照に変更したいときがあります。特に greasemonkey のスクリプトでは日語を直接記述することができません。そんなときは今まではちまちま調べていたりしたんですが、めんどくさくなってきたので、選択範囲を数値文字参照に変換する vim スクリプトを書いてみました。スクリプトファイルを ~/.vim/plugin/str2numchar.vim に配置して .vimrc に vmap <silent> sn :Str2NumChar<CR> vmap <silent> sh :Str2HexLiteral<CR> と書いておけば、文字列をビジュアルモードで選択して sn を押すと 川o・-・)<2nd life // ←顔の絵文字部分の文

    選択範囲を数値文字参照に変換するスクリプト str2numchar.vim - 2nd life (移転しました)
    drawnboy
    drawnboy 2006/09/02
  • CSS2 Specification 順で sort するスクリプト - 2nd life (移転しました)

    http://rails2u.com/misc/vim_css_sort/ (Flash 動画) hail2u.net - Weblog - CSS2 Specificationでのプロパティの出現順序 のエントリーを読んで、へー普段全く持って順番とか気にしてなかったけどこんなポリシーもあるんだ、とちょっと感心しました。 というわけで vim の場合、フィルタを使って特定順序でソートしてくれるプログラムがあればエディタ上から簡単にソート可能なので作ってみました。 http://rails2u.com/misc/vim_css_sort/sortcss.txt *1 このファイルを適当なパスが通ったディレクトリに sortcss などの名前で保存して実行権限を与え、.vimrc などに nmap gso vi{:!sortcss<CR> vmap gso i{:!sortcss<CR>とか書

    CSS2 Specification 順で sort するスクリプト - 2nd life (移転しました)
  • 川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の文字数制限を無くす
    drawnboy
    drawnboy 2006/08/23
    いまさらだけど。
  • MochiKit の API リファレンスを htmlhelp で - 2nd life (移転しました)

    http://rails2u.com/htmlhelp/mochikit.chm 先ほどのエントリーに続いて MochiKitAPI リファレンスも htmlhelp にしてみました。API リファレンスは svn head 最新のを使っています。まだ MochiKit 使い始めて間もないので API リファレンスを引く機会が多いのですが、そんなときはすぐに関数名でインクリメンタルサーチできる htmlhelp がやはりベンリダナー、とか思ったりします。 またこれは一から rubyhtmlhelp のプロジェクトや索引、インデックスを生成したんですが結構簡単にできました。下のソースをMochiKit の trunk/scripts/htmlhelp.rb に保存して実行すると各種 htmlhelp に必要なファイルが生成されると思います。 http://rails2u.com/

    MochiKit の API リファレンスを htmlhelp で - 2nd life (移転しました)
  • Apache のドキュメントを htmlhelp で - 2nd life (移転しました)

    http://rails2u.com/htmlhelp/httpd-docs-2.0.58.ja.chm http://rails2u.com/htmlhelp/httpd-docs-2.2.2.ja.chm windows 使いには htmlhelp 大好きな人がわりといると思います。かく言う私も htmlhelp 大好きで、rubyhtmlhelp が無かったらたぶん ruby 書けませんし、ruby 自体覚えていなかっただろう、というぐらい依存度が高いです。で、この htmlhelp が結構いろいろなアプケーションで存在してたりします(参考: はてなダイアリー - 大西日記 - HTML Helpを使おう)。 で、今まであったらいいなと思ったのが Apache の htmlhelp。Apache の設定を弄ってたりするとき、わざわざ Web 上のドキュメントを参照するのは結構面

    Apache のドキュメントを htmlhelp で - 2nd life (移転しました)
  • 川o・-・)<2nd life - rlwrap - readline ラッパー

    http://utopia.knoware.nl/~hlub/rlwrap/ 今の今まで知らなかったんですが、rlwrap という readline ラッパーがかなり便利ちっくです。 これを使うと Readline によるコマンドライン入力に対応してないようなプログラムでも対応させてしまうことが可能です。 例えば ruby インタプリタを引数無しで起動して、カーソルキーの↑や←や ^H を押すと $ ruby ^[[A^[[D^Hなことになってしまうのですが、この rlwrap でラップして起動すると $ rlwrap rubyカーソルキーや ^H はもちろん、↑や C-p によるヒストリーバック、C-r による入力履歴のインクリメンタルサーチまでできてしまいます。すげー。入力した履歴はデフォルトだと ~/.プログラム名_history, ruby なら ~/.ruby_history に

    川o・-・)<2nd life - rlwrap - readline ラッパー
  • 川o・-・)<2nd life - Rails 1.0 -> 1.1 の ActiveSupport 変更点まとめ

    Ruby on Rails 1.0 までは AWDwR を読んで使い方が解ってる人も多いと思うのですが、1.1 以降でどんな詳細な機能が加わったのかはあまり知られてません。 そのために ActiveSupport の CHANGELOG を淡々と読んでまとめてみました。間違ってる可能性もあるのでそういう箇所があったらご指摘下さい。 Add CachingTools::HashCaching to simplify the creation of nested, autofilling hashes. [Nicholas Seckar] CachingTools::HashCaching という Hash を利用したシンプルなキャッシュ機能のモジュールが加わりました。このモジュールを利用したいクラスで extend して hash_cache :methodnameとすると、そのメソッドが

    川o・-・)<2nd life - Rails 1.0 -> 1.1 の ActiveSupport 変更点まとめ
  • 川o・-・)<2nd life - shfsが超便利!

    ノゾキング日記(id:nazoking:20050719:1121757444)を見て。sshを使ったファイルシステムで、ssh先をマウントしてふつーのローカルファイルのように扱えるnfsの一つ。 Win <-- samba(local) --> coLinux <-- shfs --> RemoteServer として使うと超便利すぎる。プログラミングは直接ログインしてvimで編集してるからアップロードの手間無しなんだけど、画像なんかはwinで加工してWinSCP使って転送して…、てのが面倒。でもこの方法ならローカルのcoLinux(別にcoLinuxじゃなくて、普通のLinuxなマシンでもいいけど)のネットワークマウントでz:\なんかに割り当ててるsambaに直接ファイル置くだけでリモートサーバ上にファイル置けるよ! winのエディタを愛用していて、編集毎にいちいちscpなりftpなり

    川o・-・)<2nd life - shfsが超便利!
  • 川o・-・)<2nd life - prototype.js 1.5 からの新機能 Template の使い方

    JavaScript での変数を使った文字列の作成は何かとめんどくさいですね。prototype.js では 1.5_pre0 から Template という簡易テンプレートとして使えるクラスが加わりました。相変わらずドキュメントはソースと test 嫁なので簡単な使い方を紹介します。 まずは Template となる文字列を new Template で作ります。Template のリテラルは #{}です*1 。 var t = new Template('#{foo}, #{bar}!');次に作成した Template インスタンスの evaluate 関数を呼び出し、引数として Hash(Object) を渡します。 t.evaluate({ foo: 'hello', bar: 'world' }); // hello, world!もしテンプレートを使い回さず、一度限りの文字列

    川o・-・)<2nd life - prototype.js 1.5 からの新機能 Template の使い方
  • Pathname - ファイル名のグッドラッパー - 2nd life (移転しました)

    http://www.ruby-lang.org/ja/man/?cmd=view;name=pathname 先日のRails勉強会でetoさんにPathnameというパスやファイル名のすごい便利なライブラリを教えて貰った。で、早速使ってみたところめっちゃ便利でいま書いてるアプリケーションじゃほとんどのファイル名の操作に使ってるという。 使い方はめっちゃ簡単でパスやファイル名を引数としてオブジェクトを作るだけ。 require 'pathname' file = '/tmp/foo' path = Pathname.new file で、これの何が便利っていうとリファレンスマニュアルのメソッドを眺めて貰うと解るんだけど、ファイル関係の操作が何でもできてしまう。通常だとFileオブジェクトを作るには実体が無いとダメなんだけど無くてももちろん作れるため str = IO.read(file)

    Pathname - ファイル名のグッドラッパー - 2nd life (移転しました)
  • vim でのオススメ plugin

    最近 .vimrcを貼り付けるのが流行ってるみたいなので自分も.vimrcを貼り付け、るわけでなくオススメの plugin を紹介してみようかと。 Align.vim http://www.vim.org/scripts/script.php?script_id=294 痒いところに手が届く整形ぷらぎん。 options = { width => 100, height => 50, background => nil, } なソースを範囲選択して :'<,'>Align => すると options = { width => 100, height => 50, background => nil, } のように整形してくれます。 Allargs.vim すべてのバッファでコマンドを実行。例えば開いてるバッファのすべての文字列を置換したければ、 :Allargs %s/perl/ruby

    vim でのオススメ plugin
    drawnboy
    drawnboy 2006/02/04
    ぜんぶいれる