イトウ アスカ blog このページをアンテナに追加 RSSフィード

2008-05-26

言語を選ぶ基準

 前回のエントリで私は Ruby 党と言いながら Ruby を批判したかのようにもとれるので、改めて Web アプリにおける私の採用言語の選定基準(というほど厳密ではないが)について書いてみます。

 まず、本番稼動環境がどういうところなのかというのが最大のポイントです。当たり前ですね。



 それから、多人数(特に複数の会社)が関わるプロジェクトならばまず Java が選択肢にあがります。それは周辺ツールの充実さですね。Javaコーディング規約も「これ!」というのがありますし(私のオススメは↓の本)、そのチェックツール(CheckStyle)の入手性も良好です。

 JUnitMaven、Continuum、FindBugs などのテストツール、構成管理ツールで高品質なものも容易に入手できます。これが Java の強み。ある程度以上の規模になってくると、こういったツールの便利さが身にしみてきますね。

 逆にこういったツールを Ruby でも容易に入手できて、Eclipse などの単一の IDE から使用できれば、かなり Ruby on Rails がしめる割合が増えるだろうなと思っています。

2007-04-03

PHP を教えることになりました

 某大学にて PHP を教えることになりました。と言っても、バリバリの工学系の大学ではないので、高校生や中学生に教えるのと大差ないんじゃないか(物覚えが良くて、先入観の少ない中学生に教えたほうがやり易いかも)と思ったり思わなかったり。

 と言うことで、教科書代わりに選定した書籍が↓です。

PHPの絵本

PHPの絵本

 内容がとても易しく(易しさを追求したためか「厳密に言うと違うんじゃないの?」という記述がありますが)、細かな章立てが教科書にうってつけです。文字も少なく、ぱっと見で身構えることもありません。新年度が始まりましたが、研修用にもよろしいかもしれません(研修用には易しすぎるかな?)。

2006-06-29

OpenPNE のデータ移行でメールアドレスが化けたときの対処法

 オープンソースの SNS エンジンである OpenPNE。これは、メールアドレスをデータベースに暗号化して保存します。この暗号化なのですが、どうやら PEAR の Crypt::Blowfish を用いている模様。このライブラリは、mcrypt を使用して暗号化処理を行うようなのですが、PHP に mcrypt が組み込まれていなくてもエラーを吐いたりしません(少なくとも OpenPNE では)。何事もなかったようにスルーしていしまいます(たぶん暗号処理をしないでそのまま返す!?)。ということで、ここが意外とハマりポイントになりそうなので、メモを残しておきます。

 私の場合、Vine Linux 3.2 で動いているマシンから CentOS 4.3 で動いているマシンにデータを移行しようとしました。どちらも標準添付の PHP を用いたのですが、Vine Linux のほうは mcrypt が組み込まれているのに対し CentOS のほうは組み込まれていません。そこで CentOS に組み込むことにしました。まずは、libmcrypt を RPM でインストールします。以下のサイトで配布しています。

no title

 CentOS は Redhat Enterprise Linux とバイナリ互換なので、私の場合は Red Hat EL 4 のものを持ってきました。次に PHP 用の拡張モジュールを RPM でインストールします。以下のサイトで配布しています。

no title

 これで OK です。

2006-03-28

埋め込み型言語は成功だったのか

 正式名称がわからないので、PHPのようにHTMLに埋め込むように書くことができる言語を埋め込み型言語と呼ばせてもらいます。

 その埋め込み型言語は果たして成功だったのでしょうか? 「だった」と過去形で書くのが適切かもわかりませんが、私としては、失敗、ないしそれほど必要なものではなかったのではないかと思います。

 もしこれがそれほどまでにすばらしい解決策だとしたら、なぜPHPにSmartyなどというものが生まれたのでしょうか(そしてテンプレートエンジンは増え続けています)。Javaにしても、JSPにスクリプトレットを書く人なんて、もうとんと見かけなくなりました。VelocityやMayaaなどが生まれ、そして廃れることがないのものJSPが最適解だと思う人が少ないからではないでしょうか。

 perlにしてもeperlというHTML埋め込み型の実装があると聞きます(実物はみたことないです。すいません)。RubyにもHTML埋め込み型erubyという実装がありますが、当初は注目を浴びたかもしれませんが、現在はERBをView層に使うパターンが多いのではないでしょうか。ERBも埋め込み型言語なのでしょうが、他にテンプレートエンジンがないからコレを使っているという節も見受けられます。

 ということは、PHPのひとつのウリであるHTMLに書けるというようなことはすでにウリではなくなってきているのではないかと思います。Javaがかつて「思ったほど生産性があがらない」と不当な評価をされたように最近はPHPについても「思ったほど生産性があがらない」と聞こえ始めているのですが、この「HTMLに書き込める」というのに過大な期待をしたこともこの原因に思えてきます。

2006-03-09

XOOPSは話にならない

 黙って死ぬ。ログぐらい吐け。