CodeLab技術ブログ

プログラミング技術まとめ

2018年6月7日
から CodeLab
CakePHP2のコントローラーをUnitテストでしてみたが… はコメントを受け付けていません。

CakePHP2のコントローラーをUnitテストでしてみたが…

今まで、コントローラーのテストでPHPUnitはあまり使ってこなかったのですが、ちょっと試してみようかといろいろやってみたが…
正直使い勝手悪すぎる。

続きを読む →

2018年6月7日
から CodeLab
CakePHP2のFixtureを簡単に書く はコメントを受け付けていません。

CakePHP2のFixtureを簡単に書く

CakePHPのUnitTestは便利なツールではありますが、いろいろ書かなくてはいけないのでかなり面倒。
ということで、テスト用に使っているデータベースを読みこむようにすればいいですが、条件を変えようとするとちょっと面倒です。
ということでFixtureを使いたいのですが、大量にデータがあるとちょっと大変です。
ですが、既存のデータベースから比較的簡単にインポートすることができます。

続きを読む →

2018年6月5日
から CodeLab
SQLで浮動小数点を検索したらヒットしない はコメントを受け付けていません。

SQLで浮動小数点を検索したらヒットしない

floatで定義しているカラムに、0.1とかいれて

select * from table_name where number = 0.1

などと検索してみると・・・なぜか出てこない。

原因はというと・・・

続きを読む →

2018年6月1日
から CodeLab
BlowfishPasswordHasherを使って自前でパスワードチェックをする。 はコメントを受け付けていません。

BlowfishPasswordHasherを使って自前でパスワードチェックをする。

CakePHPで認証処理をする場合は、Authコンポーネントに任せていると思いますが、自前で認証したい場合。

こんなふうにやってはダメ!
$pw = new BlowfishPasswordHasher();
$user = $this->User->find('first',['conditions'=>['name'=>$name,'password'=>$pw->hash($password)]]);

どうするかというと・・・

続きを読む →

2018年5月31日
から CodeLab
[CakePHP2]group byしてカウントした結果をソートする場合はvirtualFieldsを使う はコメントを受け付けていません。

[CakePHP2]group byしてカウントした結果をソートする場合はvirtualFieldsを使う

CakePHP2でgroup byしてカウントしたい場合は、find()メソッドのパラメータで以下のようにしますが、

'fields'=>['*,count(*) as Model名__count'],
'group'=>'グルーピングしたいカラム',

countでソートしようとするとエラーになります。
ですが、virtualFieldsを使うとうまくいくようです。

続きを読む →

2018年5月30日
から CodeLab
同じテーブルで条件を変えて同時に取得するには はコメントを受け付けていません。

同じテーブルで条件を変えて同時に取得するには

CakePHP2でHasManyでリレーションしているテーブルの最新のデータのみ取得と全件取得を同時にしたい場合どうしたらいいか…
ちょっと悩みました。

続きを読む →

2018年5月29日
から CodeLab
CakePHP2 ModelのbeforeFind()の謎な仕様 はコメントを受け付けていません。

CakePHP2 ModelのbeforeFind()の謎な仕様

Cakeの・・・というよりPHPのクラスのお決まりな書き方で、オーバーライドする場合

public function beforeFilter() {
    parent::beforeFilter();
}

ていう感じで親のクラスのメソッドを呼ぶ場合が多いかと思います。

で、CakePHP2のModelのbeforeFind()で条件式を無理やり追加したいと思ったのでいろいろやってみてバグに遭遇。
続きを読む →

2018年5月23日
から CodeLab
[XAMPP]ShellからBreakができない? はコメントを受け付けていません。

[XAMPP]ShellからBreakができない?

Windows10にインストールしたXAMPPのコントロールパネルから起動したShell(コマンドプロンプト)でPHPのプログラムを実行してみた。
右側のShellボタンで動かすやつね。

プログラム自体は動いたんだけど、Ctrl+Cでブレークができない。
うーん。

で、cmd.exeで素のプロンプトを起動して同じことをやってみたんだけど、こちらはOK。
うーん。何が違う?

続きを読む →

2018年5月16日
から CodeLab
WordPressをPHP7にしたら壊れた はコメントを受け付けていません。

WordPressをPHP7にしたら壊れた

PHPも現在は7が主流になってきました。
サーバーのPHPバージョンをPHP5系からどうしても上げなくてはいけなくなってくることもあるかと思います。
PHPのバージョンアップでWordpressが壊れたときにどうしたらいいかの対処法です?

続きを読む →

2018年5月14日
から CodeLab
[CentOS]PHPのバージョンアップが原因でyumが更新できないとき はコメントを受け付けていません。

[CentOS]PHPのバージョンアップが原因でyumが更新できないとき

yumのアップデートができなくなってしまった。
なんだか、PHP関連で競合が出ている。
うーん・・・なぜだ。

続きを読む →

2018年5月13日
から CodeLab
[Unity]マウスカーソルの表示や移動を制限する はコメントを受け付けていません。

[Unity]マウスカーソルの表示や移動を制限する

Unityでマウスカーソルの表示や移動を制限する設定を行います。
マウスで視点や移動を制御するプログラムではこの設定は必須ですね。
マルチディススプレイ環境ではこの設定をしていないと操作中に隣のディスプレイに操作不能になります。

インディーズのゲームとかだと設定していないものが結構あってイライラしますねw

恥ずかしいので必ず設定しましょうw

続きを読む →

2018年5月13日
から CodeLab
[Unity]UpdateとLateUpdateとFixedUpdateの違い はコメントを受け付けていません。

[Unity]UpdateとLateUpdateとFixedUpdateの違い

Unityでスクリプトを新規作成すると、Update()メソッドが必ず入ってくるかと思います。
しかし、サンプルなどを見ると他にもLateUpdate()とかFixedUpdate()などある場合があり、違いが良くわからないので調べてみました。

続きを読む →

2018年5月10日
から CodeLab
[Unity]初めてのUnityを肉付けする その2 音を出して見よう はコメントを受け付けていません。

[Unity]初めてのUnityを肉付けする その2 音を出して見よう

さて、第2回目は、音を出して見ようと思います。

仕様機材&前提条件
Unity5.5
C#
”はじめてのUnity”の各チュートリアルは理解していること。

続きを読む →

2018年5月8日
から CodeLab
[Unity]初めてのUnityを肉付けする その1 クリア時のリスタート はコメントを受け付けていません。

[Unity]初めてのUnityを肉付けする その1 クリア時のリスタート

Unityをいじり始めて最初に見るであろう、”はじめてのUnity”のチュートリアルで作成する弾転がし。
すごくわかりやすいチュートリアルなのですが、ゲームのクオリティーはともかく、ゲームとして完結していない部分があるように思います。
例えば、音を出すとか、クリアしたときにスコアが出るとか、他のステージに遷移する etc.

ということで、このチュートリアルの続きとして、実際のゲームを作るときに最低限必要な事柄を肉付けしていきたいと思います。

仕様機材&前提条件
Unity5.5
C#
”はじめてのUnity”の各チュートリアルは理解していること。

続きを読む →

2018年5月7日
から CodeLab
[WordPress]既存の記事を複製・コピーして新しい記事を作るには? はコメントを受け付けていません。

[WordPress]既存の記事を複製・コピーして新しい記事を作るには?

WordPressで連続した関連記事を作成するときに、毎回同じような操作をしなければならないことに煩わしさは感じませんか?
前回の記事を流用できれば、本文だけ書けばよいはず。コピー&ペーストでもいいですが、キーワードとかタグとか画像とかはその都度操作しなければなりません。
超面倒!

そこで、これらを解決するプラグインを使ってみます。

続きを読む →