メモ・手順書Wikiと個人的に気になった(特にIT関連)フィードを集めています。

中国から

中国から書き込み。

twitterをやり始めてからブログを書く気力もなく、放置してました。

中国でtwitterに書き込みできなくなった途端に、blogを更新を思い立つのは
やはり、何らかの形での言葉のはけ口みたいなのを欲しているようです。
自分では人に聞いてほしいことなどないと思っているのに
やっていることが違いますね。

ダイエットの経過 9/3

運動をはじめて1ヶ月近くになるだろうか。最近は体脂肪計では体脂肪率が17%〜23%を指している。体重は64.4kg程度。一回70kg程度まで体重を増やそうとしているのでプロテイン飲んで常に胃がもたれているぐらい食事を食べている。

トレーニングは前回書いたメニューのを繰り返している。今日も走ってきたが20秒ダッシュ+30秒ジョギングを6〜8セットぐらいできた。"ぐらい"と書いたのは走るのが辛すぎて正確な数をカウントできなかったため。最初は4回でへばっていたからだいぶ成長したようだ。足も太くなって以前運動後に膝が痛くなることが多かったのだがそれも少なくなってきた。後食事を沢山食べながら筋トレしているせいか腕立てで胸板がだいぶ厚くなった。

HIITダイエット

ここ2週間ぐらいダイエットを再開した。前回のダイエットは重くなりすぎた体重を落とすためにかなりきつめのカロリーコントロールとひたすら10km以上のウォーキング+ジョギングを行っていたが今回は方針転換。なるべくカロリーコントロールをしないで体重を現状維持か重くなってもいいので体脂肪率を減らす、つまり筋肉がつけばそれで良い。

運動メニューはこんな感じ
1日目 腕立て
2日目 腹筋
3日目 背筋 + HIIT
以降繰り返し

HIITの詳細は他のサイトにいくらでも説明が載っているので割愛するが、簡単にいうとインターバルトレーニングでダッシュ20秒とジョギング30秒を交互にできるだけ多くの回数を繰り返している。まだまだ体力がないので5回程度で体が限界になるが慣れてきたら回数を増やしていく。

以前は毎晩毎晩1時間半ぐらいウォーキングとジョギングをほぼ毎日2,3ヶ月続けても体脂肪率は19%程度で止まっていたが、しかし、今回は2週間程度筋トレとHIITと前後1km程度のウォームアップとクールダウンのジョギングをしただけで運動開始前に23%程度だった体脂肪率がさっき測ったらあっさり17%をさしたのでびっくり。前回あんなに時間をかけてウォーキングしていたのはなんだったんだろうか。

CakePHP hiddenフィールドでパラメータを引き継ぐ

複雑なフォームのパラメータを持ちまわりたかったので、cakephperの日記(CakePHP, MongoDB, Lithium)さんのよくある確認画面でのhiddenデータの持ち回り ver2を改造させていただき無制限でネストしてパラメータに押し込む用にしてみた。

class FormhiddenHelper extends AppHelper {
    var $helpers = array('Form'); 

    function hiddenVars() {
        $ret = "";
        $keyStack = array();
        $this->_hiddenVarsNestParse($this->data, $keyStack, $ret);
        return $ret;
    }

    function _hiddenVarsNestParse($data, &$keyStack, &$ret) {
        if (is_array($data)) {
            foreach ($data as $key => $val) {
                array_push($keyStack, $key);
                $this->_hiddenVarsNestParse($val, $keyStack, $ret);
                array_pop($keyStack);
            }
        } else {
            $ret .= $this->Form->hidden(implode('.' ,$keyStack)) . "\n";
        }
    }
}

CakePHP1.3 saveAllの複数レコード保存と複数モデルの保存の挙動についての注意

CakePHPの動作が難解なのでめも。

1.同一モデルの複数レコードの保存
※insertしたいのでidは指定しない
$data = array(
  'Article' => array(
    '0' => array(
        'name' => 'a',
        'price' => 1000),
    '1' => array(
        'name' => 'b',
        'price' => 5000)));

$this->Article->saveAll($data);

2.単一レコードに結びつく複数モデルの保存
Categoryに結びつくArticleを作成
$data = array(
  'Category' => array(
    'id' => 1),
  'Article' => array(
    '0' => array(
      'name' => 'a',
      'price' => 1000),
    '1' => array(
      'name' => 'b',
      'price' => 5000)));
$this->Article->saveAll($data);

ここで一つ問題が発生
Articleモデルのarticle.phpのvalidateに下記のような記述をした。

$validate = array( 
   'category_id' => array(

CakePHP1.3でredirectを含むコントローラーのテスト

コントローラーの応答にリダイレクトが含まれるとtestActionを実行したときにテストケースが終了してしまうという落とし穴がある。対処方法がリンク先にいろいろ書いてあるが、とりあえず簡単な対処方法が見つかった。

testActionで呼ぶURL部分でcake bakeで作成されたテストケースのTest◯◯Controllerクラスを呼ぶように書き換える。
変更前: $result = $this->testAction('/admin/categories/xxxx');
変更後: $result = $this->testAction('/admin/test_categories/xxxx');

#categories_controller.test.php

class TestCategoriesController extends CategoriesController {
var $autoRender = false;

function redirect($url, $status = null, $exit = true) {
$this->redirectUrl = $url;
}
}

class CategoriesControllerTestCase extends CakeTestCase {
<省略>

function testSomeCase() {
$result = $this->testAction('/admin/test_categories/xxxx');
}

リダイレクトを前提とするテストケースでtestActionに'return' => 'var'を設定するとエラーになる。ビューが呼ばれないのにビューの変数を読み込もうとしてしまったのが原因みたい。

サーバ移行完了

サーバの移行が完了しました。
疲れた。

サーバ障害により更新の凍結

サーバのハードウェア故障のため日中サーバがダウンしていました。
現在もいつ止まるか分からない状態なのでレンタルサーバに移行するまでの
間ホームページへの更新は凍結します。

と言っても最近ほとんど更新することなくなったけど。

xargsによるファイル名置き換え

ディレクトリ内のDMで始まるファイル名からDMを取り除く

ls DM* | sed 's/DM//g' | xargs -I FNAME mv DMFNAME FNAME

クラッシュ Desire

ケツのポケットに入れていただけなのに、気づいたら液晶がクラッシュしていた。
外装は壊れていなく中の液晶だけ割れているので修理代はかからないと思うが、X06HTの故障を持ち込まれたことがないからどうなるかわからないとのこと。

Desire crash

iPhoneとか他のケータイで今までこんなことなことないし、こんなに壊れやすいなら他のケータイより壊れやすいと書いとけクレームいれといた。

コンテンツ配信