タグ

ブックマーク / blog.yugui.jp (8)

  • ターミナルまるごとコード変換 - 世界線航跡蔵

    先日の東京・関東Rubyist忘年会の席で、「UTF-8で日語を記述したRspecをwindowsで動かすと文字化けして困る」という話があった。 で、「それcocotでできるよ」と言おうとしたのだけど暫く使ってなかったのでとっさに"cocot"の名前が出てこなかった。 cocot は「端末(tty)とプロセスの間に割り込んで、文字コード変換を行うツール」。だから、cocotの下でシェルを動かしてしまえばあとは意識せずにコード変換してくれる。 シェル丸ごとだと今度は標準コマンドの出力が化けるかも知れないけど、だったらalias spec="cocot -p UTF-8 spec"とかすればいい。

    ターミナルまるごとコード変換 - 世界線航跡蔵
    kakkyz81
    kakkyz81 2007/12/26
    文字化け大作
  • 動的言語なフレームワーク - 世界線航跡蔵

    Seasar Conference 2007 Autumnで、千葉先生は言語特性の動的と静的について話したらしい。私ゃ見に行かなかったけど、みんなその話はしてた。あと、 文殊堂さんのレポート を読んだ。 曰く、 ロード時までにクラス書き換えできれば十分じゃないの? うん。Railsはね。だから、私は思っている。みんなもっと Module#freeze を使えばいいのに。……と、リンクしようと思ったらリファレンスマニュアルに載ってないじゃん。riには載ってるけど。そりゃマイナーなわけだ。 Module#freeze するとメソッドの追加削除ができなくなる。だから、VMはfrozen classの利用を検出したらメソッド探索をインライン展開したりとかいう最適化の余地があるんじゃなかろうか。その適切なタイミングを検出させるのは難しくてもあるいは、 GC.start みたいに YARV::Opti

    動的言語なフレームワーク - 世界線航跡蔵
    kakkyz81
    kakkyz81 2007/11/13
    YARV::Optimization.startというのはあり得ないだろうか
  • Railsの画面生成を10倍高速化する方法 - 世界線航跡蔵

    RailsでPageキャッシュをより広く活用する方法を考えてみました。以下、ちょっと長く前置きが続きます。 Rails遅杉 Railsは遅い。何が遅いって、Rubyが遅くてRoutingが遅くてRDBとRHTMLが遅い。RDBが遅いのは大抵のWebアプリケーションでは変わらない話、で、だからRailsなんかが評価される余地があるんだよね。RubyやRHTMLの遅さは柔軟性の代償として受け入れよう。なにしろRDBがもともと遅いんだから。ただ、Routingは無駄に高機能だったりして頭にくる。Rhino on RailsのSteve YeggeもRoutingは黒魔術だと言っていたし。私はActionPackの全てが黒魔術だと思うけど。 そういう訳で、RoutingをCで書き直すのはドリコムのみなさんがいつかやってくれると期待するとして(可能なら手伝いたいけどね)、当面の対応としてはキャッシュ

    Railsの画面生成を10倍高速化する方法 - 世界線航跡蔵
    kakkyz81
    kakkyz81 2007/07/17
    phpを使ってrailsのroutingを呼ばずに高速化
  • Rails勉強会@東京 第15回 @ 2007年02月 (Capistrano)

    18日の Rails勉強会 に行ってきた。 前半 前半は4つのセッションに分かれた。私はCapistranoセッションのオーナーになった。 先日会社でデプロイするときにミスをやらかしてしまって、デプロイツールの重要性が身に染みた。それで今まではそれほどちゃんと触ったことはなかったけれども、ひとつCapistranoを触ってみようと思ってセッションを開いた。 Capistrano はRubyで書かれたデプロイツールで、Rakeをデプロイ作業向けに強化したようなものだ。基はRakeなのでRakeとかMakeとかAntとかを使ったことがあれば怖くない。 デフォルトではRailsアプリケーションの構成に合わせた設定になっているけれども、設定(レシピと呼ばれる)を変更すれば任意のアプリケーションに適用可能である。実際、 はてな ではPerlアプリケーションに適用しているらしい。次の条件を満たす環境

    Rails勉強会@東京 第15回 @ 2007年02月 (Capistrano)
  • Rubyの呼び出し可能オブジェクトの比較 (2) - というよりコンテキストの話 - 世界線航跡蔵

    前回 は各オブジェクトの基的な特徴を見ただけで終わってしまった。今回はこれらをコンテキストという観点から見てみたい。 前回のまとめ 呼び出し外側のscopeblock中身戻り値 __send____send__不可能(そもそもコンテキストを保存していない)可能保持しないメソッドの戻り値 Method[],call参照不可能可能メソッド体とselfメソッドの戻り値 UnboundMethod不能参照不可能-体メソッドの戻り値 Proc[],call,yield参照可能不可能closureProcの最後の値 Continuation[],call-不可能「続き」戻らない Proc#callにおいてブロック付きの呼び出しが不可能であることは前回は記述しなかった。 sshiさんにご指摘いただいた 。 Procを作成するときに指定するブロック仮引数の記述は、メソッド定義の際の仮引数の記述にとて

    Rubyの呼び出し可能オブジェクトの比較 (2) - というよりコンテキストの話 - 世界線航跡蔵
    kakkyz81
    kakkyz81 2006/11/20
    rubyの難しい話(続き)
  • Rubyの呼び出し可能オブジェクトの比較(1) - 世界線航跡蔵

    Rubyにはコード片を表すオブジェクトが複数ある。 Method , UnboundMethod , Proc である。 Continuation は少し違うけど、実行コンテキストを記憶しているオブジェクトという意味では近いものがあるか。『 Ruby Way 』にはこういういろいろがあることについて「驚くほどのことではありません」と書いてあるけれども私は驚いた。で、これらが微妙に違うのだ。困ったもんだ。いや、便利なのかもしれないが。 それで今回はこれらの概要を眺めてみたいと思う。 普通のメソッド defでメソッドを定義するのが一番普通だやな。 class C def greeting(arg) puts "C#greeting reveived #{arg}" end def iterator yield 'iterator 1st' yield 'iterator 2nd' yield

    Rubyの呼び出し可能オブジェクトの比較(1) - 世界線航跡蔵
    kakkyz81
    kakkyz81 2006/11/15
    Proc,Methdo,Callなどのややこしい部分の記事。でもややこしい。
  • Seasar Conference 2006 Autumn (1) - 世界線航跡蔵

    Seasar Conference に行ってきた。会場は法政大学ボアソナードタワー26F。 飯田橋駅構内でまた道に迷った。春に一度来た場所なのに。 会場は見晴らしがよい。 会場に着くとメイドさんが歩いていた。 予告 通り無料ドリンクサービスをやっているらしい。 50分×4コマのそれぞれにつき、5つのセッションを平行して催すのでどれにしようか迷ったけれども、どうにか絞り込んだ。 会場の様子 Seasar 2.4 ひがやすをさんから、前日にリリースされたSeasar 2.4と、これまで詳細が明らかではなかった"Chura"について。最近のweb開発には"agile"と"enterprise"の2つの大きな流れがあるけれども、seasarはその流れの中でどう進んでいくのがが説明された。 まずagileはRailsに代表されるもので、ひがさんはこれらをスピード感を出すために独自仕様も辞さずに突き進

    Seasar Conference 2006 Autumn (1) - 世界線航跡蔵
    kakkyz81
    kakkyz81 2006/11/13
    TDDおてゃなにか
  • 日本Rubyカンファレンス2006 (4) Matz基調講演 - 世界線航跡蔵

    前の記事 に続いて日Rubyカンファレンス2006をレポートする。 State of the Dominion Ruby作者のMatzことまつもとゆきひろさんによる基調講演。 タイトルはアメリカ合衆国「一般教書演説: State of the Union」のパロディである、Perlの" State of the Onion "のそのまたパロディだそうだ。wordsファイルを'nion$'でgrepしてそれらしい言葉を選んだという。 Matzは"State of the Onion"を「タマネギがどうした! って感じ」と言ってたけど、Larry Wallは「 努力、忍耐、謙遜 」でPerl界をタマネギに例えてるから、"State of the Onion"はそういう意味なんでないの? いや、みんなそれを分かってるのを前提としてのジョークなのか? Matzの思考を読むには私のハッカー度がまだ

    日本Rubyカンファレンス2006 (4) Matz基調講演 - 世界線航跡蔵
  • 1