ピクシブの冬インターンシップでは二日間の短期メニューでpixivのバグフィックスおよび簡単な機能改修を体験してもらいます。
そのための課題として、PHPで書かれたコードへの改善を行ってください。
あなたは次世代インタラクティブコミュニケーションサービスの開発チームにアサインされました。
チームメンバーは基本機能の実装が完了してリリース日を待つばかりだと浮かれ気分ですが、あなたはリリース直前にも関わらず多数の問題を発見してしまいました。
無事にサービスをリリースできるように、気がついた脆弱性について対処を行ってください。
追加で以下のような改善を行っても構いません。
- 性能改善
- リファクタリング
- UI改善
時間は有限です。気になるところを最小限直すだけでも構いません。最低限の工夫でよりよくするのも大切な観点です。
このリポジトリをGitHubでforkし、Pull Requestの作成をもって提出とします。ただし、第三者が見てわかりやすい単位でのgit commit
を心掛けてください。
- 提出後にpush/rebase/force-pushを行っても問題ありません
- どのような変更をしたかプルリクエストに記述してください
- どうしてそういう変更をしたのか箇条書きなどで書いてください
- 分かりやすければ形式は問いません
提出後、GitHubのメールアドレス宛に確認メールを送りますので、確認をお願いいたします。
Pull Requestは 2015/12/03 17:00 (JST) までに作成してください。
Debian GNU/Linux + PHP 7の環境を利用してください。
Vagrantでrlerdorf/php7devのBoxを利用することがおすすめです。
- Vagrantの動作にはVirtualBoxが必要です
- 一部のWindows機ではBIOSの設定により仮想環境が動作しない場合があるので確認してください
環境構築についてはサポートチャットで支援しますので、わからないことは気軽に質問してください。
git clone git@github.com:pixiv/intern2015w.git
cd intern2015w
vagrant up # 初回はBoxのダウンロードが必要なのでインターネット接続が必要なのと時間がかかります
vagrant ssh # sshで仮想マシンの中に入れます
cd /vagrant/
composer install
php ./setup
# サーバー起動
php -S 0.0.0.0:3939 ./htdocs/index.php
ブラウザで http://localhost:3939/ を開くと動作確認ができます。
技術的な質問については idobata.io のチャットルームにてサポートいたします。
- 基本的に回答は営業時間内(平日10:00-19:00)のみ行います
- 回答はピクシブ株式会社のエンジニアが行います
- トラブルが起これば閉じる可能性があります
- 選考に関する質問には回答できません
以上の点をあらかじめご了承ください。
- ソースコードはライセンスの範囲内で利用可能ですが、セキュリティホールが存在するため公衆から利用可能なサーバーに設置することは推奨しません
Copyright (C) 2015 pixiv inc.