freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于nodejs的小型框架設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)-在線瀏覽

2025-05-01 09:12本頁面
  

【正文】 ................................................................................................................. 43 獲取框架 .................................................................................................................. 43 編寫業(yè)務(wù)邏輯 ........................................................................................................... 43 設(shè)置服務(wù) 器監(jiān)聽端口 ...................................................................................... 43 實(shí)現(xiàn) Hello FastJsonWeb ............................................................................... 44 用戶登錄功能 ................................................................................................ 46 .................................................................................................................. 50 第六 章 不足與發(fā)展 ................................................................................................................ 51 框架的不足 .............................................................................................................. 51 框架的發(fā)展 .............................................................................................................. 53 本章小結(jié) .................................................................................................................. 54 參考文獻(xiàn) ......................................................................................................................... 55 謝 辭 ..................................................................................................................................... 56 i 基于 摘要: 是一種新的軟件開發(fā)平臺(tái),它不僅是一門獨(dú)立的語言,也與Python、 Ruby 一樣,既是語言也是平臺(tái)。 將 javascript 從瀏覽器移植到了普通服務(wù)器上。 Node 運(yùn)行在 Chorme 的 V8 引擎上,采用 異步 I/O 與事件驅(qū)動(dòng)的架構(gòu)設(shè)計(jì)和單線程模型,并且內(nèi)置了 HTTP 服務(wù)器,主要用于構(gòu)建高性能,高并發(fā),高擴(kuò)展的服務(wù)器。 剛推廣不久,國內(nèi)還比較缺少使用 做應(yīng)用開發(fā)的框架,如果直接使用 底層 API 進(jìn)行應(yīng)用開發(fā)有較大的困難,基于此點(diǎn),本論文開發(fā)設(shè)計(jì)一個(gè)簡單小型的 MVC框架,簡化 的使用的同時(shí)提高開發(fā)效率。如基于 JAVA EE 的 Struts2 + Spring3 + jsp MVC 模式等 。本框架將封裝 的底層接口, 對(duì)請(qǐng)求數(shù)據(jù)等提供統(tǒng)一簡潔的方式,從而較大幅度的提升開發(fā)效率。這些功能點(diǎn)包括 路由轉(zhuǎn)發(fā)與映射,屬性注入, Cookie 實(shí)現(xiàn), Sesison 實(shí)現(xiàn)等。javascript。其中 javascript 是網(wǎng)頁應(yīng)用技術(shù)中不可缺少的一部分。越來越多的人使用 javascript。于是不久 便誕生了。 將 javascript 從瀏覽器移植到了普通服務(wù)器上 ,它運(yùn)行在 Chrome 的 V8 高速引擎上,實(shí)現(xiàn)了操作系統(tǒng)訪問、網(wǎng)絡(luò)通信、文件讀寫等功能。該模式下請(qǐng)求通過了一層 或多層轉(zhuǎn)發(fā),使得通信效率較低。不同于其他的語言的線性執(zhí)行, Node 采用事件驅(qū)動(dòng)機(jī)制,充分利用了 CPU 的時(shí)間片輪轉(zhuǎn)機(jī)制,很大程度上降低了 CPU 的空閑率,同時(shí)它異步 I/O 與事件驅(qū)動(dòng)的架構(gòu)設(shè)計(jì)和單線程模型對(duì)于構(gòu)建高性能,高并發(fā),高擴(kuò)展的服務(wù)器具有相當(dāng)大的優(yōu)勢(shì)。新的開 發(fā)平臺(tái),需要新的發(fā)展。這是它和其他 web 語言如 PHP、 Perl 的不同所在。然后通過 該 第 2 頁 共 63 頁 Http 服務(wù)器的模塊加載或 CGI 調(diào)用,將腳本的執(zhí)行結(jié)果反饋顯示在用戶端。除此之外,自帶的服務(wù)器性能足以滿足生產(chǎn)環(huán)境的要求。 雖然使用 javascript 語言,但是它同樣可以調(diào)用 C或者 C++ 的函數(shù)庫,完成對(duì)性能要求非常高的功能的實(shí)現(xiàn)。 最大的特點(diǎn)就是采用異步式 I/O 與事件驅(qū)動(dòng)的架構(gòu)設(shè)計(jì)。 采用的是單線程模型通過異步式的請(qǐng)求方式處理 I/O 調(diào)用,減少了切換上下文次數(shù)所造成的開銷。異步式 I/O 請(qǐng)求完成后將被推送到事件隊(duì)列,等待主進(jìn)程進(jìn)行處理。 下圖 描述了這個(gè)機(jī)制。這樣做優(yōu)點(diǎn)在于能夠集中 CPU 和內(nèi)存資源快速處理某個(gè)事件,并且盡量讓耗費(fèi)資源的 I/O 操作并行執(zhí)行。 由于 采用事件驅(qū)動(dòng)與異步式 I/O 代替多線程,較大幅度的提升性能。 架構(gòu)的示意圖如下 圖 12 設(shè)計(jì) 的開發(fā)者從 libev 和 libeio 庫中進(jìn)一步封裝出來出 libuv 層。 以上簡單介紹了 。 (1)大規(guī)模的社交網(wǎng)絡(luò) Web 應(yīng)用,如微博, FaceBook 等。 (3)Web Socket 服務(wù)器;如游戲引擎。 由于 具有以上優(yōu)點(diǎn),所以對(duì)于 web 應(yīng)用來說 是優(yōu)秀的開發(fā)平臺(tái)。 有許多傳統(tǒng)架構(gòu)不具備的優(yōu)點(diǎn),以至于開發(fā)者愿意用 來做應(yīng)用開發(fā)。盡管它是高性能的,新穎的,但也不得不寫出難以理解的邏輯代碼。只不過概念比較新潮 ,它不能完成所有的業(yè)務(wù)邏輯,或者說它不是萬能的。 ( 1)多任務(wù)的單用戶應(yīng)用 前面介紹的都是服務(wù)器端編程,設(shè)計(jì)時(shí)的情況是用戶數(shù)量很多。于是另一個(gè)問題出現(xiàn)了,盡管是單用戶,卻不一定是執(zhí)行單任務(wù)。而到目前為止 的線程或進(jìn)程之間的通信還不方便,因?yàn)樗緵]有資源鎖,所以號(hào)稱不會(huì) 死鎖。 ( 2)編碼與國際化 不支持完整的 UTF8 字符編碼,很多字符無法用 string 表示。目前JavaScript 支持的是雙字節(jié)的 UCS2 字符集,即兩個(gè)字節(jié)來表示一個(gè) Unicode 字符,這樣能表示出來的字符數(shù)是 65536。因此無法表示某些生僻漢字,以及一些較為罕見語言的文字。最初的 Unicode 設(shè)計(jì)者認(rèn)為 65536 個(gè)字符足以表示全世界所有的文字,因 第 5 頁 共 63 頁 此那個(gè)時(shí)候兼容 Unicode 的系統(tǒng)或平臺(tái),如 Windows、 Java 和 JavaScript 在后來都遇到這個(gè)問題。原有的定長編碼的UCS2 系統(tǒng)為了變長的 UTF16 編碼進(jìn)行了升級(jí)處理,所以只有它向下兼容 UCS2。這樣在通常情況下它的編碼是定長的,有利于提高運(yùn)算效率并且且兼容了 UCS2 編碼,缺點(diǎn)是它本質(zhì)還是變長編碼,在應(yīng)用程序中處理起來還是存在不便之處。這個(gè)缺陷存在于現(xiàn)有的所有 JavaScript 引擎。因此你無法處理罕見的字符的時(shí)候,想用 實(shí)現(xiàn)一個(gè)多語言的字典工具是不可能做到的,除非放棄使用 javascript 原有的 string 數(shù)據(jù)類型,將所有的字符當(dāng)作二進(jìn)制的 Buffer 數(shù)據(jù)來處理。舉個(gè)例子,如要實(shí)現(xiàn)以下邏輯:從銀行取錢,用錢去購買一個(gè)虛擬商品,買完以后加入庫存數(shù)據(jù)庫,這中間的任何一步都 會(huì)涉及數(shù)十次甚至更多的的 I/O 操作,而且任何一次操作失敗以后都需要進(jìn)行回滾操作。 更善于處理那些邏輯簡單但訪問頻繁的任務(wù),而不適合完成邏輯十分復(fù)雜的工作。 的設(shè)計(jì)者和追隨其的開發(fā)者堅(jiān)信單線程和事件驅(qū)動(dòng)的異步式編程比傳統(tǒng)的多線程編程運(yùn)行效率更高。對(duì) 比而言, 其單線程性的特性,如果需要充分利用多核資源則需要使用多進(jìn)程的方法才能達(dá)到 理想情況下的單線程執(zhí)行過程會(huì)將 100%利用 CPU 核心資源,所有請(qǐng)求須等待當(dāng)前請(qǐng)求處理完畢后才進(jìn)入事件循環(huán)才能響應(yīng)。不過在實(shí)際使用中的 Web 服務(wù)器中,很少需要大量計(jì)算的部分很少,即使存在,那么不應(yīng)該被實(shí)現(xiàn)為即時(shí)的響應(yīng)。 開發(fā)框架的原因 剛推廣不久,國內(nèi)還缺少使用 做應(yīng)用開發(fā)的框架。缺少豐富的上層應(yīng)用接口。對(duì)于開發(fā)效率有著嚴(yán)重的制約。 目前 web 應(yīng)用中,普遍使用了 MVC 模式(即 ModelViewController,模型,視圖,控制器)。借鑒 這些其他平臺(tái)上現(xiàn)有的框架結(jié)構(gòu)和功能,設(shè)計(jì)開發(fā) FastJsonWeb 框架?;趯?duì)不同平臺(tái)現(xiàn)有框架分析提取出本框架的功能點(diǎn)。 小型的 MVC 框架意味著該框架應(yīng)具有易用性和高效性,能夠很大程度上滿足大多數(shù)業(yè)務(wù)的邏輯。而自己開發(fā),雖然時(shí)間周期長但因?yàn)槠淇芍赜眯?,還是具有較高的價(jià)值。 (1) 還處于高速發(fā)展階段, API 不穩(wěn)定,處在不斷更新變化中,如果采用某個(gè)固定版本,則可能存在 bug 或者無法使用新特性。 第 7 頁 共 63 頁 (2)。二是缺乏中文資料,有關(guān)資料只能去 的官方文檔查詢而且是英文。 (3) 對(duì)于 Window 平臺(tái)支持不是好,一些常用工具無法安裝。 (4)缺乏有效的開發(fā)工具。 ( 5)由于 基于事件驅(qū)動(dòng)和異步 I/O,對(duì)于業(yè)務(wù)邏輯的處理往往不同于一般線性編程,難以打破線性編程的思維僵局。 ( 7)目前沒有任何一個(gè)官方文檔規(guī)定 的代碼風(fēng)格,為了保持框架代碼的可讀性和可維護(hù)性,需要定制某一標(biāo)準(zhǔn),方便今后的維護(hù)。 該章簡單的介紹了 平臺(tái)架構(gòu),使用 的局限性和其優(yōu)點(diǎn)以及框架進(jìn)行設(shè)計(jì)與開發(fā)存在的難點(diǎn)。工具有 vim 和 git,平臺(tái)主要是 github與 Ubuntu。 文本編輯器 Vim 簡介 Vim 是從 vi 發(fā)展出來的一個(gè)文本編輯器。 Vim 在程序員中被廣泛使用,與 Emacs 并列成為類 Unix 系統(tǒng)用戶最受歡迎的編輯器。包括命令組合和模式間的組合。 vim 的設(shè)計(jì)理念是命令的組合。類似的命令 組合非常豐富,只要擁有足夠的創(chuàng)造力就可以靈活的組合各種命令進(jìn)行使用,這樣就能更加高效的進(jìn)行文本編輯。寫代碼的時(shí)候手需要時(shí)刻保持在鍵盤上 ,隨機(jī)定位代碼、隨機(jī)刪除代碼、移動(dòng)代碼、插入代碼的操作大大多于閱讀、翻頁操作,中間卡頓一下效率就大大降低了 。 主要功能: 第 9 頁 共 63 頁 全兼容 vi ,分成多個(gè)編輯視圖 6. 文本編輯歷史記憶功能 三種編輯模式 Vim 編輯器具有三種模式,分別是常規(guī)模式,插入模式,命令模式,如下圖 所示 圖 Vim 三種模式的相互轉(zhuǎn)換如下: 常規(guī)模式進(jìn)入命令模式: 在常規(guī)模式下輸入“ :” . 常規(guī)模式進(jìn)入插入模式: a 光標(biāo)后插入文本 A 當(dāng)前行插入文本 i 光標(biāo)前插入文本 I 當(dāng)前行 前插入文本 o 當(dāng)前行的下邊插入新行 O當(dāng)前行的上邊插入新行 第 10 頁 共 63 頁 s 刪除光標(biāo)所在處字符,并進(jìn)入插入模式 S 刪除光標(biāo)所在的行,并進(jìn)入插入模式 插入模式進(jìn)入常規(guī)模式:按下 ESC 鍵即可。 優(yōu)點(diǎn)總結(jié) 相對(duì)于傳統(tǒng)的 IDE, VIM 具有安裝包小,啟動(dòng)快,支持純終端編輯等優(yōu)點(diǎn)。拋開鼠標(biāo)僅通過鍵盤就可以完成任何文本操作,非常的方便快捷。 git 簡介 源 代碼版本控制系統(tǒng)介紹 源代碼版本控制是用來記錄若干源碼文件內(nèi)容變化,方便以后用來查看修改某特定版本代碼的系統(tǒng)。對(duì)此一般的做法都是采用版本控制系統(tǒng) ( VCS)。版本控制系統(tǒng)可以通過比較文件細(xì)節(jié)變化找出該文件的最后修改人,同時(shí)還可以通過對(duì)比找出導(dǎo)致出現(xiàn)怪異問題所在或者某個(gè)功能缺陷等等。完成這個(gè)需求所做的工作量非常少。它當(dāng)初誕生的原因是為了更好的維護(hù)Linux 內(nèi)核源代碼。 第 11 頁 共 63 頁 git 原理 在 Git 版本控制系統(tǒng)內(nèi)。已提交表示該文件已經(jīng)被安全地保存在本 地?cái)?shù)據(jù)庫中了;已修改表示修改了某個(gè)文件,但還沒有提交保存;已暫存表示把已修改的文件放在下次提交時(shí)要保
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1