これシュール画像だろうw
思わず笑った。
P.S.
いつも思うけど、楽天の商品タイトルとかページタイトルがすごく下品なのは何とかならないのだろうか。ブラウザで見るだけならまだいいんだが、API経由で取得したりすると本当にがっかり。
[JavaScript] typeof arg == 'undefined' っていらないんじゃね?
- 2008-09-24
- カテゴリ: Client Side
- タグ: Tips JavaScript
以前にも JavaScript の null と undefined に関する記事を書いたことがあったが、またしても性懲りもなく null と undefined の挙動につまずいて、 ECMAScript 3 の仕様書まで調べ直したので、メモ代わりにエントリー化。
Abstract
このエントリーの内容をざっくりとまとめると、
something == null
がどういう値を返すのかが気になって、ECMAScript 3 の仕様書までさかのぼって調べてみると、
null == null
undefined == undefined
null == undefined
undefined == null
のパターンでのみ true を返すということがわかった、という話。細かい経緯は続きで。
[PHP] 文字列中の波括弧記法が気持ち悪すぎる
- 2008-09-18
- カテゴリ: Server Side
- タグ: PHP Tips
PHPでは、二重引用符 (") で括った文字列の中で、波括弧 ({}) を使って変数を展開できたりするわけだが、この波括弧記法があまりにも強力すぎて気持ち悪かったので書いてみる。
Zend_View with HTML_Template_Flexy が意外と簡単だった件
- 2008-09-15
- カテゴリ: Server Side
- タグ: PHP ZendFramework Flexy
Zend_ViewからSmartyを使うクラスはネット上を検索すると結構出てくるんだけど、Zend_ViewとHTML_Template_Flexyを組み合わせたクラスはなぜか全然見つからない。
Zend_View + Flexyを使いたい人っていないのかなーとか思いながら、適当にZend_ViewとFlexyを組み合わせてみたら、思った以上に簡単に作ることができてしまって驚いた。
とりあえず、↓のようなクラスを使えば、一応動くものができてしまう。
<?php
require_once 'Zend/View.php';
require_once 'HTML/Template/Flexy.php';
class My_View extends Zend_View_Abstract
{
protected function _run()
{
$flexy = new HTML_Template_Flexy();
$flexy->compile(func_get_arg(0));
$flexy->outputObject($this);
}
}
[mod_rewrite] URLにヌル文字が混ざると書き換えに失敗する
- 2008-09-13
- カテゴリ: Server Side
- タグ: Apache mod_rewrite
たまたま見つけたのでメモ。
mod_rewriteを使ってるサイトにアクセスするときに、
http://example.com/%00
みたいな感じにヌル文字をURLに含めると、なぜか404 Not Foundが返ってきてしまう。ネットで検索しても全然情報が見つからないんだけど、これって常識だったりするのかな?
再現方法
↓のようなindex.txtと.htaccessをサーバーの適当なディレクトリに置く。
- index.txt
helloworld
- .htaccess
RewriteEngine on RewriteRule .* index.txt
このように設定すれば、どのようなURLでこのディレクトリにアクセスしても、単にhelloworldと出力されるだけなはずで、実際にその通りになる。でも、URLに%00を含めると↓の画面。

WinXP + XAMPPで走っているローカル環境でもこの現象は起きたし、XREA.COMのサーバーでも起きた。
なんなんだろう、これ。null文字で挙動が変わると、インジェクション攻撃されるんじゃないかと若干不安になるんだが。
[Haskell] 素数列を生成するアルゴリズム×3
- 2008-09-10
- カテゴリ: その他のプログラミング
- タグ: Haskell アルゴリズム
最近すっかりブログから離れていたので、リハビリがてらにメモ代わりのエントリー。
Haskellで素数の無限リストを生成する関数を3つほど作ったのでメモ。
primes1 = 2:f [3,5..] where f (x:xs) = x:f [y | y <- xs, mod y x /= 0]
primes2 = 2:filter f [3,5..]
where f n = all ((/= 0) . (mod n)) (takeWhile ((<= n) . (^ 2)) primes)
primes3 = 2:f [3] [3,5..]
where f (x:xs) ys = let (ps, qs) = span (< x^2) ys
in ps ++ f (xs ++ ps) [z | z <- qs, mod z x /= 0]
primes2に関しては1000000個の素数 - HaHaHa! - haskellを、primes3に関しては誇大宣伝ではないエラトステネスの篩 - HaHaHa! - haskellをそれぞれ参考にした。
以下解説。





