2010-04-01から1ヶ月間の記事一覧
まずは次の表をご覧あれ。これはプログラミング言語のベンチマークとして有名な Computer Language Benchmarks Game のベンチマーク結果。上にいくほど高速で、下に行くほど遅い言語になる。これを見れば、最速な言語は C/C++ であり、Java や Haskell や OC…
まえのエントリのコメント欄より: flat8 2010/04/27 10:19 確実にIntelはそこまで考えていると思います。で、ある程度SSDが普及したらSSD自体の製造からは手を引くでしょうけど。 やはりそうでしょうか。さすがIntel。 ところでIntelが『SSD自体の製造から…
もとのエントリでも触れたけど、Facebook は PHP を C++ に変換して実行する仕組みを開発し、これを HipHop for PHP という名前で公開している。知っての通り、Facebook は世界最大の SNS であり、PHP を中心に構築されている。サーバの数も膨大で、その数約…
cpw 2010/04/27 12:43 アプリケーションサーバは分散が容易とういうことを忘れてはいけませんよ。サーバも安くなってきてますしね。人件費の方が高コストです。 スクリプト言語の息の根を止めるのは案外 SSD かもな - kなんとかの日記 データベースサーバと…
いやー、おまいらがスクリプト言語大好きというのはよくわかった。よくわかったけど、信者はもっと落ち着いたほうがいい。 mikihoshi 「スクリプト言語の使いやすさ」のかなりの部分はスクリプト言語(動的言語)であることが担保してるんだから、「スクリプト…
話は変わって: とはいえ、HDDとSSDそのもののアクセス性能を比較した場合は10倍から20倍性能が違うのに対し、実際の業務を想定したOLTP処理性能の比較ではそれが2倍〜3倍程度に収まりそうであるのにはやや肩すかしを食らった感じもします。 HDDをSSDにした…
大変たいへん興味深い記事。全プログラマーにとって。 HDDの代わりにSSDを利用したら、リレーショナルデータベースの性能はどれだけ向上するのでしょうか? オラクルと富士通が共同検証を行い、その結果をホワイトペーパーとして先週発表しました ...(snip).…
自分で書いたコメントなんだけど、今見るといいこと書いてあるように思うので、エントリにしてみる。3行でまとめると: Spring の起動が遅いことと、DI コンテナの起動が遅い/速いというのは、別の話。 DI コンテナの起動が遅いなら、起動の速い DI コンテナ…
国内レンタルサーバで使われている PHP/Ruby/Python/Perl/MySQL/PostgreSQL のバージョンを調べてみた。レンタルサーバの選択基準は特にない。「レンタルサーバ」でぐぐって適当にピックアップした。最初にまとめとくと: PHP は 5.2.x が主力 Ruby は 1.8.2…
すでに Python 3.1 もリリースされ、また 2.7 のリリースも近いというのに、世の中ではいまだ Python 2.3 や 2.4 が現役で使われている。たとえば、サーバ用 OS としてよく使われる CentOS 5 では、Python のバージョンは 2.4 である。またレンタルサーバの …
はっきりいって、Git の CUI は使いづらくてわかりにくい。サブコマンド名やオプションが開発者目線で決められており、ユーザからどう見えるかという視点が欠けている。その点、Subversion はよく考えられて洗練されていたし、それを受け継いだ Mercurial も…
Git は RCS っぽい lifeLOG + REPOsitory: 平等分散リポジトリの見せる夢 ワシもそう思う。Subversion のときはリポジトリを作って http.conf に記述して Apache 起動して…みたいな作業が必要だったけど*1、Git や Mercurial はそういう手間が全然いらない。…
なんの裏付けもない、まったくの個人的な妄想だけど、Google はそう遠くない未来に、CPU 開発に乗り出すという予想をしてみる。いやいや汎用品を使うからこその Google なんだと言われるだろうけど、それなりに根拠はある。 Google にとっては、CPU の単体性…
DIの主なメリットは、テストのしやすさと宣言的トランザクションだと思いますが、AppEngineではモックなしで簡単にテストができ、Bigtableの仕様的に宣言的トランザクションはほとんど使えないので、AppEngineでDIを使うメリットは余りないんじゃないかと思…
$ sudo diskutil umount /Volumes/NO\ NAME Password: Volume NO NAME on disk1s1 unmounted
上記3つの対策を施し、詳細は省略しますが約50回の起動で、最小3693ms、最大14303ms、平均6884msとなりました。対策前(平均8895ms)と比較すると2000ms程度の改善です GAE/J、起動時間(spin up時間)短縮の試行錯誤 : CB NANASHI管理人ブログ これ、まじな…
Rails の routes.rb と格闘中なんだけど、なんで Rails の routing はこんなにわかりにくいのだろうか。 ## named route は省略 map.with_options(:controller=>'books') do |x| x.connect '/books', :action=>'index', :conditions=>{:method=>:get} x.conn…
jQuery で、innerHTML じゃなくて outerHTML を実現する方法があった。 jQuery.fn.outerHTML = function(s) { return (s) ? this.before(s).remove() : jQuery("<p>").append(this.eq(0).clone()).html(); } jQuery: outerHTML – Yelotofu わかりやすく書くとこ</p>…
Google App Engine で、スクリプトから画像ファイルの一覧を取り出そうとしたけど、できなくてはまった。helloworld.py # -*- coding: utf-8 -*- import os, glob print "Content-Type: text/plain" print "" print "hello" imgdir = os.path.join(os.path.d…
私はもう特定少数で使うアプリはWEBでやらないほうがいいと思っています。まず、Java-WEBが出て来てから10年経ってもなお、WEBブラウザソリューションって難しいものなのだと思わざるを得ません。いやー俺様には簡単だよw、でも世の中では少なくない人々が、…
Python で SyntaxError を自前で raise するには次のようにする。 raise SyntaxError("エラーメッセージ", (ファイル名, 行番号, カラム桁数, ソース行)) やってみる。 >>> raise SyntaxError("ERROR MESSAGE", ('foo.py', 123, 2, 'x = 999')) Traceback (m…
import 文を使わずに、任意の Python スクリプトをモジュールとして読み込む方法。こうすると、拡張子が「.py」じゃなくても読み込み可能。 import os file = 'foo.py' name = 'foo' module = type(os)(name) # (*1) module.__file__ = file execfile(file, …
Google App Engine 専用フレームワークというふれこみの『Kay』を試してみる。 なお環境は Mac OS X 10.6、Python 2.6.2 (自前コンパイル)、GAE SDK 1.3.2。
Python では、現在のファイル名を表す __file__ はあるけど、行番号を表す __line__ がない。現在の行番号を調べたかったら、スタックフレームオブジェクトを触る必要があるみたい。以下がサンプルコード。__LINE__ and __FILE__ functionality in Python? -…
こんなん今の今まで知らんかったわ。 irb> true || true && false #=> true irb> true or true and false #=> false irb> true || false && false #=> true irb> true or false and false #=> falseまじですかー! 何やねん、これ。マニュアル見ると、and と …
RubyKaigi2010 のセッション応募が開始されてた。締め切りは4/28。 基本的に、1 発表 60 分くらいを目安に考えています http://rubykaigi.org/2010/ja/CallForPresentationProposals.html 60分かよ。応募したいけど、そんなに長く話せるネタはないなあ。 は…
PHPで、「$obj->var」と「$obj->get_var()」にどのくらい速度差があるのかを調べてみた。 またjQueryのようにgetterとsetterを同じメソッドで行うようにしたいとき、引数があるかどうかを調べるのにfunc_num_args()を使った場合と使わない場合との速度差も測…
「Ruby on Rails 3.0 Release Notes」を参考に、Rails 3 をインストールしてみる。なお現時点ではまだ正式リリース前 (beta2) であることに注意。
## ファイルの先頭1KBを読みこんで、"\r\n" があれば CR+NL と出力する $ ruby -e 'puts ARGF.read(1024)=~/\r\n/ ? "CR+NL" : "NL" ' file.txt CR+NLまあ最初の一行目で判定すればいいんじゃね?という意見もあるが、二行目以降だけがCR+NLというファイルを…
jQuery のドキュメントは充実してるんだけど、オンラインでないと読めない。近所の喫茶店とか、ネットの繋がってないオフライン環境で参照したい場合は困る。 と思ってたら、Alternative Resourcesというページに、PDF版とCHM版へのリンクがあったので、紹介…