2006年09月29日

CakePHPフレームワーク開発環境を1分以内で作る方法

「10分で作るCakePHPアプリ」が以前、話題になりましたが、今回のTipsを使うと、“5分で作るCakePHPアプリ”にまで短縮されるかもしれません。

なんと、まっさらなWindows-PCにダウンロード、解凍するだけで、即、CakePHPフレームワークによるWEBアプリ開発環境(Lighttpd+PHP+CakePHP)が構築できる、というものです。

その名もポッキー。

Pocky: CakePHP on a Stick
http://www.lokkju.com/blog/index.php/2006/09/28/pocky-cakephp-on-a-stick/

1)上記のURLから太字の“Complete”をクリックして、ダウンロード。
2)PCの適当な場所で解凍する。
3)解凍されて出来上がったpocky-start.bat をクリック。
4)どのCakePHPアプリを立ち上げますか?と尋ねられるので、1を押す。
5)インターネットエクスプローラから、"http://localhost:8080/"を開く。

これだけでWEBプログラムの開発環境が動き出します。
解凍されるとできるディレクトリ構成は下記のようなものです。

pockey.PNG

即席で開発環境やデモ環境を作りたい場合には非常に便利だと思います。ハイ。

このあと、日本語を扱えるようにいくらか細工しないといけないと思いますが、必要事項は下記あたりで参照してください。
http://cakephp.jp/modules/newbb/viewforum.php?forum=2

ひらめきあっ、そういえばデータベースソフトは、MYSQLじゃなくて、sqliteしか入っていないですね。う〜ん。1)MYSQLをインストールするか、2)以前からインストールしてあるMYSQLを使うか、3)自分がアクセスできるMYSQLサーバを使うかすることをお勧めします。
ラベル:cakephp PHP Windows
posted by SDozono at 12:11| ロサンゼルス ☁| Comment(0) | TrackBack(0) | CakePHP Tips | このブログの読者になる | 更新情報をチェックする

2006年09月28日

ニューヨークPHPでの発表

昨晩のNYPHP(ニューヨークPHP)でのCakePHP でのプレゼンの模様が少し書かれています。

CakePHP Visits New York
http://shiflett.org/archive/266

[nyphp-talk]では、CakePHP 1.2 の取り方が話題になっています。さすがNYPHP???

CakePHP 1.2 wanted, svn help w/ SSL needed
http://lists.nyphp.org/pipermail/talk/2006-September/019708.html


ラベル:cakephp
posted by SDozono at 10:21| ロサンゼルス ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2006年09月26日

PHP Framework Trends

posted by SDozono at 15:45| ロサンゼルス ☀| Comment(0) | TrackBack(0) | CakePHP Helper | このブログの読者になる | 更新情報をチェックする

CakePHP-Japanese Presentation(pdf) at "Japan PHP user's group"

Yusuke Ando (yando) made a presentation about CakePHP at Japan User's Group in Tokyo.

25/9/2006, at Tokyo Cybouz labo.
http://events.php.gr.jp/event.php/event_show/6

He explained:
- General Features of CakePHP
- Develop team
- popularity
- advanced features
- security

You can get the Pdf from here.
http://puyo2.upper.jp/cake/files/cakephp2.pdf

His first presentation:
http://puyo2.upper.jp/cake/files/cakephp.pdf

If you have Japanese developer in your office, you might find this pdf useful.
ラベル:cakephp PHP
posted by SDozono at 10:55| ロサンゼルス ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

Blogに英語記事を掲載しよう

これは日本以外の読者にも読んでもらいたいな、と思ったら、英語で記事を書いてみましょう。ping は Technolati などにも伝わり、海外のあちこちからアクセスがやってくるようになります。
おかげさまでこのブログにも、あちこちから来ていただくようになって感謝しています。また世界中で cakephp に関心を持っている人たちがいることも肌で実感できます。

このサイトにくるかなりの方は Googleの検索経由です。ロングテールを実感するような集計結果を見ていますが、皆さん、WEBの最新技術をあれこれ探して、このブログに立ち寄っておられるようです。

英語の記事をいくつか公開していますが、どこの国だろう?と思うようなところからアクセスがあるので調べてみました。

www.google.com.br  ブラジル
www.google.de ドイツ
www.google.fr フランス
www.google.hu    ハンガリー
www.google.mu モーリシャス
www.google.no ノルウェー
www.google.pl ポーランド
www.google.com.pr  プエルトリコ
www.google.sk    スロバキア
www.google.com.vn  ベトナム

う〜ん、どうしてこれらの国からなのかはよく分かりませんが、cakephp使いがいるようです。cakephpの人気の広がり具合、というところでしょうか。
ラベル:世界 ドメイン
posted by SDozono at 00:09| ロサンゼルス ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2006年09月22日

CakePHP 1.1.8.3544 & Bakery

CakePHP 1.1.8.3544 がリリースされました。

http://cakeforge.org/frs/shownotes.php?release_id=134

Diffで見たところ、やはりそれほど大きな変更はなく、Ticketがかなり取り込まれたかな、というところだと思います。CakePHP 1.1系はほぼ完成したフレームワークと考えてよいと思います。

今後の大きな変更は 1.2系に取り込まれてゆくはずです。

そして、Bakery は、wikiとCMSの中間のようなもの、と言えるかもしれません。

http://bakery.cakephp.org/

だれでも手軽に記事を投稿できますが、それはユーザの付けるタグとランクで分類されてゆきます。またニュース/記事/コードという三つのカテゴリに分類されています。

Wiki に代わる情報共有の場として定着するか、興味津々です。
ラベル:cakephp bakery
posted by SDozono at 22:42| ロサンゼルス ☁| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

フレームワークを使うのは人を雇うのと同じかも

「フレームワークって本当に便利なの?」と尋ねられたら、「人を雇うのと同じです」という答えがまぁ、分かりやすいような気がします。

・自分ですべてをしなくてよくなる。(だいぶ楽になります。)
・雇った人がどうやって実現したかをすべては把握しなくてよい。
・「指示の仕方」を学ぶ必要がある。
・自分の知らないことまで気を使って作業してくれることがある。
・あとからミスが判明することがある。(セキュリティ面など。)

自分でフレームワークを作ってもよいと思いますが、その場合には自分の才能以上のものはでてきません。しかし、すでにメジャーになったフレームワークの場合には、コミュニティによるテスト・検証・アイデアの提案などが詰まっていますので、より「経験を積んだ」“人材”を自分のプロジェクトに引き入れることができることになります。

そういう点で、PHPの開発においても、フレームワークは当たり前の存在になりつつあるのではないでしょうか。
ラベル:framework
posted by SDozono at 12:49| ロサンゼルス ☀| Comment(0) | TrackBack(0) | PHP Framework | このブログの読者になる | 更新情報をチェックする

2006年09月21日

Symfonyのnew testing framework

Symfony は、独自のtesting framework "lime"を開発することにした模様です。
http://www.symfony-project.com/weblog/2006/09/19/new-testing-framework.html

後方互換はないらしいですが、functional tests がより楽に書けるようになる、とあります。
まだα版ということでユーザからのフィードバックが期待されています。
今後の開発に注目です。
---------------------------------

ちなみに CakePHP は今のところ、Simpletest が文書化されています。
http://wiki.cakephp.org/tutorials:testing_cake_apps

Seleniumも使えるかも、ということで下記の情報などもありますが、本当にがしがし使っている、という人はまだ聞いたことがありません。
Practical Testing PHP Applications with Selenium
http://blog.thinkphp.de/archives/133-Practical-Testing-PHP-Applications-with-Selenium.html
posted by SDozono at 12:27| ロサンゼルス ☀| Comment(0) | TrackBack(0) | PHP Framework | このブログの読者になる | 更新情報をチェックする

2006年09月19日

CakePHP利用者による日本発軽量PHPフレームワーク

普段は CakePHP を利用されている dala さんが、より軽量なフレームワークを作成して公開されています。

軽量PHPフレームワーク「ちいたん」
http://php.cheetan.net/

う〜ん。アイデアはよいと思います。CakePHP より手軽に使えるフレームワークというところでしょうか。CakePHPを利用されている開発者らしく、簡単、簡単を意識して作ってあるフレームワークだと思います。

プロジェクト名は奥さんの名前から取ったそうです。サイトもピンクです。
奥さんはこのプロジェクト名に喜びますね。

ただ、「フレームワークにちいたんを採用しました」というのは、第三者の開発者(男)にとってちょっと気恥ずかしい???
posted by SDozono at 16:06| ロサンゼルス ☀| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2006年09月14日

CakePHP記事を10日連続で書けなかったらケーキ顔面写真

皆さんイベント好きですね〜。
これまであまり文書化されていないCakePHPのTipsを、「10日間連続で」投稿する予定だそうです。1日でも書き忘れた場合には、ケーキに顔面を入れた証拠写真が掲載されるそうで。(そちらのほうが見たいかも!?)

http://www.thinkingphp.org/2006/09/13/10-days-of-free-dessert-cakephp-tips/

ラベル:cakephp PHP
posted by SDozono at 09:26| ロサンゼルス ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2006年09月12日

オープンソース“プロジェクト”でどう儲けるか

“オープンソースビジネス”に関する記事を開いたりすると、Linuxをサーバに使っているからOSSビジネスだという内容もみかけます。でもOSS開発プロジェクトに関しては、すでにサーバなどの基盤部分を越えた部分にまで浸透しているわけで、それらを開発している人も、やはり自分のアイデアで暮らすことができればそれに越したことはないように思います。

OSSに理解のある研究所・企業に雇用してもらうことも一つの方法ではあると思います。

また、ビジネス寄りのアプリケーションであれば、実際に企業に対して販売する戦略も取れます。その点で感銘を受けるのは、SugarCRM の手法です。SugarCRMは「電子メールやグループウェアと一体化した本格的なCRMアプリケーション」とサイトに掲載されており、企業で使用されることを前提にしたOSSです。
開発は米国のSugarCRM社なわけですが、日本では株式会社ケアブレインズがエンタープライズ版を販売しています。

SugarCRM/ラインナップについて
http://www.sugarforum.jp/product/lineup.shtml

上記のURLを見ると、
Open Source  無料
Sugar Professional (1ユーザ当たり・年間)税込:¥31,500
Sugar Enterprise (1ユーザ当たり・年間)税込:¥63,000

となっています。これで最新・いちばんよいものを使えるのであれば払ってもよい、という企業も少なくないかもしれません。直接、顧客を探すことでビジネスとして成り立たせようとするオープンソースプロジェクトにも、がんばってもらいたいと思います。

では、“PHPによる開発用のオープンソースフレームワーク”を作って儲けになるんでしょうか?それでビジネスがなりたつでしょうか?

フレームワーク自体を実際に使用するのは、PHPを使っている一部の開発者です。開発者は不当に高いお金を払うくらいなら自分で作るような人たちですし、WEBに強い人がほとんどなわけで、大抵のものに関しては、自分で検索してフリーウェアなどを探してきてしまうと思います。そんな中で、どのようにして収入を得ることができるでしょうか?

CakePHP の開発者たちの挑戦を見てみましょう。

(1)Paypal での寄付を募る
http://www.cakephp.org の最初の画面で、1$ から 100$ までの寄付を募っています。Paypal なので、ほぼその場で気軽に払えるようになっています。

(2)Cake Software Foundation を立てる。
http://www.cakefoundation.org/ にあります。大口の寄付を募る場合には、この組織に行くんでしょうか?

(3)Pixel Fund サイト
 しばらく前に、“サイト上の一部を購入して広告を出す”ことのできるサイトを作って有名になった若者がいました。そのすぐ後にできたと思います。まだ空き地が多いので、関心のある人は購入するとよいかもしれません。
http://cakephp.moneyb.in/index.php

(4)CakePHP グッズの販売
 個人的には、このアイデアがいちばん好きです。
 http://www.cafepress.com/cakefoundation
CakePHP フレームワークを使っている人はおそらく、PHPに関してのWEBの最新技術を使っているという自負のようなものがあると思われ?るので、こういう Tシャツ、帽子、パーカー、マグカップを欲しくなるかもしれません。とりあえず、グッズを販売しているフレームワークは、CakePHP だけなのではないでしょうか?

(5)プライベート Cakeforge
http://cakeforge.org/に説明があります。
オープンソース開発には、sourceforge がありますが、cake の開発に関しては cakeforge を使うことができます。ここを有料で借りて、プライベート利用もできるということです。これは今ひとつ利点が分かりませんが、借りるメリットが何かあるのでしょうか?

(6)書籍の出版

*追記*
(7)ダウンロード時に寄付を促す
  あれ、ダウンロードページにも変更が加わっていますね。ダウンロードする前に、「寄付するのはどうですか?」と出て、Paypal で支払えるようになっています。“No thanks”を選択すれば、寄付をしなくてもダウンロードはできますが……。

とにもかくにも、個人だけではなく、コミュニティに支えられたオープンソース開発にうまく移行できた場合には、いろいろなアイデアも集まってくるのだと思います。確かに、ソースそのものを販売することはルール上できませんが、このように、若い世代の開発者たちはたくましく世の中をわたっているのではないかと思います。

ちなみにうちもオープンソース開発を使ってビジネスを行なっていますが、それは「中小企業とのタイアップ」戦略で行なっています。単なる開発として請け負うのではなく、その企業の“IT化を促進”するというところで契約します。使えるものはフリーウェアでもオープンソースでも積極的に利用し、企業にとって金銭的な負担が減り、こちらとしても余計な工数を減らす工夫をします。料金も、お客様の来場数で計算すれば、企業としてもITに投資しすぎて経営が傾く恐れを回避できます。またこちらも真剣にサポートすることになります。
(こういうタイアップに関心のある方は、http://www.cba-japan.com のほうまでご相談ください。)
posted by SDozono at 12:24| ロサンゼルス ☀| Comment(0) | TrackBack(0) | Programming | このブログの読者になる | 更新情報をチェックする

2006年09月08日

ビジネスで使用されているCakePHP

cakephp の使われ方を数ヶ月、調査(ウォッチング)しているのですが、最近は、商用サイトで稼動している例を見かけるようになりました。単なるデザインサイトを越えた+αを実現したい場合に利用されているように思います。

私はWEBアプリケーション寄りの開発ばかりなので“ソフトウェア”という考え方で利用しがちなのですが、公開されている情報を見ると、“一般的なサイトに cakephp を適用”している例が多いようです。

最初から CakePHP で作っておくと、あとから機能を追加したい場合やサイト全体に変更を加えたい場合でも適用が早くなると思います。

ただ問題点としては、操作のもっさり感を解消するためにはキャッシュを使うなどのいくつかのテクニックが必要です。まだそういうところまでは手が回っていないサイトもあるようで遅いんですが……。

apple photographic
http://www.applephotographic.com/
結婚写真のサイト。URLを見ると cakeらしいですね。フォトアルバム/ショッピングカートなどを実現しています。

http://www.mjpschools.com/
写真サイト。
これはデモで、http://wiki.cakephp.org/showcase によると abc123 では入れます。写真を閲覧して、ポストカードなどを作成することもできるようです。

http://www.neubauladen.com/
Ajax ばりばりの、ドイツのグラフィック・デザイン・スタジオ。100% cake らしいです。

http://www.kkonieczny.pl/
運送会社のサイト。このサイトの裏側にある、ブログの編集機能などに cakephp を使っているようです。

cakephp だと宣伝していないサイトは山ほどあることでしょう……。
posted by SDozono at 13:26| ロサンゼルス ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2006年09月07日

オープンソースを作っているのは生身の人間だ

オープンソースのプロジェクトでは、個人の状況が進捗状況に大きく影響する。Code Igniter の作者がしばらく投稿していなかったのは、フレームワークの開発とバグ取りにかかっていたのと、自分の父親を数週間前に亡くしたことによるものだそうだ。コミュニティのベータテスターたちはどう反応しているか。

http://www.codeigniter.com/forums/viewthread/1410/

このスレッドでは、まず作者への気づかいを一言述べてから始まっている。それから、みんな強制されてではなく、自ら進んでバグ出しして、報告して、作者を応援して、ほめて、フレームワークの改良を目指している。

いいねぇ〜。これが「心が温かくなるオープンソース開発」というものだと思います。こういう血の通った交流もたいへん良いと思います。

Code Igniter のコミュニティのアバターもおしゃれなものが多いですね。

PHP on TRAX は、コミュニティのアバターのせいで使う気をなくした、というところも正直あります……。
ラベル:Code Igniter
posted by SDozono at 11:04| ロサンゼルス ☀| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2006年09月04日

始まりは小さなソースから

CakePHP は今でこそ、使えるフレームワークとして細かいところまでいきとどいているようですが、はじめからそうだったわけではありません。

オープンソース開発というものは、はじめは小さなアイデアからスタートするのではないでしょうか。こちらに、CakePHP プロジェクトの初期のサイトが保管してあります。

http://www.sputnik.pl/cake-old/

物好きな方はソースを現在のものと見比べてみてください。いかに発展したかが分かると思います。というより、初期のものはコンセプト・プロトタイプのようなもの、といってもよいかもしれません。

CakePHP の良いところは、複数の人が開発しており、そこを取り巻くコミュニティからの良質の提案がとぎれることなく Ticket で送られているところです。オープンソース開発の長所となる部分がまさにうまく動いていることを実感できます。こうなると、数人の能力を超えた、質の高いフレームワークへと発展していくことは間違いないと思います。

ちなみに ML も非常にいい雰囲気です。

下記のサイトも Cake を使っているらしいです。DB使ってます!という感じではありませんね。“フレームワークを使いたい”からサイトを作る人もいれば、“サイトを上手に作りたい”からフレームワークを採用する人もいる、ということでしょうか。

http://www.runningshopaz.com/
posted by SDozono at 10:32| ロサンゼルス ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2006年09月02日

カレンダー・イベント・スケジュール用ヘルパー

先月登録されていた、CakePHP 用のカレンダーヘルパー。

http://cakeforge.org/projects/hdcalendar/

実際にAjaxで動いている例として

http://dev.huffduff.net/calendar/

日付や年をクリックするとばさばさっと表示が変わります。
これを使って、スケジューラとか、グループウェアとか作れるかもしれません。


posted by SDozono at 12:21| ロサンゼルス ☀| Comment(0) | TrackBack(0) | CakePHP General | このブログの読者になる | 更新情報をチェックする

2006年09月01日

Single Table Inheritance を CakePHP で実現するには

CakePHP で 単一テーブル継承(Single Table Inheritance)を実現する方法(力技?)

無料会員と有料会員の違いのように、"似たような"データがある場合にどうやってそれを整理してゆくか。

Rails では単一テーブル継承をサポートしていて考え方としては、データテーブルは一つで、そこにいくつかの種類のモデルクラスがくっついてゆくようなイメージ。

事例:http://www.interq.or.jp/engineer/ishikura/sb/log/eid46.html
など。

例えば、Digg というサイトでは、ほぼ同じ内容のニュース項目が、“発表された”表ページと、“まだ日の目を見ていない補欠ニュース”の裏ページに分類されている。評価が高くなると表ページに移動する。

クラスを一つにして、パラメータを切り替えるというアイデアも悪くはないが、

$発表されたニュース->findAll();
$未発表ニュース->findall();

と書きたい、というアイデアもある。これをやりすぎるとどんどん複雑になってゆくので適当なところでやめたほうがよいと思うが、"CakePHPでもこれができる"ようだ、ということを知っておくのはよいと思う。


Single Table Inheritance の効用書き。

CakePHP で実現する方法。

フレームワークで想定している書き方ではないように思うので、スマートな解決方法ではないと思いますが、知識としては知っておいてよいと思います。CakePHP 2.0 ではこのあたり、どうなるんでしょうか……。





posted by SDozono at 12:18| ロサンゼルス 🌁| Comment(0) | TrackBack(1) | CakePHP Model | このブログの読者になる | 更新情報をチェックする