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

LiveCoding で 解説

cuzic です。もう先週のことですが、LiveCoding#10 に参加してきたら、突然 解説を依頼され、解説してきました。イベント内容は、yhara さんと nari さんのすごいギークがコーディングするのをみんなで見よう!みたいなもので、最近は sixeight さんが中心に…

Ruby でクラス定義の DSL 作成

cuzic です。今日も Ruby の話題です。理由はないのですが、大林さんの昔出した課題のような問題に取り組んでみました。目標は、 A = AttrClass :accessor, :with_default => 1 do def initialize puts "initialized" end def do_something puts "do_somethi…

Rubyのドキュメンテーション YARD編 (1)

cuzic です。WMI でいろいろとプロパティなどを観察していて、Description という Qualifier でその WMI クラスのプロパティに関する詳細な説明が得られることに気がつきました。簡単な例としては、 require 'win32ole' loc = WIN32OLE.new("WbemScripting.S…

プログラミングの心理学 − 読了

cuzic です。大昔に買っていた本であるプログラミングの心理学 を読み終えました。プログラミングの心理学―または、ハイテクノロジーの人間学 25周年記念版作者: ジェラルド・M.ワインバーグ,木村泉,久野靖,角田博保,白浜律雄出版社/メーカー: 毎日コミュニ…

Windows でバッチファイルと格闘

cuzic です。今日はいろいろと事情があって、かなぁり久しぶりにバッチファイル(.bat のファイル)を作っていました。私は MS-DOS => Windows3.1 => Windows95 と、正当な進化の歴史を歩んできた人間なので、もちろん昔はバッチファイルを使っていました。 …

More C++ Idioms

先週末は、友人と一緒に本を読んでいたのだが、その中で C++ のソースコードが出てきた。私は、オブジェクト指向を C++ から学んだ世代なので C++ のソースコードを読んでいると郷愁を感じる。しかし、いまもう一度読むと C++ はなかなか難しいというか、書…

JS-WMI (2)

cuzic です。JS-WMI というライブラリを開発していて、 WMI の Qaulifier について、ちょっと詳しくなりました。WMI ではオブジェクト、プロパティ、メソッド、メソッドパラメータについて、付加的な情報を Qualifier で取得できます。 Qualifier は CIM Stu…

IronRuby-PowerShell (1)

cuzic です。ちょっと取り組んでみたら意外とあっさりとできたので、IronRuby による PowerShell のコマンドレットを操作できるようにするライブラリについて、書きます。もうちょっと、頭の中を整理したいというか、練りたいので、 GitHub 等に公開は特にま…

JS-WMI (1)

cuzic です。さて、前回、IronRuby-WMI を作ってみましたが、本来の趣旨としては WMI を JavaScript で操作するライブラリの作成を目標としていたのですが、脱線してできあがったものでした。前回の記事を書いたあと、プロパティを実現する方法は JScript に…

MessagePack-JS (5)

cuzic です。http://d.hatena.ne.jp/uupaa/20100525/1274729065 で、uupaa さんが私が作ったバージョンより大幅に高速なバージョンの MessagePack の JavaScript 実装を作成されたそうです。私の JavaScript スキルはそれほど高くないですので、uupaa さんの…

IronRuby-WMI (1)

cuzic です。JavaScript の柔軟な使い方の勉強として、WMI (Windows Management Instrument)のラッパーを、Windows Script Host で実行する環境向けに作ってみようと思ってみました。PowerShell と似たノリで、 var klass = get_wmiobject("Win32_Process"…

リファクタリング - Rubyエディション読書会(1)

cuzic です。「リファクタリング - Ruby エディション」読書会を主催してきました。「リファクタリング - Ruby エディション」は、かの名著 Martin Fowler のリファクタリングをサンプルコードを Ruby で書き換え、説明しなおすという野心的な試みを行ってい…

MessagePack-JS (4)

cuzic です。MessagePack-JS をさらに更新しました。 MessagePack.pack() による、MessagePack へのエンコーディング機能の追加。 エンコーディングに対応したテストコードも追加 MessagePack.unpack() のテストコードに XMLHTTPRequest を使った例を追加し…

MessagePack-JS (3)

cuzic です。前回の投稿は ベンチマークテストにバグがあって、うまく処理できていなかったようです。ベンチマークテストのバグを修正すると、私の実装は eval に比べて 10倍以上遅いということが分かりました。今日は一日かけて MessagePack のバイナリ文字…

MessagePack-JS (2)

投稿時は、MessagePack-JS の結果の方が eval より高速としていましたが、それは ベンチマークテストのバグに由来するものでした。計測しなおしまして、記事を訂正しましたので下記を参照ください。cuzic です。MessagePack-JS ライブラリをちょっと更新しま…

MessagePack-JS

cuzic です。MessagePack の JavaScript 実装を作成しましたので、公開しました。GitHub においております。サーバ側で生成した MessagePack の文字列をクライアント側の JavaScript で、 var data = MessagePack.unpack(unescape("%a1%61")); alert(a); と…

vim勉強会#6 参加

vim

3月21日の vim 勉強会で学んだことを簡単にメモ。 テキストオブジェクト vim では ct) とすることで、 ) までの手前の文字を置き換えることができる。その ct) と同じ内容を ci( でできるらしい。cf) は ca( で同じ操作になる。ci( や ca( を使うと、一度、…

update-alternatives

Ruby Advent Calendar の記事で http://blog.udzura.jp/2009/12/13/switch-your-ruby-on-ubuntu910/というのがあった。RVM はいいものだが、利用している環境が Ubuntu でもあるので、この方法についても試してみることにした。ただ、冗長な書きぶりが気にな…