タグ

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

  • How to port your gem to Ruby 1.9 - 世界線航跡蔵

    This article shows you how to multilingualize your gem with Ruby 1.9. 6 months ago, Ruby 1.9.1 was released. Some gems support Ruby 1.9, others do not. At RubyKaigi2009 , I said that you should port your library to Ruby 1.9 now. Well, what is "Ruby 1.9-ready"? It does not mean only the library can be built with Ruby 1.9. The most important point in supporting Ruby 1.9 is M17N -- multilingualizatio

    How to port your gem to Ruby 1.9 - 世界線航跡蔵
  • Ruby会議で発表した - 世界線航跡蔵

    Ruby会議2009 で発表した。 Ruby 1.9.2へ向けた案内をしたのだけど、Ruby 1.9.2はひたすら地味である。地味に改善はされているけど、地味に仕様変更もあるし、総じて存在が地味だ。ただ、地味と言うことは良いことで、つまりもうドラスティックな変更はなかったということだ。1.9.1をリリースする段階での仕様確定の努力が実を結んだと言うことだ。 仕様変更は確かにある。でもそれは、「うっかりこうなってしまっていたけど、誰もがこっちを望むよね」というどちらかと言えば実装上のバグに近いものが多い。ここからも、1.9系統の言語仕様が当面は安定であるということが確認できる。 たぶん、1.9.5ぐらいまであっと驚くような仕様変更はない。それにしても、1.8から1.9への差分よりはずっと小さい。ひょっとしたら、1.9.5とかから2.0への移行も、ずっと少ない手間でできるかもしれない。とい

    Ruby会議で発表した - 世界線航跡蔵
  • passengerとmod_autoindex - 世界線航跡蔵

    Passenger を使っていて、ディレクトリのautoindexが効かなくて困った。 Passengerもいくらか枯れてきている感じなので先日試したところ、確かに管理が楽なので最近気に入っている。ちょっと前まではRailsアプリケーションのデプロイと言えばmongrel+mod_proxy_blancerだったのだけれども、最近はpassengerの人気が上がっている。 passenger人気の理由はいくつかある。 Rack という汎用の仕組みをサポートしていること。だから、passengerがあればrailsだけでなくmerbもsinatraも動く。 デプロイが楽なこと。SSHでサーバーに入ってアプリケーションサーバーを再起動、とかやらなくて良い。まーこれはcapistranoやvladでデプロイしている私にはあまり関係ないけど、PHPアプリケーションやJava EE warの「ディレ

    passengerとmod_autoindex - 世界線航跡蔵
  • Multilingualized ruby-pg - 世界線航跡蔵

    ruby-pg 0.8.0は一応Ruby 1.9に対応しているものの、エンコーディング周りをきちんとサポートしていなかった。つまり、PGconnが折角エンコーディング情報を持っているのに、クエリの結果セットから取得した文字列はそのエンコーディング情報を反映していない。常にASCII-8BITの文字列が返ってくる。 これは嬉しくない。ASCII-8BITのままでは他のエンコーディングとの結合に支障がある。PGconnのclient encoding情報を覚えておいてforce_encodingするというのもアホみたいだ。そこで、この問題を修正するパッチを書いた。 <URL:http://rubyforge.org/tracker/download.php/3214/12398/25931/4534/pg-m17n2.patch> PostgreSQLが対応しているエンコーディングとRuby

    Multilingualized ruby-pg - 世界線航跡蔵
    noplans
    noplans 2009/05/16
    ruby-pg の バグの説明と patch へのリンク。「CJKV 日中韓越情報処理」本推薦
  • ThoughtWorksアンソロジー - 世界線航跡蔵

    ThoughtWorksアンソロジー ―アジャイルとオブジェクト指向によるソフトウェアイノベーション 作者: ThoughtWorks Inc.,株式会社オージス総研オブジェクトの広場編集部出版社/メーカー: オライリージャパン発売日: 2008/12/27メディア: 単行(ソフトカバー)購入: 14人 クリック: 323回この商品を含むブログ (81件) を見る 献いただいた。マーティン・ファウラーたちで有名なThoughtWorksのスタッフによるエッセイ集。このレベルの記事を書ける人がこれだけ集まってるというのは、改めてThoughtWorksってのはすごい会社なんだなぁ。で、Seleniumに象徴的なように、みんなが考えるけど実現可能性はどうだろうかと思うようなことを、実際に実現してしまう会社なんだよね。 冒頭の、"ビジネスソフトウェアの「ラストマイル」を解決する"では、ソフト

    ThoughtWorksアンソロジー - 世界線航跡蔵
  • 蒙昧に対する怒りの表明 - 世界線航跡蔵

    子供の頃、大人とその社会は神のように見えた。私には見えない大きな何らかの機構の中から給与を稼ぎ出してくるすべ、自動車の運転の仕方、料理を習得する方法とその技量、美容院の予約の方法、私にはよく理解できない不思議な知人のネットワーク、これらを、彼らはどうやって身につけたのだろう。彼らは私にはまったく理解できない、どうやって習得するのかも見当も付かないそれらのことがらを身につけて、当たり前にその力を行使していた。全知全能であるように見えた。 今は、そうでないことを知っている。彼らは私と同じ等身大の人間であって、私は必要とあらば彼らと同じ力を揮うことができる。まだ身につけていない分野は数多くあるけれども、それらをどうやって習得すればよいのか知っている。 そして彼らが構成する社会も構成物も。すべての仕組みは私と同じ人間が作り上げたものである。 魔術について 子供の頃、経済システムは理解不能な魔術であ

    蒙昧に対する怒りの表明 - 世界線航跡蔵
    noplans
    noplans 2008/07/22
    good
  • RubyKaigi2008で喋ってきた - 世界線航跡蔵

    サイン会やった みなさん、ご来場 & お買い上げありがとうございました。なんか、緊張していたので最初のほうの人は特に、ちゃんと顔を見てお話しする余裕が無くてごめんなさい。書がお役に立てれば幸いです。 初めてのRuby 作者: Yugui出版社/メーカー: オライリージャパン発売日: 2008/06/26メディア: 大型購入: 27人 クリック: 644回この商品を含むブログ (251件) を見る RSpecによるRailsアプリケーションBDD事例 RSpecをRailsと組み合わせてBDDを導入したときの、導入話とか。 RSpecによるRailsアプリケーションBDD事例 from Yuki Sonoda Redmine - Ruby 1.9.1への道 RejectKaigiで話した。途中で時間切れになって残念。 Ruby 1.9.1への道 from Yuki Sonoda

    RubyKaigi2008で喋ってきた - 世界線航跡蔵
  • 第2回RHGの逆襲 - 世界線航跡蔵

    第2回RHGの逆襲 を開催しました。 発表者は、事前に希望した候補者の中から当日ランダムに選択肢しました。Rubyの Kernel#rand はなかなか優秀です。で、結局 rand さんのお告げにより私が発表しました。 録画失敗 がーん。当日ばたばたしていて、ustream.tvの録画ボタンを押し忘れました。メインの部分はリアルタイムで見ていた人たちに流れただけで、ネットの海へと消えていきました。 責任とって今回の内容はどこかにしっかりまとめたいと思います。 2nd part その後、発表候補者だった吉岡さんがもう一度同じ範囲を発表してくださいました。私の発表を聞いた人向けなのでちょっととばし気味ですが、Kernel hackerの視点から鋭い指摘をなさっています。 <URL:http://ustream.tv/myvideos/newest_first/1/Y51IYT3q57ReFBe

    第2回RHGの逆襲 - 世界線航跡蔵
  • 第1回RHGの逆襲 発表資料 - 世界線航跡蔵

    第1回RHGの逆襲 を開催しました。お越しいただいた方々、ご覧くださった方々、ありがとうございました。 発表資料: rhg-strikes-back-1.zip ustream.tv: 最初 始まり - 笹田さんによる解説が始まるまで 中盤 笹田さんの解説が終わった後 - 再び私のターン 残り コードリーディングするつもりだったけど、HotRubyの解説が始まった。 発表資料は、あんまりまとまってません。その場でソースコードを開いたり色々するつもりだったのでself-containedではないです。その割には途中で資料を辿るのに必死になりすぎて、笹田さんのように華麗な解説とは行かなかったのが残念です。笹田さんのおかげで途中で目が覚めて、ホワイトボードで解説をしてるのが中盤以降です。人に伝える技術の未熟を痛感します。 ustreamの動画のほうも、笹田さん側の動画がRECORDされてないこと

    第1回RHGの逆襲 発表資料 - 世界線航跡蔵
    noplans
    noplans 2008/01/29
  • JudeをMacOSXのアプリケーションにする - 世界線航跡蔵

    モデリングツールの Jude は気に入ってる。マインドマップとUMLとコード生成を連携させるっていうことができるし、何よりも開発者の顔が見えるのが良い。中の人たちはちょくちょくオープンソース系のイベントに顔を出してるので、言いたいことはすぐに言える。 そう言うわけで、これをMacでも使いたいわけだ。(ちなみに、JudeはJavaアプリケーションなのでrun anywhereだけれども、Macはサポート対象外である)どうせなら標準バンドルのアプリケーションと同じように、独自のアイコンを持っていて、アプリケーションのディレクトリをダブルクリックするだけで起動するようにしたい。ディレクトリツリーをFinderから実行可能にするのはそれほど難しいわけじゃない。でも、前にもやったのにやり方の細かいところを忘れていたので今回はメモしようと思う。 バージョンの選択 Jude Professional 5

    JudeをMacOSXのアプリケーションにする - 世界線航跡蔵
  • RSpec little hacks - 世界線航跡蔵

    RSpecをオレオレ流に使うためのイディオムが結構溜まってきてます。 RubyKaigi2007でLTに応募しようと思ったけど間に合いそうにないのでself rejectして、RejectKaigiで宣伝だけしたものの一部です。 引数バリエーション メソッドの引数だけ微妙に変化を付けながら同じ流れを繰り返したい場合があります。たとえば、ActiveRecordモデルのvalidationのspecを書くとき。 こういうときは、家に書いてあるやり方では it 節の中に処理を全部書くことになるのですが、しかしモデルを構築する流れ自体が数行になることもありますし、それを何度も繰り返すのは冗長です。メンテナンス性にも欠けます。 そもそも、冗長さを嫌って私は実現コードの呼び出しは全部 before 節に書きたい派なのです。 describe Hoge, "がfooしたとき" do before d

    RSpec little hacks - 世界線航跡蔵
  • 大日本天狗党絵詞 - 世界線航跡蔵

    『 大日天狗党絵詞 』は、その物語自体がなんとも天狗のように掴み所のない、分かったような分からないような、と感じていた。 けれども、突然得心がいった。これってHackerのことじゃないか。 三界に家を持たず、人と交わっては数多の不可思議な術で惑わせ、人の目を離れては惨めにさすらう。 寄るべき所を欲せばそれは既に天狗でなく、それを天狗と呼ぶ人がいなければ天狗でなく。 人が切り開く山々は元来天狗のもの。人が認識するこの世とは天狗もまた棲まうもの。けれども、そこにもう天狗の伝説を聞くことはない。 なんだ、Hackerじゃないか。物語の終わりは酷く荒れ果てた場面となる。けれども、天狗が人のような安寧を求めなければ、あるいは人が世の中には天狗という不思議もまたあるのだと忘れず山を侵さないでいればこういうことはなかったのだ。 それでも時代は移り変わり、起こるべき終局は起こり、最後には奇妙な希望だけが

    大日本天狗党絵詞 - 世界線航跡蔵
    noplans
    noplans 2007/10/19
    天狗とハッカー
  • RSpecにおけるコンテキストをまたぐ共通部分 - 世界線航跡蔵

    先日書いた SeleniumRC spec の中で使ってたテクニックが最近、会社で流行ってる。 2007-12-04追記: このテクニックはRSpec 0.8以前のために開発しました。RSpec 1.0以降ではshared behaviourを使いましょう。ただ、RSpecをいじくる技法の基礎として参考にはなるかもしれません。 コンテキストにおける共通の初期化処理は勿論、setupやcontext_setupに書けばいいんだけど、問題は複数のコンテキストにまたがる共通の初期化処理。あるいは、modelのspecでfixtureを設定したり、controllerのspecにおいてコントローラー名を指定したり。 これらって、いちいち書くのがなんかDRYじゃない気がする。特に、1つのmodelに対するspecがcontextから構成されるとき(諸橋さん方式。contextという言葉の意味合いから

    RSpecにおけるコンテキストをまたぐ共通部分 - 世界線航跡蔵
    noplans
    noplans 2007/10/14
    すげえ
  • Rails勉強会@東京 第22回 - 世界線航跡蔵

    Rails勉強会 に行ってきた。しばらく抑うつ症状やらパニック症状やらの状態が悪かったので、久しぶりの参加だ。でも、最初から最後までどうも頭が働いてなかった。処理が追いつかなくて、切り返しが鈍かったり反応を返せなかったりした人にはごめんなさい。医師には「もう暫くゆっくりしなさい」 と言われてしまったけど、なるほどまだ調子じゃないね。 うむ。気がつけばこの勉強会も回数を重ねて、もうすぐ2周年。 いつもの通りの形式 である。 前半セッション 3つのセッションに分かれた。 初心者セッション(acts_as_authenticated) Rails悩み事相談Ruby Hoedown 2007 の動画を見る 私は初心者セッションに出た。オーナーは諸橋さん。とはいえ、私も我が物顔で口を挟ませてもらった。 acts_as_authenticatedとは acts_as_authenticatedと

    Rails勉強会@東京 第22回 - 世界線航跡蔵
    noplans
    noplans 2007/09/18
    acts_as_authenticatedの紹介など
  • Rails勉強会@東京 第15回 @ 2007年02月 (Capistrano)

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

    Rails勉強会@東京 第15回 @ 2007年02月 (Capistrano)
  • 1