Windows7がスリープに入ったと思いきや、すぐに勝手に復帰してしまう件の対応

[公式]http://windows.microsoft.com/ja-JP/windows7/Sleep-and-hibernation-frequently-asked-questions
デバイスマネージャーより、NICの電源復帰オプションを無効にしたら直った。
ただ、ネットワーク越しの起動ができなくなる。

抜粋

  • 特定のハードウェアが、コンピューターをスリープや休止状態に入れなくさせていることがあります。この問題を生じさせることがよくあるデバイスとしては、USB フラッシュ ドライブと USB マウスがあります。デバイスの最も新しいドライバーを使用していることを確認してください。詳細については、「ドライバーの更新: 推奨リンク」を参照してください。

    デバイスがコンピューターをスタンバイ状態に入れなくさせるのを防止するには

    1. [デバイス マネージャー] を開くには、[スタート] ボタン [スタート] ボタンの画像、[コントロール パネル]、[システムとセキュリティ]の順にクリックし、[システム] の下の [デバイス マネージャー] をクリックします。
      管理者のアクセス許可が必要です 管理者のパスワードまたは確認を求められた場合は、パスワードを入力するか、確認情報を提供します。

    2. ハードウェアのカテゴリの一覧で、コンピューターがスタンバイ状態にできない原因になっているデバイスを見つけて、デバイス名をダブルクリックします。

    3. [電源の管理] タブをクリックし、[このデバイスで、コンピューターのスタンバイ状態を解除できるようにする] チェック ボックスをオンにします。

    4. [OK] をクリックします。

  • 特定のプログラムやスケジュール タスクが、コンピューターのスリープや休止状態を解除することがあります。既定では、電源オプションの設定により、スケジュール タスクがコンピューターのスリープや休止状態を解除できないようになっています。しかし、この設定が変更されていると、何かのプログラムがコンピューターのスタンバイ状態を解除することがあります。

    プログラムがコンピューターのスタンバイ状態を解除しないようにするには

    1. [電源オプション] を開くには、[スタート] ボタン [スタート] ボタンの画像、[コントロール パネル]、[システムとセキュリティ]、[電源オプション] の順にクリックします。

    2. [電源プランの選択] ページで、変更が必要なプランの [プラン設定の変更] をクリックします。

    3. [次のプランの設定の変更] ページで、[詳細な電源設定の変更] をクリックします。

    4. [詳細設定] タブで、[スリープ]、[スリープ解除タイマーの許可] の順に展開し、コンピューターがバッテリ動作しているときと外部電源に接続しているときの両方について [無効] を選択して、[OK] をクリックします。

こっちのほうが具体的内容でわかりやすい。

[CakePHP2]checkboxをカスタムしますよ

like a shit.

制御の効かないinputメソッド

inputでやると書くのは簡単

1
echo $this->Form->input('UserInterests.interest_id', array('multiple' => 'checkbox'));

だけど、HTML生成で色々勝手にやられるので、デザイン当て込みがむしろ大変↓

1
2
3
4
5
<div class="input select"><label for="UserInterestsInterestId">Interest</label><input type="hidden" name="data[UserInterests][interest_id]" value="" id="UserInterestsInterestId"/>
 
<div class="checkbox"><input type="checkbox" name="data[UserInterests][interest_id][]" value="1" id="UserInterestsInterestId1" /><label for="UserInterestsInterestId1">ショッピング</label></div>
<div class="checkbox"><input type="checkbox" name="data[UserInterests][interest_id][]" value="2" id="UserInterestsInterestId2" /><label for="UserInterestsInterestId2">旅行</label></div>
イカ省略ゲソ

書くのはだるいけど、自由に制御できるcheckboxメソッド(とlabelメソッド)

1
2
3
4
5
6
7
8
<ul class="interest clearfix">
<?php foreach($interests as $key => $val) {
echo '<li>';
echo $this->Form->checkbox('UserInterests.interest_id.', array('value' => $key, 'hiddenField' => false));
echo $this->Form->label(null, $val, array('class' => 'anyclass'));
echo '</li>';
} ?>
</ul>

↑モデル名の後ろに’.’を付けるのがちょっとした匠の技()
↓で、生成されたこれ

1
2
3
4
5
<ul class="interest clearfix">
<li><input type="checkbox" name="data[UserInterests][interest_id][]"  value="1" id="UserInterestsInterestId"/><label for="UserInterestsInterestId" class="labelinterest">ショッピング</label></li>
<li><input type="checkbox" name="data[UserInterests][interest_id][]"  value="2" id="UserInterestsInterestId"/><label for="UserInterestsInterestId" class="labelinterest">旅行</label></li>
<li><input type="checkbox" name="data[UserInterests][interest_id][]"  value="3" id="UserInterestsInterestId"/><label for="UserInterestsInterestId" class="labelinterest">読書</label></li>
イカ省略ゲソ

[CakePHP2]バーチャルフィールドを用いたqueryに頼らないfindでの集計方法

[2013/03/05]修正

アイテムに対するクリック数の取得など、集計をしたい時
なおかつ、IPでユニークにしたい時などに使えます。

ポイントは、なんと言ってもバーチャルフィールドです。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$days = 7;
$end = date('Y-m-d H:i:s', mktime(0, 0, 0, date('m') , date('d') - 1, date('Y')));
$start = date('Y-m-d H:i:s', mktime(0, 0, 0, date('m') , date('d') - (1 + $days), date('Y')));
$this->Click->virtualFields = array('dstsum' => 'count(distinct Click.ip)');
$data = $this->Click->find('all', array(
		'conditions' => array(
			'Click.created >=' => $start,
			'Click.created <' => $stop,
		),
		'fields' => array('Item.id', 'dstsum'),
		'recursive' => 0, 'limit' => 5,
		'order' => array('dstsum' => 'desc'),
		'group' => 'Click.Item_id',
		));

[CakePHP2]HtmlHelperのimageメソッドはリンクに関してあまり汎用性がない件

リンクは専門外

当たり前といっちゃあ当たり前ですね。
リンクに関しては専門外ということでしょう、オプションの設定は不可能です。
例:target=’_blank’
この実装は妥当だと思います。ごちゃごちゃしないで済むので。

Html->link

echo $this->Html->link($this->Html->image('funny.gif' , array('width' => '125'), '/jump/to' , array('target' => '_blank', 'escape' => false)));

エスケープの指定はcakePHP1と変わっているので要注意。

Html->image

echo $this->Html->image('crazy.gif', array('width' => '125', 'url' => '/jump/to'));

おまけ

alt属性は空文字が自動付加されるので、空文字を指定したいときは書かなくて良い。

「cronjobに登録してシェルを実行する」の翻訳がひどい件

http://book.cakephp.org/2.0/ja/console-and-shells/cron-jobs.html
http://book.cakephp.org/2.0/en/console-and-shells/cron-jobs.html

下に示すBASHスクリプトは、シェルを呼び出して必要なパスを$PATHに追加します。
これをvendorsCakeフォルダ以下に’cakeshell’としてコピーして、忘れずに実行してください実行可能とするのを忘れないでください
(chmod +x cakeshell)

[JavaFX]JavaFXのコンパイル時にJavaFX Warning

JavaFXのコンパイル時にワーニング表示

コンソール表示

Device “Intel(R) Q45/Q43 Express Chipset” (\\.\DISPLAY1) initialization failed :
WARNING: bad driver version detected, device disabled. Please update your driver to at least version 6.14.10.5303

6.14.10.5179
利用可能な新しいドライバー: 14.42.15.5420 (6.14.10.5420)

対応

(マザボの)チップセットのドライバが古いということでご丁寧にお知らせしてくれてるだけなので、
大人しくチップセットドライバを更新しましょう。
インテル® チップセット・ソフトウェア・インストール・ユーティリティー

戯言

>>会社
Core2卒業させてください。

[CakePHP2] TinyIntで爆死

CakePHPでTinyIntをフラグ以外の意味で使用しようとすると死にます。
0と1は入るけど、2以上は入らない。

今回は、既存アプリの置き換えで爆死。