亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于HTTP協(xié)議的CURD框架

        2019-12-09 02:06:28成曉琰
        智富時(shí)代 2019年10期
        關(guān)鍵詞:路由代碼框架

        【摘 要】本文針對(duì)于WEB項(xiàng)目中業(yè)務(wù)層對(duì)數(shù)據(jù)庫(kù)的基本操作,也就是增刪查改操作的常用代碼歸納總結(jié),依據(jù)于軟件工程中的代碼高可復(fù)用原則,書(shū)寫(xiě)的框架。主要應(yīng)用于時(shí)下流行的關(guān)系數(shù)據(jù)庫(kù),也稱(chēng)作第三代數(shù)據(jù)庫(kù)。如果用面向?qū)ο蟮哪J綍?shū)寫(xiě)業(yè)務(wù)層的話(huà),那么多數(shù)的IO通信都是數(shù)據(jù)對(duì)象,要進(jìn)行持久化操作的時(shí)候,就需要操作數(shù)據(jù)庫(kù)。由于現(xiàn)在的主流數(shù)據(jù)庫(kù)是關(guān)系數(shù)據(jù)庫(kù),其本質(zhì)是規(guī)范話(huà)的二維表,需要我們做一個(gè)從對(duì)象到關(guān)系模型的映射。本框架就是針對(duì)于這類(lèi)操作的一種簡(jiǎn)化,因?yàn)椴豢赡芤?guī)避,所以只能簡(jiǎn)化。

        【關(guān)鍵詞】HTTP協(xié)議;CURD框架

        在軟件工程的實(shí)踐中,會(huì)或多或少的感覺(jué)到理論和實(shí)踐中的差別,可行性與工程使用的差別。即使理論知識(shí)很扎實(shí),在實(shí)踐和工程構(gòu)建的時(shí)候還是會(huì)遇到很多的問(wèn)題。我們?cè)陂_(kāi)發(fā)一個(gè)WEB應(yīng)用的時(shí)候,粗略可分為表示層、業(yè)務(wù)層、數(shù)據(jù)庫(kù)層(當(dāng)然依據(jù)于工程的大小所分的層次自然不一樣)。表示層主要是負(fù)責(zé)人機(jī)交互的部分和HTTP數(shù)據(jù)請(qǐng)求和解析,業(yè)務(wù)層主要負(fù)責(zé)邏輯計(jì)算和調(diào)用關(guān)系,數(shù)據(jù)庫(kù)層主要是負(fù)責(zé)持久化存儲(chǔ)的事情(優(yōu)質(zhì)的項(xiàng)目大部分的數(shù)據(jù)運(yùn)算都是交給數(shù)據(jù)庫(kù)的函數(shù)和存儲(chǔ)過(guò)程)。

        在linux設(shè)計(jì)風(fēng)格中,強(qiáng)調(diào)一個(gè)工具只做一件事情,剩下的事情通過(guò)管道來(lái)進(jìn)行通信就好了。在現(xiàn)代的軟件工程中,調(diào)用成為越來(lái)越長(zhǎng)用的功能,當(dāng)然也有很多人對(duì)自己的常用的代碼進(jìn)行總結(jié),每次復(fù)制粘貼改。對(duì)于常用的代碼的復(fù)用操作還是建議封裝成函數(shù)或者是類(lèi),對(duì)入口參數(shù)進(jìn)行通用性的修改。當(dāng)然在當(dāng)下如果能貢獻(xiàn)給開(kāi)源組織那就是更好的舉措了,不僅能供給別人使用,還能有人對(duì)你代碼的問(wèn)題提出修改意見(jiàn)。

        一、課題及研究背景和研究意義

        隨WEB前端的發(fā)展技術(shù)越來(lái)越迅猛,js也隨著越來(lái)越快。對(duì)于一個(gè)現(xiàn)代的軟件工程項(xiàng)目來(lái)說(shuō),持久化存儲(chǔ)都是使用數(shù)據(jù)庫(kù)進(jìn)行操作。當(dāng)我們使用ajax提交請(qǐng)求,業(yè)務(wù)層解析邏輯之后,將對(duì)數(shù)據(jù)庫(kù)執(zhí)行sql語(yǔ)句或者是執(zhí)行存儲(chǔ)過(guò)程。在有些不是很注重安全,專(zhuān)注于原型的高速敏捷開(kāi)發(fā)的時(shí)候,就會(huì)覺(jué)得業(yè)務(wù)層就是解析ajax請(qǐng)求,執(zhí)行sql,取回結(jié)果集返回給ajax,最后將數(shù)據(jù)拿到客戶(hù)端。在有些時(shí)候,也在想,能不能直接使用ajax請(qǐng)求,操作數(shù)據(jù)庫(kù)呢。這樣一來(lái)可以減少開(kāi)發(fā)的人力成本,二來(lái)可以減少調(diào)試和測(cè)試的成本。對(duì)于一些快速原型開(kāi)發(fā)來(lái)說(shuō),有著重要的意義。

        當(dāng)然很多WEB開(kāi)發(fā)的主流語(yǔ)言都有相應(yīng)的數(shù)據(jù)庫(kù)框架(ORM),比如java中SSH的H,PHP中TP的model,Django中的ORM都對(duì)數(shù)據(jù)庫(kù)進(jìn)行了簡(jiǎn)化的操作,不過(guò)他們的封裝都依賴(lài)于框架本身的路由、視圖、控制器等等。他們都只是強(qiáng)大框架中的一個(gè)核心組件罷了,如果想使用,基本要學(xué)習(xí)框架中的百分之八十的功能。不能做到開(kāi)箱即用的程度。

        二、主體架構(gòu)設(shè)計(jì)

        本次畢業(yè)設(shè)計(jì)采用python的tronado框架編寫(xiě)。對(duì)于語(yǔ)言和框架的考慮,個(gè)人覺(jué)得java代碼太臃腫,C#可以移植性又太差,只能在PHP、python、perl中選擇,考慮到PHP寫(xiě)起來(lái)還是沒(méi)有python簡(jiǎn)潔,perl操作數(shù)據(jù)庫(kù)的文檔更少。就選擇了python語(yǔ)言,對(duì)于python的web framework時(shí)下流行的有Django、tronado、web2py、flask、bottle。再考慮到學(xué)習(xí)成本和性能問(wèn)題還是選擇了最熟悉的tronado。不過(guò)python做web的缺陷就是很多問(wèn)題不能在編譯過(guò)程中暴露出來(lái)。

        數(shù)據(jù)庫(kù)采用sqlite3。選擇這個(gè)數(shù)據(jù)庫(kù)還是因?yàn)閟qlite3是基于文件的,可移植性好。而且比較簡(jiǎn)單不用考慮端口和數(shù)據(jù)庫(kù)獨(dú)立進(jìn)程的問(wèn)題。而且所有基于linux的服務(wù)器都內(nèi)置了sqlite3,這也給使用和部署的人員帶來(lái)了便利。在使用層面sqlite3和主流的數(shù)據(jù)庫(kù)管理工具都兼容,而且還有很多免費(fèi)的sqlite3的可視化工具。不過(guò)還是有一定程度的缺陷的,sqlite3不支持存儲(chǔ)過(guò)程和函數(shù),只能采用python表達(dá)式拼接sql,sqlite3可以不指定字段類(lèi)型,數(shù)據(jù)量達(dá)到一定時(shí)會(huì)有性能的問(wèn)題。

        三、接口設(shè)計(jì)

        我們?cè)诮涌诘脑O(shè)計(jì)時(shí),講究的是一個(gè)接口制作一件事情,接口和接口之前所做的事情沒(méi)有相似性,這樣在用戶(hù)調(diào)用接口時(shí)不會(huì)產(chǎn)生歧義,不會(huì)因?yàn)橐褂胊功能而不知道調(diào)用a1還是a2產(chǎn)生糾結(jié)。在面向?qū)ο笕筇匦詠?lái)說(shuō),封裝,繼承和多態(tài)。遇到這種問(wèn)題我們就用多態(tài)來(lái)解決。增加可選參數(shù),來(lái)實(shí)現(xiàn)統(tǒng)一大功能下的微調(diào)。

        四、技術(shù)實(shí)現(xiàn)

        本框架主體采用python語(yǔ)言的tornado框架編寫(xiě),tornado主要有hanlder、路由、配置這么幾部分組成。根據(jù)簡(jiǎn)單工廠設(shè)計(jì)模式,我們采用了一個(gè)接口對(duì)應(yīng)一個(gè)路由,一個(gè)路由對(duì)應(yīng)一個(gè)類(lèi),也就是我們剛才提到的hanlder進(jìn)行接受請(qǐng)求參數(shù),執(zhí)行數(shù)據(jù)庫(kù)操作,并獲取數(shù)據(jù)庫(kù)執(zhí)行結(jié)果,將json格式的結(jié)果返回到相應(yīng)中。

        五、編碼、測(cè)試以及過(guò)程中的技術(shù)難點(diǎn)

        實(shí)現(xiàn)了上面的設(shè)計(jì)就是下面的編碼操作了,通過(guò)http請(qǐng)求接受過(guò)來(lái)的dbname、tablename、以及字段名和字段值實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的增刪查改的操作。

        因?yàn)榻邮苓^(guò)來(lái)參數(shù),使用python的占位符拼接sql語(yǔ)句,可能后期sql比較多會(huì)做一層封裝,所以項(xiàng)目主要遇到的問(wèn)題一般出現(xiàn)在sql拼接的問(wèn)題。也沒(méi)有太大的技術(shù)難點(diǎn)。

        在測(cè)試過(guò)程中,發(fā)現(xiàn)打印的結(jié)果集格式有時(shí)候不是很理想,建議之后修改默認(rèn)參數(shù)格式為json,也可以改為csv、xml等格式。對(duì)于安全性來(lái)說(shuō),沒(méi)有設(shè)計(jì)token,用戶(hù)口令的一類(lèi)東西,計(jì)劃后續(xù)再進(jìn)行修改。

        【參考文獻(xiàn)】

        [1]趙琦,蔣朝惠,周雪梅,宋紫華.一種基于HTTP協(xié)議的隱蔽隧道及其檢測(cè)方法[J].計(jì)算機(jī)與現(xiàn)代化,2019(06):16-23+29.

        [2]歐思維. TCP/IP網(wǎng)絡(luò)與ICN網(wǎng)絡(luò)融合研究[D].北京郵電大學(xué),2019.

        [3]趙文浩.加密http協(xié)議的實(shí)現(xiàn)[J].通訊世界,2019,26(03):3-4.

        [4]李成哲.基于HTTP協(xié)議報(bào)文分析的計(jì)算機(jī)網(wǎng)絡(luò)取證方法[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2019(03):101-102.

        [5]路輝,高尚飛,李少龍.基于HTTP協(xié)議的業(yè)務(wù)系統(tǒng)網(wǎng)頁(yè)數(shù)據(jù)采集應(yīng)用集成[J].電子技術(shù)與軟件工程,2019(02):1-3.

        [6]劉浩. 基于ONVIF協(xié)議的視頻服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)[D].浙江工業(yè)大學(xué),2019.

        [7]周繼宇.基于HTTP協(xié)議的多線(xiàn)程斷點(diǎn)續(xù)傳軟件設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)產(chǎn)品與流通,2018(09):129-130.

        [8]程磊.基于HTTP協(xié)議的多線(xiàn)程網(wǎng)絡(luò)下載框架的研究與實(shí)踐[J].科技經(jīng)濟(jì)導(dǎo)刊,2016(18):30-31.

        [9]劉瑾,黃龍達(dá).基于Java代理和HTTP協(xié)議的RMI框架的實(shí)現(xiàn)[J].現(xiàn)代計(jì)算機(jī)(專(zhuān)業(yè)版),2010(02):137-139+144.

        作者簡(jiǎn)介:成曉琰(1992—),女,江蘇無(wú)錫人,無(wú)錫機(jī)電高等職業(yè)技術(shù)學(xué)校,無(wú)職稱(chēng),研究方向:計(jì)算機(jī)。

        猜你喜歡
        路由代碼框架
        框架
        廣義框架的不相交性
        探究路由與環(huán)路的問(wèn)題
        創(chuàng)世代碼
        創(chuàng)世代碼
        創(chuàng)世代碼
        創(chuàng)世代碼
        WTO框架下
        法大研究生(2017年1期)2017-04-10 08:55:06
        一種基于OpenStack的云應(yīng)用開(kāi)發(fā)框架
        PRIME和G3-PLC路由機(jī)制對(duì)比
        久久久久亚洲av无码专区喷水| 日韩女优中文字幕在线| 丰满人妻一区二区三区免费| 久久亚洲网站中文字幕| 大地资源网在线观看免费官网| 亚洲国产av无码专区亚洲av| 野外性史欧美k8播放| 国产成人福利在线视频不卡| 白丝美女扒开内露出内裤视频 | 色伦专区97中文字幕| 国产资源在线视频| 91亚洲国产成人久久精品网站| 青青草激情视频在线播放| 色综合久久久无码中文字幕| 人人澡人人澡人人看添av| 国产成人精品日本亚洲专区6| 亚洲国产成人av第一二三区| 激情五月开心五月麻豆| 人成午夜免费视频无码| 国产精品黄在线观看免费软件| mm在线精品视频| 日本午夜a级理论片在线播放| 人妻少妇中文字幕在线| 久久久精品国产sm调教网站| 亚洲一级无码片一区二区三区| 久草91这里只有精品| 色播视频在线观看麻豆| 国产欧美成人一区二区a片| 人人爽人人爽人人爽| 成人国产在线观看高清不卡| 中文字幕乱码在线婷婷| 久久久国产精品无码免费专区| 欧美大屁股xxxx| 日韩精品网| 国产白浆大屁股精品视频拍| 伊人情人色综合网站 | 成人网站免费大全日韩国产| 国产不卡视频一区二区在线观看| 精品国产日韩亚洲一区在线| 一本大道av伊人久久综合| 久久久久久人妻毛片a片|