2008-04-01から1ヶ月間の記事一覧

Google App Engine で次にサポートされる言語を予想する

きょうのお昼にでた話題なんだけど、Google App Engine (以下 GAE) ではまず Python がサポートされた。これはなぜかって話になって、たぶん Guido (Python の作者) が Google にいるからじゃね? と言っておいた。GAE で使っている Python はたぶん素の CPyt…

コードギアスR2 #4

なんか書こうと思ってたのに、これをみたらすべて飛んでしまった。 また東京で建物崩落─耐震強度偽装問題再燃か またも繰り返された悲劇…! 27日、東京の中国領事館そばで建物が土台ごと崩落するという事故があった。東京では約1年前にも一部地域の地盤が崩…

1 ライナーで書いた Web サーバ

RubyFlow より。なんと 1 ライナーで書いた Web サーバ。 # From: http://www.ntecs.de/blog/articles/2008/02/09/the-worlds-smallest-webserver # Author: Michael Neumann # ... point your browser to http://localhost:3125/etc/motd ruby -rsocket -e …

小飼弾のフェイントテクニック

ひがさんの、ちょっと前のエントリ。 ボクシングの内藤選手は、フェイントの達人です。ここにパンチを打ち込むぞーと目線を合わせているのと、まったく違う部分にパンチを打ち込むことができるのです。これは、超高度なテクニックで、達人にしかできないそう…

短い ≠ 分かりやすい

なんか誤解している人もいるけど、「短く書ける=わかりやすい」とか「記述が長い=わかりにくい」と言ってるわけじゃないよ。本質的じゃない記述を長々と書いてるのがアホだということと、本質的じゃない記述が長々と書いてあることに何の疑問も持たないの…

なんかさー

なんでこんなエントリばっかりブックマークされるかな。もっと他にあるでしょ、こう、PHP の未来形を期待させる QIQ の紹介とか、Ruby の仕様がついに登場するかもしれない話とか、プログラミング以外の話ならたとえばドリブルテクニックを集めた動画の紹介…

「怠慢はプログラマの美徳」というけれど

Java屋Java信者とスクリプト言語屋の間には、「めんどくさい」と感じるセンスについて超えられない壁が存在している。 本質的でない事柄に関する記述があったときに、スクリプト言語屋は「めんどくさい」と感じ、Java屋Java信者はそれを感じないか、または「…

ブロックパラメータ代入は多重代入のルールが適用されます

ブロックパラメータ代入は多重代入のルールが適用されます。 a, (b, c) = [1, [2,3]] [a, b, c] # => [1, 2, 3] [ruby-list:44838]Re:計算するハッシュ なんと! 長年 Ruby を使ってきたけど全然知らんかった。 もしかして、今まで hash.inject('') {|s,t| …

PHP には finally がない

php

PHP は ver.5 から例外が導入された。eval で例外のまねごとしかできない Perl と比べて、これは PHP の大きな利点であるといえる。 しかし、try と catch はあるのになぜか finally がない。これでは例外機能がついたアドバンテージが半減してしまう。 まさ…

mod_rails と mongrel のベンチマーク

via RubyFlowmod_rails と mongrel とを比較したベンチマークが公開されてる。 これによると、mod_railsのほうが 1 割ほど速いようです。またディレクティブ RailsMaxPoolSize 3 を指定して Rails インスタンス数を調整してやると、さらに速くなるみたい。

Agile Web Development with Rails 第 3 版のβ版が公開

via RubyFlow[ruby-talk:299338] [ADV] Announcing the beta of Agile Web Development with Rails, Third EditionAgile Web Development with Rails 第 3 版のβ版が pdf で公開された。お値段は 24 ドル。さくっと買ってみた。これから読む。

PHP の関数から Ruby のメソッドを検索する

via RubyFlowPHP ユーザのための Rails サイト、その名も Rails for PHP Developrs が、PHP の関数名から Ruby のメソッドを調べることができるシステムを構築中。 たとえば PHP の fopen() に相当するメソッドが知りたければ、http://railsforphp.com/fopen…

PHP Framework Fight!

php

PHP Framework Fight!なる面白そうな企画があるみたいです。 PHPで色々あるフレームワークで、同じ仕様のアプリを実装し、ベンチマークを取り競争する。 処理速度だけでなく、開発工数(ジェネレータが吐いた以外のコード量)などでも比較したい。 数あるPHP…

RubyKaigi2008 サブセッションプログラム公開

RubyKaigi2008 サブセッションプログラム17 本応募してたと思ったけど、実際は 14 本でした。応募が少なかったのかな。 どんなのがあるのかなーと見てたら、 16:00 authorNari 『RubyGCをどけんかせんといかん』 に吹いた。GCに興味ないのに聞きたくなった。…

ERB では '' が '' になる

tdiary のテンプレートを erubis -z でチェックしたらエラーになった。しかし erb -x | ruby -wc ではエラーにならない。なんでや? と思ったら、'<%% %%>' が '<% %>' になるという ERB の独自機能を tdiary が思いっきり使っていたからだった。なんじゃこの…

コードギアスR2 #3

あいかわらず面白いなあ。旧千草が学園の先生やっているのはそういうことだったのね。最初はさっぱり意味がわからなかったけど、納得です。『わたしに、だろ?』のC.C.さんはドSです。 個人的には、恋する女の子シャーリーが戻ってきたのがうれしい。1st seas…

ついに Ruby の正式な仕様が登場するかも

第 1 回 Ruby 設計ミーティングのメモが公開された。 Unwinding the stack: First Ruby design meeting notes これによると、Rubinius が主導して作った RubySpec が、Ruby の正式な仕様およびテストスイートとなりそう。パチパチ。 RubySpec は、RSpec のサ…

RubyKaigi2008 のサブセッション

もう〆切っているけど。 サブ会場である多目的ホールで行われる「サブセッション」の応募〆切が、今週土曜の4月19日に迫っています。これを逃すと、発表の機会はライトニングトークス(LT)しかありませんが、例によってLTの競争率は例年とても高いです。「興…

Ruby 実装者たちによるミーティングが始まるらしい

Ruby 実装者が集まって、Ruby の仕様について話しあいをするようだ。しかも定期的に。 [ruby-core:16359] design meeting Ruby design meetings at #ruby-core 現在、Ruby は MRI 以外にもいくつかの実装が存在する。そこで問題になるのは、Ruby の公式な仕…

Ruby の予約語に endif やら endfor やらを追加するパッチ

前のエントリで、Ruby では複文の終わりを表すのが end しかないことを問題にし、それに対して endif や endfor を予約語に追加することを解決策として示した。 で、言うだけでなくて実際にパッチを作ってみた。 mismatched-end-1.0.0.tar.gz (追記: RubyFor…

Ruby が PHP に負けている点 #2: 複文の終わりを表す予約語が end しかない

負けているというと言い過ぎだけど、Ruby では複文の終わりを表すのが end しかない。 しかし PHP では、あまり知られてなさそうだけど endif や endwhile や endforeach が使える。 <table> <tbody> $value): ?> <tr> <td></td> <td></td></tr></tbody></table>

HAML

Mini reviews of 19 Ruby template engines をみると、HAMLをやけに推すやつがいたので、チュートリアルを見てみた。 ### eRuby <small class="code" id="message">Hello, World!</small> ### HAML %small{:class => "code", :id => "message"} Hello, World! ### eRuby <div id='content'> <div class='left column'> <h2>Welcome to our site!</h2> <p> <%…</p></div></div>

Ruby vs. Python は Lisp vs. Scheme に似ている

Python の好きなとこ・嫌いなとこを書いていて、よくわかった。 Ruby vs. Python は Lisp vs. Scheme に似ていると思うんだ。 Ruby, Lisp -- 機能がリッチで仕様は複雑、変数と関数の名前空間が違う Python, Scheme -- 機能を絞っていて仕様は簡素、変数と関…

Python の好きなところ

Python の好きなところ。主に Ruby との対比。 微妙なものも混ざっているけど、ご容赦ください。 ・キーワード引数を装備している。 これは Ruby と比べて大きなアドバンテージ。Ruby の、Hash を使った疑似キーワード引数も悪くはないんだけど、使用できる…

「print arg,」は改行を出力しないけど半角空白は出力されるよ

test.py: print 'foo', print 123, print 'bar' 実行結果: $ python test.py foo 123 bar というわけで、print 文の最後にカンマ "," をつけた場合、それは「改行を出力しない」んじゃなくて、「改行のかわりに半角空白を出力する」という意味でした。そんな…

Python の嫌いなところ

ちょっと古いけど。 デブサミ会場で、雑談していると「PythonはDISらないんですか」と柴田さんから。なんか自虐的じゃない? とは言うものの、Pythonは基本的に良い言語で、 不満な点はかなり微妙だ。一般人にはどーでもいいような点だと思う。 一応リストを…

tDiary の編集画面でアクセスキーを無効にする

(追記 2008-04-16: パッチの動作が逆だったのを修正。)tdiary-2.2.1 を試していたら、日記の編集画面で Control-A を押すと勝手に submit しやがった。クソッタレ!MacOS X ではいろんなところで Emacs ライクなキーバインドが使えて、たとえば C-p, C-n, C…

コードギアスR2 #2

先週から始まったR2。前回は話がよく分からなかったけど、今週はよくわかった。皇帝がギアス能力者だったわけね。これで話が繋がった。でもまだ疑問点は残るよね。特に旧千草がなんで学園の先生になっていることとか! 中華連邦に変な妖怪がいることとか! 前…

Rubinius のリポジトリが GitHub 上に登場

Rubinius on GitHubRubinius のリポジトリをコピーしたものが GitHub 上に登場。 Rubinius の本家リポジトリが移動したわけではなくて、あくまでコピーなので注意。 なんでこんなことをするかというと、こうすることで GitHub を使って Rubinius を fork さ…

Ruby on Rails のリポジトリが GitHub で公開される

Rails premieres on GitHubRuby on Rails のリポジトリは GitHub へ移行すると発表されていたが、GitHub の正式公開に併せ、Rails リポジトリも公開された。 $ git clone git://github.com/rails/rails.git rails.git で Rails のリポジトリを複製できる。約…