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

xSocket

xSocketはNIOを複雑化しないことを目指している - InfoQ Japanよく考えたらソケットプールも以前から自前で組んでいたので、使えるならばこちらで実装するのもありかな。 サーバならクライアントに比べて導入しやすいし。

威信と過信

ちょっとがっかりだな。 セブン銀に送る案内文を、漢字を含む文字コードに変更する作業を実施した。ところが、何らかの理由で、コードの変更がセブン銀に伝わっていなかった。このため、セブン銀のATMで印字データを正常に処理できずエラーとなった。 三菱東…

新しいPCの落とし穴

仕事用のPCを新調したことは既に書いた。日を追うごとに速さを実感することが多く、特にJavaや.NET等の起動時にJITコンパイラが動く重いアプリケーションやマルチスレッドなアプリケーションの、起動時間の短いことといったら半端無い。(スペックはちょっと…

より動的になるJava SE7

スペックリードが語るJava SEプラットフォームの現在と未来 - JavaOne 2008 Java SE 7では動的言語を強力にサポート Java SE 7ではJVM上で動作する動的言語のためにバイトコードレベルでのサポートが追加される予定となっている。具体的にはanonymousなクラ…

ナレッジとノウハウ

ログを見ると珍しく@ITからリンクされている。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?mode=viewtopic&topic=44710&forum=7&start=16 なるほど、識者に聞くことにより、自分自身があれこれ悩むよりも短い時間で正解を得ることができるだろう。…

本を選ぶのは

友人を選ぶのに似ている。格好をつけたり、背伸びしたり、自分と合わない人を選んだとしても、それは自らが選択した訳で他から押付けられたものではない。理解できなかったからといって相手を責めるのはお門違いというものだ。最初は理解できなくとも、(相手…

ピッケル本

プログラミングRuby 第2版 言語編/Dave Thomas, Chad Fowler, Andy Hunt, 田和 勝(訳), まつもと ゆきひろ(訳) 読了。面白かった。言語の解説本はリファレンスが目的だったりするため、一度目の読みで面白かったというのは記憶にあまり無いのだが、そういう…

Eclipse Babel Project

IBM寄贈の言語パックに変わるEclipse翻訳プロジェクト 久しぶりにチェックしてみたのだが、Eclipse3.3の日本語翻訳はかなり進行しているようだ。Eclipse Babel Project追記: 試しに「英語」と「日本語」をダウンロードして使ってみたのだが、ビューアのエラ…

地震

さすがに震度3を超えると寝ていられない。夜中に2回も起こされたし、その後悪夢で寝付けず。 しかし、何より怖かったのが、NHKで地震速報中に例の緊急地震速報の警報(あの趣味の悪いチャイムのような音が嫌だ。子供の頃に聞いたらトラウマになりそうだ)が鳴…

writing attr_reader

クラスにおける属性のアクセサを自動的に生成するのはRubyの非常に便利な機能だが、どのように実装されているのだろう。 と、Moduleクラス(attr_reader, attr_writer, attr_accessorはModuleクラスのメソッド)のソースコードを探したのだが見つからない。そ…

フック

実行するプログラムコードに対して割込み、処理を捕捉することを"フック"と言うが、Rubyでは、いわゆるフックを実装するのも非常に簡単だ。例えば、任意のクラスのメソッドにフックして、前処理、後処理を挿入してみよう。 hook1.rb class String alias_meth…

今日が連休の始まりだったら

良かったのに、と思わせる爽やかな晴天。どこかに行きたくなるよな。

リアリティ(Royal de Luxe)

"The Sultan's Elephant" by Royal de Luxe (BGM : Decollage - Les Balayeurs du désert)日本で紹介されてから随分時間も経っているようなので、知っている方も多いと思う。最初見た時、私はこれを名も知らない曲のPVで、中で出てくる巨大な少女の人形はビ…

まったり Rails (その6)

さて、scaffoldも動いたので次はバリデーション。ここはさらっと流そう。 RailsのバリデーションはActiveRecordのモデルクラスに書く。バリデーションのためのメソッドはその用途により"validates_〜"というプレフィクスが付いたものを使用する。 ActiveReco…

ソケット偉大なり

.NET(Win32)ならWM_COPYDATAを使うことで比較的簡単にアプリケーション間通信が可能だったが、Javaではさすがに他の仮想マシン下のウインドウに同メッセージを放り込む事もできないので、同様のことをソケットの実装で組んだ。実際にソケットで組んでみると…

キメラ

以前に書いたことがあるが、Rubyの勉強を始めるに当たり、Javaを多少使えるからといってJRubyから始めることをしないで良かった。 キメラな言語系は元々の原型を理解してから使うべきであり、流行に煽られて初学者が使うものではないんじゃないか。。偶々JRu…

圧倒的物量

PC

PCの引越しがやっと終わった。今回はリース切れのため7年ぶりのPC全とっかえであり、仕事用のDELLのワークステーションをDELL Precision 530(Intel Xeon(HyperThreading) 2.0Ghz×2, 1GB RAM, 860チップセット) から DELL Precision T7400(Intel Xeon(QuadCor…

Rubyのクラス定義

は実際には、クラスを生成するためにランタイム時に動作するコードだ。 長らく静的な言語を道具として使ってきたせいか、これを最初理解できなかった。 hoge.rb class Hoge puts "class #{self.class}" puts "name #{self.name}" end 実行結果 >ruby hoge.rb…