#YEHD2015 を #eventdots で 開催した話
Year End's Hack Day 2015 というCTFと競技プログラミングのイベントを開催しました.
サーバを作ったので主にその話.
開催について
- 運営委員長だったが,@kkrntくんや@kwzrくんが仕切ってくれた
- 運営委員長なんて名ばかりで申し訳ない
大体「長」って付くやつは飾り
- サーバが建ったのは当日午前6時半
- https://twitter.com/3846masa/status/678328537326030848
- 正直ガッと作ったので要はやる気の問題
- できれば整えて再利用したい
- 問題をほとんど作れていない
- Tofuは問題と呼べるのか問題
- 画像問はみんな
( ゚д゚)ポカーン
で(´・ω・`)ショボーン
サーバについて
全般
- https://github.com/3846masa/YEHD-2015-Docker
- Docker,nodejs,mongodb
- nodejsは4系
- Express, co, mongoose
- babelは結局やめた
- File-based
- データベースを極力触りたくない
- 問題作る人がデータベース使えないかも
- データベース弄るUI作るのは怠い
- API-based
- クライアントを自由に
- (時間なくてCORS設定してないから不自由...)
- すごい強いサーバを借りた
- あきらかにオーバースペック
- 20Core 224GB-Memory 256GB-SSD
- 使った時間(1日ちょっと)で,11447円
- https://yabumi.cc/151ba2577a01d5b600843e76.png
- 競プロのジャッジが凄く速い
CTF
- https://github.com/3846masa/YEHD-2015-CTFServer
- フラグをハッシュ化して管理
- GithubでFile-based管理だったため
- SHA3-512でハッシュ化
- こちらから構想を得た
- File-basedなので開催後に公開が楽
- クライアントを作ればそのまま簡易常設CTFになれる
- (時間取れなくて作れてないけど)
競技プログラミング
- https://github.com/3846masa/YEHD-2015-ProconServer
- テストケースは生身
- これは実装上仕方ないと思う
- 言語の豊富さ
- Perl6からSwiftまで数多くの言語に対応
- https://gist.github.com/3846masa/1d2c20483e7ae151dc86
- Java, C++, Python2が多かった
- Perl6を使う人いなくて寂しかった
- Markdown + Mathjax
- marked.jsと組み合わせた
- 今ひとつ良い実装が思いついていない
- ジャッジはDockerコンテナでやる
- yukicoderやpaizaがDockerらしい
- コマンドはyukicoderのコマンドを参考にした
- (yukicoderすごいよな....)
- File-basedなので公開が楽
- paiza.ioのAPIと連携すれば簡易常設競プロになりそう
- それについては追々考えたい
問題について
Web-050-Tofu
- linkタグにDataURIでCSSが埋め込まれている
- Font Awesomeが指定されているが読み込まれていない
- 適当にHTMLを落としてCDNでも使って,フォントを読み込む
- ちなみに表示できない文字の代わりの白い四角は,Tofuって言います
Misc-100-YEHD_Logo
- ヒント画像から読み取るべき情報
- pngcheckを使って詳細を確認
- https://gist.github.com/3846masa/d678941d827ec8bfc3d2
- Alphaが認識されていない
- Alphaはデータとしては存在する
-33.7% compression
- Image Headerの仕様に沿って修正
- 前回のjsInPNGから発展した問題
その他
賞状
会場
- イベントスペース dots.をお借りしました
- とても快適な環境でした
- Wifi完備,プロジェクター,変換アダプタ,電源
- これらを無償で借りれるなんて凄い...
- dots.の予約カレンダー
- 帰り際見た僕「結構埋まってるな...」
- スタッフ「そうでもないですよー,ぜひ使ってください」
- とのことなので,どんどん活用しましょう!
解いた問題
- ProblemAとProblemCだけ解けた
- Perlで通らなかったのでnodejs使った
- CTF問題は解いていない
- サーバ管理で解いている時間があまりなかった
懇親会
- ピザ食べた
- 途中から食べ放題プランにした
CCレモンの印象しかない店員との通信がうまく行かなかった
- とても楽しかった
運営各位,作問者各位,お疲れ様でした!
みなさんのおかげで無事開催出来ました!!
また来年お会いしましょう!!!