2008-02-01から1ヶ月間の記事一覧
Python 2.5 の os.times() はバグっていて、user time や system time の正しい値が採れない。bench.py def f(n): if n <= 0: return 1 else: return f(n-1) + f(n-2) import os, time t1 = os.times() f(34) t2 = os.times() utime = t2[0] - t1[0] stime =…
Python 2.5.2 Release 絶望した! 新しいバージョンがリリースされたのに、IT 系ニュースサイトにまったく取り上げられない Python に絶望した! JRuby なんか、RC1 でもニュースになるというのに、この差は何なんだ?
InfoQ: EngineYardがmod_rubiniusとRubiniusに向けて開発者を雇用 Railsのホスティング会社であるEngine Yard(サイト・英語)は、最近、Rubiniusに取り組む開発チームを立ち上げたことで話題となった。今回、そこに新たな開発者としてEero Saynatkari(Rubiniu…
すごすぎる。2 人目なんか同じ人間とは思えない。CG かと思った。
今日びっくりしたことは、超売れっ子漫画家がマガジンを買わずにコンビニでの立ち読みで済ませていること。 しかも叫び声をあげながらだとか。
ohai日記: 「型」に関して たいへん分かりやすい説明。要約するとこんな感じか。 型安全な言語 型の食い違いによる「意味のない」「正しくない」操作を全て検出できる言語。例: Ruby や Java は実行時エラーがでるので型安全、C はキャストがあるので型安全…
もうひとつ指摘しておきたい。プレゼンでは、次のようなコードが紹介された。 NUMBER_CLASSES = [int, float, long] def isnumber(obj): return any(isinstance(obj, cls) for cls in NUMBER_CLASSES) 添削結果は、「このコードはよいコードです。ただし、co…
Python Workshop the Edge 2007: Pythonコード添削道場 どう書く?.org登場のきっかけとなったプレゼンで、内容はるびまの「あなたの Ruby コードを添削します」の Python 版。初心者にぜひ見てほしいプレゼンなのだが、残念ながら駆け足でのプレゼンなので、…
日本全国で 3 人くらいはいるんじゃないかと思っているんだけど、MacOS X 10.4 Tiger を使っていて、かつ Rubinius がコンパイルできなくで困っている人はいませんか。バグ登録して直してもらうようにお願いしたら、「みんな Leopard に移行したから直せない…
YouTube: Ruby 1.9 まつもとさんによる、Google での講演。で、下の画面は 28 分ごろに出てくるスライド。 絶望した! Ruby 作者に忘れられている Rubinius に絶望した! ・・・うそです。そのあとの質疑応答で Rubinius の名前がでてました。
PHP ファイルに Syntax error があると、該当箇所を見つけるのはかなり困難である。理由は簡単で、HTML と PHP コードとが混じっているから。 たとえば と のあいだにたくさんの HTML タグが入っていると、それだけで '{' と '}' の対応を確認するのが難し…
いつのまにか File#flock が実装されていた。ticket #251で足りないと指摘されていた #flock, #truncate, #chown, #mtime, #lstat はどれも実装されたようだ。よかった。これで rbTenjin を Rubinius ready にできそうだできた。
実行してみると分かるが、Rubinius の起動は実に遅い。どのくらい遅いかというと、間違って Java を起動したんじゃないかと思うほど遅い。あまりに遅いので、Ruby と Rubinius の起動時間を調べてみた。ついでに、他のスクリプト言語の起動時間も計測してみ…
そこで、Ruby の CGI スクリプトでも、エラーをログファイルではなくブラウザに表示させるための小さなライブラリを書いてみた。cgi_exception.rb ## HTML エスケープ def _esc_html(s) s.to_s.gsub(/&/,'&').gsub(/</,'<').gsub(/>/,'>').gsub(/"/,'"') end ##…
Ruby で CGI プログラムを書いていると、ときどき「PHP のほうが簡単だよなー」と思うときがある。そのひとつが、エラーが発生したときに、その内容が PHP ではブラウザに表示されるのに対し、Ruby ではブラウザには 500 Internal Server Error しか表示され…
eRuby ファイルに Syntax error があると、該当箇所を見つけるのはかなり困難である。理由は簡単で、HTML と Ruby コードとが混じっているから。 たとえば と のあいだにたくさんの HTML タグが入っていると、それだけで for と end の対応を確認するのが難…
週記くらいによると、影舞の新しいバージョンがリリースされたみたい。2008/02/11 のスナップショットがダウンロードできるようになっているようです。 2008/02/11 のスナップショットがダウンロードできるようになっているようです。 今まで、CVSは修正され…
おとといくらいから MacOS X で Rubinius がコンパイルできない。rake build するとこんなエラーが。 $ rake build (in /tmp/ruby/rubinius.code) make vm cd shotgun; make rubinius cd lib; make library; CC archive.o In file included from ../../shotg…
Python標準モジュールでRakeもどき Python でも distutils を使うと Rake みたいなことができるよという話。でも distutils って、依存性を解決してくれたっけ? たとえばタスク A を実行するためにはタスク B と C を先に実行しなければいけない、というよう…
自由にアクセス制御可能なJavaScriptサンドボックスを作る JavaScript Sandboxに関する議論 このへんを見てみると、ブラウザをプラットフォームというか一種の OS として使いたいということなんだと思う。もしブラウザを OS として見なすなら、ブラウザにリ…
InfoQ: Ruby 1.9でのメソッドチェーンのタッピング なるほどね。たしかに便利かも。でもなあ、ほんの少し便利にするためだけに Object クラスにメソッドを追加するのは、ちょっとやりすぎだと思うなあ。なんかまた Ruby が初心者向けから遠のいたように感じ…
Network Camera キリン なんじゃこりゃ? キリンが映っているんだけど、ホンモノなんだろうか。
インデントベースだとeRubyのようなテンプレートが難しい Matz日記:PythonをDISる Python はインデントベースなので、eRuby に限らずコード生成とは全般的に相性が悪い。しかし、eRuby 程度であれば以下のようなルールで実現できる。 テキストを print 文 (…
これの続き。MRI での Exception の問題点は、「メッセージ」=「表示文字列」となっていることだ。本来ならば、メッセージを get/set するメソッドとは別に、表示文字列を構築するメソッドを用意すべきだった。 class Exception def initialize(message) @m…
SyntaxError のように仕様が MRI と Rubinius で異なる場合、spec ファイルの書き方には注意が必要である。一般的には、次のように書いてしまいがちだ。 if defined?(RBX_VERSION) # Rubinius のとき ... test code ... else # そうでないとき ... test code…
Rubinis と MRI とでは、SyntaxError クラスの仕様が結構違う。 MRI では SyntaxError#message にファイル名と行番号が含まれるが、Rubinius では含まれない。 Rubinius には SyntaxError#file と SyntaxError#line が定義されており、これでファイル名と行…
Rubinius の spec ファイルは、なんと Rubinius 以外でも実行できるような仕掛けがすでに用意されていた。実行はいたって簡単で、bin/ci コマンドのオプションに -t ruby とか -t jruby とかをつけるだけ。 $ cd rubinius.code $ bin/ci -t ruby spec/ruby/1…
これだけだと単なる Java 批判と取られるだろうから、そうじゃないことをアピールしてみる。 私の個人的な意見としては、一部の人(例えばアーキテクト)だけ、フレームワーク全体を把握していて、残りのメンバーは「限定されたことだけやっとけ」みたいなこと…
Struts 撲滅委員会としては、見逃せないエントリ。 Strutsをなめんな ひがさんによる Struts 擁護論。なんだけど、どうだろ。ひがさんの意見は、ほぼ同意できることが多い (これとか) んだけど、今回のはちょっと同意できないな。 シンプルなら、なぜあんな…
InfoQ: 議論:Mavenはビルドに適したツールか? 言いたいことはとってもよくわかる。Maven の狙い所は悪くない。しかし pom.xml の複雑さは異常。 今のところ、Mavenはこれに完全に逆流しています。なぜプロジェクトを作りたいときに、いつもマニュアルを読…