実際に使った小技などはこれから紹介していくとして、感想から。第一印象:なんか気持ち悪い第一印象は「なんか気持ち悪い」でした。「設定より規約」に慣れていなかったためです。使っていた私にとっては、PHPなどのスクリプト系言語で宣言しなくても変数が使えるというのが、元々とても気持が悪いものでした。それに加えて、ちょっとしたファイルを何個か書くだけでDBアプリができてしまうのです。SQL文どころか、テーブル名すら書く必要がありません。その規約も、「テーブル名は名詞の複数形」「クラス名は大文字で始まる単数形」とかその程度。宣言や定義なしで動くというのが、なんか恐ろしいような気持ちの悪いものでした。今の印象:これは楽しいしかし少し使ってみて仕組みが分かってくると、印象がガラリと変わりました。フィールドに格納したいですよね。それらを勝手にやってくれます。DBにはフォーム名と同じフィールドに入れてくれるし、型や名前にふさわしいGUI部品にしてくれるのです。したコーディング作業の時間が大幅に短縮され、モノづくり本来の楽しみ(人によって違うでしょうが・・・)に使えるな、と思います。これから少しずつでも、CakePHPの魅力を伝えていきます。習得に二の足を踏んでいる方の背中を押せたら嬉しいですね。使うためのサンプルを説明しています。載せていないことに気が付きました。ついでに、書き忘れていた注意点も。</body></html>ログインページのテンプレートです。今までのことで書き忘れていたことです。ディレクトリに置きます。作ると各ユーザの所有になります。読み書きできる必要がある)。文字コードサンプルはUnicode用にしています。EUC-JP)してください。パッケージPEARのパッケージは始めから全部はいっていないので、必要に応じてインストールしてください。インストールされているかの確認はコマンドラインから。パッケージが必要です。Authなどとして、インストールしてください。使うためのサンプルを説明しています。認証用のクラスを使ったページを作ります。使うためのサンプルを説明しています。今回はPEAR::Authを拡張して認証用のクラスを作ります。それと、ユーザ名とパスワードを保存するためのデータベースを作成し、テスト用のユーザを追加します。使うためのサンプルを説明しています。今回は、まだ本題には入らずに、定数定義やSmartyのお約束部分です。PHPのテンプレートエンジンで、Webアプリケーションのロジック部分とデザイン部分を分けて開発することができます。・・・という程度の認識しか持っていなかったので、今まではあまり魅力を感じずに、使っていませんでした。使ったWebシステムの改造をすることになり、初めて真剣に取り組むことになりました。目からウロコが落ちました。言われる「ロジック部分とデザイン部分を分ける」というのは、ただ単に「別の人が作業しやすい」だけではなく、ソースコードが見やすくなるということだったのですね。PHPでのWeb開発では、PHPとHTMLがごちゃごちゃに入り交じったコードになりがちです。PHP(ロジック部分)とHTML(デザイン部分)に綺麗に分けられます。これからは積極的に取り入れようと思います。天狗大臣ITPKの開発環境は、オープンソースソフトウェアを多く導入しています。無料というのはとても大きい要素ですが、私はオープンソースには「無料で使える」以上の魅力を感じています。今日は、そのオープンソースについてです。天狗大臣SSL通信はなぜ安全なのかを解説するシリーズの記事です。今回は初回ですので、SSLとは何のために使用するものなのかを紹介します。インターネットでの通信インターネットでやり取りされる通信は、実は簡単に盗聴できます。原理を説明すると難しくなるので省きますが、例え話で説明しましょう。ここは、学校の教室だと思ってください。悪知恵のつき始めた小学校高学年くらい。先生の目を盗んで、紙切れに手紙なんかを書いて回してます。インターネットの通信は丸見え紙の表には「宛名と送り主」を書いてあり、裏にメッセージが書いてあると思ってください。間の席にいる生徒たちは紙が回ってきて、自分宛でなければ隣や前後の生徒に渡します。自分宛だったら裏のメッセージを読みます。インターネットのしくみは、簡単にすればこのようなものです。ところで、生徒同士のメッセージのやりとりの例では、途中の生徒が見ようと思えば、簡単にメッセージの内容を見ることができます。隣に回す前に、裏返して見てしまえばいいだけです。実は、インターネットでの通信もこの程度のものなのです。職場によっては従業員のネット利用を監視していることがあります。それは、通信内容を途中で見ることができるから、可能なのです。秘密のメッセージを送る必要がある場合は、どうすればよいのでしょうか。手渡しをする、という方法ももちろんあります。設置して飛ばすとか・・・。どちらにしても現実的ではありませんね。PCのネットワークでは、インターネットを使わずに専用線を引くこともできます。こちらはまあ現実的な手段です。コストを考えると現実味は薄れます。不特定多数を相手にするのは事実上不可能です。今ある仕組みをそのまま使って、秘密にメッセージを送る方法が、暗号化です。秘密のメッセージを送ることができる暗号化通信の役割の1つ目は、そのままですが「秘密のメッセージを送る」ために使用するというものです。A君はE君にしか分からない(=E君は復号できるけど、それ以外は解読できない)ように暗号化するのです。出てくる言葉の説明をしておきます。暗号化とは「平文(ひらぶん=伝えたいメッセージそのままの文章)を何らかのルールで変換し、第三者が読めないようにすること」。復号化とは「本来読むべき相手が、きちんとした手続きで平文に戻すこと」。それに対して解読とは「本来ならば読むべきでない第三者が、不正な手続きで平文に戻すこと」をいいます。誰が暗号化したのかが分かるもう一つ役割があります。こちらは多少分かりにくいのですが、「誰が暗号化したものかを示す」ためにも使えます。A君だ」ということが分かるのです。これは、暗号に使用する「鍵」を、1人1人が違うものを使用する、というルールによって成り立っています。A君の「鍵」はA君だけが使い、他の鍵ではA君の鍵とは別の暗号になります。他の誰かが「Aより」なんて書いたとしても、A君の暗号にはできないので、ばれてしまうのです。これについては、「公開鍵方式」で説明します。防ぐことができるです。いう言葉が登場します。どの記事でも「SSLで暗号化通信をすれば安心」と、さも当然のように書いてしまっています。読んでくださっている方の中には、「本当に安全なの?」「なんで安全と言い切れるの?」と疑問を感じる方もいらっしゃるでしょう。そこで、何回かに分けて「SSL通信はなぜ安全なのか」について、解説します。書き終わった記事へはリンクを張っていきます。書いていない記事は、予定なので変更するかもしれません。