タグ

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

  • 川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 ラッパー
    rin1024
    rin1024 2010/12/14
    コマンドラインの入力関連。便利そう。
  • ActionScript3 (mxmlc) でのコンパイルを100倍速にする方法 - 2nd life (移転しました)

    三日前から Flex2 SDK で ActionScript3 を始めました secondlife です。こんにちわ。AS3 は言語仕様的には ECMAScript と Java をあわせた感じで普通な書き方で OOP できるのでうーん、と頭をひねることはあまりないのですが、他のところでいろいろはまりまくってます。 で、原始的な解決方法として trace() を使ったプリントデバッグを行っているのですが、スクリプト言語に慣れきった体ではコンパイル時間が遅くて死にそうです。たとえばこんな HelloWorld.as package { import flash.display.Sprite; public class HelloWorld extends Sprite { public function HelloWorld() { trace("Hello World!"); } } }を

    ActionScript3 (mxmlc) でのコンパイルを100倍速にする方法 - 2nd life (移転しました)
    rin1024
    rin1024 2010/12/14
    ちょっぱや
  • mxmlc コンパイラのメタデータタグを利用する - [Bindable] 篇

    ActionScript3 のソースをコンパイルするとき、現在は flex2 SDK に含まれる mxmlc を使うのが主流です。このコンパイラはAS3の言語では定義されてない、flex 独自のメタデータタグ([] で囲まれた syntax。[Bindable] など)を解釈し、自動でAS3ソースコードをジェネレートしてくれます。 このメタデータタグの利用方法をきちんと把握すると、だいぶコード記述が減り、シンプルかつ統一的なAS3(flex)プログラミングが可能になり、プログラミングの生産性が向上するであろう、有益な機能です。しかしながら、どういった挙動をするソースが生成されるのか、どのようなメタデータが記述可能なのか、というのがいまいち解っていないため、エントリーとして書き起こします。 [Bindable] メタデータを使うといったい何が嬉しいのでしょうか。その前に Flash でのプロ

    mxmlc コンパイラのメタデータタグを利用する - [Bindable] 篇
    rin1024
    rin1024 2010/04/12
  • はて☆すた OP - 2nd life (移転しました)

    ※スペックが低いマシンや一部ブラウザだと固まったり落ちる可能性があります javascript:(function(){var s=document.createElement("script");s.charset="UTF-8";s.src="http://rails2u.com/misc/hatesuta.js";document.body.appendChild(s)})();を適当なページでアドレスバーに入れて実行!すると…。スターつきの blog のトップページなんかだと最後にカウンターも出てカウンターとしても使えるよ☆ ソースは CodeRepos で公開してます。MIT ライセンスとしてご自由にどうぞ。 http://coderepos.org/share/browser/lang/actionscript/hatesuta

    はて☆すた OP - 2nd life (移転しました)
    rin1024
    rin1024 2010/04/02
  • 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
  • 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
    rin1024
    rin1024 2009/10/29
  • perl でインタラクティブなシェルを実現する perlsh - 2nd life (移転しました)

    http://search.cpan.org/~hayashi/Term-ReadLine-Gnu-1.15/eg/perlsh 最近 perl を勉強中で、ちょくちょく挙動に関する疑問が出てきます。ですが Ruby における irb のようなインタラクティブシェルが無い(と思っていた)ため、挙動をちょくちょく調べるのに、エディタ開いてソース書いたりしていてめんどくさい!と思ってたりします。 しかし今日 id:hideoki が挙動チェックでなにやら便利そうな対話型のシェルを使っており、それが perlsh というインタラクティブなシェルでした。 $ perlsh # 起動 main[10]$ @ary = qw(1 2 3 4 5) 1 2 3 4 5 main[11]$ map { $_ * $_ } grep { $_ % 2 } @ary 1 9 25 のように対話的に実行でき、返

    perl でインタラクティブなシェルを実現する perlsh - 2nd life (移転しました)
  • 川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
  • 1