Personal tools

Programming

15 posts
  • 椅子が無いならなぜ大工用具を使わないんでしょう on by ultraviolet, [Programming] Hatena Bookmark

    プログラミングの本当の難しさは、言語を憶え難いというところ以外にある

  • WordPress のコードとしての問題 on by ultraviolet, [PHP, WordPress] Hatena Bookmark

    WordPress のコードの書き方における問題点、特に Theme および Plugin について。

  • プログラミング言語の生誕地 on by ultraviolet, [Google, Programming] Hatena Bookmark

    reddit で拾ってきたネタですが、メジャーなプログラミング言語が生まれた場所を Google Maps 上にプロットした地図だそおです。 大きな地図で見る そうか、Ruby の生誕地って Shimane Prefecture だったなそう言えば。しかし知らない言語って結構いっぱいあるなー。 でもこの地図ってオチがあって、Perl も Python も Ruby も入ってるけど、PHP が入ってないんだよね…

  • 作るのが好きな人 on by ultraviolet, [WebApps] Hatena Bookmark

    Webサイトを作るのが好きな人、他人に役に立つのが好きな人、自分の作品を世に出すのが好きな人。それぞれの特徴。

  • WordPress 2.5 のフィード日付バグ on by ultraviolet, [WordPress] Hatena Bookmark

    WordPress 2.5 とオブジェクトキャッシュ(XCacheなど)を同時に使うと RSS/Atomフィードの日付がおかしくなる、というバグがある

  • コボラライゼーション on by ultraviolet, [PHP] Hatena Bookmark

    環境がそこそこ便利で使い易いためにそこに安住して進歩しなくなってしまう、いわゆる COBOLer 化こそ、PHP が良くない感じに陥りつつある元凶なのかもしれない。

  • 悪いのはPHP自体じゃないかもしれないけど on by ultraviolet, [PHP] Hatena Bookmark

    世のPHPプログラマは、もっと窮屈で不自由な言語を学んでみて、そこから自分のPHPプログラミングに何を生かせるか考えてみるべきぢゃなかろうか。

  • WordPress の内部動作 on by ultraviolet, [PHP, WordPress] Hatena Bookmark

    WordPress が呼ばれてから SQL を実行してポストを取ってきて $POSTS にぶち込むまでの動作を追ってみました。SQL に手を加えるための hook が山のようにあるとわかったので、これを勉強しないといかん。

  • コードが汚い on by ultraviolet, [PHP, WordPress] Hatena Bookmark

    WordPress の Theme はコードが汚くなりがちなので何とかして欲しいけど、それはある意味 Open Source の宿命なのかもしれんなあ、という話。

  • 循環参照 on by ultraviolet, [Perl] Hatena Bookmark

    はてなCTOの日記を参考にして、初めて Scalar::Utils::weaken を使ってみました。とあるスクリプトを SpeedyCGI 使ってプロセス永続化したんですけど、これが循環参照バリバリ。1サイクル終了時に相互参照をクリアするメソッド作ったんですが、どっか見落としがあったらしくて、どうしてもメモリから解放されないオブジェクトができてしまってた。 ところが Scalar::Util 使って循環参照になってるとおぼしき変数を全部 weaken してみたんだけど、DESTORY されるかどうか見てみると、1サイクル終わっても1つだけ解放されないオブジェクトが残ってる。どうしちゃるかねとゆうわけで、今度は Devel::Cycle を CPAN から取って来てインストール。ところがこれ、参照元側のオブジェクトを1個指定して循環参照を検索するもんなんですね。どれが参照元なのかわからないので、やっぱり見つからないー。 なんか入れるとそれを参照してる参照元を探してくれるモジュールって何か無いですかね? Postedit: 思惑通り 小飼さんきたー。ありがとうございます。 うちの perl は Debian Etch に入ってる -DDEBUGGING 無しのやつだったので、さっそく perl-debug パッケージを追加で入れて、Devel::Leak も入れました。今から改めてデバッグ。