SSHクライアントでログイン、パスワード、秘密鍵を記憶する

下記3点をインストールして、
 ・TeraTerm Pro
 ・SSH
 ・TeraTerm Menu

常駐した TeraTerm Menu の List Configuration で
簡単にログイン、パスワード、秘密鍵を記憶できた。
起動も一発でOK。

LogMeTTを使ってたけど、マクロが意味不明すぎた。

■参考サイト
窓の杜 – Tera Term

RAIDコントローラを使ってSCSI HDDでRAID組む手順

■環境
 サーバー     : HA8000 110 GD
 RIADコントローラ : Adaptec 2025S(HITACHI OEM)
 SCSIハードディスク: FUJITSU MAP3730NC x 1, MAP3735NC x 2

■手順
 1.RAID BIOS を起動させる
   → BIOS 起動中に Ctrl + A で画面へ移動。
 2.RAID UTILITY で SCSI HDD を認識できてるか確認
   → 型番が表示されればOK。
 3.Disk Utilities で対象のHDDをすべて FORMAT を実行する
   → フォーマットは3時間ぐらいかかる。
 4.Array Configuraltion Utility で以下を実行する
   1)initialize Drives で対象のHDD x 3をinsertで選択し初期化
   2)Create Array で対象のHDD x 3をinsertし、RAID 5を選択して作成
     → ここでRAID設定が行える
   3)Manage Arrays で設定したRAIDを確認
     → RAID組んでHDD容量がHDD x 3の容量で反映されているか
 5.完了

■備考
 RAIDコントローラで SCSI HDD が認識しなかったのだが、
 HDDを Disk Utilities でフォーマットしたら認識できるようになった。
 (型番は表示されるけど、RAIDが組めないという現象はこれが
  原因の可能性あり)

■参考サイト
 BIOS(バイオス)RAID 構成方法

CakePHPでサブクエリ(副問い合わせ)を使う

CakePHP1.3公式ドキュメント 「複雑な find の条件」項目の「サブクエリ(Sub-queries)」に詳細あり
https://book.cakephp.org/1.3/ja/The-Manual/Developing-with-CakePHP/Models.html#id10

CakePHP1.3公式ドキュメント 英語版だと「Complex Find Conditions」項目の「Sub-queries」に詳細あり
https://book.cakephp.org/1.3/en/The-Manual/Developing-with-CakePHP/Models.html#complex-find-conditions
※英語版のほうがもう少し詳細が記載されていました

以下、CakePHP公式ドキュメントの引用(2012/03/06時点)

サブクエリ(Sub-queries)
例えば、Usersテーブルに、id, name, statusカラムがあるとします。 ステータスの値は、A, B, Cのいずれかです。 この前提で、ステータスがB以外のユーザを、サブクエリを使って取得する例を挙げます。
サブクエリを使うには、モデルのDatasourceオブジェクトを取得し、クエリを組み立てます(DatasourceのbuildStatement()メソッドを利用して)。この返値は、SQL文がそのまま入ります。そのSQL文を使ってfindメソッドの条件(conditions)を組み立てます。
  1. $conditionsSubQuery[‘`User2`.`status`’] = ‘B’;
  2. $dbo = $this->User->getDataSource(); //Datasourceオブジェクトを取得
  3. $subQuery = $dbo->buildStatement(
  4. array(
  5. ‘fields’ => array(‘`User2`.`id`’),
  6. ‘table’ => $dbo->fullTableName($this->User),
  7. ‘alias’ => ‘User2’,
  8. ‘limit’ => null,
  9. ‘offset’ => null,
  10. ‘joins’ => array(),
  11. ‘conditions’ => $conditionsSubQuery,
  12. ‘order’ => null,
  13. ‘group’ => null
  14. ),
  15. $this->User
  16. );
  17. $subQuery = ‘ `User`.`id` NOT IN (‘ . $subQuery . ‘) ‘;
  18. $subQueryExpression = $dbo->expression($subQuery);
  19. $conditions[] = $subQueryExpression;
  20. $this->User->find(‘all’, compact(‘conditions’));
上記の条件を用いてfindメソッドを呼び出すと、下記のSQL文が発行されます
  1. SELECT
  2. `User`.`id` ,
  3. `User`.`name` ,
  4. `User`.`status`
  5. FROM
  6. `users` AS `User`
  7. WHERE
  8. `User`.`id` NOT IN (
  9. SELECT
  10. `User2`.`id`
  11. FROM
  12. `users` AS `User2`
  13. WHERE
  14. `User2`.`status` = ‘B’
  15. )
もし、SQLの条件式を直接記述したい場合は、Datasourceのexpression()メソッドを利用すれば、それをそのままfindメソッドの条件配列に渡すことができます。

CakePHPの抽出条件

findAllは非推奨になったため、find allで。

category4 = ‘1万通貨’ の抽出条件で取得したい場合は、
conditions に配列を入れる必要がある。

        $conditions =  array(
            ‘conditions’ => array(
                ‘SpecValue.spec_category4’ => ‘1万通貨’,
            ),
            ‘order’ => ‘SpecValue.id ASC’,
            ‘limit’ => 8,
            ‘fields’ => array(
                ‘SpecValue.id’,
                ‘SpecValue.company’,
            ),
        );
        $this->set(‘spec_values_category’, $this->SpecValue->find(‘all’, $conditions));

参考サイト
マニュアル»CakePHPによる開発»モデル»データを取得する»find
CakePHPでのSQL