Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Arrow Judge

0 views

Published on

Presentation at U-20 Programming Contest

Published in: Technology
  • Be the first to comment

Arrow Judge

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

×