ログ日記

作業ログと日記とメモ

2006-10-01から1ヶ月間の記事一覧

エラー制御

PHP

http://blog.hawklab.jp/item-97.html こういうめんどくさいことが必要になるのは 読み込むファイルが存在するかどうかをチェックする ファイルを読み込む ということが簡単に書けないからで if (file_exists($path)) include $path;と書ければいいんだけど…

sleipnir

Ctrl+w を間違えて Ctrl+q と押してしまうと非常に切ない。

上司に勧めたいビジネス書

http://career.oricon.co.jp/news/38304.html#rk女性が選んだ編の方が本質をついてそうだ。

フレームワークの書き直し

依存関係を減らそうと思ってクラス図を書いてみたら、非常にまずいことになってた。 最初にコンテナにクラスを全部登録して必要になれば使えばいいやって思ってたから、依存関係がありすぎる。 複数のクラスにまたがる処理をまとめる場合って難しいな。 設定…

memcacheとapc

PHP

$size = 1; $count = 10; if (isset($_SERVER['argv'][1])){ $size = $_SERVER['argv'][1]; } if (isset($_SERVER['argv'][2])){ $count = $_SERVER['argv'][2]; } $m = new Memcache(); $m->connect('localhost', 11211) or die("connect error\n"); requir…

使ったことがない関数群

PHP

tokenizerを利用してAOPをやろうかと思ったりもしたんだけど PHP: runkit 関数 - Manual これを使う方がいいよなぁ。 サーバに組み込む必要があるけど・・自分の環境だとこっちの方がベターだ。 あとキャッシュ。 http://jp.php.net/manual/ja/ref.apc.php m…

extensionのフレームワーク

昨日書いた通り、静的型付けと動的型付けを混在させたいんだけど、これって全部PHPで作ろうと思うから不満が出るんだよなー。 別にPHPからCやJavaを呼び出してもいい。フレームワークで言うなら、アクション部分だけPHPにしてコアの部分をCで書いたっていい…

apc設定メモ

PHP

apc.shm_size って、カーネルの設定に依存するような感じで書かれてあるけど、関係なさそう。 http://www.linux.or.jp/JM/html/LDP_man-pages/man2/shmget.2.html SHMALL システム全体の共有メモリ・ページの最大数 (Linux では、この上限値は /proc/sys/ker…

楽しい言語は・・

PHP

配列の謎………ええ? - がるの健忘録 途中までコメント書いたけど長くなったのでこっちに書き直し。 配列の扱いは時々ハマる。 // この配列は以下の配列と同じです ... array(5 => 43, 32, 56, "b" => 12); // この配列は上の配列と同じです array(5 => 43, 6 …

interfaceとか使う?

PHP

PHPの開発にインターフェースって使うものなのかな? 一般的にはどうだろうと聞けるほど一般論が定まってないか。 class MyClass { private $otherLayer; public function __construct(MyLayer $layer){ $this->otherLayer = $layer; } ... こうすると、$oth…

PHPを使う理由は・・・

僕やはてながPerlを選ぶ理由 - naoyaのはてなダイアリー ここを読んだら少し元気になった。しかし そして、プログラマはかならずと言っていいほど、どれかひとつ以上の言語を愛しています。好き、ではなく愛しているのです。 PHPを愛しているのかと聞かれれ…

遅延評価とか

同じ引数で実行された関数は同じ結果を返す。 この「同じ引数」ってどういうことだろう。 f1 a b = a + b ここで f2 = f1 2 3 f3 = f4 2 3 where f4 a b = f1 a b とした場合、f3はf4からf1を呼んでおり、a と b の実態が何であるかは + 演算をしたときに初…

テスト駆動開発

http://d.hatena.ne.jp/heppokoprogram/20061024#1161701525 結局、趣味でプログラミングをやってる分には、致命的なバグが出ても損害が出るわけじゃないから、品質に対する意識とモチベーションは上がらないし、単体テストの有効性は分からない。 (snip) テ…

セッション管理

PHP

mixiを見てたらセッション管理をもっとまともにやらないとダメだなと感じてきた。 ログインを保存している場合でもAmazonとかはてなみたいに二段階に分けた方がいいな。 ログイン状態を保存しておきつつ、重要な画面に移る場合はパスワード入力を要求するよ…

関数合成演算子

.の扱いが分からない・・。 コメントを貰ったんだけどぱっと見で動きが理解できなかった。 f :: (b -> c) -> (a -> b) -> a -> c f g h = g . h f :: (b -> c) -> (a1 -> a -> b) -> a1 -> a -> c f g h = (g .) . h f :: (b -> c) -> (a2 -> a1 -> a -> b)…

頭の中で出来ると思ってたけど出来なかった・・

-- f a b = g $ h a b -- f a = g . h a f = (.) g . hこれをさ f = (g . .) hとか f = (g . (.)) hとかにしたかったんだけど、上は演算子が並んでるからかパースエラーになって、下は演算子を関数に変換してるからダメっぽい。 引数が増えていった場合とか…

mixiのセキュリティ

http://d.hatena.ne.jp/anonymouspage/20061015/1160883001 実際の所は分からないけれど、不可逆暗号を使ってても暗号後の文字列を比べたら分かるよね。 fladdict.net blog: MIXIを使った、トラフィックの個人追跡システム これは気付かなかったけど考えてみ…

配列とかカリー化とか

Haskellで二次元配列はどうするんだろう? 散々悩んで Array Int (Array Int a)は効率悪いしなぁ・・とか考えてたら scat.rb:ERROR 何もInt型にしなくても、配列のインデックスそのものを多次元にすればいいだけのことか・・。 type MyArray = Array Point a…

続・mixiのセキュリティ

ミクシィ、画像に認可制御なしの欠陥を改修できず、ヘルプで弁解 | スラド これは実質的な問題が無くても、騒がれることが問題になってるような。 日記を非公開の人の画像が見れるとしても、そのURLを知るマイミクが外部に持ち出さないと問題が起こらない。 …

memcacheの制限

PHP

きのうの memcached ネタ - にぽたん研究所 色々検索して、perlのコードをPHPに書き直して自分で実行してみて、やっと理解したorz 文字列は $str = str_repeat('.', $size);で作ってやってみたんだけど、デフォルトの設定じゃなかなかメモリを使い切らない。…

ふと思い立ってmemcacheを入れる

PHP

まずはmemcached apt-get install memcached pecl install コマンドは、configureオプションを変えられないのかな?私の開発環境はPHP4とPHP5が共存*1しているので追加モジュールのインストールが簡単にいかない。 探しても見つからなかったしソースを追って…

脆弱性

前の記事のリンクは プログラミング解説書籍の脆弱性をどうするか とあるが、脆弱性という単語もあまり好きじゃない。 どこかにバグという言葉について、あたかも自然発生したような印象を与えるからミスと言うべき(バグが発生したんじゃなくて純粋にミスを…

サニタイズ

凄く反応が遅いけど。 高木浩光@自宅の日記 - プログラミング解説書籍の脆弱性をどうするか, 「サニタイズ言うなキャンペーン」とは何か, ASPとかJSPとかPHPとかERBとか、逆だ.. 最近のプログラム入門書は、文字列解析機構があるという考え方がないのかな。…

PHPならではの

[PHP-users 6012] Re: PHP デザインパタン この投稿からだいぶ時間が経ってるんだけど、PHPならではのパターンってあるのかな? 変数ではなく値に型があることを利用したようなパターン。。。 mixedを受け取ってそこからの派生クラスというかドライバクラス…

lsコマンドの内部動作

メモ。 DIR *opendir() __open64 (name, O_RDONLY|O_NDELAY|EXTRA_FLAGS) sys_open() filp_open() open_namei() path_lookup() link_path_walk() // スラッシュで区切られた各トークンに対してdo_lookup() do_lookup() real_lookup() down(&dir->i_sem) look…

考えを整理

O/Rマッピング+イテレータを実装して表示のループを減らそうと思ってたけどこれはやめよう。 表示用のクラスを使って、そのイテレータでfetch()するようにしよう。

mixi

mixiのPHPコミュがアツい。

PHP5.1の設定

PHP

date.timezone = Asia/Tokyoこれを設定しないとタイムゾーンのstrictエラーが出る。

見上げてみる

よくHaskellで参考にしてる日記。 純粋関数型雑記帳 書いてる人のプロフィール。 http://fxp.hp.infoseek.co.jp/prof/index.html すごい・・。日本一とか・・問題見ても基礎知識が無いからよく分からない。 実は有名人だったんですね。 Perl/PHPも読み書きで…

小規模なフレームワークは自分で書くためのもの

次のシステムを作るにあたってずっと迷ってる。 CakePHPかSymfonyかmapleか。 コアさえも置き換えれるmapleは魅力的なんだけれど、最近フレームワークの開発がどうなってるのかが気になる。 AOPとかどうなったんだろう。 残りの二つは詳しく知らない。なんか…