BANSYSTEMSBLOG

Load of the ○○○○PHP!?

本日、20時過ぎにbakerお二方が遠路はるばる坂東市にお越しになってくれます。
@masa-pさん、@binbin4649さんです。
baker(ベイカー)とはcakePHP(ケイクピーエイチピー)を使用してWEB開発を行う人のこと。

僕もいろいろなところへ顔出しはしているので今回はきていただいちゃいましたw
もしかしたら今後もあるかもしれないので興味ある方はご連絡ください。
坂東市にショックを受けて二度目はないかもしれませんけど(^^;

一応こんな感じで集まるときは、コーディングもするだろうし、cakePHPの話もするだろうし、WEB全般の話をするだろうし、全く関係ない話もするだろうしで、つまりは全般的に勉強になる、為になると思います。
ちょっと嬉しい出来事なのでブログにアップさせてもらいました!

var $validate = array(
	'tel' => array(
	'rule'=>array('custom','/\d{2,4}-\d{2,4}-\d{4}/'),
	'message'=>'電話番号を入力してください。'
	)
 );

2/6,7に第1回のcakePHP温泉部が開催されました。
cakePHPに魅せられた私は去年10月のcakeMatsuri以来のcakePHPイベントを楽しみにしていました。

今回は箱根アカデミーというホテルで行われました。
歓迎!cakePHP温泉部
会議室に入るとハブとLAN、プロジェクターが既に用意されていました。
正しく開発合宿という感じでいささか緊張してきました。

部屋に入るとそこは会議室だった!

部屋に入るとそこは会議室だった!

今回は第1回ということもあり、いきなり開発は出来ないということでとりあえずメーリングリストに出ていた、
baserCMSをみんなで触ってみることになりました。国産ということで応援したいという気持ちもあります。
DSCF0454

そこで今回ハマったのが、「XAMPP」
cakePHPで、DSを出力しているところがwindowsだと¥になってします。
とりあえずコメントアウトして正常表示できました。
※ただ開発側としては公開するサーバーはLinux前提で考えると特に拘るところでもないかなと思います。

すると、一難去ってまた一難とはよく言ったもので、次にMacで不具合が発見されました。
管理画面から入力画面(ckeditor)が表示されないのです。
しかもMac2台。悩んだ挙句なんと、「XAMPP」のせいでした…。
MAMPに変更すると解決。もともとMAMPにしないとだめなのは知ってはいたもののWindowsから流れたものとしてはXAMPPを使ってしまうのです…。
いろいろな話も交えつつ4時間はあっという間に過ぎてしまいました。
DSCF0453
※ハマったときにみんなであーだこーだ言えるのは楽しいですね。

そして、夕食後にMASA-Pさんからの発表でまさにタイムリーで、狙っていたとの如くXAMPPの呪いに気をつけようとの事でしたw
これがMASA-Pさん曰く、「¥マークの呪い」とのことです。
振り返ればまさに呪いでした…。
しかしXAMPPの呪いはあったとしても開発環境は公開するサーバーと同じ環境でなければいけないという話もありすので初心に戻りたいと思います。
ということで事務所から公開状態にしてあったDebianをまた使うことにします。ちょい前まで公開してたので一通り開発環境は入っているのです。
MacminiにしてVMでサーバー公開でもいいかな。

その他、tfmagicianさんから, cakePHPで共通処理を追求する話、cakePHPerさんからは、YHAシステムの話(すごい参考になります!)、kara_dさんからはHTML5の話(すごいことになりますね)
などの発表がありまして1日目が終了しました。
DSCF0456
DSCF0457

次の日は朝一つの部屋に集まりkara_dさんが見つけた、noseRub(ノーズラブ?)を日本語化しようという提案が出されました。
現在は日本語化グループが出来上がっています。

1泊で行ったわけですが、いざ開発となるとやる気はあっても時間が足りないということになりそうですね。
事前に行わなければならないことが多いかもしれませんね。
逆にある程度課題があって事前に進捗を確認して残りが丁度良くなったら合宿を決行するとかが追い込みとして機能するかも?
ただそうなると決まった人しか参加しなくなってしまいますからそれもまた難しいところですね。
アンカンファレンス的なのりでやった方がいろんな人が参加しやすくなるかもですね。
それも面白そうです。次回期待してます!

DSCF0466
DSCF0465

最後に今回cakePHP温泉部を企画・進行してくださったMASA-Pさんありがとうございました。
スタッフの@cakePHPerさん、@tfmagicianさん、ありがとうございました。
楽しかったです。是非今後も継続して頂きたいと思っております。

10月30日と31日と丸々二日間cakePHPによるイベントに参加した。
そもそも、私はこういったコミュニティに参加をしたことがない。
ただこのことが今、33歳になって初めて後悔し始めている。しかし、後悔していても時間は戻るはずがなく、ここは前向きに、決して今からでも遅くはないと自分に言い聞かせるしかあるまい。
しかし決して空回りはいけないと自分に言い聞かして。

さて、肝心の内容であるが、これは実に濃密な内容であった。
内容を振り返ると、ユニットテストから始まり、プラグイン、ビヘイビア、携帯サイト、パフォーマンス、チューニングとまさに実務で必須の内容が盛りだくさんであった。
それと共に4人でのグループ分けがされていて非常にやりやすかった。お互いに教え合ったりできる環境は私に取って非常に安らぎの場所でさえもあった。普段は一人で孤独を感じながら(そうでもないが)仕事をやっているのでグループに憧れるのである。
朝から集中と気遣いで4時くらいには殆ど頭が空回りだったが、なんとか全うできたので素直に為になったと思う。いずれにしてもワークショップは運営スタッフは非常に大変だと思う。大変感謝したい。

30日をまとめると、自分が保守しているサイトを徹底的に見直すきっかけになり、同時にこれは今後お世話になるであろう顧客に対してアピールできることにつながる。
やはりシステムは見た目ではない。中身や過程が非常に大事である。システムがWEBに移行してきてその当たりを軽視する人たちもいるが、デザイン云々よりまずはシステムを完璧にするということが大事だということを改めて実感する事ができた。
デザインがいくら良くても機能しないシステムでは全く意味がない。
システムが完全であるからこそデザインも完璧に近づいてくる、そう思った。

また、仕事とは別なところでもプログラミングのやる気に更にパワーをもらう事ができた。
参加者の方々には感謝したい。8月をターニングポイントにしてこういったコミュニティに参加しなけばと思い始めたのであったが、とにかく仕事とは別にシステムを完成させて継続させていくということを早くやらなければならないという思いがある。

何でもいいから作る。
10年前はWEB上に便利な機能のプログラムは無かったため自分で全部作っていた。
それをふと思い出したときに「やらなければ」と思った次第であるが、ここ最近、ふつふつとやる気がわいている。(といって徹夜続きは良くないのであるが…どうしても作業が夜中にまでなってしまうのである…)

懇親会も非常に盛り上がっていて、まあこれは通常の飲み会なので特にレポートはないが、強いて言えばLTを頼まれて性格上断れないというオチであった。
そしてホテルに戻った後ひたすらテンパッテいた。
前日に決まってしまうのであれば最初から客先に許可を得てエントリーしておいた方がよかったかもしれない。
なぜなら資料が間にあってなかったので発表中に直したりしていた。もちろんすべての発表を聞いていたのであるが、メモを取る余裕が無かったので非常にもったいない事をした。
まさか発表するとは思っていなかったし、慣れ親しんでいるMacがフリーズするとは思わなかったので、いろんな意味で失敗であったが、それもまた思い出として引き出しに入れておこう。

そして今、cakeMatsuriで勉強したことを踏まえて(特にパフォーマンスとセキュリティを意識していこう)業務用のシステムを作っている。
また今後は、積極的にcakePHPを使ったシステムがもたらす効果をアピールしていきたいと思っている。
「うまそうだね」という間接的な意見で片付けられないようにするために、技術面で徹底的にアピールできれば…あるいは伝えられればと思う。

追伸:まぶしすぎるコアデベロッバーはイラストで表現した。
自分自身コミュニティ初心者がこれほどの規模イベントに参加して気持ちもふわふわした感じであった。それがうまく表現できないがこんな感じである。
スクリーンショット(2009-11-16 14.50.29).jpg

今更だが。

cakePHPで楽天WEBサービスのサンプルを作ってみた。
http://www.ban-systems.com/items/items/

まずは楽天APIを使った簡単な検索だけなのだが、一応使えます。

毎冬にスノーボードやウェアを探しているのだが、いまいち探すのに疲れる。

自動で表示されていてもいいのではないかということで、となるとAPI をつかうしかない。

そして、まずは楽天APIを使ってボードギアだけを表示するページを作ってみようと思う。
いずれはYahooオークションAPIも使い価格比較をしたいと思う。
天気APIは有料だった。

デフォルトではメソッド名を適当に指定されると、
missing controller 〜と表示されてしまう。

ピクチャ 15.jpg

  そこで、views/errorsに missing_action.ctp、missing_controller.ctpを追加して任意に編集する。

<!– コンテンツ部分 –>
  <div class=”contents”>
    <h2>Error page<br />
      指定されたページは存在しません。</h2>
    <p>アドレスを確認してください。</p>
  </div>
  <!– contents –>

そして下記のように存在しないアドレスの場合はエラーページを表示することができる。

ピクチャ 16.jpg