« 2006年10月 | メイン | 2006年12月 »

2006年11月 アーカイブ

金色のペプシ「ペプシゴールド」のんでみた。

青いのや赤いのはまったく、飲む気がしなかったけど、金色のやつを見かけたので、飲んでみた。

飲みおわってから、ジンジャー風味ってことを知ったけど、飲んでる時は気がつきませんでした。

そのうち、5色そろえてセット販売しそうな予感。



http://www.pepsi.co.jp/products/gold_popup_nf.html


Twistedやばい

NetWork越しにhogehogeしようとしていて、そこでようやくTwistedにいきあたりました。前々から名前だけは聞いていたんですが、フレームワークの一つぐらいに捉えていて、スルーしていました。これが大きな間違いだった。

フレームワークといっても非同期ネットワークアプリケーションフレームワークでWebアプリケーションフレームワークでは無かったんです。

Twistedのサイトにある簡単な紹介はこんなかんじ。

Twisted projects variously support TCP, UDP, SSL/TLS, multicast, Unix sockets, a large number of protocols (including HTTP, NNTP, IMAP, SSH, IRC, FTP, and others), and much more.
Twistedスプリント - Python Developers Camp 2006 Summerにある紹介もおすすめ。

GUIのアプリケーションとか、ネットワーククライアントとか、デーモンとかをサクッと作れるらしい。XenやBittorrentなんかでも使われているらしい。

API一覧を見てみると、DNSサーバ!やメールサーバ!を作るためのパッケージがあったりします。



難点をあげるとすれば、オライリーから本が出ているのですが、その表紙がキモすぎです。オライリー本の中で最もキモいです。蛇玉かよ。うわー。電車の中ではカバー必須!



Twisted Network Programming Essentials (Essentials)

続きを読む "Twistedやばい" »



Binary Hacks

Binary Hacks ―ハッカー秘伝のテクニック100選
Binary Hacks - バイナリアン度チェックがサッパリわからなかったので、バイナリアンでは無いかと落ち込んだのですが、とりあえず楽しく読もうとBinary Hacksを入手しました。
まだ全部、読んではないですが、5章と7章がサッパリぽいです。
ちょっと真剣に再入門しよ。

オレンジニュースがLDRで取得されていない件について

最近、ネタの仕入れ具合が落ちていると思ったら、LDRでのオレンジニュースの最終更新が12日前ってなってた。
今日のSICP読書会で話題になって初めてきづいた。
LDRに入ってこないと見逃すのか....。

はじめてのIRCBot - Python Twisted編

(oreorebotみたいに)「url送ったらそのページのタイトルを返してくれるボットが欲しいなぁ」と、某IRCで発言したところ、Perl::POEでサクっと作っていただきました。
でも、作りたい衝動を抑えられず、Twisted baseのIRCクライアントを作ってみました。

ソースコード - azukibot - azuki.py

Twisted初心者なので、付属していたサンプルのIRCBotを元にしています。

付属のexamples
Twisted-2.4.0/TwistedWords-0.4.0/doc/examples/ircLogBot.py

サンプルですでにイベントに対応するメソッドが揃っているので、簡単にイベントドリブンなプログラミングができました。
あとはAPIドキュメントをPythonのプロンプトで
>>> from twisted.words.protocols import irc
>>> help(irc)
とか して、APIを眺めつつrfc2812あたりを見ながら肉付け。っていうか、ほとんど元のままです。

Webページを取得する部分はイベント管理機構であるdefferdを返す関数を使っています。
twisted.web.client.getPage は Deferred オブジェクトを返すので、Callback関数を登録してあげます。
def request(self, url, channel):
self.getter = twisted.web.client.getPage(url, timeout=5)
self.getter.addCallback(self.getTitle, channel)
self.getter.addErrback(self.handleWebError(error))
非同期non-blokingネットワークI/Oなので、重いページをリクエストしている間も、mainループでイベントを処理しつづけます。素敵。

twisted.pythonやtwisted.utilというライブラリも付属しており、これは他の用途にも便利に使えそうでした。

ちょっと困ったのが、デバッグです。とりあえず、print文で標準出力に怪しいところを出して、っていうプリミティブな方法しか思いつきませんでした。
ハマると大変かもしれません。

ここまでやってTwistedの楽しさを知り、蛇玉本を買ってしまいました。
クライアント兼サーバみたいなアプリケーションとかJabberをhogeるとか、いろいろ夢が広がっています。

Amazonのインスタントストアを作ってみた

Amazonアソシエイト・プログラムのインスタントストアを作ってみました。

http://astore.amazon.co.jp/catbotnet-22

作り方は簡単でカテゴリを作ってそこに商品を検索して追加するか、リストマニアのリストをまとめて登録。

リストマニアみたいにアレもコレもとリストアップする楽しみと、商品紹介のレビューが作りやすいのです。
アフェリエイト的な実利はあんまり期待できないだろうけど、オレセレクトショップみたいな店を作る楽しさは十分に味わえます。amazonにとっても欲しいデータが手に入りやすいだろうしね。

機能的にはもうちょっと融通がきいて欲しいかも。

PHPによるデザインパターン入門

PHPによるデザインパターン入門
下岡さん(Do You PHP?の中の人)のPHPデザインパターン入門を購入しました。
まだぜんぜん読んでませんが、パラパラめくってみた感じ、改めてPHP5がJavaに似てきたなぁ、と実感してます。
PHP5のデザパタ本は初めてかと思います。

結城さんのデザパタ入門をとかGoFとか(あたりまえか)をかなり参考にしていて良書の予感。


Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series)
Erich Gamma Richard Helm Ralph Johnson John Vlissides
Addison-Wesley Pub (Sd)
売り上げランキング: 18738

おすすめ度の平均: 5.0
5 デザインパターンを解説する本家本元

増補改訂版Java言語で学ぶデザインパターン入門
結城 浩
ソフトバンククリエイティブ
売り上げランキング: 6173
おすすめ度の平均: 4.5
5 良い本やと思います
5 最高のDP入門書
3 僭越ながら助言です

Head Firstデザインパターン―頭とからだで覚えるデザインパターンの基本
エリック フリーマン キャシー シエラ エリザベス フリーマン バート ベイツ Eric Freeman Kathy Sierra Elisabeth Freeman Bert Bates 佐藤 直生 木下 哲也
オライリージャパン
売り上げランキング: 23122
おすすめ度の平均: 5.0
5 きっかけが欲しい開発者にオススメ
5 安心と自信を得られます
5 初学者の見方

PHP]Architect's Guide to PHP Design Patterns
J. E. Sweat
Marco Tabini & Associates,
売り上げランキング: 24960












Powered by
Movable Type 4.25