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

増田くんと倉花ちゃん

初心者はPHPで脆弱なウェブアプリをどんどん量産すべし セキュリティ過敏症 - ぼくはまちちゃん!(Hatena) いいこと書いてあるなーと思いつつ……。 増田くんがパッションで作ったサービスが大人気になりました。でもそのサービスにはSQLインジェクション脆弱…

ActiveRecordを外す時はActionWebServiceも外す必要がある。

上の記事で、 config.frameworks -= [ :active_record ] と書きましたが、これだとActiveRecordがロードされてしまいます。一緒にActionWebServiceも外す必要がありました。 config.frameworks -= [ :active_record, :action_web_service ] 以下のようにして…

Rails 1.2.x でActiveRecordを使わない方法。

RailsでActiveRecordを使いたくない場合、config/environment.rbに config.frameworks -= [ :active_record ] と書く方法が以前から紹介されていました*1。……が、これは手元の1.2.6でエラーになります。どうやら1.2.1からActiveRecordを外せなくなっていたよ…

Rubyのsetterメソッドは特別扱いされる。

Rubyのsetterメソッドの振る舞いを理解していなくて、ちょっとビックリしたので。まずはsetterの基本から。 def abc=(a) puts "abc setter" end abc = 123 これは何も表示しません。abc = 123はローカル変数abcを定義しています。 def abc=(a) puts "abc set…

JavaScriptの文字列リテラルで「バックスラッシュ+改行」してもいいのかも。

(追記 2008/1/23 19:30) 元の記事は、「JavaScriptの文字列リテラルで「バックスラッシュ+改行」するのはよくない。」というタイトルでした。ECMA-262 3rd editionで禁止だったのは間違いなさそうですが、id:nanto_viさんのコメントにあるとおり、4th editi…

JavaScriptでヒアドキュメントを使うライブラリを作った。

JavaScriptでヒアドキュメントを使うライブラリを作りました。heredoc.js http://www.teria.com/~koseki/memo/jsheredoc/heredoc.js テスト http://www.teria.com/~koseki/memo/jsheredoc/test.html 外部ファイルサンプル http://www.teria.com/~koseki/memo…

Dir.chdirはブロックを渡して一時的にpwdを変えられる。

Rubyは、こうできたらいいのに、と思ったことが当たり前のように出来たりして嬉しい。例えば、あるディレクトリ以下のエントリーを再帰的に取得する場合。 Dir.glob(dir + "/**/*")とするのが間違っている気がして、何で引数を2つ取ってDir.glob(dir, "**/*"…

Manifest.txtの更新にはpatchを使うとよいらしい。

Hoeでgemを作る時に、パッケージに含まれるファイルの一覧をManifest.txtに記述する必要がある。これを自動で更新するにはどうしたらいいのか調べた。最初は、 http://d.hatena.ne.jp/Seasons/20071118/1195311057 http://d.hatena.ne.jp/yoshioo/20070320/1…

Safari2でlocation.hashを書き換えるとページが読み込み中のまま止まる。

location.hashを変えると、ページが読み込み中のまま止まる問題で悩んだ。 http://mag.autumn.org/Content.modf?id=20051102212821 Safari2において、location.hashの書き換えで、2種類の意図せざる挙動を見せることを確認しました。 1つは、ページがリロー…

String#splitで正規表現を使わない。

IE6は空の要素を削除してしまうから。空行を無視しても構わない時に、text.split(/\r?\n/) とかするのはありかもしれない。 http://blog.stevenlevithan.com/archives/cross-browser-split http://aligach.net/diary/20060707.html すると以下のように IE と…

JavaScriptの動作テストをいくつか見た。

String#splitのテスト。IE6は正規表現でsplitしてはいけない。 http://stevenlevithan.com/demo/split.cfm 文字コード関連調査。XHRのresponseTextでUTF-16はムリ。 http://jsgt.org/ajax/ref/charset_test/responsetext/test_1_make_table.php こういうテス…