SlideShare a Scribd company logo
1 of 68
Download to read offline
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

What's hot

ゴシッププロトコルによる冗長化と負荷分散の検証
ゴシッププロトコルによる冗長化と負荷分散の検証ゴシッププロトコルによる冗長化と負荷分散の検証
ゴシッププロトコルによる冗長化と負荷分散の検証
Sugawara Genki
 
FOSS4G OKINAWA QGIS入門編ワークショップ
FOSS4G OKINAWA QGIS入門編ワークショップFOSS4G OKINAWA QGIS入門編ワークショップ
FOSS4G OKINAWA QGIS入門編ワークショップ
IWASAKI NOBUSUKE
 

What's hot (20)

DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLiveDXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
 
paizaのオンラインジャッジを支えるDockerとその周辺
paizaのオンラインジャッジを支えるDockerとその周辺paizaのオンラインジャッジを支えるDockerとその周辺
paizaのオンラインジャッジを支えるDockerとその周辺
 
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
 
深層学習向け計算機クラスター MN-3
深層学習向け計算機クラスター MN-3深層学習向け計算機クラスター MN-3
深層学習向け計算機クラスター MN-3
 
研究分野をサーベイする
研究分野をサーベイする研究分野をサーベイする
研究分野をサーベイする
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
 
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
 
ポーカーAIの最新動向 20171031
ポーカーAIの最新動向 20171031ポーカーAIの最新動向 20171031
ポーカーAIの最新動向 20171031
 
プログラムを高速化する話
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話
 
ゴシッププロトコルによる冗長化と負荷分散の検証
ゴシッププロトコルによる冗長化と負荷分散の検証ゴシッププロトコルによる冗長化と負荷分散の検証
ゴシッププロトコルによる冗長化と負荷分散の検証
 
FOSS4G OKINAWA QGIS入門編ワークショップ
FOSS4G OKINAWA QGIS入門編ワークショップFOSS4G OKINAWA QGIS入門編ワークショップ
FOSS4G OKINAWA QGIS入門編ワークショップ
 
大学院進学が切り拓く情報系学生のキャリア
大学院進学が切り拓く情報系学生のキャリア大学院進学が切り拓く情報系学生のキャリア
大学院進学が切り拓く情報系学生のキャリア
 
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
 
TIS 戦略技術センター AI技術推進室紹介
TIS 戦略技術センター AI技術推進室紹介TIS 戦略技術センター AI技術推進室紹介
TIS 戦略技術センター AI技術推進室紹介
 
If文から機械学習への道
If文から機械学習への道If文から機械学習への道
If文から機械学習への道
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
SlideShareをやめて Speaker Deckに移行します
SlideShareをやめて Speaker Deckに移行しますSlideShareをやめて Speaker Deckに移行します
SlideShareをやめて Speaker Deckに移行します
 
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~
 
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
 

Viewers also liked

Androidにおける強制アクセス制御
Androidにおける強制アクセス制御Androidにおける強制アクセス制御
Androidにおける強制アクセス制御
Hiromu Yakura
 
CTFはとんでもないものを 盗んでいきました。私の時間です…
CTFはとんでもないものを 盗んでいきました。私の時間です…CTFはとんでもないものを 盗んでいきました。私の時間です…
CTFはとんでもないものを 盗んでいきました。私の時間です…
Hiromu Yakura
 

Viewers also liked (16)

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

More from Hiromu Yakura

Human-AI communication for human-human communication / CHAI Workshop @ IJCAI ...
Human-AI communication for human-human communication / CHAI Workshop @ IJCAI ...Human-AI communication for human-human communication / CHAI Workshop @ IJCAI ...
Human-AI communication for human-human communication / CHAI Workshop @ IJCAI ...
Hiromu Yakura
 

More from Hiromu Yakura (14)

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

Recently uploaded

Recently uploaded (11)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

Arrow Judge