Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Perl JavaScript Ruby Shell CSS
branch: master

This branch is 36 commits ahead, 7 commits behind tagomoris:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
tools
webapp
.gitignore
README
hosts
supervisord_init

README

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 デザイン調整用

Something went wrong with that request. Please try again.