issues
search
kamipo
/
isucon3honsen
0
stars
0
forks
source link
TODOs
#1
Open
gfx
opened
10 years ago
gfx
commented
10 years ago
ここにかいてね
gfx
commented
10 years ago
[ ] ユーザがnullでもDBにリクエスト飛ばしてる件
gfx
commented
10 years ago
[x] identify(1)で画像のサイズ取得してる -> Imager化
[x] convert(1)で画像変換してる -> Imager化
kamipo
commented
10 years ago
[ ] index.htmlはnginxで返す
yappo
commented
10 years ago
[x] lib/Kossy.pm がある
yappo
commented
10 years ago
[ ] icon upload 時に POST request の中で画像処理してるので worker で処理した方がよさげ
yappo
commented
10 years ago
[ ] 投稿画像を get するたびに convert してるんで、 post 時もしくは worker でやるべし
yappo
commented
10 years ago
後半やってみること
[ ] api_key UUID やめる sha256_hex もやめる user.id でいい。もし既存の user.api_key にを用いたリクエストがあったら、 api_key 残して新規のだけユニークな何か簡単なのにする
[ ] user.icon に UUID で画像 ID つっこむの無駄だから、別方式にする。ただし既存の user.icon のデータを使ってなければ user.id を画像ファイル名にする
[ ] メイン画像のファイル名は sha256_hex( $UUID->create ); とか無駄だから join('-', user.id, entries.id) とかで
kamipo
commented
10 years ago
[x] $c->render_jsonってJSON::XS?
yappo
commented
10 years ago
SQL まわり
[ ] post '/signup' で insert したあとに select して user データ作ってるの無駄 select しないでいい
[ ] post '/entry' で insert したあとの select (略
[x] get '/image/:image' SELECT * FROM entries WHERE image=? の index ない
[ ] get_following の ORDER BY follow_map.created_at DESC の部分は perl 側で sort できるか検討
[ ] get '/timeline' のところは push 型にする
[x] get '/timeline' で for in select * from user みたいなのしてるから where user.id in () にしてクエリ減らすもしくは cache
yappo
commented
10 years ago
追加処理が発生するところ一覧
post '/signup' で 'INSERT INTO users (name, api_key, icon) VALUES (?, ?, ?)'
post '/entry' で 'INSERT INTO entries (user, image, publish_level, created_at) VALUES (?, ?, ?, now())',
post '/follow' で "INSERT IGNORE INTO follow_map (user, target, created_at) VALUES (?, ?, now())"
更新処理が発生するところ一覧
post '/icon' で 'UPDATE users SET icon=? WHERE id=?'
削除処理が発生するところ一覧
post '/entry/:id' で ?__method=DELETE で DELETE FROM entries WHERE id=?
post '/unfollow' で "DELETE FROM follow_map WHERE user=? AND target=?"
ここにかいてね