999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Docker技術開發的在線編程輔助教學平臺

2020-04-22 20:31:08金鵬
價值工程 2020年8期

金鵬

摘要:近年來,編程教育已經被眾多國家重視。目前,國內也出現了如OJ,POJ等在線編程測試平臺,但是通過調研以及實際的應用發現了一些不足的地方:交互界面簡陋,部署方面困難以及客戶人群的范圍局限,因此,為了同時適應各階段、各層次人群進行編程學習,集個人學習模塊、集體學習模塊、競賽模塊、在線題庫同時滿足易于部署的集成閱卷系統等功能為一體的編程輔助教學平臺將具有廣闊的市場前景。本系統具有Eagle-OJ,中央題庫,判卷集群,以及碼上網。在線編程輔助教學平臺具有研發成本低,技術先進,有好的交互體驗,快捷部署等優勢,本平臺將會彌補之前的一些國內欠缺不足的地方,從而創造一個更新型更完善的在線編程教學平臺。

Abstract: In recent years, programming education has been attached importance by many countries. At present, there are online programming test platforms such as Oj and POJ in China, but through investigation and practical application, we found some deficiencies: the interface is simple, deployment is difficult and the scope of the customer is limited, in order to adapt to all stages, all levels of the population at the same time to learn programming, the programming assistant teaching platform, which integrates individual learning module, collective learning module, competition module and online test database and meets the needs of integrated marking system, will have a broad market prospect. This system has Eagle-OJ, central test bank, grading cluster, as well as code on the Internet. The online programming assistant teaching platform has the advantages of low research and development cost, advanced technology, good interactive experience, quick deployment, etc.. This platform will make up for some deficiencies in China before, thus creates a newer and more perfect on-line programming teaching platform.

關鍵詞:在線編程教學平臺;競賽;中央題庫;交互性

Key words: online programming teaching platform;competition;central question bank;good interactivity

中圖分類號:TP302 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文章編號:1006-4311(2020)08-0209-02

0 ?引言

近年來,編程教育已經被眾多國家重視,“編程是通往未來世界的語言”,人工智能的發展是大勢所趨,未來所有行業都將隨著人工智能帶來升級與變革。ACM/ICPC是目前大學生競賽中難度最高、影響力最大的頂級賽事。但是國內相關訓練系統界面設計并不友好,目標用戶單一;系統的可移植性差,服務器環境配置復雜、程序安裝步驟繁瑣,這樣無疑提高了用戶使用的門檻。因此很有必要開發以ACM競賽培訓為主的,集個人學習模塊、集體學習模塊、競賽模塊、在線題庫、基于Docker的易于部署的集成閱卷系統等為一體的編程輔助教學平臺。

1 ?平臺概述

本系統所要求的軟硬件以及開發環境大多都是我們已經具備的,因此不需要大多的資金,除了個別必需品需要花費。并且團隊有較強的技術作為支持,能夠熟練運用JAVA、C等編程語言作為技術支持,并且在多個平臺系統都具有相應的開發經驗。技術層面并不存在大的問題。而且這方面的開發的雖然不少,但是能夠全面的,在原先基礎上再一次升華的卻并不多。

項目定位:集在線測評、綜合題庫、集成閱卷于一體的優質在線編程輔助教學平臺。

項目內容:本項目是以ACM競賽訓練為切入點進行設計開發,旨在提供快速便捷的編程訓練平臺。本項目是服務與應用相結合的綜合性在線編程輔助教學平臺,由Eagle-OJ系統和碼上網兩個平臺構成。

Eagle-OJ是一個基于Docker技術開發的在線編程訓練系統,系統實現了做題、比賽、分組管理等功能。使用者可以基于本系統自行開設比賽,組建小隊,編輯題庫,進行編程訓練。其中比賽又細分為ACM比賽和OJ比賽,這樣可以讓用戶在日常訓練中模擬正規比賽。管理員可以查看用戶提交的源碼,查看用戶近期數據,統計做題情況等,這樣無疑方便了對用戶的管理,施行針對性的訓練。另外,本系統提供了基于Docker技術的在線閱卷系統,可以方便快捷的對用戶的答案進行判斷,減輕了人工閱卷的壓力。碼上網是一個主要面向大眾的編程學習平臺,不同階段的用戶都可以在網站中學習編程類相關知識;網站提供各類編程類教學視頻;提供練習和測試功能,使用戶在學習之余可以通過測試來驗證學習成果;本網站還為高階學習人員提供算法學習的功能,開放論壇和交流功能,提供用戶通過討論學習提升編程能力等等。網站還會不定期的舉辦編程類比賽,并把比賽成績優秀的人推薦給相關軟件企業。另外,相關企業也可以在本網站上開設比賽,以程序設計競賽的形式來選拔適合企業的編程人才。

2 ?平臺總體設計

整個平臺主要分為五大功能模塊,分別為開源編程教學系統Eagle-OJ,中央題庫,判卷集群,碼上網,系統部署、運維。

2.1 Eagle-OJ

Eagle-OJ系統有小組功能、比賽功能、排行榜、個人界面、題庫等功能。小組功能主要用于課程學習等一些方面。每位用戶可以創建自己的小組并且開展只有小組成員可以加入的比賽,這個就和日常班級相類似,比賽也可以設置小組是否開放。比賽創建還可以設置這個比賽的模式。比如ACM模式,普通比賽模式等一些模式。排行榜功能真是根據本網站所有用戶解決題目數目的來作為排行指標的,排行榜的前三名又會給他們一個單獨的展示區域,就如同體育競技當中的排行類似。題庫功能的話是作為整個網站的題庫中心,普通用戶在都可做題,并且結果加入到排行榜當中。題庫又可以作為創建比賽的時候加入到比賽當中,如果沒有合適的題目,用戶還可以創建自己的題目。在用戶個人界面,可以收到和自己相關的最近通知以及查看公告欄信息。個人設置頁面可以設置自己的資料信息,創建題目加入小組等功能。

2.2 中央題庫

中央題庫能夠解決用戶初次搭建完系統內容相對匱乏,并提供大量高質量的題目供用戶進行選擇。中央題庫里面包含歷年NOIP全國聯賽普及組、藍橋杯、ACM等大型比賽題目。道題目有相應的難度系數和知識點說明,選題可以根據信息選擇自己需要的題目,然后生成題目列表文件,最后可以一鍵導入到Eagle-OJ系統中。一些高質量題目需要支付一定的費用購買,用戶可以免費查看題目內容,自己編寫代碼進行測試,但只有付費購買才可以獲得此題的測試用例和標準答案。如果用戶有好的題目,可以選擇上傳并且自行定價,當有其他用戶購買,上傳題目的人可以獲得相應的分成。為保證題庫的質量,項目組會對用戶上傳的每道題進行審核,如發現題目無解,測試用例不完整、雷同等問題,會拒絕題目的上架,由用戶重新編輯后方可進行再次審核。

2.3 判卷集群

判卷模塊用于判斷用戶的代碼是否正確,用戶編寫完相應的程序代碼,將代碼按照Restful標準發送到判卷模塊,我們的判卷模塊會把用戶的代碼進行編譯運行,然后判卷用戶的程序是否編寫正確,最后也會按照Restful標準返回判卷結果。判卷模塊基于Ubuntu進行開發,使用Linux嚴格的權限控制,有效防止惡意代碼對系統的正常運行產生影響。與判卷模塊的通訊統一參照Restful標準,第三方開發者可以輕易的將自己的系統與我們的判卷模塊集成。后臺接收的請求會通過基于Flask+Gevent+GUnicorn開發的控制器。判卷模塊支持運行在Docker中,這樣能大大簡化環境配置并增強系統的兼容性。判卷模塊可以運行在所有支持Docker的操作系統上,并會在GitHub上面進行開源,允許并鼓勵第三方開發者進行集成或改進。程序判定結果有如下7種:

①Accepted.——通過!(AC);

②Wrong Answer.——答案錯。(WA);

③RunTime Error.——程序運行出錯,意外終止等。(RTE);

④Time Limit Exceeded.——超時。程序沒在規定時間內出答案。(TLE);

⑤Presentation Error.——格式錯。程序沒按規定的格式輸出答案。(PE);

⑥Memory Limit Exceeded.——超內存。程序沒在規定空間內出答案。(MLE);

⑦Compile Error.——編譯錯。程序編譯不過。(CE)。

2.4 系統部署、運維

系統部署一直都是最復雜最核心的一部分,因為硬件、操作系統的不同,會導致安裝的時候會出現各種難以預測的錯誤。為此,我們的系統基于Docker開發,讓代碼編寫一次,就可以在不同環境下運行。假如當客戶在部署、運維方面遇到問題,我們會給予用戶相關的指導,并提供相關的優化建議,免去用戶的煩惱而專注于網站的本身。

該系統運用到了很多的技術,例如java、Vue、SpringBoot、Mysql、Docker、Python、Tomcat以及Nginx。所有系統最終都將部署在Docker容器里面,并且使用Docker的Swarm功能實現分布式。因為Docker是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的Linux機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口因此它部署速度很快,而且Docker相比KVM之類最明顯的特點就是啟動快,資源占用小。

3 ?平臺的實現

①前期:先完善產品功能,推廣產品,逐步占領市場為主。首先本項目組將已研發出的產品——Eagle-OJ系統在本校與相關專業達成業務協議,進行免費試用在教學和比賽訓練方面,在試用階段不斷進行功能測試并改進。

②中期則是如果Eagle-OJ項目發展良好,項目組會開始著手碼上網和中央題庫的開發。

③后期本項目若能發展良好,并且有一定的資金積累。本系統將涉足編程教育行業,緊密結合本項目現有的平臺資源,為中小學、各類高校、培訓機構實現教學的實時互動。將會推出移動端,方便用戶使用碎片化的時間學習編程。

4 ?結論

本文借鑒并結合現有編程平臺的實際需求,設計并實現了基于Docker技術開發的在線編程輔助教學平臺。系統具有Eagle-OJ、中央題庫、判卷集群等功能,具有研發成本低、技術先進、有好的交互體驗、快捷部署等優勢,本平臺將會彌補之前的一些國內欠缺不足的地方,從而創造一個更新型更完善的在線編程教學平臺。

參考文獻:

[1]李順.基于Docker的輕量化容器云平臺設計與實踐[J].金融科技時代,2019,10:38-40.

[2]伍陽.基于Docker的虛擬化技術研究[J].信息技術,2016,01:121-123.

[3]曹郁.基于Docker容器的微服務研究與實現[J].科學技術創新,2019,28:97-98.

主站蜘蛛池模板: 中文字幕欧美日韩高清| 日韩毛片免费观看| 99久久国产综合精品2020| 青青极品在线| av在线5g无码天天| av无码久久精品| 亚洲天堂日韩在线| 岛国精品一区免费视频在线观看 | 亚洲无码精彩视频在线观看| 国内a级毛片| 91在线视频福利| 国内黄色精品| 色香蕉影院| 五月婷婷精品| 国产成人精品第一区二区| 日本欧美午夜| 欧美精品1区| 制服无码网站| 中文纯内无码H| 亚洲AV无码一区二区三区牲色| 在线国产你懂的| 伊人久久婷婷五月综合97色| 美女被狂躁www在线观看| 天天摸天天操免费播放小视频| 色成人亚洲| 国产成人午夜福利免费无码r| 97在线观看视频免费| 性色在线视频精品| 久久亚洲国产视频| 91探花国产综合在线精品| 国产成人a在线观看视频| 思思热精品在线8| 国产熟女一级毛片| 欧美激情第一欧美在线| 刘亦菲一区二区在线观看| 黄色片中文字幕| 亚洲第一色视频| 亚洲最大看欧美片网站地址| 国产精品一区在线观看你懂的| 色婷婷亚洲综合五月| 在线精品视频成人网| 午夜a级毛片| AV在线天堂进入| 久久精品国产91久久综合麻豆自制| 一本大道无码日韩精品影视| 在线无码九区| 国产网站一区二区三区| 亚洲不卡无码av中文字幕| 婷婷伊人五月| 欧美乱妇高清无乱码免费| 日韩欧美国产综合| 欧美在线综合视频| 欧美综合区自拍亚洲综合绿色| 亚洲天堂日本| 亚洲综合专区| 欧美亚洲另类在线观看| 国产Av无码精品色午夜| 国产午夜一级淫片| 乱系列中文字幕在线视频| 97久久精品人人| 又爽又黄又无遮挡网站| 久久精品日日躁夜夜躁欧美| 91视频首页| 久视频免费精品6| 亚洲一级毛片在线播放| 国产视频 第一页| 91久久夜色精品| 青青久视频| 毛片网站在线看| 亚洲天堂在线免费| 精品1区2区3区| 波多野吉衣一区二区三区av| 中文字幕资源站| 亚洲精品无码AⅤ片青青在线观看| 亚洲日本精品一区二区| 奇米影视狠狠精品7777| 人妻无码一区二区视频| 99re在线观看视频| 婷婷成人综合| 91人妻在线视频| 欧美无专区| 久久精品人人做人人爽97|