[雑感] 最近のWeb技術周りの所感(なんでも)
久しぶりに雨ですが、こんにちは、松本です。
今年度が半分過ぎましたが、Web技術周りはトレンドの入れ替わりが激しいです。
なのですが、メンテナンスを継続している案件もあり、一概に新しいものだけを追い続けるわけにもいかない現状でして
古いものと新しいものが混在するのが世のDEVの方々の常だと思います。
新旧混ぜつつ、ここ最近でありんくのWeb技術まわりでトレンドであったり、特に注力していたりする事柄をつらつらと挙げてみます。
mod_perl
もう何年もお世話になっているモジュールです。適度に枯れていて、バージョンアップの頻度もぼちぼちといったところでいい感じに運用できます。
今まではずっとApache1.3系で利用してきているのですが、いい加減2.0系の方がいいのかな?と思いまして
1.3系と2.0系を比較してみました。
自分の比較テストでは1.3系、2.0系ともにほぼ同様の結果がでており、であれば
使い慣れた1.3系でまだまだ行ってもいいんじゃないかな?
という感じです。
絶版になってはしまいましたが、Apache拡張ガイド(上/下)は、mod_perlの日本語で解説された貴重な書籍です。(これも1.3系)
2.0系は洋書(Practical modp̲erl)ではあるようなのですが、まだ読んでないです。
perl
CentOS5のYUMに依存したUPDATEをするような体制を作っていますので、Perl自体の管理もYUMです。
なので、バージョンは5.8.8で、これを使い続けています。
もうperl 5.10.1もリリースされ、5.8.x/5.9.xからの移行も本格化しそうなのですが、
これはOSマター(というかyumに頼って)で行いたいと思っています。
perlORマッパー
メンテナンス対象のシステムではClass::DBIを継続しての利用が多いです。これはもうママにメンテを続けていく方向で。
新規に作る分に関してはDBIx::MoCo を使っています。
拙作なのですがDBIx::MoCo::Pagesetでページング処理もらくらくです。
perlテンプレートエンジン
Template-ToolKit(TT)
6Aがサービスされている、「Vox」もmod_perlで構成されているようなのですが、
TTの処理が全体の60%になっている
ということで、TTの重さに愕然とします。
なのですが・・・あまりの便利さ&融通の利きやすさゆえに、離れる事ができず、ずっとTTを利用する形になっています。
Text::MicroTempolate や Tenjin もちょっと調べつつあるのですが微妙です。
TTより数倍速いのは速いっぽいのですが、mod_perl環境ではコンパイルができるため、TTに比べ、そこまでの速度の差は出ませんでした。
TT便利すぎます。
PHP
PHPは、メンテの対象となっているサービスはママそのバージョンを継続なのですが
今後は基本、PHP5.3をベースに考えたいと思っています。
ORM共通の悩みの、リファレンスカウントがそのまま&メモリリークなどという部分を
gc_collect_cyclesでばっさりソリューションしてくれるのかしらという、淡い期待を持っています。
またPHPで特にやっかいなのが、YUMのPHPのバージョンが5.1.6であるという部分で、相当古いです。最低でも5.2系を使いたいところで。
こればっかりは仕方ないのでYUM風のオプションを持ったPHP5.3をソースコードからインストールしています。
アクセラレータ
PHP5.3に対応したアクセラレータを探して右往左往していたのですが、一応APCに落ち着いています。
eAcceleratorは、後から自分の環境ではいきなりhttpdがCoreDumpしたりしてやや不安定でした。
PHPのORマッパー
自作していますので、そのうちUPします
PHPのテンプレ
Smartyはやめました、もう素のPHP=テンプレ。
OS
CentOS
弊社ではデフォルトで利用するOSです。
Fedoraはバージョンアップが激しいので何とも。
そろそろ5.4が出るのでしょうか 基本ド安定で素晴らしすぎます。
あとはReadTekのNICのドライバをきちんとフォローアップしてくれるととてもうれしい感じで。
FreeBSD
昔はメインで利用していたOSです。
最近はもっぱらCentOSで、FreeBSDで作られたシステムはだんだん少なくなってはいます。
やっぱりJavaが動かないのがなんとも。<Solrまわりなど。
WindowsXP
別にサーバーで使っているわけではないのですが、クライアントPCはずっとXPです。
普段はFireFox+Firebugで、IETesterでIEみる感じで。
最近BootCampでWin7を立ち上げられれば移行したいなーという感じです。
ミドルウェア
MySQL
これもCentOSのyumマターで管理しているので 5.0.x系です。
DBIなどのライブラリ周りも一括で管理できる辺りが楽で・・・
Memcache
絶対使いましょう。
Memcache使いまくりです、使って損することはまったくありません。
Tokyo Tyrant
1200万件のレコードからLIKE検索で0.n秒という数値がでまして、今今で検証中です。
相当にすごいミドルウェアかと。
フロントエンド
CSS
YUI のCSSをベースに使っています。
特にRecet.cssは大変便利です
コーディング時はなるべくCSSスプライトを用いて、Apacheへの負荷を削減しています。
Clearfixはこちらのエントリの通りで、おおよそ同一の書き方が多いです。
JS
おおよそ jQuery を使っています。
jQueryは全てバージョンアップを行い最新の1.3.2を利用しています。
ドラッグ&ドロップなどのウィジェット機能もすべて jQueryのプラグイン や jQueryUI を利用しています。
JSはheadタグに入れるとオーバーヘッドが大きすぎるので、すべてHTMLの終了部分に近い場所に配置します。
=HTMLとCSSのレンダリングが終了してからJSを実行させるためです。
つらつらと書きすぎですが、現状の流行はこのような感じです。
ネットブックでのPCルーター作成 や LVS をネットブックで運用なども非常に突っ込んでみたい所存であります。








