Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate from bitbucket #1

Merged
merged 63 commits into from Aug 23, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
81ed0db
portalが動くように修正
uryyyyyyy Jun 20, 2018
8a28b3f
sql初期化の問題を修正
uryyyyyyy Jun 20, 2018
8cfe518
fix
uryyyyyyy Jun 21, 2018
e1cee70
Merged in shiba (pull request #1)
shibatako Jun 21, 2018
23e39ca
unicornをいじる
uryyyyyyy Jun 21, 2018
60637b5
Merged in shiba (pull request #2)
shibatako Jul 5, 2018
70587d7
default.rb edited online with Bitbucket
shibatako Jul 6, 2018
41f2f71
Merge commit 'aa20561335c2d6ca331069bd96ecdfaf4f69cb0f'
yamaguchi-opt Jul 6, 2018
0a24501
add scala
uryyyyyyy Aug 9, 2018
16992ff
add isutomo
uryyyyyyy Aug 9, 2018
ba1c711
default.rb edited online with Bitbucket
shibatako Aug 10, 2018
de7b722
default.rb edited online with Bitbucket
shibatako Aug 10, 2018
062f51b
default.rb edited online with Bitbucket
shibatako Aug 10, 2018
69143e2
Merged in shibatako/defaultrb-edited-online-with-bitbucket-1533869680…
shibatako Aug 10, 2018
27f902a
gemのupdateを最初にするようにしたよ
Aug 10, 2018
74614c8
Merged in fix/ruby (pull request #4)
Aug 10, 2018
2caf21b
scala temp
uryyyyyyy Aug 10, 2018
95b55f6
userページを追加
uryyyyyyy Aug 13, 2018
7443515
searchページを追加
uryyyyyyy Aug 13, 2018
35f5b6d
全部のAPIを追加
uryyyyyyy Aug 13, 2018
9537d49
prodビルド出来るようにした
uryyyyyyy Aug 13, 2018
fd04b04
localhostに戻す
uryyyyyyy Aug 13, 2018
f2a8502
Merged in add-scala (pull request #5)
shibatako Aug 13, 2018
d58a406
JDBCのバージョンをjavaに合わせた
uryyyyyyy Aug 13, 2018
3877763
Merged in add-scala2 (pull request #6)
shibatako Aug 13, 2018
4cd0920
scalaのプロビジョニングを追加
shibatako Aug 13, 2018
596ef3b
Merged in provisioning-scala (pull request #8)
shibatako Aug 13, 2018
6b9f101
path間違い
uryyyyyyy Aug 13, 2018
2beb748
投稿フォームの間違いを修正
uryyyyyyy Aug 13, 2018
33a9c98
Merged in scala-fix (pull request #9)
shibatako Aug 13, 2018
31b1d08
add python
uryyyyyyy Aug 15, 2018
e336633
add python
uryyyyyyy Aug 15, 2018
e3e9222
rename
uryyyyyyy Aug 15, 2018
45854e3
Merged in add_python (pull request #10)
shibatako Aug 15, 2018
3273dfb
default.rb edited online with Bitbucket
shibatako Aug 15, 2018
9e9f350
Merged in shibatako/defaultrb-edited-online-with-bitbucket-1534332907…
shibatako Aug 15, 2018
be04836
default.rb edited online with Bitbucket
shibatako Aug 15, 2018
b4269cf
python 3.6
uryyyyyyy Aug 15, 2018
b185bb1
python 3.6
uryyyyyyy Aug 15, 2018
d5624d4
色々と名前を変えたので動くか試す
kadokusei Aug 15, 2018
2b3def0
Merged in remove-isumoto-isuwitter (pull request #11)
Aug 15, 2018
d4727b8
default.rb edited online with Bitbucket
shibatako Aug 15, 2018
5e36890
default.rb edited online with Bitbucket
shibatako Aug 15, 2018
f9f71ad
python
uryyyyyyy Aug 15, 2018
66b337a
python
uryyyyyyy Aug 15, 2018
46ed317
python
uryyyyyyy Aug 15, 2018
8da20b1
python
uryyyyyyy Aug 15, 2018
ab2ee7d
Merged in shibatako/defaultrb-edited-online-with-bitbucket-1534336543…
shibatako Aug 15, 2018
a65b09b
Merged in shibatako/defaultrb-edited-online-with-bitbucket-1534336543…
shibatako Aug 15, 2018
d649b5c
python
uryyyyyyy Aug 15, 2018
9e1e7a9
python
uryyyyyyy Aug 15, 2018
c604efa
Merged in shibatako/defaultrb-edited-online-with-bitbucket-1534336543…
shibatako Aug 15, 2018
bfe722f
default.rb edited online with Bitbucket
shibatako Aug 16, 2018
30cb2bd
default.rb edited online with Bitbucket
shibatako Aug 16, 2018
b75b6b0
Merged in shibatako/defaultrb-edited-online-with-bitbucket-1534384575…
shibatako Aug 16, 2018
f2eb0ae
use vendor/bundle
kadokusei Aug 16, 2018
d1e2f08
Merged in fix-bundle (pull request #18)
Aug 16, 2018
45b831a
面倒になったので適当に
kadokusei Aug 16, 2018
f8edf90
Merged in fix-images (pull request #19)
Aug 16, 2018
4c26a68
余白を適当になくした
kadokusei Aug 16, 2018
d2bd331
Merged in fix-images (pull request #20)
Aug 16, 2018
536a67d
add favicon setting
kadokusei Aug 16, 2018
eec2388
Merged in add-favicon (pull request #21)
Aug 16, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
@@ -1,2 +1,3 @@
provisioning/nodes
provisioning/local-mode-cache
.DS_Store
21 changes: 10 additions & 11 deletions REGULATION.md
@@ -1,22 +1,22 @@
## 概要

Y!ISUCON を実施します。
opt-isucon 2018 を実施します。

以下開催詳細を記載します。

## 参加事項

1チームは1-3人とします。ポータルサイトのチーム登録フォームよりご登録下さい

1チームは最低2人とします
ポータルサイトのチーム登録フォームよりご登録下さい。

## アプリケーションサーバ構成

### OS
CentOS 7.2
CentOS 7

### アプリケーション

Ruby, Node.js, Go, PHP, Java によるWebアプリケーションが用意されています。
Ruby, Node.js, Go, PHP, Java, Scala によるWebアプリケーションが用意されています。
ただし各々の初期性能は一致していません。どれをベースに用いても構いません。独自で実装してもOKです。

### Nginx
Expand All @@ -28,7 +28,6 @@ WebサーバとしてデフォルトでNginxが起動しています。

ユーザーは`root`、パスワードなし。


## アプリケーション起動

初期設定ではNode.js実装のアプリケーションが起動しています。
Expand All @@ -46,12 +45,14 @@ WebサーバとしてデフォルトでNginxが起動しています。
### PHPの場合
systemd での切り替えのほか、nginxの設定変更が必要です。`/etc/nginx/php-fpm.conf` が置いてあるのでそれを使用してください。

## アプリケーションのデプロイ
`/var/www/webapp/` 配下にアプリケーションが置かれています。
それぞれの実行方法を記載します。

## ベンチマーク実行
ポータルサイトから実行できます。
チームごとログインし、アプリケーションサーバの設定とベンチマーク実行を行ってください。



## ルール詳細
指定されたサーバー上のアプリケーションのチューニングをおこない、それに対するベンチマークのスコアで競技をおこないます。
そのサーバー1台のみでアプリケーションの動作が可能であればどのような変更を加えても構いません。
Expand All @@ -64,7 +65,6 @@ systemd での切り替えのほか、nginxの設定変更が必要です。`/et
- レスポンス(HTML)のDOM構造
- JavaScript/CSSファイルの内容


### スコアについて
基本スコアは以下のルールで算出されます。
```
Expand All @@ -90,5 +90,4 @@ systemd での切り替えのほか、nginxの設定変更が必要です。`/et
以下の事項に抵触すると点数が無効となります。

- GET /initialize へのレスポンスが10秒以内に終わらない
- JavaScript/CSSファイルがアクセスできない

- JavaScript/CSSファイルがアクセスできない
4 changes: 2 additions & 2 deletions benchmarker/config/config.go
Expand Up @@ -5,7 +5,7 @@ import (
"time"
)

var PortalHost = os.Getenv("YJ_ISUCON_PORTAL_HOST")
var PortalHost = os.Getenv("OPT_ISUCON_PORTAL_HOST")

const (
MaxWorkerCount = 5
Expand All @@ -14,6 +14,6 @@ const (
BenchTimeLimit = time.Minute
QueueCheckDuration = time.Second * 2
RequestTimeout = time.Second * 30
BenchMarkerUA = "YISUCON"
BenchMarkerUA = "OPTISUCON"
LogFilePath = "/tmp/isucon/benchmarker.log"
)
10 changes: 5 additions & 5 deletions benchmarker/db/db.go
Expand Up @@ -29,11 +29,11 @@ func (db *DB) dsn() string {
func (db *DB) connect() error {
db.Type = "mysql"

db.Host = os.Getenv("YJ_ISUCON_DB_HOST")
db.Port = os.Getenv("YJ_ISUCON_DB_PORT")
db.User = os.Getenv("YJ_ISUCON_DB_USER")
db.Pass = os.Getenv("YJ_ISUCON_DB_PASSWORD")
db.Name = os.Getenv("YJ_ISUCON_DB_NAME")
db.Host = os.Getenv("OPT_ISUCON_DB_HOST")
db.Port = os.Getenv("OPT_ISUCON_DB_PORT")
db.User = os.Getenv("OPT_ISUCON_DB_USER")
db.Pass = os.Getenv("OPT_ISUCON_DB_PASSWORD")
db.Name = os.Getenv("OPT_ISUCON_DB_NAME")

if len(db.Host) == 0 || len(db.Port) == 0 || len(db.User) == 0 || len(db.Name) == 0 {
db.Host = "localhost"
Expand Down
12 changes: 6 additions & 6 deletions portal/README.md
Expand Up @@ -7,12 +7,12 @@ yarn install

環境変数に以下の値を入れること
```
YJ_ISUCON_DB_HOST
YJ_ISUCON_DB_USER
YJ_ISUCON_DB_PASSWORD
YJ_ISUCON_DB_PORT
YJ_ISUCON_DB_NAME
YJ_ISUCON_SECRET_KEY
OPT_ISUCON_DB_HOST
OPT_ISUCON_DB_USER
OPT_ISUCON_DB_PASSWORD
OPT_ISUCON_DB_PORT
OPT_ISUCON_DB_NAME
OPT_ISUCON_SECRET_KEY
MYM_USER
MYM_PASS
```
Expand Down
3 changes: 3 additions & 0 deletions portal/allowAny.ts
@@ -0,0 +1,3 @@
declare module 'jquery';
declare module 'JQuery';
declare module 'jsdom';
174 changes: 87 additions & 87 deletions portal/package.json
Expand Up @@ -30,110 +30,110 @@
},
"private": true,
"dependencies": {
"@angular/common": "~2.2.1",
"@angular/compiler": "~2.2.1",
"@angular/compiler-cli": "~2.2.1",
"@angular/core": "~2.2.1",
"@angular/forms": "~2.2.1",
"@angular/http": "~2.2.1",
"@angular/platform-browser": "~2.2.1",
"@angular/platform-browser-dynamic": "~2.2.1",
"@angular/platform-server": "~2.2.1",
"@angular/router": "~3.2.1",
"@angularclass/bootloader": "^1.0.1",
"@angularclass/idle-preload": "^1.0.3",
"@ngtools/webpack": "^1.1.7",
"angular2-express-engine": "~2.1.0-rc.1",
"angular2-jwt": "^0.1.28",
"angular2-platform-node": "~2.1.0-rc.1",
"angular2-universal": "~2.1.0-rc.1",
"angular2-universal-polyfills": "~2.1.0-rc.1",
"bcrypt": "^1.0.1",
"body-parser": "^1.15.2",
"c3": "^0.4.11",
"compression": "^1.6.2",
"core-js": "^2.4.1",
"d3": "^3.5.17",
"dialog-polyfill": "^0.4.5",
"express": "^4.14.0",
"express-jsonschema": "^1.1.6",
"express-jwt": "^5.1.0",
"jsonwebtoken": "^7.2.1",
"material-design-icons": "^3.0.1",
"material-design-lite": "^1.2.1",
"morgan": "^1.7.0",
"mysql2": "^1.1.2",
"preboot": "~4.5.2",
"@angular/common": "2.2.1",
"@angular/compiler": "2.2.1",
"@angular/compiler-cli": "2.2.1",
"@angular/core": "2.2.1",
"@angular/forms": "2.2.1",
"@angular/http": "2.2.1",
"@angular/platform-browser": "2.2.1",
"@angular/platform-browser-dynamic": "2.2.1",
"@angular/platform-server": "2.2.1",
"@angular/router": "3.2.1",
"@angularclass/bootloader": "1.0.1",
"@angularclass/idle-preload": "1.0.3",
"@ngtools/webpack": "1.1.7",
"angular2-express-engine": "2.1.0-rc.1",
"angular2-jwt": "0.1.28",
"angular2-platform-node": "2.1.0-rc.1",
"angular2-universal": "2.1.0-rc.1",
"angular2-universal-polyfills": "2.1.0-rc.1",
"bcrypt": "1.0.1",
"body-parser": "1.15.2",
"c3": "0.4.11",
"compression": "1.6.2",
"core-js": "2.4.1",
"d3": "3.5.17",
"dialog-polyfill": "0.4.5",
"express": "4.14.0",
"express-jsonschema": "1.1.6",
"express-jwt": "5.1.0",
"jsonwebtoken": "7.2.1",
"material-design-icons": "3.0.1",
"material-design-lite": "1.2.1",
"morgan": "1.7.0",
"mysql2": "1.1.2",
"preboot": "4.5.2",
"rxjs": "5.0.0-beta.12",
"webfontloader": "^1.6.26",
"zone.js": "~0.6.26"
"webfontloader": "1.6.26",
"zone.js": "0.6.26"
},
"devDependencies": {
"@ngtools/webpack": "~1.1.7",
"@types/bcrypt": "^0.0.30",
"@ngtools/webpack": "1.1.7",
"@types/bcrypt": "0.0.30",
"@types/body-parser": "0.0.29",
"@types/c3": "^0.4.38",
"@types/c3": "0.4.38",
"@types/compression": "0.0.29",
"@types/cookie": "^0.1.29",
"@types/cookie-parser": "^1.3.29",
"@types/d3": "^3.5.37",
"@types/express": "^4.0.32",
"@types/express-jwt": "^0.0.33",
"@types/express-serve-static-core": "^4.0.33",
"@types/hammerjs": "^2.0.32",
"@types/jasmine": "^2.2.30",
"@types/jsdom": "^2.0.29",
"@types/jsonwebtoken": "^7.1.33",
"@types/cookie": "0.1.29",
"@types/cookie-parser": "1.3.29",
"@types/d3": "3.5.37",
"@types/express": "4.0.32",
"@types/express-jwt": "0.0.33",
"@types/express-serve-static-core": "4.0.33",
"@types/hammerjs": "2.0.32",
"@types/jasmine": "2.2.30",
"@types/jsonwebtoken": "7.1.33",
"@types/mime": "0.0.28",
"@types/morgan": "^1.7.32",
"@types/node": "^6.0.38",
"@types/node-fetch": "^1.6.7",
"@types/serve-static": "^1.7.27",
"@types/webfontloader": "^1.6.27",
"angular2-template-loader": "^0.6.0",
"awesome-typescript-loader": "^2.2.4",
"@types/morgan": "1.7.32",
"@types/node": "6.0.38",
"@types/node-fetch": "1.6.7",
"@types/serve-static": "1.7.27",
"@types/webfontloader": "1.6.27",
"angular2-template-loader": "0.6.0",
"awesome-typescript-loader": "2.2.4",
"codelyzer": "1.0.0-beta.1",
"cookie-parser": "^1.4.3",
"css-loader": "^0.26.1",
"exports-loader": "^0.6.3",
"cookie-parser": "1.4.3",
"css-loader": "0.26.1",
"exports-loader": "0.6.3",
"extract-text-webpack-plugin": "2.0.0-beta.4",
"file-loader": "^0.9.0",
"iltorb": "^1.0.13",
"imports-loader": "^0.6.5",
"istanbul-instrumenter-loader": "^1.0.0",
"file-loader": "0.9.0",
"iltorb": "1.0.13",
"imports-loader": "0.6.5",
"istanbul-instrumenter-loader": "1.0.0",
"jasmine-core": "2.4.1",
"jasmine-spec-reporter": "2.5.0",
"js.clone": "0.0.3",
"json-loader": "^0.5.4",
"json-loader": "0.5.4",
"karma": "1.2.0",
"karma-chrome-launcher": "^2.0.0",
"karma-cli": "^1.0.1",
"karma-coverage": "^1.1.1",
"karma-jasmine": "^1.0.2",
"karma-phantomjs-launcher": "^1.0.2",
"karma-remap-coverage": "^0.1.2",
"karma-source-map-support": "^1.2.0",
"karma-webpack": "^1.8.0",
"nodemon": "^1.10.0",
"null-loader": "^0.1.1",
"phantomjs-prebuilt": "^2.1.13",
"karma-chrome-launcher": "2.0.0",
"karma-cli": "1.0.1",
"karma-coverage": "1.1.1",
"karma-jasmine": "1.0.2",
"karma-phantomjs-launcher": "1.0.2",
"karma-remap-coverage": "0.1.2",
"karma-source-map-support": "1.2.0",
"karma-webpack": "1.8.0",
"nodemon": "1.10.0",
"null-loader": "0.1.1",
"phantomjs-prebuilt": "2.1.13",
"protractor": "4.0.9",
"raw-loader": "^0.5.1",
"raw-loader": "0.5.1",
"reflect-metadata": "0.1.8",
"rimraf": "^2.5.4",
"style-loader": "^0.13.1",
"to-string-loader": "^1.1.5",
"ts-helpers": "^1.1.2",
"ts-node": "^1.3.0",
"tslint": "^3.15.1",
"rimraf": "2.5.4",
"style-loader": "0.13.1",
"to-string-loader": "1.1.5",
"ts-helpers": "1.1.2",
"ts-node": "1.3.0",
"tslint": "3.15.1",
"typescript": "2.0.10",
"url-loader": "^0.5.7",
"v8-lazy-parse-webpack-plugin": "^0.3.0",
"url-loader": "0.5.7",
"v8-lazy-parse-webpack-plugin": "0.3.0",
"webpack": "2.1.0-beta.27",
"webpack-bundle-analyzer": "1.4.1",
"webpack-dev-middleware": "^1.8.4",
"webpack-dev-middleware": "1.8.4",
"webpack-dev-server": "2.1.0-beta.11",
"webpack-merge": "~0.16.0",
"yarn": "^0.19.1"
"webpack-merge": "0.16.0",
"webpack-sources": "1.1.0",
"yarn": "0.19.1"
}
}
2 changes: 1 addition & 1 deletion portal/src/app/shared/ng-c3.module.ts
Expand Up @@ -10,7 +10,7 @@ import '../../../node_modules/c3/c3.css';
`.chart {width: 100%;}`,
]
})
class ChartComponent implements OnInit, OnChanges {
export class ChartComponent implements OnInit, OnChanges {
private chart: c3.ChartAPI;
private c3obj: any;

Expand Down
Binary file modified portal/src/assets/icon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified portal/src/assets/logo.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion portal/src/backend/api.ts
Expand Up @@ -21,7 +21,7 @@ import { Subject } from 'rxjs';

export const apiRouter = express.Router();

const SECRET_KEY = process.env.YJ_ISUCON_SECRET_KEY || 'secret_key';
const SECRET_KEY = process.env.OPT_ISUCON_SECRET_KEY || 'secret_key';
const pool = db.createPool();
const validateJsonSchema = expressJsonSchema.validate;
const validateJwt = expressJwt({
Expand Down
10 changes: 5 additions & 5 deletions portal/src/backend/db.ts
Expand Up @@ -3,11 +3,11 @@ import * as mysql from 'mysql2';

export function createPool() {
return mysql.createPool({
host: process.env.YJ_ISUCON_DB_HOST || 'localhost',
user: process.env.YJ_ISUCON_DB_USER || 'root',
password: process.env.YJ_ISUCON_DB_PASSWORD || '',
port: process.env.YJ_ISUCON_DB_PORT || '3306',
database: process.env.YJ_ISUCON_DB_NAME || 'isucon',
host: process.env.OPT_ISUCON_DB_HOST || 'localhost',
user: process.env.OPT_ISUCON_DB_USER || 'root',
password: process.env.OPT_ISUCON_DB_PASSWORD || '',
port: process.env.OPT_ISUCON_DB_PORT || '3306',
database: process.env.OPT_ISUCON_DB_NAME || 'isucon',
connectionLimit: 10
});
}
Expand Down
3 changes: 2 additions & 1 deletion portal/src/server.ts
Expand Up @@ -44,7 +44,7 @@ app.engine('.html', createEngine({
// stateless providers only since it's shared
]
}));
app.set('port', process.env.PORT || 3000);
app.set('port', 3000);
app.set('views', __dirname);
app.set('view engine', 'html');
app.set('json spaces', 2);
Expand Down Expand Up @@ -105,6 +105,7 @@ app.get('*', function(req, res) {

// Server
process.on('uncaughtException', (err) => {
console.error(err);
console.error('Catching errors to avoid process crash');
});
let server = app.listen(app.get('port'), () => {
Expand Down