capsctrldays

2008-08-02 (土) [長年日記] Edit

[映画] ホリデイ [DVD]

よくできた普通の映画。

ジャック・ブラックはどこに出てても凄いなあ。


2008-08-03 (日) [長年日記] Edit

[映画] ウォリアーズ [DVD]

何をどう見ればいいのか分からんなあ。NYにもこういう時代があったの?


2008-08-05 (火) [長年日記] Edit

[CakePHP] Beginning CakePHP: From Novice to Professional(David Golding)

やっと届いた。初心者っぽい内容みたいだけど。とりあえず流し読みしてみよう。

次のレベルの『 Practical CakePHP Projects (Practical Projects)(Kai Chan/John Omokore/Richard K. Miller)』ってのが12月に出るらしい。


2008-08-06 (水) [長年日記] Edit

[] 舌に口内炎ができててクソ痛い

親知らずを抜いたときのような痛みだ。

[Mac] VMWare FusionでゲストOS(Ubuntu Server)と共有フォルダを使いたい

Mac側の共有フォルダの設定は「仮想マシン」>「設定」>「共有フォルダ」でできる。

ゲスト側はVMWareToolsをインストールしないといけないらしい。

$cd /
$sudo mount dev/cdrom cdrom
$cp cdrom/VMWareTools-XXX.tar.gz /tmp
$tar zxvf VMWareTools-XXX.tar.gz
$cd vmware-tools-distrib
$sudo ./vmware-install.pl

ウィザードそのままでリターン連打。

で、再起動したら /mnt/hgfs/XXX みたいなのが出る。が、 パーミッションが軒並み501なのであとでどげんかせんと。

あと、別のところで引っかかったところ。

追記:

普通に /etc/passwd と /etc/group の番号を501に書き換えた。

HOMEディレクトリのパーミッションも変更。

$sudo chmod -R kdmsnr.kdmsnr /home/kdmsnr
本日のツッコミ(全1件) [ツッコミを入れる]

1 みるふぃ [sambaじゃだめですか?]


2008-08-10 (日) [長年日記] Edit

[映画] ゾンビーノ デラックス版 [DVD]

ゾンビをペットにする、ただそれだけのことが、こんなにも頭のおかしいことだとは思わなかった!おもしろい!


2008-08-11 (月) [長年日記] Edit

[] のだめカンタービレ #21 (講談社コミックスキス)(二ノ宮 知子)

あれ?今までセックスしたことあったの?

[] デトロイト・メタル・シティ 6 (ジェッツコミックス)(若杉 公徳)

あーI世ってそういうことだったのか。 しばらく読んでなかったので、今の連載についていけてなかった。


2008-08-12 (火) [長年日記] Edit

[CakePHP] 郵便局のサイトから自動で郵便番号データをインポートする

masuidriveさんのRakeタスクをポートしてみる。

とその前に

デフォルトでトランザクション機能がついていないという素晴らしいPHPっぷりを発揮していらっしゃるので、

でメソッドを追加しておく。

モデル作成

<?php
class Zip extends AppModel {
    var $name = 'Zip';
}

テーブル作成

create table zips (
  id varchar(7) primary key,  --zip7
  prefecture_id integer,
  city varchar(64),
  town varchar(254)
);

vendors/shell/zip.php にコマンドを配置

<?php
class ZipShell extends Shell {
   var $uses = array("Zip");

   function main() {
       system("rm ken_all.csv; wget -O - http://www.post.japanpost.jp/".
              "zipcode/dl/oogaki/lzh/ken_all.lzh | lha x -");

       $this->Zip->begin();
       $this->Zip->deleteAll(array("NOT" => array("id" => null)));
       $fh = fopen("ken_all.csv", "r");
       while($cols = fgetcsv($fh)) {
           $data = array(
               "id" => $cols[2],
               "prefecture_id" => substr($cols[0], 0, 2),
               "city" => mb_convert_encoding($cols[7], "UTF-8", "SJIS"),
               "town" => mb_convert_encoding($cols[8], "UTF-8", "SJIS")
               );
           $this->Zip->create();
           if (!$this->Zip->save($data)) {
               $this->Zip->rollback();
               $this->error("rollback!! at " . $cols[2]);
               exit();
           }
       }
       $this->Zip->commit();
       system("rm ken_all.csv");
   }
}

実行

$cake zip

みたいな感じ。


2008-08-13 (水) [長年日記] Edit

最短で結果が出る超勉強法(荘司雅彦)

TSUTAYAのDVD。

「地頭力」を猛烈にdisってて笑った。


2008-08-14 (木) [長年日記] Edit

[映画] ショーン・オブ・ザ・デッド (ユニバーサル・セレクション2008年第6弾) 【初回生産限定】 [DVD]

クソおもしれえええええええええええええ。

エドガー・ライトすげえな。ボンクラの星だなあ。


2008-08-15 (金) [長年日記] Edit

[] 1の力を10倍にする アライアンス仕事術(平野敦士カール)

各社の偉い人に取り次いだ俺偉い、みたいな本で、本当に嫌ぁ〜な感じがする。実際に「作った」人というのは、開発したりテストしたりデザインしたりアレコレアレコレやった人だと思うのだけれど、この人はランチしたりメールしたり企画書をコンサルに頼んだりしかやってねーんだろ。

あーあーあー。こういうのに共感しちゃうのを「アライアンス脳」とでも呼ぼう。特徴としては、「了解しました!」みたいに、いちいちメールに「!」をつける人のことです。

まあ、でも、社外の人と一緒に何かをやるってこと自体はぜんぜん悪いことじゃないし、ランチを一緒にとるというのも、いいことだと思う。

今はかなり自由な身なので、是非、誰か一緒にランチ行きましょう!(アライアンス脳)。


2008-08-16 (土) [長年日記] Edit

[] マインドマップではじめるモデリング講座 (DB Magazine SELECTION)(浅海 智晴)

メタモデルを作ってるのは流石としか言いようがないが、 まあ、これは実際には使わないわなー。


2008-08-18 (月) [長年日記] Edit

[CakePHP] バリデーションとか

Railsもそうだけど、モデルに宣言的にバリデーションをつけるのはよくない。

なので、

class Hoge extends AppModel {
    function validateHoge() {
       // reset errors
       $this->validationErrors = array();
       $this->validate = array();

       $this->validate["email"]["rule1"] = array(...);
       // ...
    }
}

みたいなのを用意して、いちいち呼び出した方がいいはず。

コントローラからは、

$this->Hoge->create();
$this->Hoge->set($this->data);
$this->Hoge->validateHoge();
$errors = $this->validateErrors($this->Hoge);

みたいな。

バリデーションと同時に、いらないキーも排除しときたいので、

class AppModel extends Model {
   function exclude($attrs = array()) {
       foreach($this->data[$this->name] as $k => $v) {
           if (!in_array($k, $attrs)) {
               unset($this->data[$this->name][$k]);
           }
       }
   }
}

とか用意しといて、

class Hoge extends AppModel {
    function validateHoge() {
        $this->exclude(array("a", "b", ...));

みたいな。

[CakePHP] Model::set

普通はこういう感じで使うけど

$data["Model"] = array("in_model" => "AAA", "out_model" => "BBB");
$this->Model->set($data);

モデル名を外すとうまくセットできない

$data = array("in_model" => "AAA", "out_model" => "BBB");
$this->Model->set($data);

でも、モデルの属性だけだとセットできる

$data = array("in_model" => "AAA");
$this->Model->set($data);

うそ。別のタイミングだ。

むー。どこでおかしくなってんだろ。

どっかにキャッシュされてるっぽいなあ

こまめに削除と再起動しよう。

ってか問題なのはidがセットできちゃうところだよなあ

コントローラの $this->data は使わないようにしないと。

本日のツッコミ(全7件) [ツッコミを入れる]

1 kou [どうして宣言的につけるのがよくないのかも、PHPもよくわかないのですが、名前は悪いと思います。 Hogeクラスにv..]

2 kdmsnr [1. こっちの書き方が悪いですね。validateHoge の Hoge はクラス名ではない任意の名です。 2. ..]

3 kou [1. やっぱり名前が悪いじゃないですか。。。 2. こいつってモデルオブジェクトのことですか?モデルオブジェクトの..]

4 kdmsnr [2. これも名前が悪いんでしょう。]

5 yyamano [> モデルに宣言的にバリデーションをつけるのはよくない これ理由を教えてもらえませんか。僕はバリデーションのための..]

6 kdmsnr [任意の値をバリデートしてビューに戻したいからです(モデルとビューが結びついているフレームワークの制約でもありますが)..]

7 yyamano [あー、なるほど。バリデーションのルールとバリデーションそのものが一緒になっているのが問題なんですね。]



2008-08-22 (金) [長年日記] Edit

[] シグルイ 1 (チャンピオンREDコミックス)(南條 範夫/山口 貴由)

とりあえず10巻まで(11巻出てるんだよねえ)。

基本的にバキの類なんだけど、画の迫力が凄い。こっちが飲み込まれる画。

[] 新宿スワン 1 (ヤングマガジンコミックス)(和久井 健)

今までスルーしてたけど、普通に面白いね。

永久的にキャッシュバックされる仕組みはいいよね。 でも、きちんと計上してくれるんだろうか。


2008-08-23 (土) [長年日記] Edit

[iPhone][散財] iPhone 3G

無駄な出費だとは知りつつも、趣味でObjective-Cを始めるために購入。

長年使ってきたWILLCOMは解約の方向なので、電話番号変わります(mixiには書きましたけど)。ご注意ください。

[iPhone][散財] GRIFFIN iPhone3G用高級感溢れるハードシェルレザーケース ELANFORM-IP-BK

カバーとプラスティックのフィルム。 割といいですよ。


2008-08-25 (月) [長年日記] Edit

age++

30

本日のツッコミ(全15件) [ツッコミを入れる]

Before...

1 コウイチ [おめでとうございます。 いってらっしゃい!]

2 bakock [おめでとうございます。いらっしゃいませ。]

3 yojik [ようこそ!! 入門おめでとうございます]

4 dot [夢の大台30代へようこそ。]

5 takahashim [おめでとうございますー]

6 swat [おめでとうございます!]

7 tpircs [おめでとうございまーす!]

8 kitaj [おめー ようこそこちら側へ.]

9 jun200 [おめ]

10 MUNEDA [おめでとうございます.ようこそ]


2008-08-27 (水) [長年日記] Edit

[] 某社社長就任祝い会

おめでとうございます。

お祝いに ショッカーATMバンクをお持ちいたしました。# Amazonだとちょっと安かったんだなー。

あと、壁掛け用にハンティング・トロフィーのドールシープも。

ちなみにお店は、渋谷のFUNKY CHICKEN BAR もりげんでした。


2008-08-29 (金) [長年日記] Edit

[] よつばと! 8 (電撃コミックス)(あずま きよひこ)

ほっこりした。幸せすぎる。

そういえば、やんだはGANTZのホストに似てるな。

[] フォーカス・リーディング 「1冊10分」のスピードで、10倍の効果を出す いいとこどり読書術(寺田 昌嗣)

右脳系とか潜在能力系とか胡散臭すぎなのでやれるところまでやるよ、というスタンスは非常に好感が持てる。でも結局は、よくある目的意識と呼吸やら目の使い方になるのは……まあ、仕方ないか。


2008-08-30 (土) [長年日記] Edit

[] 聖☆おにいさん 1 (モーニングKC)(中村 光)

これが人気あるの?

クソつまんないんだけど。

[] 人が集まる !行列ができる !講座、イベントの作り方 (講談社プラスアルファ新書)(牟田 静香)

タイトルとかチラシとかが超重要なので、力を入れて作りましょう、というもの。難しいのはダメ(カタカナ文字とか)、一般人が読む雑誌やらテレビやらからパクって作るといいかも、みたいな。

まあ、一理ある。

[] お客をまとめてつかまえる「セミナー営業」の上手なやり方 (DO BOOKS)(斉藤 芳宜)

とりあえず、入社早々に「セミナー、いつやるの?」って聞かれる船井総研って何なの?バカなの?って思ったけど、セミナーやってエサをまいて、その後のコンサル業務につなげるらしい。ふーん。

小手先のテクニックがてんこもり。実際にセミナーとかやるんだったら参考になりそう。

[] プロ講師になる方法―講演は自分を活かす新しい舞台だ!リピートがどんどんくる成功ノウハウのすべて(安宅 仁/石田 一廣)

心得集みたいな感じになってるけど、これも小手先のテクニックだなあ。

なんつーか、セミナーって密度が薄いんだよねえ。 話し方とか仕草とか雰囲気とか、確かに重要だけどさあ、楽しい時間を過ごしに行ってるわけでもあるまいし。


2008-08-31 (日) [長年日記] Edit

[] 絶対、儲かる!法人営業のすすめ―今から売上げが増加する最強マーケティング・サイクル(野呂 良材)

自分の回顧録と横文字を並べた"営業戦略"っぽいもの。まあ、大企業向けだなあ。

[] 脳が教える! 1つの習慣(ロバート・マウラー/本田 直之/中西 真雄美)

脳が恐怖を感じるとうまくいかないので、 未知なものは小さくして 「大丈夫だよ恐くないよ」 というふうに与えてあげるとよい。

小さく質問、小さく思考、小さく行動、小さく解決。

でっていう感じだけど。

[] 会社のお金はどこへ消えた?―“キャッシュバランス・フロー”でお金を呼び込む59の鉄則(児玉 尚彦)

「どこへ消えた」って問題提起がおかしくねーか。現金が足りなくなることなんて、いちばんビクビクしてるところだろーに。

[映画] ノーカントリー スペシャル・コレクターズ・エディション [DVD]

最近の若い奴は的な。

原作読まないとダメっぽいなあ。