hirosuzuki / isucon

isucon web applications and tools

Home Page:http://blog.livedoor.jp/techblog/archives/66595391.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CAUTION: this project is open for only #isucon administrators

/webapp
/webapp/perl
/webapp/ruby
/webapp/nodejs

/tools
/tools/benchmark
/tools/domchecker
/tools/scoreboard

** Webアプリの基本方針
-処理はすべてリクエストを受け取ってから実施する
--DBへのクエリ
--テンプレートからのレンダリング
-全てのコンテンツをアプリケーションから渡す
--js/css/画像も含めて
-キャッシュ等はとりあえず全て無し

** 実装するリクエストハンドラ
- /
-- GET
-- articleのリスト(投稿順(id順) 最新10個)
--- SELECT id,title,body,created_at FROM article ORDER BY id DESC LIMIT 10

- /article/:articleid
-- GET
-- articleページの表示 (article + comments)
--- SELECT id,title,body,created_at FROM article WHERE id=?
--- SELECT name,body,created_at FROM comment WHERE article=? ORDER BY id

なお全ページ、左側のサイドバーに「新しいコメントがついた順に記事10件」を表示
--- SELECT article FROM comment GROUP BY article ORDER BY created_at DESC LIMIT 10

- /post
-- GET
-- 記事投稿用HTML ただしベンチ対象外のURLとする

- /post
-- POST
-- 記事投稿
-- パラメータはform形式で title, body
--- INSERT INTO article SET ...
-- レスポンスは / へのリダイレクト(成功)、もしくは適当なエラー用のHTTPステータス

- /comment/:articleid
-- POST
-- コメント投稿 (投稿フォームは /article/:articleid の末尾)
-- パラメータはform形式で name, body
--- INSERT INTO comment SET ...
-- レスポンスは /article/:articleid へのリダイレクト(成功)、もしくは適当なエラー用のHTTPステータス

** 添付するstaticファイル

- 画像
-- isuconロゴを適当なサイズにして流用、ページトップのバナー画像にする

- js
-- jquery 最新版の minify 済みファイル
-- jquery-ui 最新版の minify 済みファイル
-- isucon.js デザイン調整用

- css
-- jquery-ui の適当なスタイル用のもの一式
-- isucon.css デザイン調整用

About

isucon web applications and tools

http://blog.livedoor.jp/techblog/archives/66595391.html


Languages

Language:Perl 45.7%Language:JavaScript 34.1%Language:Go 5.3%Language:Pug 4.2%Language:Shell 3.1%Language:Ruby 2.4%Language:HTML 2.0%Language:Haml 1.8%Language:CSS 0.8%Language:Python 0.5%Language:Makefile 0.1%