PostgreSQLしくみ勉強会に参加

先週の土曜日、PostgreSQLしくみ勉強会に参加してきた。

会場の産業技術大学院大学
会場の産業技術大学院大学

2本立てで構成されていて、最初はチューニングの話。
ここに資料がある。
かなり高度な内容で参考になったが、遅刻してしまい、半分くらいしか話が聞けなかったのは今回の反省点。

チューニングの話の後、plploxyとpgbouncerというPostgreSQLのロードバランシング(レプリケーション)の話だった。
事前の内容説明で、タイトルが 『 plploxy + pgbouncerについて(ハンズオン) 』 となっていて、ハンズオンって何だろう?って思っていたのだが、会場には備え付けのPCにPostgreSQLを用意されており、講師の人の説明を受けながら、実際にplploxyやpgbouncerをインストール、設定してみる形式だった。
こういうのをハンズオンというのか。
会場で配布されたOpenSolarisのブータブルCDでSolarisを起動し、そこから仮想OS環境のCentOSを起動して、PostgreSQLにアクセスするという複雑な構成。
講師の人は、どこそこのファイルに実行権を与えてシェルスクリプトを実行しろとか、普通にターミナルの操作を要求してくるので、諦めて話しを聞いてるだけの参加者も結構いたような。
講師は、桑村潤さんという方で、そう言えば名前を聞いたことがあるなと思ったが、マンモス本書いてた人なのか。
桑村さんがターミナルの操作をする様子は、前面の大きなプロジェクターに映し出されてたんだけど、テキストファイルを閲覧するのに(lessやlvじゃなくて)moreを使っていた。うーん、いまどきmoreか・・・と。
伝統的なUNIX使いなんでしょうね。

Catalyst(またはPerl)のドキュメント

Catalyst(Perlで一番メジャーなウェブフレームワーク)を採用しているサイトの追加開発をしてる。
以前買ってあまり読まずにいた『モダンPerl入門』を読みながら、Catalystを学習している。
本で足りない部分を補うために、ネットで検索して、Perl開発者のブログの記事を参考にしている。
「はてなブックマーク」(http://b.hatena.ne.jp/t/catalyst?sort=)の中から、めぼしい物を適当に読んでるけれど、ブログだから内容が断片的で、古い記事だと今では非推奨な方法で書いてあったりするので注意が必要。

Perlって、Catalystに限らず(と言っても、他にメジャーなのはCGI::Appぐらいだけど)フレームワークの本ってあまりない。
PHPのCakeやZend、RubyのRoR、JavaのStruts、C#のASP.NETなどは、専門の本がたくさん出てるのに。
何でフレームワークの本がないんだろうって理由を考えると、Perlライブラリの流行が早くて、本を作ってもすぐに内容が陳腐化するからというのもその一つでは?
Perl本体は5.8のリリースからもう7年も経っていて大きな変化はないけれど、ライブラリは似た機能のライブラリがCPANに次々にリリースされる。
Perlだけ追っかけてる分にはいいだろうけど、たまにしかPerl触らないとついて行けない。系統だった学習が出来るように、もう少し整理されたドキュメントが必要じゃないかなと思う。
CPANのドキュメントは詳しいことはソースを読めみたいな感じだし。
PHPが普及した理由って、日本語のドキュメントが大量にある事が大きいと思う。

JavaScriptの勉強でBresenhamアルゴリズムを知る

最近はJavaScriptの勉強をしてる。
一応仕事のためで、マストで必要ってわけじゃなかったけど、どうせならJavaScript使って見るか!ってことで。
教材にしたのは、この、TinyTable(http://www.leigeber.com/2009/03/table-sorter)というテーブル(表)を任意のカラムでソートするためのライブラリ。
これはとても良くできていて、このまま使っても良かったんだけど、ソースコードを見てみると、変数名が短くて意味不明だったり、実行速度を上げるため?なのか分かりづらい処理があったので、若干機能を修正して移植してみた。
車輪の再発明ってやつ。

もう一つは、グラフ表示のライブラリというか、コードプロジェクトのチュートリアル記事(http://www.codeproject.com/KB/scripting/javascriptlinedrawing.aspx)。
前にFlashの勉強をした時も思ったけど、グラフィックのプログラミングすると、数学の能力が求められるなって。
昔、♪サインコサイン何になる〜って受験生の歌があったと思うけど、やっぱ数学は大事だよ!
この記事では、グラフを描くのにBresenhamアルゴリズムというのを利用している。
解説を読むとああそうかって思うけど、こういうのを自分で思いつくBresenhamさんは賢い人なんだろうなあ。

wikiの文法

仕事で調べたメモをPukiwikiで公開してるんだけど、Pukiwikiの文法って、小気味いいと思う。
*1個でH1タグ、**2個でH2タグって自明だし、−でULタグ、+でOLタグっていうのも、納得がいく。
HTMLに変換しなくても、Pukiwikiの文法が残ってるテキストの状態でも見やすいのがいい。
行頭にスペース1個でPREタグになるのも、そういう点でよい。
Pukiwiki以外のwikiの文法に詳しいわけじゃないけど、とりあえずTracのwikiの文法は酷いと思う。
何であんなにしちゃったんだろう。