カテゴリー: Development

S2PHP5

S2PHP5は名前の通りPHP5専用のフレームワークだそうです。

説明

Java版のSeasar2を、PHP5に移植します。

 マイルストーン
M1: Java版Seasar2をPHP化する (バージョン 0.9x)
パッケージ構成やインタフェースを統一し、Javaのソースをできるだけ変更することなくPHP5に書き換えます。
M2: PHPらしくリファクタリング (beta バージョン)
リリース1.0 に向けて、移植もれ、移植ミス、動作不具合への対応。
また、実装方法、命名規則、名前空間、クラス定義の読込み方法や設定ファイルの在り方等々、ユーザ様からの声を検討、反映し、「 易しく・優しく・PHPらしく 」 を目標にリファクタリングします。
ご意見・要望など Seasar-User ML までお願いします。

最初のリリース(0.92)は5/29のようです。現在は0.93(6/9)が最新リリースのようです。

面白そうなので近いうちに時間を作って試して見たいです。

# 私のアンテナあまり広くないので、面白そうな情報があった
# ら是非教えてください :) 

Rails

Rubyを使っている方やMLを覘いている方(私はこちらです)はWebフレームワークのRuby on Railsをご存知と思います。Ruby使いではないのでMLをさらっと横目で見ている程度なので詳しくは知らなかったのですが

http://www.rubyonrails.org/

QuickTimeの紹介ムービーがあったので見てみました。10分ほどのムービーですが簡単にWebアプリケーションが作れる事が分かります。

Rails、面白そうですね。MLで盛り上がる訳ですね :)

Serendipity – PHP Blog System

Blogツールの選択肢は多すぎてどれを選べば良いか迷う程ですがSerendipityというPHPで記述されたBlogシステムを知りました。

WYSIWYG HTMLエディタも利用できたり、全てのRSSとATOMに対応、イメージのリサイズサポート等、割と良くできていると思います。PHP5ならSQLiteをデータベースとして利用できるのでDBサーバ無しでも利用できる点が良いと思います。

Developer Team
Jannis Hermanns
Sterling Hughes
George Schlossnagle
Wez Furlong
Sebastian Bergmann
Garvin Hicking
Tom Sommer
Joyce Park
Christian Mühlhaeuser
Joseph Tate

開発者の名前を見るとPHPプロジェクトのコミッターが多いですね。
# 私が知らないだけで、全員コミッターかも知れませんが。

b2evolutionから乗り換えるには、統計情報、SPAM排除機能等が必要ですね。これらの機能はまだないようです。

PHP 5.1でgoto!?

なんだかPHP 4.4ブランチが出来たりして??と思っていたところ「goto文をPHP 5.1で!」と言う事でinternals@lists.php.netが盛り上がっています。

goto文が無くて困ることは無いのですが、あって困る事は沢山あります。自分だけがコードを書くわけではありませんしgoto文の乱用は簡単です。しかし、今まで無くて困らなかったのに何故今頃、という感じです。

万が一goto文がサポートされても使わないようにしましょう(笑

G5 PowerMac, MacMiniでサウンド

YellodogLinuxからG5 PowerMac, MacMiniでサウンドをサポートしました、とアナウンスがありました。

We are pleased to announce support for the latest Apple Power Mac G5s (towers), Power Mac G5 sound support, internal Mac Mini sound support, and dual head support for new Apple Aluminum Cinema Displays.

サイボーズがMySQLを選択した理由

サイボーズは独自システムからオープンソースシステムを活用する方向に移行をするようですね。

Berkeley DBも候補に挙がっていた、とこの事ですからトランザクションが必要ないことは明らかですね。現時点で選定したらSQLiteという選択肢もあったのかも知れませんね。

決定した時点での状況、Windowsサポート等を考えるとMySQLと言う選択も株主としても納得できる選択と思います。

新しいフレームワークではアプリケーションをPHPで記述しています。これもMySQLの採用と同じくらい大きな選択で、この部分をJavaにするかでも悩みました。

この選択もDBの選択と同様に微妙ですが、コードの一部を公開してカスタマイズを可能にするにはPHPの方が有利だと思います。新しく作るならPHP5が良いかと思いますが、もう作ってあるようですね。

このブログ、サイボーズの方もご覧になっているようなので営業を一つ。
セキュリティの監査など必要でしたら是非どうぞ。
# 本当に引合がきたりして(笑

PHPに足りないもの

よく「中規模以上のプロジェクトにPHPは向かない」と聞きますがJavaに比べると確かにその通りです。Beanなんて考え方は無いですし「JCPで作られた数々の標準に対応するような物がない」と言われても仕方ない状況です。言語仕様についても結構アバウトで微妙な仕様が突然変わったりします。
# 最近では5.0.3でコンストラクタをprivateで宣言できなくなった件があ
# ります。これは次の5.0.5で修正されますが。
# PHP4->PHP5ではオブジェクトを配列にキャストするとPHP5ではおかしな
# 動作をするなどがあります。

(特に現在は)PHPでJavaのような環境を前提としたしシステム開発には無理があります。Javaのようにいたれりつくせりの環境、アプリケーションサーバの付加分散等までフレームワークでやってしまえるような環境であるJavaと比べれば、明らかにPHPは中規模・大規模に向かないと言えます。

PHPでの開発は、どちらかと言うと、C言語での開発に近いのではと思います。いたれりつくせりの標準フレームワークは無い事、詳細は異なりますがアバウトなデータ型管理、などC言語での開発に似ている点はいくつかあると思います。C言語がJavaのような標準フレームワークを持っていないくても色々な分野で利用されています。最近ではC言語での大規模開発は相対的に少なくなって来ているとは思いますが、C言語で中規模以上の開発は向かない、と言う方はいないと思います。

ここでプロジェクトの規模について簡単に整理してみます。プロジェクトの規模には大きく分けて2種類あると考えています。1つは開発時の開発体制の規模、もう1つは運用時のシステムの規模です。

「開発体制規模が大きなシステム=運用時のシステム規模が大きなシステム」は成り立ちません。PHPが向かないと言われているシステムは「開発体制規模が大きなプロジェクト」であり、「運用時のシステム規模が大きなプロジェクト」ではありません。作るアプリケーションによりますがPHPで大規模システム(後者)を構築すると非常に開発効率が良い場合もあります。開発者が20名を超える中規模(会社によっては100名以下は小規模という会社もいくつもあると思いますが)システムの場合、プロジェクト管理により高度な技術的な知識が必要となり、プロジェクトを進行しづらい状況もあるとは思います。反対に安直にJavaで作ってしまい、スケーラビリティに欠けるWebシステムになってしまった、と言う話もよく聞きます。
# スケーラビリティに欠けるシステムはPHPでも簡単につくれますが、
# Javaのフレームワークを過信する間違いはよく聞きます。

PHPに足りない物は開発者の分業を可能とするフレームワークです。PHP5になって、PHP4との互換性を考えなければ、フレームワークを構築する開発者は随分やりやすくなってきています。PHP5になりフレームワークをルールに則り利用する事を強制する事も可能なりました。DIを実装しているMapleなどのフレームワークが充実してくるとこの状況も徐々に改善してくる事と思います。特に日本製フレームワーク、MapleEnthaに期待したいと思います。

「OSSの性能・信頼性評価/障害解析ツール開発」の成果を公開

OSCでもこの手の発表が聞けると思えますが、聞けなくて残念。

開発基盤ワーキンググループに関するドキュメントで、一般公開可能なドキュメントをダウンロードすることができます。
他のワーキンググループや日本OSS推進フォーラム全体に関するドキュメントは、左のメニューから選択してダウンロードしてください。
ダウンロードは下記ドキュメントのタイトルをクリックしてください。

「OSSの性能・信頼性評価/障害解析ツール開発」の成果を公開しました

http://www.ipa.go.jp/software/open/forum/DevInfraWG.html

AJAX – ダイナミックWebコンテンツ

JavaScript/DOMを使ったメニュー生成やフォーム選択状況に応じて適切なメッセージを表示するダイナミックコンテンツは多くありましたが、よりインタラクティブなHTMLコンテンツがどんどん増えそうです。

AJAX = Asynchronous JavaScript + XML

XMLHttpRequestを使った方法ですが、非常に新しいと言うことではないのですが最近急に注目されはじめました。

はやりgoogleのせい?

ここここが参考になります。

まるごとPostgreSQL! Vol. 1

「まるごとPHP! Vol.1」もエキスパートセクションのセキュリティ関連トピックで執筆させて頂きましたが同シリーズの「まるごとPostgreSQL! Vol.1」も執筆させて頂きました。私も編集者の方からのメールで今日知りましたが、以下の様な内容になるそうです。

■書名:まるごとPostgreSQL! Vol.1
 (売れたらVol.2を作りたい、という希望を込めてのVol.1です)
■ISBN:4-8443-2035-X
■価格:1800円+税
■体裁:232ページ、B5判、1色刷
■発売日:2004年12月8日
■目次:
特集1●PostgreSQLによる高可用性の実現
  pgpoolでPostgreSQLを大幅にパワーアップ!……石井 達夫
  PostgresForestのすべて……谷越 桂太
  ESM for PostgreSQL……安永 尚稔
  Slony-I first impressions!……谷田 豊盛
特集2●PostgreSQLとOracleによるデータベース相互移行マニュアル……奥畑 裕樹
特集3●PostgreSQLによる大規模運用……大垣 靖男
特集4●新バージョンPostgreSQL 8.0先行レビュー 〜使えるRDBMSをめざして
  PostgreSQLのあゆみ、そして8.0へと続く道……谷田 豊盛
  Point In Time Recoveryのしくみ……坂田 哲夫
特集5●PostgreSQLで.NET
  開発者が語るPgsqlの歴史と今後……Francisco Figueiredo Jr.
  Pgsqlのインストールとその機能……さいとう ひろし
  VB.NET+PostgreSQLでWebアプリを作ろう……白井 伸昌
  C#でPostgreSQLを操作しよう……林 重行
  5分でできる。Npgsqlを使ったExcelへのデータ取り込み……多度 純一
●一般記事
  PostgreSQLチューニング実践テクニック……石井 達夫
  PostgreSQL技術者認定制度(PostgreSQL CE)を受けに行こう!……稲葉 香里