jiangsir/ZeroJudge: ZeroJudge 安裝及設定 - GitHub
文章推薦指數: 80 %
ZeroJudge 是一個Online Judge 系統,Online Judge 系統顧名思義就是線上自動評分,使用者將自己的程式碼上傳到系統內,系統就可以幫忙判斷出這個程式是否正確,而且評分的 ...
Skiptocontent
{{message}}
jiangsir
/
ZeroJudge
Public
Notifications
Fork
8
Star
44
ZeroJudge安裝及設定
44
stars
8
forks
Star
Notifications
Code
Issues
5
Pullrequests
0
Actions
Projects
0
Wiki
Security
Insights
More
Code
Issues
Pullrequests
Actions
Projects
Wiki
Security
Insights
master
Branches
Tags
Couldnotloadbranches
Nothingtoshow
{{refName}}
default
Couldnotloadtags
Nothingtoshow
{{refName}}
default
1
branch
4
tags
Code
Latestcommit
Gitstats
2
commits
Files
Permalink
Failedtoloadlatestcommitinformation.
Type
Name
Latestcommitmessage
Committime
images
problems
.DS_Store
.project
README.md
setup.py
Viewcode
ZeroJudge安裝及設定
1.請先下載ZeroJudge虛擬機3.4.2
2.一行升級ZeroJudge版本
說明:
系統特色:
運作原理:
使用方式:
解除封印
匯入題庫
系統程式升級-一行升級
請注意:若您當初抓的VM版本是較早的版本,比如VM3.0.3以前的,您就需要抓取新的安裝程式。
一行升級
README.md
ZeroJudge安裝及設定
1.請先下載ZeroJudge虛擬機3.4.2
系統資訊:
OS:UbuntuDesktop18.04
OS預設帳密:zero/!@34ZeroJudge
DB預設帳密:root/!@34ZeroJudge
ZeroJudge預設帳密:zero/!@#$zerojudge
更改DB密碼:
mysqladmin-uroot-ppassword
*更改完後應再次執行「一行升級」以便更新資料庫相關設定。
2.一行升級ZeroJudge版本
sudopython3/home/zero/ZeroJudge/setup.pyinstall--dbuser'root'--dbpass'YOUR_DB_PASSWORD'
說明:
本計劃藉由將ZeroJudge.tw打包為一個虛擬機,將一切必要的設定均事先完成,讓使用者的安裝困難度降到最低,以方便更多人使用。
並且藉由公開的題目交換格式使得題目可以更容易的互相流通。
本系統適合用於程式教學以及APCS實作以及各種程式競賽,目前支援C,C++,JAVA,Pascal,Python等主要語言。
系統特色:
https://zerojudge.tw公開上線(2007)已逾10年時間,由高師大附中jiangsir於2006年為進行程式教育而開發,是國內自主開發最早的OnlineJudge系統之一,也是目前國內最大的OnlineJudge,已經評分超過400萬筆程式碼。
過去的程式教育面臨著幾個顯著的問題,其一為教學時人力改作業必須耗費大量時間,並且容易出錯,也不精準。
其次就是若是學生自學,做完題目也難以知道是否完全正確,必須借助國外類似系統,但語言隔閡又提高了學習門檻。
ZeroJudge具備了自動評分以及原生的中文系統,因而改變程式教育的面貌。
本系統主要是著重於「學習」,因此許多錯誤訊息都儘可能提供最詳盡的資訊,不像部分以競賽為導向的系統,錯誤訊息過於精簡,不利學習者發現錯誤。
另外,系統設計為不依賴外網資源,可以獨立於封閉環境內進行測驗、競賽,是程式教育的好幫手。
運作原理:
ZeroJudge是一個OnlineJudge系統,OnlineJudge系統顧名思義就是線上自動評分,使用者將自己的程式碼上傳到系統內,系統就可以幫忙判斷出這個程式是否正確,而且評分的結果是有權威性的,而非僅供參考,因此程式競賽的評審多半「不是人」。
但對於同一個問題,程式的寫法有百百種,又要如何準確判斷是否正確呢?這就是軟體工程裡的「單元測試」的一種延伸運用,或稱為TDD(Test-DrivenDevelopment,測試驅動開發)。
真正開始動手寫程式之前,就先設計Testcase(測試資料),等到程式設計完成通過Testcase並且在時限及記憶體要求內完成,就視為正確。
虛擬機安裝:
ZeroJudge虛擬機下載後為一.ova檔,請準備好VirtualBox並進行匯入。
勾選【重新初始化所有網路卡的MAC位址】
由於打包虛擬機的環境跟您的環境肯定不一樣,因此必須變更網路設定
設定為橋接介面卡即可
登入系統之後,點開瀏覽器即可看到系統已順利運行。
使用方式:
請先進入虛擬機桌面系統,打開瀏覽器即可看到http://127.0.0.1,即一個空的全新的ZeroJudge。
接下來請進入「解題動態」,檢查是否有5個submissions分別是五個不同的語言對「a001.哈囉」的解題,應為AC。
代表評分機也運作正常。
解除封印
首先,ZeroJudge虛擬機預設密碼是公開的,因此,製作虛擬機之初,就考慮到,如果假設架起來,卻沒有適當的修改密碼,或許很迅速的就會被入侵了。
因此預設值限制了一些使用範圍,若想開放則必須自行更改設定進行開放。
第一:ssh連線,預設只有本機可以連線。
sudonano/etc/hosts.allow
比如:可以加入163.32.92.0/24
第二:ZeroJudge系統本身的管理權限。
預設:zero這個身分就是管理者,但只有本機可以登入。
如果想要在外部電腦登入管理員,請在虛擬機內登入系統之後,進入「管理系統參數」,【允許管理員登入的子網域】設定管理者可以登入的網路範圍。
最後,如果您只在本機進行管理,上兩項設定不動也不影響使用。
匯入題庫
感謝板橋高中郭兆平老師慷慨提供【板橋高中教學題】題庫,供大家自由使用,放置於本儲存庫problems資料夾檔中,共42個題目。
以管理員身分登入ZeroJudge系統,於下拉選單【管理題目】->匯入題目題目可多選,一次可匯入許多題目。
系統程式升級-一行升級
請注意:若您當初抓的VM版本是較早的版本,比如VM3.0.3以前的,您就需要抓取新的安裝程式。
重新抓取安裝安裝程式。
cd~
gitclonehttps://github.com/jiangsir/ZeroJudge
一行升級
參數說明:
--dbuser參數指定資料庫使用者
--dbpass參數指定資料庫密碼
sudopython3/home/zero/ZeroJudge/setup.pyinstall--dbuser'root'--dbpass'DBPASSWORD'
查看右下角版本資訊是否正確升級。
About
ZeroJudge安裝及設定
Resources
Readme
Stars
44
stars
Watchers
4
watching
Forks
8
forks
Releases
4
tags
Packages0
Nopackagespublished
Languages
Python
100.0%
Youcan’tperformthatactionatthistime.
Yousignedinwithanothertaborwindow.Reloadtorefreshyoursession.
Yousignedoutinanothertaborwindow.Reloadtorefreshyoursession.
延伸文章資訊
- 1高中生程式解題系統
高中生程式解題系統 ZeroJudge, An Online Judge System For Beginners ... Powered by ZeroJudge [refs/heads/3....
- 2關於ZeroJudge - Python 教學 - STEAM 教育學習網
ZeroJudge 是一個Online Judge 系統的線上解題系統,可以讓學習程式語言的使用者( 學生、老師、任何人),有題目可以練習,並且可以透過程式的判斷機制,了解自己所寫的 ...
- 3ZeroJudge - g256: 考拉茲猜想解題心得- inversion的創作
ZeroJudge - g256: 考拉茲猜想解題心得 ... 題目大意:. 基本雷同於這題,但是n 值範圍變大為n ≦ 10 ^ 6。 ... 解題思維:. 參見題目大意給定的鏈結。不過 ...
- 4a001 | <<高中生解題系統-參考答案>> zerojudge code
- 5ZeroJudge基礎練習 - 文華高中BookStack
ZeroJudge基礎練習. 讀取多行測試資料的方式:. xxxxxxxxxx. 1. import sys. 2. . 3. for line in sys.stdin: 4. #要執行的程...