カテゴリー別アーカイブ: プログラミング

主にC#などについてです。

CakePHPのfindでのBETWEEN

6/4にCakePHPの1.2RC1が出ましたが、そこでBETWEENの挙動が変更になったのでメモ。

以前は

$conditions = array(
    'Model.field' => 'BETWEEN ' . $start . ' AND ' . $end
);

でBETWEENができましたが、RC1ではANDの両側にクォーテーションマークが付かなくなって、上記のコードではエラーがでます。そこで以下のコードでうまくいきます。

$conditions = array(
    'Model.field >=' => $start,
    'Model.field <=' => $end
);

ちょっとハマったので気をつけましょう。

CakePHP 1.2 RC1からfindの条件指定方法が変更となった – Technote – by sizuhikoにて詳しい解説がありました。「?」がコツのようです。

CakePHPを見てみた

CakePHPここのところ少し時間ができたので前々気になっていたCakePHPについて調べてみました。CakePHPとは、PHPでできたフレームワークです。

PHPのフレームワークは調べたことがなかったのでイメージがつかめなっかたのですが、CakePHPを通してざっと見てみた感想をまとめてみます。

  • フレームワークを使うと開発のスピードが速い
  • 0から作るよりはセキュリティに気を使う必要がない
  • コードの見直しが楽

フレームワークに馴染んでしまえば0から作るよりメリットが大きいのかな思います。

そしてCakePHPの感想(CakePHP以外に見ていないので他との比較はできませんが)

  • カスタマイズ性が高い(コアファイルにも手を入れられる)
  • 拡張性が高い(後から機能を付け足せる)
  • Javascriptを書かずにAjaxが使える(個人的なことですが)
  • Tipsなどは点在しているが、整理されたドキュメントやサンプルが少ない
  • 入門系の情報は見つけやすいが、つっこんだことをやろうとするとAPIリファレンスを見なければならない(しかたないといえばそうですが・・・)

どの言語にも言えることですが、共通的な処理を自動でやってくれるとかなり楽です。個人的にCakePHPはいざ作ろうとすると、情報不足が目立つような感じがしました。

そして、今度はCakePHPで何か作ってみようということで、サイトニュースを扱うプログラムを製作中です。サンプルが少ないというのを上で挙げましたので、自分でサンプルを作ってみたいと思います(笑)

XNA2.0が公開

XNAの2.0が12月に公開されました。XNAはWindowsとXbox360のクロスプラットフォームでゲームが開発できるライブラリです。基本は無料でXbox360に転送するには有料アカウントを取る必要があります。学生は無料でできるようになるそうです。

というわけでかなり有能なライブラリが利用できる世の中なんです。Xbox360で動作するのもかなりの魅力です。

が、しかし家にあるPCはスペックが低くてサンプルもまともに動きません。これはイタイ。

XNAを勉強してのチュートリアルなどを書いてみたいと思うのですが、かなり先の話になりそうです・・・

C#のTabControlのタブセレクターを非表示

C#のTabControlはタブセレクターを非表示にする機能がありません。タブを一時的に非表示にする機能もありません。

そして、タブセレクターを非表示にしたい場面に遭遇してしまったのです。上に別のコントロールを乗せて隠す方法もないわけじゃないですがスマートではありません。

そこで海外のフォーラムなどを検索していたら素晴らしいコンポーネントを見つけました。「PanelManager」Dot Net Tips & Tricksから入手できます。これはパネルをタブのように扱えるコンポーネントです。タブセレクターがないので、タブを一時的に非表示にすることも元から実現されています。

これでますます便利になりました。