【摘要】:在闡述按照高??紕展芾矸绞浇M織網(wǎng)絡考試的系統(tǒng)功能之后,講述了IBatisNet框架工作模式,分析了其使用的OR映射框架,及IBatisNet框架在系統(tǒng)開發(fā)中實際的應用方式,從而使用asp.net+sq1 server 2000高效地開發(fā)B/S結(jié)構(gòu)網(wǎng)絡考試系統(tǒng),并使該系統(tǒng)更具備擴展性和可維護性?!咀髡邌挝弧浚?黑龍江農(nóng)業(yè)工程職業(yè)學院;
在贛州等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供網(wǎng)站設計、成都網(wǎng)站制作 網(wǎng)站設計制作按需網(wǎng)站設計,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,高端網(wǎng)站設計,網(wǎng)絡營銷推廣,成都外貿(mào)網(wǎng)站建設,贛州網(wǎng)站建設費用合理。
【關鍵詞】: IBatisNet B/S結(jié)構(gòu) 在線考試 Net
【基金】:《B/S結(jié)構(gòu)網(wǎng)絡考試系統(tǒng)研究》課題組論文,項目編號11515086
【分類號】:TP311.52
【正文快照】:
1引言2 IBatisNet框架簡介 B/s結(jié)構(gòu)網(wǎng)絡考試系統(tǒng)借助準確、高速、網(wǎng)絡化的信息技術(shù)手段,能夠在任何地點、任何時間進行,跨越了時空的限制,增添了考試方便性和靈活性的功能。B/s結(jié)構(gòu)網(wǎng)絡考試系統(tǒng)提供了隨機均勻抽題、自動組卷、客觀題自動判卷等功能,是典型的M巧管理系統(tǒng),若采下載全文 更多同類文獻 PDF全文下載CAJ全文下載(如何獲取全文? 歡迎:購買知網(wǎng)充值卡、在線充值、在線咨詢)
CAJViewer閱讀器支持CAJ、PDF文件格式,AdobeReader僅支持PDF格式
Linux主機上架設網(wǎng)上調(diào)查和在線考試系統(tǒng) Linux
一、 引言
如今已進入WEB 2.0時代,各種網(wǎng)絡應用也如雨后春筍般不斷涌現(xiàn),特別是企事業(yè)單位應用越來越廣泛,從最初的C/S架構(gòu),到現(xiàn)如今的B/S架構(gòu)。本文是通過在LINUX主機上架設基于APACH服務的PHP程序應用,介紹了《網(wǎng)絡調(diào)查系統(tǒng)》和《網(wǎng)上考試系統(tǒng)》安裝和使用手冊,全部為作者個人經(jīng)驗之談。源程序歸作者所有,任何使用該程序者請遵守相關的使用協(xié)議。
二、 安裝前的準備
a) LINUX系統(tǒng):本文使用的是基于Fedora 8的linux系統(tǒng),如使用其它版本的linux請安裝系統(tǒng)對應的相關組件,當然上述兩種PHP應用也可以安裝在Windows 系統(tǒng)中,相關安裝信息請參考相應的手冊,這里只介紹基于linux系統(tǒng)。建議安裝好操作系統(tǒng)后去掉一些不必要的服務,如藍牙、SMART CARD等。
b) Webmin 的安裝,為了方便使用請在相關網(wǎng)站下載Webmin,最好是RPM文件,安裝好即可。
c) HTTP支持:使用的是Apache 2.2.6,將文件的字符集設定為默認,否則會產(chǎn)生亂碼。
d) MYSQL支持:MYSQL 版本 5.0.45, 建立一個新的用戶,并給予建立和修改數(shù)據(jù)庫的權(quán)利。
e) PHP 版本:PHP 版本 5.2.5
f) 安裝php-mbstring,此插件不是隨PHP自行安裝,需要另外安裝,Linux光盤上有現(xiàn)成的RPM。
g) 本文所使用的組件全部是Fedora光盤中所帶的組件,并且都是經(jīng)過編譯后的rpm文件,所以安裝上省去了很多的麻煩。這種方法安裝的弊端就是不能根據(jù)自己定義的方式進行安裝,也不夠靈活,所以安裝目錄也會和通過重新編譯進行安裝的程序會有一些區(qū)別。
h) 所用到的虛擬目錄為 /var/www/html,為了安全考慮可以根據(jù)需要建立其他虛擬目錄。
i) 本文為了方便并沒有建立其他的用戶和相應的權(quán)限,全部使用root用戶進行操作,在實際工作中非常不可取,因為LINUX是以安全著稱的,所以不建議大家像我這樣設定。
j) 為了使用方便,使用了兩個工具如下:
i. WinSCP 是一個支持SSH(Secure SHell)的SCP(Secure Copy)文件傳輸軟件。只要文件主機支持SSH協(xié)定,你就可以安心的下載、上傳文件。他的操作界面是參考NC(Norton Commander)的雙視窗排列方式,使用起來不會有太大的困難。在WinSCP中,一般的文件操作都沒有問題,如:復制、移動、更名文件或文件夾等。
ii. SecureCRT是一款支持SSH(SSH1和SSH2)的終端仿真程序,同時支持Telnet和rlogin協(xié)議。還可用于連接運行包括Windows、UNIX和VMS的遠程系統(tǒng)的理想工具。通過使用內(nèi)含的VCP命令行程序可以進行加密文件的傳輸。
k) 對PHP和MYSQL 進行測試,以保證其正常工作。請把下面文件放在虛擬目錄相應的文件夾下。測試文件如下
Phpinfo.php
?phpinfo();?
Mysql.php
?php
$link=mysql_connect('localhost','myadmin','999999');
if(!$link) echo "失敗!";
else echo "成功!";
mysql_close();
?
當程序出現(xiàn)PHP相關信息和數(shù)據(jù)庫測試成功后,我們就可以進行接下來的安裝了。
三、 網(wǎng)絡調(diào)查系統(tǒng)(limesurvey)的安裝和使用
a) Limesurvey介紹
LimeSurvey(前身為PHPSurveyor)是一款開源的在線問卷調(diào)查程序,它用PHP語言編寫并可以使用MySQL,PostgreSQL或者MSSQL等多種數(shù)據(jù)庫,它集成了調(diào)查程序開發(fā)、調(diào)查問卷的發(fā)布以及數(shù)據(jù)收集等功能,使用它,用戶不必了解這些功能的編程細節(jié)。系統(tǒng)包括了分支、自定義頁面布局和設計(使用web template system),并且提供了基本的統(tǒng)計分析功能。調(diào)查可以匿名訪問也可以限制為問卷“訪問一次性”令牌的用戶參加,從而我們能得到匿名數(shù)據(jù)或者參與者與結(jié)果相分離的數(shù)據(jù)。
b) 確定服務器符合以下要求
i. 約 40 兆的磁盤空間保存腳本
ii. MySQL 4.1.0 或以上版本或者Postgres 8.1 以上版本
iii. PHP 5.x 或以上版本并啟用下列模塊/鏈接庫:
1. mbstring (Multibyte String Functions) 擴展庫
2. mysql4 或 mysql5 PHP 鏈接庫
前面?zhèn)z個章節(jié)我們介紹了窗口函數(shù)、滑動窗口函數(shù)的概念,接下來我們介紹一下PG支持的原生通用窗口函數(shù),總共11個(9.6版本, 中國社區(qū)官網(wǎng)文檔地址 )
1、row_number 函數(shù)
row_number函數(shù)可以給每隔數(shù)據(jù)行返回一個虛擬的自增ID,也就是相當于給行分配一個編號,這些編號不會出現(xiàn)重復,即使over()里面沒有按照字段排序字段也能正常工作,
2、rank函數(shù)
rank的官方解釋是:帶間隙的當前行排名; 與該行的第一個同等行的row_number相同
從上面的的結(jié)果我們可以看出 rank函數(shù)和row_number一樣可以將行編號,但是號碼可能重復,比如我們按照年份排序,年份相同的話rank值相同,2017年的數(shù)據(jù)rank直接跳到了7,這就相當于上學的時候考試,用rank計算排名的話,如果同年級出現(xiàn)三個并列的第一名的話,那么計算的結(jié)果將是三個人的rank值都是第一,但是實際上的第二高的分數(shù)的同學會被rank排名為第四名,如果我們想第二高的分數(shù)的排名為2,我們可以使用dense_rank函數(shù);
3、dense_rank函數(shù)
從上面的結(jié)果我們可以看出dense_rank函數(shù)會把編號弄得更加緊密,中間不會出現(xiàn)像rank那樣的斷層編碼。
4、percent_rank函數(shù)
官方文檔解釋: 當前行的相對排名=(rank- 1) / (總行數(shù) - 1) ,
??? 排名和rank值成正相關 ,rank值相同的行號?percent_rank獲取的結(jié)果也一樣,返回的 結(jié)果是個小數(shù)范圍在[0,1]之間 ,可以等于0或者1
5、cume_dist函數(shù)
官方文檔解釋: 當前行的相對排名=(rank- 1) / (總行數(shù) - 1) ,
??? 排名和rank值成正相關 ,rank值相同的行號?percent_rank獲取的結(jié)果也一樣,返回的 結(jié)果是個小數(shù)范圍在[0,1]之間 ,可以等于0或者1
6、ntile函數(shù)
官方文檔解釋:從1到參數(shù)值的整數(shù)范圍,盡可能等分分區(qū),
ntile(num_buckets),num_buckets的值表示將結(jié)果集分成num_buckets組,有限填滿前面的組,最后一組可能出現(xiàn)個數(shù)不足(非等分)情況,實際上就是把每隔行分個組號。
7、lag函數(shù)
官方文檔解釋:lag( value ?anyelement?[,? offset ?integer?[,? default ?anyelement?]]),返回 value , 它在分區(qū)內(nèi)當前行的之前 offset 個位置的行上計算;如果沒有這樣的行,返回 default 替代。 (作為 value 必須是相同類型)。? offset 和 default 都是根據(jù)當前行計算的結(jié)果。如果忽略它們,則 offset 默認是1, default 默認是空值
? ? 官方文檔的解釋很晦澀難懂,我們直接使用用例執(zhí)行一下看一下數(shù)據(jù)分布就好了
從上圖可以知道當前行的lag值是當前行的前offset行的值,沒有的話就返回default,default不想存在的話就返回null,從數(shù)據(jù)姐過再去看官方文檔的解釋的話可能清晰很多,lag函數(shù)可以在結(jié)果集的行內(nèi)移動,經(jīng)常使用到的場景是計算今年和全年的年產(chǎn)量的差值,
8、lead函數(shù)
官方文檔解釋:lead( value ?anyelement?[,? offset ?integer?[,? default ?anyelement?]])?返回 value ,它在分區(qū)內(nèi)當前行的之后 offset 個位置的行上計算;如果沒有這樣的行,返回 default 替代。(作為 value 必須是相同類型)。 offset 和 default 都是根據(jù)當前行計算的結(jié)果。如果忽略它們,則 offset 默認是1, default 默認是空值
其實lead函數(shù)和lag函數(shù)的作用是相同的,如果lead的offset參數(shù)值為-N,那么lag的offset的參數(shù)為N的話計算結(jié)果是相同的,lag(gdp,-1)是lead(gdp,1)的替代
9、first_value、last_value、nth_value函數(shù)較為簡單不做介紹
至此我們講完了幾乎所有的窗口函數(shù),希望這五篇關于PostgreSQL的文章能對大家在平時的開發(fā)中有所幫助