SlideShare a Scribd company logo
Arrow Judge
Hiromu Yakura
Self-Introduction
矢倉 大夢
@hiromu1996 
高校2年生
Self-Introduction
校パソコン研究部 
セキュリティ
競技プログラミング
Self-Introduction
校パソコン研究部 
セキュリティ
競技プログラミング
Self-Introduction
校パソコン研究部 
セキュリティ
競技プログラミング
Self-Introduction
校パソコン研究部 
セキュリティ
競技プログラミング
2011-2013
部長
Self-Introduction
校パソコン研究部 
セキュリティ
競技プログラミング
Self-Introduction
校パソコン研究部 
セキュリティ
競技プログラミング
情報セキュリティ
スペシャリスト
 
Self-Introduction
校パソコン研究部 
セキュリティ
競技プログラミング
情報セキュリティ
スペシャリスト
最年少合格
Self-Introduction
校パソコン研究部 
セキュリティ
競技プログラミング
Self-Introduction
校パソコン研究部 
セキュリティ
競技プログラミング
横浜大会 4位
Self-Introduction
校パソコン研究部 
セキュリティ
競技プログラミング
Self-Introduction
校パソコン研究部 
セキュリティ
競技プログラミング
アジア太平洋
情報オリンピック
 
Self-Introduction
校パソコン研究部 
セキュリティ
競技プログラミング
アジア太平洋
情報オリンピック
銅メダル
Competitive Programming
競技プログラミングとは
 
 
Competitive Programming
競技プログラミングとは
問題に与えられた条件に従って
早く正確にプログラムを書く競技
Competitive Programming
競技プログラミングとは
問題に与えられた条件に従って
早く正確にプログラムを書く競技
Competitive Programming
競技プログラミングとは
問題に与えられた条件に従って
早く正確にプログラムを書く競技
数学、幾何
計算機科学、データ構造
Competitive Programming
競技プログラミングとは
問題に与えられた条件に従って
早く正確にプログラムを書く競技
Competitive Programming
競技プログラミングとは
問題に与えられた条件に従って
早く正確にプログラムを書く競技
CPU使用時間
メモリ使用量
Competitive Programming
世界中でいろいろなコンテスト
 
 
Competitive Programming
世界中でいろいろなコンテスト
 
 
Competitive Programming
世界中でいろいろなコンテスト
 
 
Competitive Programming
世界中でいろいろなコンテスト
 
 
Competitive Programming
世界中でいろいろなコンテスト
 
 
Competitive Programming
世界中でいろいろなコンテスト
 
 
Competitive Programming
世界中でいろいろなコンテスト
 
 
Competitive Programming
世界中でいろいろなコンテスト
 
 
人材発掘の場に
Educational Uses
教育的にも非常に有用
Educational Uses
ゲーム製作を目標に始める
 
 
 
Educational Uses
ゲーム製作を目標に始める
様々なAPIを学ばなければならない
 
 
Educational Uses
ゲーム製作を目標に始める
様々なAPIを学ばなければならない
GUIプログラミングまで長い時間が
 
Educational Uses
ゲーム製作を目標に始める
様々なAPIを学ばなければならない
GUIプログラミングまで長い時間が
挫折する
Educational Uses
競技プログラミングから始める
 
 
 
Educational Uses
競技プログラミングから始める
入出力の知識だけで始められる
 
 
Educational Uses
競技プログラミングから始める
入出力の知識だけで始められる
問題を解くたびに達成感
 
Educational Uses
競技プログラミングから始める
入出力の知識だけで始められる
問題を解くたびに達成感
少しずつ実装力を身につけていく
Online Judge
競技プログラミングの練習環境
Web上で問題を解くことができる
Webサーバー ジャッジサーバー
Online Judge
Online Judge
Webサーバー ジャッジサーバー
Online Judge
Webサーバー ジャッジサーバー
Online Judge
Webサーバー ジャッジサーバー
Online Judge
Webサーバー ジャッジサーバー
Online Judge
Webサーバー ジャッジサーバー
Online Judge
Webサーバー ジャッジサーバー
Online Judge
Webサーバー ジャッジサーバー
Online Judge
すでにいろいろなシステムが
北京大学 - PKU Online Judge
会津大学 - Aizu Online Judge
The Problem
ユーザーが
ホスティングできない
The Problem
ユーザーがホスティングできない
問題を公開しあって練習したり
コンテストを開催したりできない
The Problem
セキュリティのために
仕方がないと考えられてきた
それを変えました
インストールは
超簡単
# apt-add-repository
ppa:hiromu1996/arrow-judge
Installation
# apt-get update
Installation
# apt-get install arrow-judge
arrow-judge-web
Installation
Installation
Technologies
もちろんセキュリティも考慮に
cgroupsでリソース管理
chroot, unshareでアクセス制御
Technologies
Ubuntu PPAでインストールを簡単に
Webインストーラーも作成
Features
一般的なオンラインジャッジの機能
CPU使用時間やメモリ使用量の計測
他のユーザーのソースを検索
Features
ユーザーが問題を作成できる機能
堅牢性を保っているからこそできる
できるのはこのシステムだけ
Features
コンテスト開催機能
スコアリングシステム
Clarificationシステム
Features
ジャッジサーバーの分散処理機能
キューに応じてサーバーを追加
コンテスト時だけEC2で増強
Features
簡単な管理画面
Webからプログラミング言語の追加
ジャッジサーバーの設定
Demo
Open Source
ソースはGithubで公開中
https://github.com/hiromu/arrow-
judge
https://github.com/hiromu/arrow-
judge-web
Special Thanks
開発にあたって
IPAの未踏IT人材発掘・育成事業の
支援を受けました
Conclusion
このソフトウェアを通じて
日本の競技プログラミング界が
もっと活発になってほしい

More Related Content

PPTX
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
PPTX
UniRxことはじめ
PPTX
paizaのオンラインジャッジを支えるDockerとその周辺
PDF
Riderはいいぞ!
PDF
[UE4]自動テストでもっと楽したい!
PPTX
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
PDF
こわくない Git
PDF
入門Ansible
ウェブ・セキュリティ基礎試験(徳丸基礎試験)の模擬試験問題
UniRxことはじめ
paizaのオンラインジャッジを支えるDockerとその周辺
Riderはいいぞ!
[UE4]自動テストでもっと楽したい!
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
こわくない Git
入門Ansible

What's hot (20)

PDF
【UE4.25 新機能】ロードの高速化機能「IOStore」について
PPTX
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
PPTX
UE4におけるLoadingとGCのProfilingと最適化手法
PDF
katagaitai CTF勉強会 #5 Crypto
PDF
Editor Utility Widgetで色々便利にしてみた。
PPTX
UE4のスレッドの流れと Input Latency改善の仕組み
PDF
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
PDF
コールバックと戦う話
PPTX
数理最適化とPython
PDF
ゲーム開発者のための C++11/C++14
PPTX
50分でわかるブループリントについて
PDF
ポケモンの画像分類(みんなのPython勉強会#73 ライトニングトーク)
PDF
【Unity】 Behavior TreeでAIを作る
PDF
例外設計における大罪
PPTX
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
PPTX
Unreal engine4を使ったVRコンテンツ製作で 120%役に立つtips集+GDC情報をご紹介
PPTX
Humpback whale identification challenge反省会
PDF
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
PDF
UE4でマルチプレイヤーゲームを作ろう
PDF
いつやるの?Git入門 v1.1.0
【UE4.25 新機能】ロードの高速化機能「IOStore」について
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
UE4におけるLoadingとGCのProfilingと最適化手法
katagaitai CTF勉強会 #5 Crypto
Editor Utility Widgetで色々便利にしてみた。
UE4のスレッドの流れと Input Latency改善の仕組み
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
コールバックと戦う話
数理最適化とPython
ゲーム開発者のための C++11/C++14
50分でわかるブループリントについて
ポケモンの画像分類(みんなのPython勉強会#73 ライトニングトーク)
【Unity】 Behavior TreeでAIを作る
例外設計における大罪
UE4 MultiPlayer Online Deep Dive 基礎編1 -Getting Started- (historia様ご講演) #UE4DD
Unreal engine4を使ったVRコンテンツ製作で 120%役に立つtips集+GDC情報をご紹介
Humpback whale identification challenge反省会
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
UE4でマルチプレイヤーゲームを作ろう
いつやるの?Git入門 v1.1.0
Ad

Viewers also liked (16)

PDF
CTF, What's in it for me?
PDF
検証、SEAndroid
KEY
ICTのちから
KEY
Nyarlathotep
KEY
OSS奨励賞受賞プレゼン 活動紹介
PDF
Why don't you learn programming?
PDF
Arduinoでプログラミングに触れてみよう 続編
PDF
新しいライブ映像再生システムを研究してみた
KEY
ナウいAndroidセキュリティ
PDF
Arduinoでプログラミングに触れてみよう
PDF
GAME ON 特別イベント 「ゲームってなんでプログラミング?」
KEY
SEAndroid -AndroidのアーキテクチャとSE化について-
KEY
Trendmicro Security Award 2012 Final Presentation
PDF
セキュリティ・キャンプのススメ
KEY
Androidにおける強制アクセス制御
PDF
CTFはとんでもないものを 盗んでいきました。私の時間です…
CTF, What's in it for me?
検証、SEAndroid
ICTのちから
Nyarlathotep
OSS奨励賞受賞プレゼン 活動紹介
Why don't you learn programming?
Arduinoでプログラミングに触れてみよう 続編
新しいライブ映像再生システムを研究してみた
ナウいAndroidセキュリティ
Arduinoでプログラミングに触れてみよう
GAME ON 特別イベント 「ゲームってなんでプログラミング?」
SEAndroid -AndroidのアーキテクチャとSE化について-
Trendmicro Security Award 2012 Final Presentation
セキュリティ・キャンプのススメ
Androidにおける強制アクセス制御
CTFはとんでもないものを 盗んでいきました。私の時間です…
Ad

More from Hiromu Yakura (14)

PDF
Human-AI communication for human-human communication / CHAI Workshop @ IJCAI ...
PDF
How to make good use of AI technologies? @ Tsukuba Conference 2021
PDF
機械学習を"良く"使うには
PDF
自己紹介@名状しがたいお茶会
PDF
Python 3のWebシステムでDDDに入門してみた
PDF
Robust Audio Adversarial Example for a Physical Attack
PDF
機械学習コン講評
PDF
NPCA夏合宿 2014 講義資料
PDF
イタリアでパスタを食べた話
PDF
CTFとは
PDF
ぃぬ速@LKML
PDF
プラトン
PDF
How to lick Miku
KEY
Human-AI communication for human-human communication / CHAI Workshop @ IJCAI ...
How to make good use of AI technologies? @ Tsukuba Conference 2021
機械学習を"良く"使うには
自己紹介@名状しがたいお茶会
Python 3のWebシステムでDDDに入門してみた
Robust Audio Adversarial Example for a Physical Attack
機械学習コン講評
NPCA夏合宿 2014 講義資料
イタリアでパスタを食べた話
CTFとは
ぃぬ速@LKML
プラトン
How to lick Miku

Arrow Judge