2007年01月31日

Spinelz - Rich Interface for frameworks, and others..

What's Spinelz
http://script.spinelz.org/index_en.html

spinelz.PNG

You can try the demo from here: It's awesome!
http://script.spinelz.org/index_en.html

Gusto kong ikapit it sa CakePHP framework applications!
デモは必見。


Spinelz is a JavaScript library which enables web developers to create Rich Internet Applications.
ABOUT SPINELZ
Spinelz based on script.aculo.us.
We offer the function which is some convenience that utilized Ajax and animation effects of script.aculo.us to the maximum. Please try them and feed me back, like bug report etc.

ABOUT DEVELOPMENT OF SPINELZ
The scripts you can get here are used in Rubricks which is ajax style content management system powered by Rails.
posted by SDozono at 22:41| 東京 ☀| Comment(0) | TrackBack(0) | JavaScript | このブログの読者になる | 更新情報をチェックする

2007年01月30日

CakePHPによるYouTube型サイト

(月曜は、個人的にはIPAの公募説明会に出かけたり、午後には妻の病院に付き合ったりと忙しい1日でした……。)

Youtube型のビデオ共有サイトがCakePHPフレームワークで立ち上がったようです。
(ただし、ポルトガル語です。)

http://www.belacena.com/
Belacena.PNG

開発記事はこちらにあります。
http://defaultbreak.com/blog/index.php/2007/01/28/bela-cena/

こちらによると、
・4人のチームで10ヶ月。
・LAMP。最新のPHPとMYSQL。
・一部、.NET で開発し、mono のランタイムで動かしている。
・メンテナンススクリプトは Perl。もちろん JavaScript も。
posted by SDozono at 00:23| 東京 ☁| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2007年01月28日

phpthrowdown 耐久24時間以内にPHP-WEBアプリを作成

24時間で、人はどこまでPHPのWEBアプリを完成させることができるか!?というイベント、phpthrowdown。ちょっと今日はこれをレポートしてみます。

そもそも、CakePHP Foundationも同じことを試みた経緯もあり、

Baking day - 24 hours of CakePHP coding
http://bakingday.com/

cakephp チームにとって、phpthrowdown はまさに参加せずにはいられないイベントだったのではないでしょうか。

○どんなものがもらえるのか、というのはこちら。
http://phpthrowdown.com/?page_id=15

で、どんな人たちが参加しているのか、というのはブログを見ると垣間見ることができます。

http://cakephp.blogture.com/
CakePHP開発チームphpthrowdownブログ。
完成しつつあるアプリは在庫管理システム。

itemizr
http://itemizr.cakephp.org/

当初は、issue tracker を作成する予定だったそうですが、phpthrowdown のカテゴリ欄を見てから、作成するアプリを変更したそうです。

http://www.achievo.org/blog/archives/54-phpthrowdown-has-started.html
Achivoフレームワークのメンバーも参加しているようです。
Almerという名前のautomotive industryソフト。
自動車産業?

http://gtkmw.blogture.com/
こちらは、

Callicore
http://callicore.net/

という PHP-GTK2 based のフレームワークを使用して、フォトマネージャを作っているようです。
赤目処理やリサイズなども入る?

http://throwdown.hopka.net/blog/?
こちらはゲームを作成中。

http://hotpinkcrusaders.blogture.com/
こちらもゲームらしい。

http://phpthrowdown.wordpress.com/
PHP-GTKとPearでいどんだようですが、思うようにはいかなかったそうです。予定の3分の1で終了。

http://quest.blogture.com/
こちらはゲームを作っていたようですが、途中で時間切れ(体力切れ?)で終了。

http://blog.adaniels.nl/?cat=4
こちらは a paperclip widget for PHP application だそうです。

http://jjmojo.blogture.com/
これは an inventory/resource management system だそうです。

よく分からなかった資料は下記。

http://portugal-a-programar.blogture.com/
http://ziurim.awardspace.com/index.php

ほかにもあるのかもしれません。結果発表に興味津々。
こういうのはこれから増えてくるかもしれませんね。

posted by SDozono at 22:49| 東京 ☁| Comment(0) | TrackBack(0) | PHP Framework | このブログの読者になる | 更新情報をチェックする

2007年01月26日

DBテーブルを自動生成するフレームワーク

PHPフレームワーク
CopperOnion
まもなく First Release らしいです。
現在でも SVN 経由でコードは取得できます。

このフレームーワークのDumbRecordにちょっと興味をひかれました。
こんな部分があります。
(CopperOnion\co_libs\common\capecode\helpers\DumbRecord.php
private function mirrorDataObject( $dataObject ))

try
{
if( !$this->isTable( $this->getTableName( $dataObject ) ) )
if( $this->createTable( $dataObject ) )
$this->logDebug( 'Error Creating Table '.$this->getTableName( $dataObject ) );

$this->createColumns( $dataObject );

return true;
}


そして、createTable では、

return $this->execute( "CREATE TABLE $table ($query)" );

としています。

テーブルがなければ、フレームワークが自分でDBテーブルを作ってしまいます。
作者のブログによると、


CopperOnion uses the idea of DumbRecord, a kind of reverse implementation of ActiveRecord. Instead of jumping into your database to design your tables CopperOnion lets you just write your code. DumbRecord then creates the tables and columns for you as they are needed.


「まずはデータベースありき」ではなく、まずは「コードありき」ということだそうです。ソースコードが主導権を握るフレームワーク、という発想も面白いと思います。

"データベース"か"他のリソース"かを意識しないでプログラミングできるようになるような時代が来るでしょうか……。
posted by SDozono at 11:56| 東京 ☁| Comment(0) | TrackBack(0) | PHP Framework | このブログの読者になる | 更新情報をチェックする

2007年01月25日

Do you want to read the missing Wiki?

There are many who want to read the closed wiki pages of CakePHP again.
It's already closed. And some documents became too old to use.
Still, some think that we missed some knowledge about CakePHP....

You can access the historical Wiki even now!
Good news?

go to:
http://web.archive.org/web/20060424173814/http://wiki.cakephp.org/

Then you'll found some pages.
Thanks to the web.archive.org!
You can check the all pages from a URL below.
http://web.archive.org/web/*sa_/http://wiki.cakephp.org
タグ:wiki ARCHIVE cakephp
posted by SDozono at 20:56| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

IRC Log Site のソースコード

IRCでの会話のログは下記から参照できます。
http://irc.cakephp.org/

が、実はこのサイトのソースも公開されているんですね。今の今まで気が付きませんでした。

http://irc.cakephp.org/pages/source
アーカイブ検索系のサイトを作るときには参考にできるかもしれません。
posted by SDozono at 13:43| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2007年01月22日

Ethna PHP Framework の Tutorial

日本で人気の高い PHP Framework, Ethna.
http://ethna.jp

Mojavi(PHP)やStruts(Java)の経験がある人は違和感なく導入できるフレームワークかもしれません。最近、Ethnaサイトのドキュメントが充実してきています。3本立てのチュートリアルが公開されているようです。

ethna.PNG

EthnaがどんなPHP Frameworkなのかを知る上でもたいへん重要な資料だと思います!

Contents:

動作概要
http://ethna.jp/ethna-document-tutorial-overview.html
アプリケーション構築手順(1)
http://ethna.jp/ethna-document-tutorial-practice1.html
アプリケーション構築手順(2)
http://ethna.jp/ethna-document-tutorial-practice2.html
アプリケーション構築手順(3)
http://ethna.jp/ethna-document-tutorial-practice3.html

アプリケーション構築手順(1)
(0) アプリケーション情報の決定
(1) スケルトンの作成
(2) エントリポイントの設定
(3) ディレクトリ構成の確認

アプリケーション構築手順(2)
(4) アクション定義の追加(省略可)
(5) アクションクラスの記述
(6) ビュー定義の追加(省略可)
(7) ビュークラスの記述
(8) テンプレートの記述
(9) 確認

アプリケーション構築手順(3)
(10) ログイン画面の変更
(11) ログインアクションの追加
(12) フォーム値の取得
(13) フォーム値の検証
(14) エラー処理(フォーム値の表示)
(15) エラー処理(エラーメッセージの表示)
(16) ロジックの記述(概念)
(17) ロジックの記述(実際)
タグ:Ethna PHP framework
posted by SDozono at 11:00| 東京 ☔| Comment(0) | TrackBack(0) | PHP Framework | このブログの読者になる | 更新情報をチェックする

2007年01月21日

Symfony Bookの日本語版

おやぢ組の brtRiver さんがSymfony Book の日本語訳を公開されています。

symfony book の日本語化
http://d.hatena.ne.jp/brtRiver/20070116/1168923230

資料はこちら
symfony book 日本語ドキュメント
http://develop.ddo.jp/symfony/book/jp/1.0/

なお、全部のページをまとめたhtmlも作成されています。
http://develop.ddo.jp/symfony/book/jp/1.0/all.html

お疲れ様でした〜。
タグ:日本語 symfony
posted by SDozono at 11:11| 東京 ☁| Comment(1) | TrackBack(0) | PHP Framework | このブログの読者になる | 更新情報をチェックする

2007年01月18日

PHPフレームワークの先にあるもの

この数年の間に、PHPの世界におけるフレームワークの人気が急上昇、そして数え切れないほどのフレームワークが登場、そして現在はさらなる発展・高機能化がはじまっています。

PHPのフレームワークはこの後、どんな発展を遂げてゆくでしょうか。

興味深い事例があります。
Railsにinspireされる「以前の」フレームワークが今、どうなっているか、という点です。

the Horde Project
http://www.horde.org/
Horde Groupware
http://www.horde.org/groupware/
Horde Groupware Webmail Edition
http://www.horde.org/webmail/

Seagull
CMS 1.0 Community Edition Released

http://trac.seagullproject.org/wiki/General/ProjectHistory
The Seagull project was launched on Sourceforge on 2003–10–14, after about 2 years of private development.

My first experience of a PHP 'framework' from a user point of view was PHP nuke, in 1999. I was amazed at the time that such an apparently simple tool could create a whole website. Looking at the code, however, I began searching for alternatives, and the first interesting project I found was Horde. Experimenting with that codebase was fun and educational, but I wasn't satisfied with the amount of effort required to install the framework, the need for non-standard PHP extensions, etc.

Around a year later I was freelancing in Spain and needed to get customer projects out the door as quickly as possible. The code had to be modular, extensible, and easy to maintain and upgrade - the solution I came up with was Seagull. It started as about 10 files and eventually grew into what it is today, although the main MVC workflow concept of validate/process/display has remained unchanged since the beginning.


フレームワークが一度、大枠ができあがると、その後は「その上にのっかるモジュール」の開発がさかんになります。いくつものモジュールができあがってくると、今度はそれをひとつのプロジェクトとしてまとめたくなるのではないか、と思います。グループウェアは非常によい題材となります。

というわけで、「フレームワークは成熟してくるとさまざまなモジュールが生み出され、それはグループウェアとして結実する」というような予感がするのですが、いかがでしょうか。

Rails製グループウェアというのはまだ耳にしませんが、時間の問題のように思います。それも、1から開発する、というよりはさまざまな既存のソースコードをつなぎ合わせた形のものになると思うのですが……。

CakePHP にも、すでにフレームワークの上にのっかったプロジェクトが色々上がってきています。
http://cakeforge.org/top/toplist.php?type=downloads
タグ:PHP framework
posted by SDozono at 15:25| 東京 ☁| Comment(0) | TrackBack(0) | PHP Framework | このブログの読者になる | 更新情報をチェックする

2007年01月17日

top amfphp-framework

FlashとPHPの間でデータをやり取りできるオープンソースプロジェクト"amfphp"。

http://amfphp.org/

閲覧者にはFlashの使いやすいインターフェイスを提供し、Webサーバ側ではPHPで処理することができるようになります。また、

- Flash and Flex with Remoting
- JavaScript and Ajax with JSON
- XML clients with XML-RPC

などに対応しているそうです。

ブログによるとフレームワークに関する記事が追加されたそうですが、
Amfphp-frameworks integration - make yourself known


CakeAmfphp が最初に来ていました。
amfphp.PNG

日本語情報を提供している方もおられます。
らぶらぶはぁと:Flash Remoting - Flash Remoting for PHP (AMFPHP)
http://www.loveloveheart.com/flash/flashremoting/amfphp.php

このあたりを組み合わせると、日本語環境でもうまく使えるのかもしれません。(試していなくてスミマセン。)

CakeAmfphp 自体のチュートリアルは
http://cakeamfphp.rd11.org/
にあります。

最近は“popular framework である CakePHP”というサイト投稿を見かけるようになりました。どのあたりで“popular”になったのか、私は今もってよく分かりません。わーい(嬉しい顔)Webってそういうものですカネ。
posted by SDozono at 11:41| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2007年01月16日

cakephpinfo() !

Japanese baker, Shin made a nice "cakephpinfo()" file.

display Cake information like phpinfo() - cakeinfo
http://www.1x1.jp/blog/2007/01/cakephp_cakeinfo.html

You can check the display image from here. (Cheesecake Photoblog)

cakephpinfo.PNG

1) download zip.file from
http://www.1x1.jp/blog/download/cakeinfo-0.1.0.zip
(CakePHP >= 1.1.11)

http://www.1x1.jp/blog/download/cakeinfo-0.1.1.php
(Updated: For CakePHP without Configure::version()/ CakePHP >= 1.1.7)

2) Unpack it and place to app/webroot/

3) You can access cakeinfo by
http://cake_path/cakeinfo.php

4) There is a option:
//define('DATABASE_CONFIG_FLAG', true);

He is using an interesting function:

function _getClassDiffValues(&$baseVars, &$classVars) {
$array = array();

foreach ($classVars as $name => $var) {
if (@$baseVars[$name] !== $classVars[$name]) {
$array[$name] = $this->_arrayToString($var);
}
}

return $array;
}
posted by SDozono at 11:23| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2007年01月14日

mozillaサイトにCakePHP!

posted by SDozono at 23:53| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

Pythonが“PHPなみに”簡単に使える日

今日、目に留まったニュースです。Python というとかなりの通でないと使っていないようなイメージが今のところありますが、しばらくすると、PHPなみに“手軽な言語”として普及するかもしれません。

mod_npy
https://sourceforge.net/projects/mod-npy

mod_npy is alternative way of running Python scripts under Apache - alternative to having mod_python installed, or running as CGI. It allows mixing Python code with HTML much like PHP. It's a mixture of Python power and PHP style page writing.

HTMLの中にちょっとコードを数行書いておく、というのはPHPの得意技と言ってよいと思いますが、Pythonでも同じようなことをできるようにしよう、というプロジェクトです。

どのサーバにも mod_npy が標準で入るような日が来たら、コードを何で書くかは単なる好みの問題になるかもしれません。いずれにしても、Pythonへの間口を広げるプロジェクトと言えそうです。
posted by SDozono at 23:37| 東京 ☀| Comment(0) | TrackBack(0) | Programming | このブログの読者になる | 更新情報をチェックする

2007年01月13日

日本語コミュニティメンバー100人突破!

CakePHPのコミュニティの登録メンバーが100人を突破しました。現在のところ、登録しなくても情報にアクセスできるので、実際に利用してみた、とか、関心がある、という人はもっとたくさんいるはずです。

登録してくださった方を見てみると、実際にプロとして活動されている方が結構いらっしゃいます。開発現場でCakePHPが使われだしているのを見るのはうれしい限りです。

Geo Visitersで見た、今日の CakePHP.jp へのビジターはこんな感じでした。
cakephp.jp.PNG

CakePHPに関する開発ノウハウが色々、この中に蓄積されたらよいなぁと願っています。どうぞお気軽に質問・アイデア・要望などお寄せいただければと思います。

そのうち、「CakePHP勉強会」なんて開いて、オンラインに載せられない開発情報や、アイデアネタの発表などの講習会を開けたら……と思っているのですが、どうでしょうか。phpNutを日本に招待する日も近いでしょうか?
posted by SDozono at 15:31| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2007年01月12日

CakePHP Hungarian サイト

オープンソースプロジェクトの場合、メジャーな言語から情報が出揃ってゆくわけではなく、ボランティアをはじめようと思った人材がいる国から広がってゆくようなところがあるのかもしれません。

ハンガリー語CakePHPサイト
http://www.cakephp.hu

個人で CakePHP のホームページをハンガリー語に翻訳して公開したようです。これもハンガリー公式ページ、といった感じでいいですね。

著作権的にも、本家を「応援」しているので問題はないように思えますがどうなんでしょうか。
いっそのこと、cakephp.jp も同じ路線に変えてしまいましょうか……。
タグ:cakephp Hungarian
posted by SDozono at 10:43| 東京 ☁| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2007年01月10日

PRADO日本語フォーラム

PHP版ASP.NETとも言える(言えない?)PRADOフレームワーク。このフレームワークのCommunityページは、はじめから多言語化が考えられている作りなのでいいですね。

日本語のWikiもあるそうですので、関心のある人は発展に貢献してみるのもよいと思います。

http://www.pradosoft.com/wiki/index.php/Ja:Main_Page

私も CakePHP がなかったら PRADO に行っていたと思います……。

Hotphpper
PRADOの日本語フォーラムが開設される
ユニークなフレームワークであるPRADOの日本語フォーラムが開設されました。


開発の止まってしまった(?) TurboPHP の IDE が PRADO とくっついたりしたら大発展を遂げると思うんですが……。
タグ:PRADO
posted by SDozono at 14:21| 東京 ☀| Comment(0) | TrackBack(0) | PHP Framework | このブログの読者になる | 更新情報をチェックする

International PHP Magazineでは圧勝したが……。

CakePHPはPHP4で使う人のもの、という話はもう古いかもしれない。
PHP5を使う場合だって、総合的に考えると、CakePHPよりRADなPHP開発環境はないんじゃないだろうか。

International PHP Magazine の調査結果

この雑誌の調査によると、
‘CakePHP’が 78.5% で、best PHP MVC Framework ということになった。次が ‘Sympony’ で 10.9 %votes。WACT, Achievo, PHPonTrax は 0%だった。

ということになったらしい。だけど、これって本当に PHPの雑誌ですかネ?「Sympony」って「Symfony」ですよね。あと、Phrameっていつの時代ですか?というため息も聞かれるような調査方法であったことは間違いない。
タグ:cakephp symfony
posted by SDozono at 13:20| 東京 ☁| Comment(0) | TrackBack(0) | PHP Framework | このブログの読者になる | 更新情報をチェックする

2007年01月09日

日本のCakeBakerたちはどこにいる?(分布図)

最近、日本でも関心を持つ人が増えてきていますが、Bakerたちはどこに住んでいる(または作業)をしているんでしょうか?
このサイトに寄ってくださった方たちを Geo Visitors でGoogle Mapにプロットすると、こうなっています。

日本のBaker分布図

位置に関してはかなりの誤差があると思いますが、なかなか面白いデスネ。
posted by SDozono at 14:47| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2007年01月08日

2007年はMYSQL5.1が熱い?!WEB屋がチェックすべきページ。

PHPフレームワークと切っても切り離せないのがデータベース。特に、開発者たちが日頃使用していることもあり、CakePHPではMYSQLでの使用がいちばん推奨されています。
現在、MYSQLにも大きな飛躍が起ころうとしているのを知ってます?

それは、「MYSQLクラスタリングが今後、おそらく(希望的観測では)近いうちに使い物になってゆくだろう」ということです。

MYSQLには「レプリケーション」という機能があり、これは実際に多くの事例で普通に使われています。

参考:【MySQLウォッチ】第7回 大規模システムを支えるMySQLのレプリケーション機能
http://itpro.nikkeibp.co.jp/members/ITPro/oss/20040524/2/

「レプリケーション」は簡単に言うと「1方向へのコピー機能」です。親MYSQLから子MYSQLにリアルタイムにデータをコピーしてゆきます。そのため、親がおかしくなった場合でも、子のMYSQLのデータが残っているので復旧できる、という機能でした。しかし、この「復旧」作業は自分で行う必要がありました。

これに対して「クラスタリング」というのは、「複数のデータベースを細胞のようにつなげる」仕組みです。どれかのMYSQLサーバが停止すると、自動的に他のサーバが肩代わりします。またどれかが復旧すると自動的に“自分の隊列に戻って作業を開始する”ようなことが可能になります。

詳しくは下記の記事など。
【MySQLウォッチ】第28回 MySQL 5.1期待のクラスタリング機能
http://itpro.nikkeibp.co.jp/article/COLUMN/20060715/243478/

実はこれまでもこの機能はあったんですが、「非常にたくさんのメモリがサーバに必要」だったために、実際に採用されている例はそれほど増えてはいませんでした。

ところが現在、これが「ストレージ対応」になるように改良されています。正式リリースが出るようになったら、どんなことが起こるでしょうか。

1)自宅サーバでも簡単に「止まらないデータベースサーバ」を構築可能。
2)安価なレンタルサーバのデータベースのスピードが向上。データが失われることも(停止することも)ほぼなくなる。

というようなことが起きます。
すると、企業向けの止まってはいけないシステムであっても容易に構築できるようになり、中小企業でも「WEBサービスで基幹業務」という事例がますます一般的になるのではないでしょうか。

今年は「MYSQLでクラスタリング」という記事が増えそうに思います。
ただ、現在もこれは改良が続けられている最中です。

現在の最新状態は下記のページで調べることができますので、要チェックです。

E.1. Changes in release 5.1.x (Development)
http://dev.mysql.com/doc/refman/5.1/en/news-5-1-x.html

このページの情報を見てみると、今現在のところはバグ退治がかなり行われていることが見て取れます。正式リリースが待ち遠しいですね!

*追記*
う〜ん、日本でも事例がありますね。えらい。8GBのメモリだそうだ。

100万ダウンロードユーザに対応するMySQL Clusterシステム
http://www.acornnetworks.co.jp/products/mysql/index.html

ここでも技術者たちの挑戦が。
MySQL Forums :: Cluster
http://forums.mysql.com/list.php?25
タグ:MySQL NDB Cluster
posted by SDozono at 13:26| 東京 ☀| Comment(0) | TrackBack(1) | Database(MYSQL) | このブログの読者になる | 更新情報をチェックする

2007年01月07日

phpAspect alpha 0.1.0 のリリース

ちょっと気になっているAspect-Oriented Programming。プログラミングの手法で言うと、「だれがどういう手順で働いていくか」を決めるというよりも、「だれとだれを使ってチームを作るか」的な発想ができるものです。

まずは、ホームページの解説図を見てもらうのがいちばん分かりやすいと思います。

phpAspect
Aspect-Oriented Programming for PHP
http://phpaspect.org/

将来的に飛躍するポテンシャルはあると思います。ハイ。


CakePHPマニュアルの翻訳は日本語がいちばん早かったと思っているのですが、
http://www.cakephp.jp/doc/

中国語でも翻訳が終わったようです。(でもフォーマットはどうなっているんでしょうか。あぁ、はやくXMLにしなければ……)
http://www.ezluk.org/

コメントに「CakePHP的確是好用的Framework」とあります。意味が分かりますね。
タグ:phpAspect
posted by SDozono at 10:23| 東京 ☀| Comment(0) | TrackBack(0) | PHP Framework | このブログの読者になる | 更新情報をチェックする