Keep on traveling till my life ends.

旅行が好きな人のブログ。色々書くよ

CakePHPの命名規則

CakePHPには命名規則というものが存在する。
なぜならば、「設定より規約」という考え方だ。コレについては省略。
例えばクラス名であったり、テーブル名であったり。
初めて見る私にとっては少し複雑であるため、一応わかったことだけでもまとめておこうと思う。

基本

キャメル記法

単語の先頭を大文字で記述する。大体こいつを使う。

  • PeopleController
  • CakesController
アンダースコア記法

2つの単語を連結する際に使われる。DBのテーブル名、フィールド名に使われる。

複数形

様々な場面で複数形を使用する。(使い所は後ほど)
Person → People
child → children
apple → apples

モデルの規則

app/Modelに配置する。
単数形】【キャメル記法】を用いて命名する。
モデルに対応するテーブルは、【複数形】【アンダースコア記法】で記述する。

クラス名 ファイル名 テーブル名
Person Person.php people
Apple Apples.php apple
BigPerson BigPerson.php big_people

コントローラーの規則

app/Controllerに配置する。
【操作するモデルの複数形】【キャメル記法】を用いて命名する。
また、<名前> + Controllerの順で命名する。

モデル名 クラス名 ファイル名
Person PeopleController People.php
Apple ApplesController Apples.php
BigPerson BigPeopleController BigPeople.php

複数のモデルを使用する場合は、$usesという配列で表す。

$uses = array('Person','Apple');
URLについて

一つの単語からなるコントローラーは小文字のURLパスにマップできる。
PeopleControllerの場合は、example/peopleでアクセスできる。
複数の単語からなるコントローラーへのアクセスは、小文字+アンダースコア記法を用いる規則になっているため、BigPeopleControllerの場合

となる。

テーブルとフィールドの規約

テーブル

【アンダースコア記法】【複数形】で命名。

フィールド

【アンダースコア記法】【単数形】で命名

モデル名 テーブル名
Apple apples
Person people
BigPerson big_people

フィールドの規約として

id 外部キー 作成日時 更新日時

でいいのだろうか…
とりあえずここまで書いておくことにして後々追記をする。

xampp+CakePHP

~を使って~を使うってタイトルってどうなんでしょう。
さてさて、いろいろ有りましてCakePHPを使うことになりました。
環境作成にはxamppを使いました。備忘録として書いとこうかと。
基本的には他のサイト様が書いてるのと一緒なので!

バージョン


の環境で行っていきます。

xamppのインストール

windowsインストーラーを実行するだけ。
個人的にインストールしてあったApache2.2は削除しておきました。
あとセキュリティソフトも一時的に無効化しておきました。

無事インストールが終わり起動してみると、Apacheが起動しない…
なんでや!と思い調べて行くと、Listenしているポート80がほかとかぶっている可能性がわかる。
Netstatを使って調べると、Systemとやらが80を使用していることが判明。
これまたgoogle様に投げてみると、「web deployment agent service」とやらが使っていそうとわかる。
コンピュータを右クリック→管理→サービストアプリケーション→サービスから
web deployment agent serviceを無効化する。そうすると無事に起動しました。
その後、http://localhost/にアクセスして管理画面が出てきたら成功です。

無事管理画面へ入ることができたら、左のカラムの”セキュリティ”をクリックして、MySQLやら何やらのパスワードを設定。
ソレを終えれば一応終わった…と思います。

CakePHPのインストール

このサイトを参考にさせていただきました。ありがとうございます。
http://webcake.no003.info/event/cakephp2-8hours-seminar.html

まずは公式サイトに行ってcakephp-xxx.zipをDLしてくる。
そして展開し、ドキュメントルートに配置する。(デフォルトだとhtdocs)
名前も"cake"だったり、"cakephp"といったようなわかりやすい名前のほうがいいかも。
http://localhost/cakephpと言った感じでアクセスできていればOK。

  1. /app/tempへアクセス権を与えておく。(774でいいんじゃないだろうか)
  2. /app/Config/core.phpのSecurity.saltとSecurity.cipherSeedを適当な感じに変更
  3. /app/Config/database.php.defaultをdatabase.phpに変更する。

データベースは事前に作っておいてね。

public $default = array(
	'datasource' => 'Database/Mysql',
	'persistent' => false,
	'host' => 'localhost',
	'login' => 'user_id',
	'password' => 'password',
	'database' => 'DB_NAME',
	'prefix' => '',
	'encoding' => 'utf8',
);
  1. DebugKitをインストール

githubからDebugKitをダウンロードしてくる。
解答したあと、名前をDebugKitにリネームしapp/Pluginに突っ込む。
app/Config/bootstrap.phpの途中にある

CakePlugin::load('DebugKit');

のコメントアウトを外す。
その後、app/Controller/AppControll.php

class AppController extends Controller {
	public $components = array('DebugKit.Toolbar');
}

を追記して完成。

凄く大雑把にメモしましたが…だいたいこんな感じでした。

京都桜めぐりの旅

お久しぶりです。
前回のブログを書いたのが昨年の12月9日。5ヶ月近く開きました。なんてこったい。

その5ヶ月なにをやっていたかといえば、特に何もしてません。普段通り何ら変わらない生活をしていました。
先月北陸に行きつい先日京都に行ったぐらいしか話題に登るようなものはありません。
北陸の方は気が向いたら書き起こします。
最近思うのは"気が向いたら"というのは"やらない"を聞こえのいいふうにしたものだなとね。

さて、本題。今回は念願の”京都へ花見”へ行って来ました。
かれこれ4年ぐらい連続で京都に行ってることになりますね。旅行好きな人にとっては大したことじゃないんでしょうけど。

年中金欠学生でありますから、今回は青春18切符を使いました。2300円万歳。
普通列車しか乗れないという制約はあるものの、なんせ安いもんですから毎度長期休暇中にはお世話になってます。

続きを読む

パソコン甲子園2012参加記

お久しぶりです。
なんでこんなに間が開いたかといいますと、(私のサボりぐせというものもあるのですが)パソコン甲子園の関係で色々忙しくなかなかかけなかったという次第です。

さて、本題。
今回僕はパソコン甲子園2012に参加して参りました。
モバイル部門で出場して参りました。
というよりも、パソコン甲子園ってなんだよ?という方が多いと思います。

パソコン甲子園とは

全国高等学校パソコンコンクール - Wikipedia
ここを見てもらうのが手っ取り早いかもしれません。

日本全国の高等学校などの生徒および高等専門学校の3年生までの学生を対象とした、パソコンによる情報処理技術のチーム対抗競技会である。通称は「パソコン甲子園

引用元:wikipedia
雰囲気だけ伝わればいいかと。情報処理技術を競うわけですね。
今回はその中のモバイル部門に出場してきました。

モバイル部門

Androidスマートフォンを使った競技で、アプリの企画から作成、プレゼンテーションまで行い総合プロデュース力を競う競技です。
アプリ単体ではなく、サーバーと通信を行ったりハードウェア制御をするところが多くあります。
技術だけではなく、その他の発想やプレゼンテーション力も問われる競技です。
今回(10周年記念大会)より正式競技となりました。

僕は競技プログラミングってのが正直得意ではありません。
そこで今回モバイル部門での出場を目指し、念願の出場を果たしました。

時系列順に追って行きましょう。

Day1 11月9日(金)

午前中

学校を午前中で抜け(というより午後から公欠)飯を喰らいバスにのり駅へ行く。
駅の到着し少し時間があったため、なぜかベーグルを購入。あとおみやげのうなぎパイ。
たしか13:11ぐらいのひかりに乗車して東京駅まで行く。
寝ている人やPC開いてる人や、iPad miniで漫画を読んでいる人やらいた。
そんな中私は何をやっていたかといえば、持ってきたニャンコ先生をInstagramにあげるという
周りから見たら不審者のような行為をしていた。
f:id:muttan_aki1203:20121114212046j:plain
ニャンコ先生かわいい。
というのは置いといて……

東京駅

そんなこんなで東京駅
人多すぎてヤバイ死ぬと思いながらやまびこ号を待った。
ちょうど一緒の方面に帰る(と思われる)生徒と一緒になり絶望。
そして乗車。えらいゆっくりだった気がする。
あと上野駅のホームが地下?だったのに驚いた田舎民であった。
そしてゆらり揺られて郡山へ…

郡山駅

ついた時の感想。あれ、意外と都会じゃん。
というのも郡山の時点で超田舎を想像してたため拍子抜け。
まあ新幹線止まるぐらいですし、それなりの規模だよなと自分を納得させる。
そこから磐越西線へ乗り換えて終点の会津若松駅まで。
ちょっと驚いたこと

  • なぜかホームより一段高い電車の床
  • なぜかボタン式の扉
  • 結構狭い車内
  • 17時過ぎると快速がない(?)

普段乗ってる電車でも少ないなとか思っていましたが、磐越西線は更に少なかったですね。
途中顧問と先輩と同級生と色々話す。
今後の部活の事とか、次の文化祭のこととか。
もうそんな時期なんだなって思った。

会津若松

降り立って思ったことは、空気が冷たいなということ。
地元とは根本的に違うなって思ったのが最初である。
そして玄関口にパソコン甲子園2012の立て看板が置かれていた!
f:id:muttan_aki1203:20121114213233p:plain
あかべこももちろん居座っておりました。
f:id:muttan_aki1203:20121114213451p:plain

ホテル到着

今回止まったのは、会津若松ワシントンホテル
会津若松ワシントンホテル【公式サイト】 | 会津若松ワシントンホテル【公式サイト】-会津若松駅徒歩3分アクセス抜群な会津若松のホテル- | ワシントンホテルチェーン
藤田観光グループですね。全国チェーンなんでそこまで心配はしていませんでした。
というかそのへんで安心してるあたり私らしいなぁって思った。
(どうでもいいことなのだが、東京ベイ有明ワシントンホテルの存在をこのとき知った)
今回何部屋(シングルとか)かと思って渡された紙には、5名一室和室の文字が…!なんやて!シングルじゃないんか!プレゼンの練習できるからいいけどって感じでした。

結果としては和室でよかったんじゃないかと。いや、シングルでもいいですが広いですから狭苦しくなくていいというのはありますかね。プレゼン練習もできましたし。
部屋に入るとすでに5人分布団が敷かれていました。間が2つあって、あわせて18条ぐらいの部屋だったんじゃないかと思います(十分な広さ)
とりあえず非常口の確認と、備品の確認と電源の確保を済ませ一息つく間もなく飯にいきました。
毎回この日の夜は幸楽苑に行くそうです。僕は人生初のつけ麺にトライ!
f:id:muttan_aki1203:20121114213844j:plain
う~ん、麺が冷やし中華っぽいので微妙かな…… というより普段麺類食べないからかな。
それとも後楽園だったからなのか…美味しいつけ麺の店教えて下さい。
これを食べた後は部屋に戻ってプレゼン練習。ダメ出しを食らうも、あきらめず練習しました!
(練習については割愛)
そんなこんなで一日目終わり。
このあとなぜか3時頃まで起きていて(グダってたら)就寝し3時間後ぐらいに起きるはめに…

Day2 11月10日

この日に行われる競技&イベント

  • 開会式
  • プログラミング部門
  • デジタルコンテンツ部門
  • 10周年記念レセプション
  • 選手交流会

ホテルにて朝食

朝はホテルのバイキングにいきました。
お金払ってないから偉そうは言えませんが、もう少しレパートリーがあると嬉しかったなということ。五目煮とか食べたかったなーなんて(京都で食ったのがうまかった)
早々に済ませて部屋に移動。
今日は特に何もないが、ブース設置のためにその準備をする。

ホテル発

ホテルを出発しコンビニに寄る。
その日の昼飯を買うためである。しかしこれがすごい。9人で7kほど買った気がする。
f:id:muttan_aki1203:20121114214618j:plain
レシートがパない。なんじゃこれ初めて見ましたこんな長さの。
そして駅前で校長先生と合流する。10周年記念レセプションもあるため来て下さった。
バスに揺られて会津大学へ。

開会式

行って飯を食いいよいよ開会式
部門のチームごとに座って1チームごと呼ばれ礼をした。
しっかりできていたのだろうか。たかが礼一つで心配になっている。
ソレが終わった後はブースの設置だ。

ブース設置

今回モバイル部門は、5分程度のプレゼンテーションと1時間程度のブースセッションがある。
そのためのブースを設置していた。
他の学校がどんどん終わる中、私達の学校はなかなか終わらなかった。
まあ、多少凝っていたからね(白目)
リハーサルも問題なくこなし、カメラ等の確認も終えた。
そしてブース作りを終えた私たちはデジタルコンテンツ部門の会場へと足を運んだ。

鑑賞

他の部門を鑑賞した。
デジタルコンテンツ部門はすぐに抜けてしまった。僕はあまりそういうのが好きじゃない。
プログラミング部門の方へと足を運んだ。あの独特の雰囲気。慣れていないと辛いだろうと思った。f:id:muttan_aki1203:20121110163556j:plain
先生が横でカリカリしている中競技終了。
レセプションがあるためホテルへ戻ったwith校長
その間会津工業の生徒と話す。おもしろかった。赤い電車の話が笑

10周年記念レセプション

めでたくパソコン甲子園は10周年だそうです。おめでとうございます。
様々な来賓の方からの祝辞や挨拶、また優秀校への感謝状の贈呈などがあった。
その時に目の前にあったサンドイッチがとっても美味しかった。
何なんだあのしっとり感は…とても感動した。
でもあまりお腹が減っていなかったためあまり食べなかった。

選手交流会

その後20時過ぎから選手交流会があった。
その時に脂っこいものばっかり出てくるもんだから、胃もたれする私は全く食べなかった。
他の学校の人と少しだけ交流をすることができたと思う。
交流会では、モバイル部門の人がアプリの宣伝を行った。
そこで我がチームの一人がやってくれた。まさか公立を私立と言うとは…笑
でもそこそこ笑いがとれたのでよしとしましょう!
おみやげを貰って自室へ

プレゼン練習

発表前夜のプレゼン練習。
熱が入ります。しかしみんな疲れ果てていました。
10時ぐらいで切り上げて風呂に入ったりと次の日の準備。
緊張しつつもがんばろうといった感じでいい雰囲気だったと思う。
そして就寝

Day3 11月11日

この日に行われる競技&イベント

  • あずにゃんの誕生日
  • モバイル部門
  • 閉会式

ホテルから出発

朝6時30分に飯を喰らい会場へ。
バスはホテル前から出てくれた。非常にありがたい。
会場について細かいところを手直し。そして順番ぎめ。
3番だった。なかなか良い数字を引いたと思う。

いよいよ発表

人生でこんなに緊張したことがあっただろうかというぐらい緊張したが
実際は楽しんでやることができた。なかなか会場も沸いてくれてよかった。
ちょっと失敗しちゃったけど、そこはご愛顧ということでオナシャス。

ブースセッション

ブースではいろいろな人に直接説明をした。
途中審査員の筧先生がいらっしゃった時に、質問の意図を理解しきれず答えれなかったのが大変申し訳なかったし、ダメだなと思った点である。
でも個人的にはしっかりできたのではないだろうかと思っている。

終了し学校見学

ブースセッションが終わりひと通り片付けた後、飯を食べた。
ソースカツ丼だったらしいが冷えていて微妙であった。
ソレを食べた後は記念撮影をした。
センターにいるんだが俺大丈夫か!ダメだろPCK実行委員会!
そして学校を見学した(ここは割愛)

閉会式

閉会式が始まった。
パソコン甲子園2012
1時間30分ほどだっただろうか。僕たちは呼ばれなかった。
呼ばれなかったことは悔しいけれども、自分でやりきったと思っている。
だから満足はしているが、悔しいことには変わらない。
そして受賞したみなさんはおめでとうございます。沖縄高専2冠おめでとうございます。
来年出れるのならば頑張りたいなと思った瞬間でした。
あ、あと書いたアンケート用紙あたってて太郎庵のお菓子もらいました。ヤッタネ

ホテルへ戻る

バスを利用しホテルに戻って反省会。
やっぱり真面目なだけじゃダメだな、と思った。
やはり夢のあるアプリケーションというものを企画段階からもっと考えなければ行けなかったこと。
ブースだけじゃなくって、プレゼンでもっと引きつけられるようなものを考えること。
そういうことを痛感させられる結果となったこと。
この先の部の方針をどうするか。しっかり考えて行かないと行けないと思った。

おみやげ購入

その後夕食まで2時間ほど時間があったので友人とおみやげを見にいった。
会津若松駅に欲しい物が揃っててたいへん助かった。
f:id:muttan_aki1203:20121114220858j:plain
こんなもの(柚餅子っていう)をかったりとか、ままどおるを買ったりとか。
個人的にままどおるがめっちゃおいしい。これはおすすめである。
ひと通り購入した後ホテルへ戻る。

夕食

ホテルの上のレストランで夕食をとった。
OBの先輩も一緒に食事となった。
この先輩非常に優秀で、話がとっても面白いのである。来年も会えればいいな!
料理はとっても面白かった。さすがにそれだけの値段がするだけはある。
上のレストランはわりと静かなのに、先生の怒号?が飛び交って大変申しわけなかった。

部屋にて

先輩らと少し話をする(終電に乗るため)
レアグッズももらったりした。ありがとうございます。
頭がいい人っていうのは、話してても飽きないし面白いんだなと思った。
なんというのだろう、飽きさせない(?)飽きないような話し方をするのだろう。
あと話の筋が通っているのだろうか。非常に尊敬したし、OBにこんなすごい先輩がいるのだと思うと今の自分がこんなではまずいのではと思ったりもした。

その後眠すぎて、持っていた大葉味噌をぐるぐると回し続けたり、謎の言葉を口走るなどといった疲労の限界による効果が出てきたので風呂に入って12時過ぎに早々に寝ることにした。
友人によると寝たあと暴れていたらしい。大丈夫か俺。

といったのが今回の参加機でしょうか。これからちょくちょく書き加えていこうとは思いますが。
4日目は観光になったため、また別記事にて挙げさせてもらいたいと思います。

参加してみて

周りの学校ってすごい。特に高専ってすごいなと思った。
今回モバイル部門にでたが、やはり圧倒的に発想力(夢)が足りていない。
また大人を驚かせるようなアイデアというのが全く足りていないなと思った。
技術でその夢を実現させれるぐらいになれないとダメであると感じた。
幸いなことにまだ来年チャンスが残っているんので積極的にチャレンジしていきたい。
あとうなぎパイ分けそこねた。他の選手との交流を活発的に行なって行きたい。

最後に

実行委員会の方々、当日のスタッフの方々、審査委員の方々、参加された方々。ありがとうございます。そしてお疲れ様でした!