Download - Arrow Judge
![Page 1: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/1.jpg)
Arrow JudgeHiromu Yakura
![Page 2: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/2.jpg)
Self-Introduction
矢倉 大夢
@hiromu1996
灘高校2年生
![Page 3: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/3.jpg)
Self-Introduction
灘校パソコン研究部
セキュリティ
競技プログラミング
![Page 4: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/4.jpg)
Self-Introduction
灘校パソコン研究部
セキュリティ
競技プログラミング
![Page 5: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/5.jpg)
Self-Introduction
灘校パソコン研究部
セキュリティ
競技プログラミング
![Page 6: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/6.jpg)
Self-Introduction
灘校パソコン研究部
セキュリティ
競技プログラミング 2011-2013部長
![Page 7: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/7.jpg)
Self-Introduction
灘校パソコン研究部
セキュリティ
競技プログラミング
![Page 8: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/8.jpg)
Self-Introduction
灘校パソコン研究部
セキュリティ
競技プログラミング
情報セキュリティスペシャリスト
![Page 9: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/9.jpg)
Self-Introduction
灘校パソコン研究部
セキュリティ
競技プログラミング
情報セキュリティスペシャリスト
最年少合格
![Page 10: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/10.jpg)
Self-Introduction
灘校パソコン研究部
セキュリティ
競技プログラミング
![Page 11: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/11.jpg)
Self-Introduction
灘校パソコン研究部
セキュリティ
競技プログラミング横浜大会 4位
![Page 12: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/12.jpg)
Self-Introduction
灘校パソコン研究部
セキュリティ
競技プログラミング
![Page 13: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/13.jpg)
Self-Introduction
灘校パソコン研究部
セキュリティ
競技プログラミング
アジア太平洋情報オリンピック
![Page 14: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/14.jpg)
Self-Introduction
灘校パソコン研究部
セキュリティ
競技プログラミング
アジア太平洋情報オリンピック
銅メダル
![Page 15: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/15.jpg)
Competitive Programming
競技プログラミングとは
![Page 16: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/16.jpg)
Competitive Programming
競技プログラミングとは
問題に与えられた条件に従って早く正確にプログラムを書く競技
![Page 17: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/17.jpg)
Competitive Programming
競技プログラミングとは
問題に与えられた条件に従って早く正確にプログラムを書く競技
![Page 18: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/18.jpg)
Competitive Programming
競技プログラミングとは
問題に与えられた条件に従って早く正確にプログラムを書く競技
数学、幾何計算機科学、データ構造
![Page 19: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/19.jpg)
Competitive Programming
競技プログラミングとは
問題に与えられた条件に従って早く正確にプログラムを書く競技
![Page 20: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/20.jpg)
Competitive Programming
競技プログラミングとは
問題に与えられた条件に従って早く正確にプログラムを書く競技
CPU使用時間メモリ使用量
![Page 21: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/21.jpg)
Competitive Programming
世界中でいろいろなコンテスト
![Page 22: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/22.jpg)
Competitive Programming
世界中でいろいろなコンテスト
![Page 23: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/23.jpg)
Competitive Programming
世界中でいろいろなコンテスト
![Page 24: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/24.jpg)
Competitive Programming
世界中でいろいろなコンテスト
![Page 25: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/25.jpg)
Competitive Programming
世界中でいろいろなコンテスト
![Page 26: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/26.jpg)
Competitive Programming
世界中でいろいろなコンテスト
![Page 27: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/27.jpg)
Competitive Programming
世界中でいろいろなコンテスト
![Page 28: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/28.jpg)
Competitive Programming
世界中でいろいろなコンテスト
人材発掘の場に
![Page 29: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/29.jpg)
Educational Uses
教育的にも非常に有用
![Page 30: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/30.jpg)
Educational Uses
ゲーム製作を目標に始める
![Page 31: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/31.jpg)
Educational Uses
ゲーム製作を目標に始める
様々なAPIを学ばなければならない
![Page 32: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/32.jpg)
Educational Uses
ゲーム製作を目標に始める
様々なAPIを学ばなければならない
GUIプログラミングまで長い時間が
![Page 33: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/33.jpg)
Educational Uses
ゲーム製作を目標に始める
様々なAPIを学ばなければならない
GUIプログラミングまで長い時間が
挫折する
![Page 34: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/34.jpg)
Educational Uses
競技プログラミングから始める
![Page 35: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/35.jpg)
Educational Uses
競技プログラミングから始める
入出力の知識だけで始められる
![Page 36: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/36.jpg)
Educational Uses
競技プログラミングから始める
入出力の知識だけで始められる
問題を解くたびに達成感
![Page 37: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/37.jpg)
Educational Uses
競技プログラミングから始める
入出力の知識だけで始められる
問題を解くたびに達成感
少しずつ実装力を身につけていく
![Page 38: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/38.jpg)
Online Judge
競技プログラミングの練習環境
Web上で問題を解くことができる
![Page 39: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/39.jpg)
Webサーバー ジャッジサーバー
Online Judge
![Page 40: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/40.jpg)
Online Judge
Webサーバー ジャッジサーバー
![Page 41: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/41.jpg)
Online Judge
Webサーバー ジャッジサーバー
![Page 42: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/42.jpg)
Online Judge
Webサーバー ジャッジサーバー
![Page 43: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/43.jpg)
Online Judge
Webサーバー ジャッジサーバー
![Page 44: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/44.jpg)
Online Judge
Webサーバー ジャッジサーバー
![Page 45: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/45.jpg)
Online Judge
Webサーバー ジャッジサーバー
![Page 46: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/46.jpg)
Online Judge
Webサーバー ジャッジサーバー
![Page 47: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/47.jpg)
Online Judge
すでにいろいろなシステムが
北京大学 - PKU Online Judge
会津大学 - Aizu Online Judge
![Page 48: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/48.jpg)
The Problem
![Page 49: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/49.jpg)
ユーザーが
ホスティングできない
![Page 50: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/50.jpg)
The Problem
ユーザーがホスティングできない
問題を公開しあって練習したり
コンテストを開催したりできない
![Page 51: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/51.jpg)
The Problem
セキュリティのために仕方がないと考えられてきた
![Page 52: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/52.jpg)
それを変えました
![Page 53: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/53.jpg)
インストールは
超簡単
![Page 54: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/54.jpg)
# apt-add-repository ppa:hiromu1996/arrow-judge
Installation
![Page 55: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/55.jpg)
# apt-get update
Installation
![Page 56: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/56.jpg)
# apt-get install arrow-judge arrow-judge-web
Installation
![Page 57: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/57.jpg)
Installation
![Page 58: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/58.jpg)
Technologies
もちろんセキュリティも考慮に
cgroupsでリソース管理
chroot, unshareでアクセス制御
![Page 59: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/59.jpg)
Technologies
Ubuntu PPAでインストールを簡単に
Webインストーラーも作成
![Page 60: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/60.jpg)
Features
一般的なオンラインジャッジの機能
CPU使用時間やメモリ使用量の計測
他のユーザーのソースを検索
![Page 61: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/61.jpg)
Features
ユーザーが問題を作成できる機能
堅牢性を保っているからこそできる
できるのはこのシステムだけ
![Page 62: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/62.jpg)
Features
コンテスト開催機能
スコアリングシステム
Clarificationシステム
![Page 63: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/63.jpg)
Features
ジャッジサーバーの分散処理機能
キューに応じてサーバーを追加
コンテスト時だけEC2で増強
![Page 64: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/64.jpg)
Features
簡単な管理画面
Webからプログラミング言語の追加
ジャッジサーバーの設定
![Page 65: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/65.jpg)
Demo
![Page 66: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/66.jpg)
Open Source
ソースはGithubで公開中
https://github.com/hiromu/arrow-judge
https://github.com/hiromu/arrow-judge-web
![Page 67: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/67.jpg)
Special Thanks
開発にあたってIPAの未踏IT人材発掘・育成事業の支援を受けました
![Page 68: Arrow Judge](https://reader038.vdocuments.net/reader038/viewer/2022103002/55a05f641a28ab4b2e8b46b4/html5/thumbnails/68.jpg)
Conclusion
このソフトウェアを通じて
日本の競技プログラミング界がもっと活発になってほしい