2008-01-01から1年間の記事一覧

Ruby on Rails でデータベースの Sharding を実現する DataFabric プラグイン

RubyFlowより。 One of the lingering issues we’ve had to deal with over the last year in the Manage service is ActiveRecord’s reluctance to talk to more than one database. It’s really quite stubborn in that regard and while there are a few …

クラス設計の常識に反して、クラス名を動詞に、メソッド名を名詞にする

クラスを作るとき、ふつうはクラス名を名詞に、メソッド名を動詞にする。 class FileLoader { // クラス名は名詞 def load(name) { // メソッド名は動詞 ... } } しかし PHP のフレームワーク CodeIgniter では、一部のクラスでこれが逆になっている。つまり…

何が『釣り』で何が『釣り』じゃないのか

ほんとみんなJavaが好きなんだな。タイトルに「Java」を入れてないのに、なんでこんなに集まるのかね。 前のエントリは別にJavaをDISったわけじゃなくて、タイトルにあるように「コンピュータの歴史では、おもちゃと言われてバカにされていたものが最終的に…

コンピュータ業界の歴史は「おもちゃ」による勝利の積み重ね

(追記(2008-07-09): このエントリはタイトルにあるように「歴史ではおもちゃこそが勝ってきた」ことを再認識することが焦点であり、JavaやRubyやHSPは話の本質ではありません。誤解を避けるため、当初つけていたカテゴリ[java]は外しました。) これはJava…

Ruby on Rails のドキュメントが検索できる rails-doc.org

RubyFlowより。 rails-doc.org は、Ruby on Rails のドキュメントを検索できるようにしたアプリケーション。 Ajaxによる検索が速いのと、PHPドキュメントのようにユーザがコメントをつけられるのが特徴。RailsAPI.orgもいいけど、最近はこっち使うようになっ…

要求と要件の違い

dev

要求と要件の違い要求 お客さんのこんなことをしたい、こんなことができるといいなという望み 要件 要求をシステム化「する」と決めたもの お客さんは、自分がどんなことをしたいのかとか、どんなものが欲しいのかということをうまく説明できないことが多い…

キーワード引数のかわりに fluent interface (流れるようなインターフェース) を使う

Pythonでは、キーワード引数が使える。これは、引数の種類が多い場合は非常に便利である。 理由は、可読性が高いことと、引数の順番を気にしなくていいということ。 ## Pythonによるキーワード引数の例 rows = Query.find_all('stocks', where='price >= 100…

Smalltalkによる伝説のプロジェクト

dev

MagLevを作っているGemStone社について調べていたら、こんなのが見つかった (URLは不明)。 日本におけるSmalltalkを使ったシステムとして有名で、ある意味伝説となったプロジェクト。 みなさん、こんにちは。lazy プロジェクト・マネージャーの佐原です。 我…

exact GC と conservative GC

祝 Matz 日記復活。 exactなGCの方が性能的にやや有利だが、 一方、拡張ライブラリの書きやすさは 保守的GCの方がずっと楽である。たとえば、Rubiniusはexact GCを採用しているため yieldを呼ぶメソッドをCで記述できない Cメソッド実行中のオブジェクトは自…

RubyとかJavaとかじゃなくて、おかしなことをおかしいと感じるかどうかっつー話

前のエントリって、Ruby vs. Javaとかいう狭いくくりだけで捉えている人が多いけど、違うって。 たしかに話の題材はそっち方面だけど、話の本質はそこじゃなくて、論理的におかしなことが堂々とまかり通っているのに違和感を感じてない人間ばっかりなことこ…

Rubyバブルがよくわかる写真

RubyFlowより。Ruby and Rails books, two years later (photo)2年前: 今: いやあ、ほんとバブル。『Rubyは10年前のJava』っていうのは、こういうことを指すんだろうな。 いつ弾けることやら。

マスゴミ屋さんとJava屋さんの区別がつきません(もちろん部分集合)

すでに取り消し線が引かれているけど。 結論 アンチ Java の人が多い理由が分かった気がする。 何でかといえば そーゆーのって、個人に依存するのかなーとか思っていたのですが、界隈での共通の意見なんだね。何というか、一種の宗教性や強迫観念を感じた。…

Rubyの脆弱性について

なんか日本ではほとんど話題になってないみたいなんだけど、Rubyに脆弱性が発見されてる。 任意のコードが実行される脆弱性について しかし修正されたバージョンのRubyをインストールすると、一部のRailsアプリが動かなくなるらしい。 RubyFlowとか見てると…

RubyKaigi感想

Evanの話は、ちょっとマニアックすぎたような気がした。あまり日本の聴衆には響かなかったかも。ちょっともったいない。 SequelとDataMapperの話は、ちゃんと新しいバージョンの説明で行なわれており、役に立った。Sequelの新しいバージョンはかなりよさげだ…

ustream.tvで、プレゼン画面を直接配信できないのだろうか

RubyKaigiのustream.tv配信を見ながら思ったんだけど、あれってPCのプレゼン画面をそのまま配信できないのだろうか。 今のままだと、プロジェクターで移した映像をカメラで撮って配信しているから、文字が潰れてしまっているよね。 せっかくプレゼンデータが…

呼び出し元のローカル変数を変更する

Evanから資料が上がってこないので、Rubiniusで遊んでみる。 次のコードは、あるメソッドの中から呼び出し元のローカル変数を変更するサンプル。 もちろんRubinius限定。 def f() var = 1 g(var) # var が 2 に変更される puts "f(): var=#{var}" #=> "f(): …

Mac OS Xを普通のPCで動かす

mac

ZDNet Japanでこんな記事が。 Mac OS Xを普通のPCで動かす(前編) - ZDNet Japan Mac OS Xを普通のPCで動かす(後編) - ZDNet Japan これは・・・アウトだろ。

クメタがとりあげるなら

おれは毎回、編集者から怒られていた。いつもカミナリを落とされていたわけよ。 そしたらある日突然、編集者の頭にカミナリが落ちた。まことすごいカミナリだった。 というのはどうか。 カミナリだと思ったらザケルだった。 というのはさすがにダメだろうな。

編集者は誰のために働いているか

元エントリが消えているので魚拓から。 ボクは、冠がある作家のために企画を通すとき、上司とどれだけ戦っているかを偶然目の当たりにしたことがあります。そこまで真剣にやっている人間を非難する人がいるなら、擁護する人だっていなければ公平ではありませ…

RubyKaigiの発表が先行して聞ける「Rubyist九州会議2008」

DataMapper と Sequel で検索したら、こんなの見つけた。 6月14日、福岡で最先端の技術情報が得られるイベント「Rubyist九州会議 2008」を開催します。主催は福岡を拠点とするRubyのユーザーグループ「Rubyist九州」です。 Rubyist九州会議 2008は、6月に東…

iPhone は 8G 199ドル、16G 299ドル

mac

参りました。iPhoneは売れないかもしれないなんて書いてごめんなさい。こんだけ安ければ、売れるでしょう。 これ書いたときは、価格のことはまったく考えてませんでした。なんでお金のそことを忘れるかな、自分。今自分が使っている携帯は、アドレス帳のデー…

ERB で Binding を使うとローカル変数が勝手に変更されるという問題

通常、ERB#result() には Binding を渡すけど、個人的にこれが大っ嫌い。なんでかというと、eRubyスクリプトを実行することで、メインプログラム内のローカル変数が勝手に変更されてしまうから。 つまりだな、 s = <<END <% for item in list %> <p><%= item %></p> <% end %> END list = ['AAA</end>…

ERB で Binding のかわりに Hash を使う

class ERB def result_hash(hash) b = binding hash.each {|k,v| eval "#{k} = %Q[#{v}]", b} result b end end puts ERB.new('<%= example %>').result_hash(:example => 'foo') ERB で引数の hash を展開して欲しい - #生存戦略 、それは - subtech これだ…

マンガ界に学歴なんか通用しないことをわかっていない、高学歴な編集者さま

人気マンガ「金色のガッシュ!」作者が小学館を提訴したそうで。 (株)小学館を提訴。- 雷句誠の今日このごろ。 痛いニュース(ノ∀`):「金色のガッシュ!」作者・雷句がサンデー編集部の裏話を衝撃暴露…逆らうと「死ね!3流漫画家!」と罵倒 「漫画家大戦」…

ActiveRecordの不満点

最近はDataMapperやSequelといった新興O/R Mapperに興味があるんだけど、それもこれも、自分の中でActiveRecordに対する不満点がだんだんと出てきたことが原因。個人的には、Railsのすごさの半分以上はActiveRecordのおかげと思っていて、そのくらいActiveRe…

iPhone は思ったより売れないかもしれない

mac

iPhoneは、日本では思ったより売れないかもしれない。なぜなら、現状ではすでにiPod touchが発売されているから。アメリカでiPhoneが発売されたときは、まだiPod touchはなかった。だからiPhoneには目新しさがあった。しかし今は、すでにiPhoneと同等の機能…

Sequel 2.0 リリース

RubyFlowより。ActiveRecordのもうひとつの対抗馬、Sequel の 2.0 がリリースされた。ついこの前はDataMapperの0.9.0.1がリリースされたばかりだし。なんかRuby用O/R Mapperが熱い!Sequelの最大の特徴は、SQLを書くかわりにRubyの式を書くということ。Rubyの…

MVCビデオがバカすぎる

RailsConf2008で、キーノートスピーチの前にさんざん流されたらしいビデオが公開された。 MVC Videos M と V と C とを擬人化して、唄を歌いながら登場するおバカビデオ。英語だけど見てるだけで面白い。だれか翻訳してください。MVC Songも出したらしい。

JSFエバンジェリストはTapestryの名前くらい知っているべきか?

「JSFのエバンジェリスト」って「JSFって他のフレームワークと比べてすげー良いよ!使ってよ!」 って人ですよね? だったら「これはひどい」でいいと思いますよ。競合になりうるフレームワークの少なくとも名前ぐらいは知ってないとおかしいです。ちょっとI…

eRubyを35行で実装してみる

以前のエントリで「eRubyは50行もあれば実装可能」と書いたけど、eRuby の実装は正規表現を使えば極めて簡単。Erubisには約50行で実装されたtiny.rbが含まれているけど、これをさらに小さくしてみたら、35行で実装できた。code golfみたいなことは一切せず、…