会社のノートパソコンの電源を抜いた。
・・・即座に落ちた><

バッテリーが壊れて充電されなくなっていた。

うぅ。。。。SHARP の機械はもういやだ。。。

バカの壁

2005年2月28日 読書
ISBN:4106100037 新書 養老 孟司 新潮社 2003/04/10 ¥714
 まぁ、会社でごたごたがあって
気分転換に成りそうな本というわけで
読んでみました。

 ものの見方としてなかなか興味深い内容だった。
一読しておくのはいいかと。
おすすめ〜☆

赤字突入

2005年2月23日 日常
2日から1日という切れの悪い周期で始まった家計簿、
今月抑え気味だったにもかかわらず、もう赤字突入。
(判明している今月中の支出を含めて。)
しばらく昼飯抜きか。

早く転職しないと、大変なことに。
転職しても給料が上がる可能性も少ないか。。。

きょうは猫の日

2005年2月22日 日常
にゃーにゃーにゃー
「まいじゃー推進委員会」(http://maijar.jp/)の
リンクからたどって
「【涙を】泣けるライトノベルは何ですか?【振り絞れ】」
(http://www.geocities.jp/eternal_sisters/lightnovel/cry_lightnovel.html)
を見に行った。
 「『猫の地球儀』がいいせん行っているだろうなぁ。
僕的にはやっぱ『LAST KISS』だな。」
って見てみたら「猫の地球儀」が5位で「LAST KISS」が3位。
で、アンケート時のコメントが名前無しで載っていたのだが、
「LAST KISS」の一つ目のコメント、
どっかで見たことあるような〜って考えたら
そういや昔自分が投票したことを思い出した(爆)
なんとなく、うれしい。

=====
2012/01/25 リンクを修正しました。

あらら

2005年2月18日 日常
ついに仕事が大変なことに。
転職先早く見つけないと。
ハローワークへ行く準備も。
2009年12月16日記:

追記に失敗して内容ふっ飛ばしました><

===============================
PostgreSQL ver 8.2 以降では

random value in the range 0.0 <= x < 1.0

となっています。
PostgreSQL ver 8.1 以前では

random value between 0.0 and 1.0

です。
PostgreSQL 8.2 のマニュアル
http://www.postgresql.org/docs/8.2/interactive/functions-math.html

PostgreSQL 8.1 のマニュアル
http://www.postgresql.org/docs/8.1/interactive/functions-math.html

===============================

ISBN:4044507015 文庫 雨川 恵 角川書店 2004/11/29 ¥480

 Standard な話の展開だけど、面白い。
 小さなお姫様がもっとでてくれば良かったなぁ。
(はっ、お姫様ロリ属性か(自爆)
十二国記の「風の万里 黎明の空」で
ちょっと出ただけの 供王珠晶さまに転んだし。(連爆))

 まぁよしかな。
属性があう人には
物足りないかもしれないけどおすすめ(笑)。

ぎゃぁ〜

2005年2月16日 日常
地震だ地震だ地震だぁ〜
ISBN:4840228582 文庫 鎌池 和馬 メディアワークス 2004/12 ¥599

 買ってから暫く積読状態だったのですが、
やっと読みました。

 当初はギャルゲー路線強化か?
と思ったが、結構ハードな展開に。
ちょっと納得がいかない部分もあるけど、
まぁ良しかな。

家計簿を作る

2005年2月5日 日常
 家計簿を付けることにした。
今まで、貯金の残高を見て大体のペースを抑えていたのだが、
ここのところ、出費が激しくなり、、お金が全然溜められない。
次の MSDN の更新はもうできなさそう。
(MSDN Universal Subscription より上位のものが出るようなのに)。

 で、とりあえず、家計簿を付けることにした。

 本屋で家計簿帳をいくつか見てみたけど、
EXCEL や Access を使ってすること以上の
利点が見いだせるものは無かった。
レシートを張り付ける形式の家計簿があると聞いたが
現物を見られず。
パスネットやバスカード、
EDYカードや Suica まで含めると
現金資産の形態は複雑だし。
複式でやりたかったし。
(簿記帳ならよかったかも・・・
でも、その場合でも手書きでする意味はない。)

 で、困ったのはレシートや領収書のの管理。
そこで、100円ショップで A4のファイリングケースを買って来て
そこに入れることにしてみた
・・・が、これじゃぁ整理にならないな・・・
と翌日、封筒を買ってきて1日毎にレシートを入れることにした。
封筒には
日付とその日の支出額合計、
レシートの無い支出、
レシートにあっても支出でない金額
(Suica のチャージや金券の購入などなど)
を書いていくことにする。
Excel で現金残高の管理と支出の合計を管理。
これは暫定で Access できちんとしたものを
作る予定。
勘定科目の取り扱いが結構面倒になるけどね。

2/2 から始めたけど、つづくか?
2009年6月24日追記
この日記の内容は「当時こうした」というもので、
is_int の動作や使い方に関しては
他によりよいページがあると思います。

なお、「End_Of_SQL」で探してきた人は
http://diarynote.jp/d/10395/20071001.html
を見てください。
========================================
 僕は基本的に型の強い言語の方が好きである。
(でも、コンパイラ言語よりインタプリタ言語が好き。)

 PHP から PostgerSQL を使っているが、
ヒアドキュメントに変数を埋め込む形で
SQL 文を作って渡すようにしている。
 で、SQL インジェクション を防止するため、
サニタイズしてから埋め込む。
文字列なら

$foo = pg_escape_string($foo);
$SQL=<<End_Of_SQL
SELECT ’$foo’;
End_Of_SQL

 NULL を考慮するときは

if(is_null()){
    $foo = ’NULL’;
} else {
    $foo = "’" . pg_escape_string($foo) . "’";
}
$SQL=<<End_Of_SQL
SELECT $foo;
End_Of_SQL

みたいにして。
で、問題は数値。特に整数値。

 PHP は 型の弱い言語で通常は型を強く意識する必要はない。
最初にその変数に代入したときの値で内部に型を持ち、
必要なときに暗黙に型変換を行う。

    $foo = 3;
    echo $foo . ’ +1 は?’;
    echo $foo + 1;
    $foo = ’3’;
    echo $foo . ’ +1 は?’;
    echo $foo + 1;
結果:
    3 +1 は?
    4
    3 +1 は?
    4


 is_numeric という関数はその変数が数値か数値文字列なら
TRUE を返す。

    $foo = 3;
    echo is_numeric($foo);
    $foo = 3.0;
    echo is_numeric($foo);
    $foo = ’3’;
    echo is_numeric($foo);
結果:
    true
    true
    true

しかし、PHP の組み込み関数の is_int は
変数の内部に持つ型が int型かどうかを判定する。

    $foo = 3;
    echo is_int($foo);
    $foo = 3.0;
    echo is_int($foo);
    $foo = ’3’;
    echo is_int($foo);
結果:
    true
    false
    false

 SQL文に渡す前の前チェックで、
変数に is_numeric を噛ますことで
SQL インジェクションは防いでいた。
しかし、整数でなければならないところで
整数値かどうかのチェックをしていなかった。
 で、実験してみた。

CREATE TABLE boo(int_field INTEGER UNIQUE);

みたいなテーブルがある状態で

$foo = 3.1
$SQL=<<End_Of_SQL
SELECT int_field FORM boo
WHERE int_field = $foo
End_Of_SQL

ってのはまぁいい。
int_field を numeric型にキャストして比較されるので。
問題は関数を使ったとき。

CREATE FUNCTION woo(INTEGER) RETURNS INTEGER AS
’SELECT $1’ LANGUAGE SQL;

としてあるときに

$foo = 3.1
$SQL=<<End_Of_SQL
SELECT woo($foo)
End_Of_SQL

とすると エラーが発生する。
 実際、html の Form で
数値を直接入力させるところは無かったが、
SELECT で数値を選ぶところがあり、
Form を改竄して直接値を放り込むテストをしたところ、
PostgreSQL のエラーが出てしまった。

 で、数値を入れて query を投げるときに
数値が整数かどうかをチェックすることにした。
でも、is_int ではだめ。
Form から送られてくるのを $_REQUEST から取り出して
変数に代入するので
内部型は整数ではない。
全部明示的に整数型にキャストすることも検討したが、
意図しない値に変わるのを嫌った。

 で、

function is_int_numeric($var){
    returns is_numeric(var) && ((int)$var == $var)
}

という関数を作った。
但し、これでは

$foo = 3.0
if(is_int_numeric($foo)){
    exit();
}
$SQL=<<End_Of_SQL
SELECT woo($foo)
End_Of_SQL

の場合にエラーとなるので
チェック後に明示的に int型にキャストするようにした。

$foo = 3.0
if(is_int_numeric($foo)){
    exit();
}
$foo = (int)$foo;
$SQL=
アクセスログを見ていて判明した、
「無責任館長タイラー」は修正しました。
検索しなおしてください。
 まぁ、作ってみたんで上げました。
探せば既にいくらでもある気がしますが。
 「NaruTo の御家」(http://www.miko.org/~naruto)の
「計算機譜表工房」に置いています。
ちなみに Excel File です。
ISBN:4086302217 文庫 桜坂 洋 集英社 2005/01 ¥520

 さて、4巻は主要メンバ4人(野郎は無視)の最後、
pantsless 弓子以上に人気が高いと思われる
嘉穂中心の話・・・だったはずなのに
乗っ取られています。
・・・でも、
「人工無脳を搭載した伝説の十八禁ゲーム」って・・・。
確かにそんなのがあったことは記憶しているが、
なんでそんなもの知っているんだ。
生まれる前だから「伝説」か?
 それに僕は Wizardry は PC-9801 でしかしたことないが、
罠解除の時の入力でカナ入力が嫌で
英語で遊んでいたから
こよみが指摘するまでなんのことか分からなかった。
 読み返してみたけど、
「烏龍茶」と「UFO」の関係は
分からなかったし。

 おすすめ〜・・なんだけど次巻につづく強力な引き。
はよ次出せ〜。
火曜日に、「TOBU」で「肉3パック1000円」というのをやっていた。
で、ステーキを2パックと「炒めてたべてもいいや」としゃぶしゃぶ用(と書いてあった)の牛肉を買った。

で、今日食べようと白菜、えのき、昆布だし、そして豚しゃぶ用と書いてある豚肉を買った。
(妙に具が少ない気も・・・)

さて、帰ってしばらくして。
「大事なことに気がついた」彼女が宣もうた。
「(卓上)コンロが無い」

そういうわけで、今日はステーキになった。
ISBN:4757720998 文庫 夏 緑 エンターブレイン 2004/12 ¥672
 「白人萠乃と世界の危機」といっしょに買いました。
(だから、なんで「ミナミノミナミノ」をまだ買ってないんだ〜)

 男子禁制の巫女さんの学校に男の子が女装して紛れこんで・・・っていう話です。
巫女さんいっぱいでいい感じ。
でも、やっぱり主人公の男の子が一番かわいいくていいです。
(・・・哺乳類失格?)
作者のショタ魂を感じます。

 おすすめ〜☆
ISBN:4840229120 文庫 七月 隆文 メディアワークス 2005/01 ¥578

 読みました。
電車の中で。
(もちろん、きちんとカバーを付けて。)

 作者、壊れてます。
きっと「書いた既刊の続編がお蔵入りになった」みたいな
不幸な事態があったのでしょう。(おいおい)
もっとも、「ミナミノミナミノ」を横目にみながら
敢えてこっちを手に取った僕も壊れているような気が。(こらこら)

 そういうわけで(どういうわけ?)おすすめ〜☆
ISBN:4152033932 単行本 小尾 芙佐 早川書房 1989/04 ¥1,575

 読んでみたいと思っていたが、なかなか機会がなかった古典的名作。
 彼女に借りていまさらながら読みました。

 まず、「翻訳に苦労しただろうなぁ」ってとこ。
原作の綴り間違いだらけの文章の雰囲気を出すのは結構難しかったと思う。
 あと、チャールズの変化を目の当たりにする周りの人の描写から人の多面性をうまく表しているように思う。

 一度は読んでおかないといけない本。
おすすめ〜☆

誕生日。

2005年1月9日 日常
年齢が四捨五入できない年になりました。
たった1日の違いで10歳年を取ることになるのですから。

 彼女からのプレゼントは手編みのマフラーだ。
暖かいぞ〜〜〜〜。

< 9 10 11 12 13 14 15 16 17 18 19 20 21 >