仕事の疲れから謎のタイトルを登録してみる。
コピペしまくって、間違って C-k 押してしまったんでしょうね、バグが取れずにハマってしまいました。
$hasError = $results = $object->someMethod(); if (empty($results)) { $hasError = true; }
CakePHP のプロマネとリードデベロッパーが新たに立ち上げた Lithium ( Lithium: the most rad php framework ) というプロジェクトがありまして、ゲームとは関係ないので詳しくは述べませんが、状況によっては追っかけてみるのも面白いと思います。
データの取得はクラスメソッド、レコードはインスタンスに対応するようになったみたいで、すっきりした印象があります。よくわからんのですが DAO のパターンに近いのでしょうか?
…と、まぁ、こういった感じで、今まで使っていた技術を交換したくなったり、状況に逆らえず交換しなければならなくなることがあります(どういう経緯かわからないけどお客さんに指定されてるとか)。ただ、今までのノウハウや資産が生きないのもよくないことと思います(例が悪かったです、 CakePHP → Lithium だったら生きそうな資産が多くあります)。なんとか一個人でも力になれる枯れさせるための活動ができないものか日々足りない脳味噌を回す日々…
そんな経緯から、どんなライブラリ、どんなフレームワーク、どんな言語を使うケースでも、「こういうの毎回書いているなぁ…」と嫌になるロジックをまとめようかと思うようになりました(ちなみに、これはゲームにも関係するのですが、このサイトではやりません)。
前ふり終わり。
仕事は WEB 系なんですが、ゲーム制作に興味ある方とお話ししていてスマートポインタ( Boost の shared_ptr )の話題になることがありました。
普段 C/C++ に触れていないと、その存在意義もわかりにくいでしょうし、ほとんど理解してもらうのをあきらめていたところがあるのですが、よく考えたらハードリンクを例にとると簡単に伝わったのかもしれません。
strcmp(str1, str2) としたとき、もし str1 < str2 の場合は負数が返りますが、この関数もたまに使うだけなので覚えられません。
同人作品の開発環境とファイルサーバ( FTP, WebDAV )、メールサーバを兼ねた専用サーバの用意を検討しております。決して自前で用意はしないのです。サーバ管理(特にハードウェア)の大変さは仕事で痛感しておりますゆえ。
Byerkut さんのお気に入り関数 assert() 。しかしながら、これの出力は式になってしまうので意味を理解するのにちょっと時間がかかります。これにエラーメッセージを渡して意味を伝えやすくしようというテクニックとのことです。