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

基于LAMP的在線編程測評平臺的研究與實現

2019-12-01 00:48:21李星儒北方民族大學
數碼世界 2019年12期
關鍵詞:頁面用戶

李星儒 北方民族大學

關鍵字:LAMP OJ 在線編程測評平臺

引言

隨著國內外各大算法競賽的興起,如藍橋杯,ACM/ICPC等。各大高校也越來越重視學生算法編程能力的培養,也吸引了不少學子前去參賽,我校也不例外。但是我校目前還沒有一個能投入使用的在線評測平臺。鑒于此,我們開發了基于LAMP的在線編程測評平臺。LAMP是指基于Linux的,使用Apache作為網頁服務器,MySQL作為數據庫系統,PHP作為編程語言的網站建站方案。在線編程評測平臺是一個在線的判題系統。使用者可以在上提交多種程序源代碼,并交由平臺自動編譯測評。

1 平臺功能設計

1.1 前臺使用

首先,系統部署完成后,用戶訪問系統網址,在導航欄上可見題庫、評測狀態等幾個功能區。在用戶登錄后且具有管理員權限時,會出現“控制臺”功能區。

(1)題庫功能區

題庫功能區是整個評測系統最核心的部分,在這個功能區,可以看到諸如題目標題、題目難度、題目提交數和正確通過數等重要的信息。

(2)評測狀態功能區

從這個功能區可以看到整個服務器的評測狀態。該功能區展示了一個列表,詳細顯示了目前正在排隊的測試案例和正在測評的測試案例。

(3)我的功能區

這里是用戶中心。用戶可以從這個功能區看到至今為止的自身測評統計數據:總提交數、總通過數、通過率等。

(4)控制臺功能區

打開控制臺功能區,其中又細分為下列幾個小功能區:題目管理、組卷管理、用戶管理欄目。

2.2 數據庫設計概要

平臺數據庫由 coder_questions、sessions、tests、submit、users五個表組成。其中,coder_questions用于存儲題庫里的題目,sessions用于保存用戶登錄憑證,tests用于保存組卷信息,submit用于保存用戶提交的代碼供后臺測評,users用于保存平臺注冊的所有用戶信息。

2 平臺具體實現

(1)頁面路由顯示過程分析

對整個平臺訪問將自動重定向到index.php。這個文件是首頁路由文件,再根據指定的規則過濾用戶請求之后,它將根據用戶的要求呈現不同的頁面。首頁路由文件核心代碼如下所示:

$path=$_SERVER[`REQUEST_URI`];

$path=preg_replace("/(?[w&=%:+-]*)/","",$path);

if(file_exists("../smarty/tpl/oj-".$file_name.".tpl"))

$smarty->display("oj-$file_name.tpl");

else

header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");

(2)題庫讀取顯示關鍵代碼分析

如下面所示,頁面首先會向數據庫發送查詢SQL請求,請求讀取題庫信息。為防止保存時亂碼,題庫數據都是經過base64編碼過的,因此讀取之后需要經過base64解碼。最后顯示到屏幕上。

$ret=mysqli_query($GLOBALS[`db_conn`],"SELECT`id`,`title`,`ac`,`come_from` FROM `coder_questions` WHERE`showable`= 1");

for($id=0;$id

$question[$id]=mysqli_fetch_assoc($ret);

foreach ($question[$id] as $key => $value)

if($key!=`ac` ) $question[$id][$key]=base64_decode($value);

(3)題目答案代碼提交過程分析

核心代碼如下所示,當頁面嘗試提交代碼時,會通過WebSocket與后臺服務器建立連接,然后將會話憑據(sessionid)、base64編碼后的代碼(code)等編碼為JSON數據后發送至后臺服務器。

var ws = new WebSocket("ws://{$domain}:3698");

ws.onopen = function () {

var params={`sessionid`:info[`sessionid`], method:`push`,

code:window.btoa(unescape(encodeURIComponent(editor.getValue()))),type:$("#lang").val(),qid:info[`qid`] };

ws.send(JSON.stringify(params));

}

然后后臺服務器接收到前端發過來的代碼,會將其插入數據庫的submit表,等待系統測評。

3 結語

經過長達1年的艱苦建設,我校在線評測系統終于初步建成。這極大地提高了我校計算機學院學生們的算法及編程水平,也為以后我校參加諸如藍橋杯等競賽的選手提供了訓練平臺,相信在優越的條件下,我校相關專業學生能在算法類競賽取得更好的成績。

猜你喜歡
頁面用戶
微信群聊總是找不到,打開這個開關就好了
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 一级毛片无毒不卡直接观看| 国产区在线看| 国产爽爽视频| 福利视频一区| 永久天堂网Av| 熟女成人国产精品视频| 97国产在线观看| 在线免费无码视频| 国产视频欧美| 一本一道波多野结衣av黑人在线| 亚洲无线国产观看| 在线观看网站国产| 国产成人综合日韩精品无码不卡| 国产成人综合久久精品尤物| 亚洲欧洲日产国产无码AV| 欧美三级视频网站| 亚洲欧美国产视频| 毛片网站观看| 欧美日韩国产系列在线观看| 青青热久麻豆精品视频在线观看| 免费A级毛片无码免费视频| 91最新精品视频发布页| 免费在线国产一区二区三区精品| 久久五月视频| 国产麻豆va精品视频| 国产黄在线免费观看| 国产95在线 | 999精品色在线观看| 亚洲成人一区二区| 91www在线观看| 国产成人无码播放| 国产日韩欧美中文| 欧美第九页| 亚洲无线观看| 日韩色图在线观看| 91久久大香线蕉| 久久精品人人做人人爽| 内射人妻无码色AV天堂| 国产精选自拍| 国产真实乱了在线播放| 亚洲综合色区在线播放2019| 国产激情无码一区二区APP | 六月婷婷精品视频在线观看| 亚洲中文在线看视频一区| 欧美日韩资源| 超清人妻系列无码专区| 她的性爱视频| 精品视频一区二区三区在线播| 自偷自拍三级全三级视频| 88av在线看| 制服丝袜在线视频香蕉| 在线观看国产网址你懂的| 国产h视频免费观看| 在线一级毛片| 国产免费福利网站| 色综合成人| 91精品专区| 亚洲国产精品久久久久秋霞影院| 激情综合五月网| 精品人妻一区无码视频| 91在线视频福利| 国产在线拍偷自揄观看视频网站| 国产小视频a在线观看| 国产成人乱码一区二区三区在线| 久久精品人人做人人综合试看| 99精品福利视频| 成人在线观看不卡| 99国产精品免费观看视频| 欧美精品啪啪| 亚洲欧美日韩视频一区| 久久青草视频| 麻豆精品在线视频| 国产黄网永久免费| 国产乱人伦精品一区二区| 欧美五月婷婷| 福利一区三区| 伊人色综合久久天天| 欧美伊人色综合久久天天| 日韩国产一区二区三区无码| 亚洲天堂网在线播放| 日韩午夜福利在线观看| 99精品国产高清一区二区|