├── LICENSE └── README.md /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 PR TIMES 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PR TIMES 学生インターン課題 2 | 3 | 「[ISUCON](https://isucon.net)」は、LINE株式会社の商標または登録商標です。 4 | 5 | [PR TIMESで実力を上げたい学生インターンを募集します | PR TIMES 開発者ブログ](https://developers.prtimes.jp/2021/08/25/prtimes-intern-202108/) 6 | 7 | ## 課題 8 | 9 | * [catatsuy/private-isu](https://github.com/catatsuy/private-isu) を動かしてください 10 | * 言語は複数の言語が用意されており、デフォルトはRubyです 11 | * PR TIMES社内ではPHPが利用されているため、**必ずPHPを利用**してください 12 | * PHPは追加の手順が必要なのでREADMEをよく読んでください 13 | * AWSアカウントがあればAMIで起動するのが一番簡単ですが、クレジットカードと利用料が必要です 14 | * [Docker Compose](https://www.docker.com/)や[cloud-init](https://cloudinit.readthedocs.io/en/latest/)を使う方法もあります 15 | * 仮想マシンが起動できない場合、BIOSの設定を確認してください 16 | * AWSか手元で動かすかは自由ですが、必ずどちらかの方法で動かしてください 17 | * ブラウザからアプリケーションが表示されるか確認して下さい 18 | * AWSを利用する場合は80番ポートが公開されているか確認してください 19 | * それ以外の方法の場合、セキュリティ設定に気をつけてください 20 | * benchmarkerを動かして正しく動いているか確認してください 21 | * 正しく実行ができていれば`{"pass":true,"score":1710,"success":1434,"fail":0,"messages":[]}`のようなJSONが出力されます 22 | * passがtrueであることと、scoreの数値を大きくすることが重要です 23 | * この時のbenchmarkerの出力をメモしておいてください 24 | * 自分のGitHubアカウントを使って空のリポジトリを作ってください 25 | * 名前はわかりやすければ何でも構いません 26 | * `/home/isucon/private_isu/webapp/`ディレクトリの中で`git init`して、先程作ったあなたのリポジトリにpushしてください 27 | * AMI以外の方法で起動している場合はwebappディレクトリの中で`git init`してください 28 | * あなたが行った変更の差分が分かるように必ず変更を行う前に`git init`をしてコミットするのを忘れないで下さい 29 | * アプリケーションのソースコードに複数の変更を加えてscoreを上げてください 30 | * 変更を行ったら変更内容毎にPull Requestにしてください 31 | * Pull Requestは必ずmergeしてください 32 | * Pull Requestのdescriptionに変更を行う前のscoreと、変更した後のscoreを記載してください 33 | * Pull Requestのdescriptionになぜその変更を行ったのか説明を書いてください 34 | * 箇条書きなどで書いてください 35 | * 分かりやすければ形式は問いません 36 | * MySQLのスキーマを変更した場合は変更内容をPull Requestのdescriptionに記入してください 37 | * 現在のスキーマを事前にコミットしておくなど、工夫してください 38 | * こちらの変更も重要な変更ですが、ソースコードの変更をするPull Requestも別に用意してください 39 | * ミドルウェアのパラメータの変更をした場合は変更内容をPull Requestのdescriptionに記入してください 40 | * 現在の設定を事前にコミットしておくなど、工夫してください 41 | * こちらの変更も重要な変更ですが、ソースコードの変更をするPull Requestも別に用意してください 42 | * README.mdに最終的なスコアを記述してください 43 | * 総括など自由に記述してください 44 | 45 | ## 注意点 46 | 47 | * 変更内容自体よりもソースコードに対して変更が行えるか、プログラムが実行できるかを見る選考です 48 | * スコアが変わらなかった場合はなぜ変わらなかったのか考察してください 49 | * ISUCONはスコアを競うものですが、今回の選考にスコアは関係ありません 50 | * ただし初期のスコアと最終的なスコアは必ずREADME.mdに記述しておいてください 51 | * 変更内容はいくつ作っても大丈夫です 52 | * 変更内容はそれぞれPull Requestを作ってわかりやすくしてください 53 | * 解説ブログや本を参照しても大丈夫です 54 | * ただし実際に適用して、スコアを計測し、変更内容を自分の言葉で説明すること 55 | 56 | ## 参考URL 57 | 58 | [2016年開催時のブログ] 59 | 60 | * [ISUCON6出題チームが社内ISUCONを開催!AMIも公開!! - pixiv inside [archive]](https://devpixiv.hatenablog.com/entry/2016/05/18/115206) 61 | * [社内ISUCONを公開したら広く使われた話 - pixiv inside [archive]](https://devpixiv.hatenablog.com/entry/2016/09/26/130112) 62 | 63 | [2021年開催時のブログ] 64 | 65 | * [社内ISUCON “TIMES-ISUCON” を開催しました! | PR TIMES 開発者ブログ](https://developers.prtimes.jp/2021/06/04/times-isucon-1/) 66 | 67 | Git/GitHubの使い方 68 | 69 | * [サル先生のGit入門〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】](https://backlog.com/ja/git-tutorial/) 70 | --------------------------------------------------------------------------------