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

正文內(nèi)容

基于nodejs的小型框架設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)(參考版)

2024-11-11 21:51本頁(yè)面
  

【正文】 監(jiān)聽(tīng) 8888 端口 : Session(request,response) 參數(shù)說(shuō)明: request: HttpRequest 對(duì)象 response:HttpResponse 對(duì)象 setValue(key,valu。 可通過(guò) listen 函數(shù)的參數(shù)設(shè)置監(jiān)聽(tīng)端口號(hào)。 當(dāng)訪問(wèn)路徑是 localhost:8xxx/時(shí),將會(huì)將數(shù)據(jù)處理請(qǐng)求傳給 action 文件夾下的 業(yè)務(wù)邏 輯處理對(duì)象;當(dāng)訪問(wèn)對(duì)象是 localhost:8xxx/index 時(shí) 數(shù)據(jù)處理請(qǐng)求將傳給 action 文件夾下的 業(yè)務(wù)邏輯處理對(duì)象 功能說(shuō)明: 系統(tǒng)入口。./action/index39。/index39。./action/index39。/39。一般放置 html,js,css,圖片等靜態(tài)資源 舉例: = /public。 (2) 功能說(shuō)明: 配置靜態(tài)資源所在文件夾。./action/nopath39。 url 路徑映 射??梢园凑崭袷阶孕行薷呐渲?。其中配置了一些常見(jiàn)的靜態(tài)資源類(lèi)型。 需要存儲(chǔ)在 cookie 中的值 返回值: 無(wú) (key) 第 34 頁(yè) 共 62 頁(yè) 功能說(shuō)明: 獲取某個(gè)索引的 Cookie 值 參數(shù)說(shuō)明: key: 數(shù)據(jù)類(lèi)型 String。 參數(shù)說(shuō)明: key: 數(shù)據(jù)類(lèi)型 String??膳渲帽O(jiān)聽(tīng)端口。 橫向切面請(qǐng)求攔截器 第 33 頁(yè) 共 62 頁(yè) 靜態(tài)資源類(lèi)型的 MIME 值 實(shí)現(xiàn)屬性注入的功能類(lèi) 請(qǐng)求映射的配置類(lèi)。 下載 FastJsonWeb. 使用 git 工具 運(yùn)行 git clone :huyinghuan/ 獲 取 到 最 新 的FastJsonWeb 版本。 第 32 頁(yè) 共 62 頁(yè) 第四章 核心功能使用 上一章節(jié)主要說(shuō)明了 FastJsonWeb 的框架和功能設(shè)計(jì)。 本章小結(jié) 本章簡(jiǎn)單介紹了 FastJsonWeb 框架的功能設(shè)計(jì)。如果沒(méi)有過(guò)期。 Session 示意圖 第 30 頁(yè) 共 62 頁(yè) 圖 主要流程: 從 request 中同 Cookie 對(duì)象提取 sid,在內(nèi)存中找到 sid 所對(duì)應(yīng)的 Seesion 數(shù) 第 31 頁(yè) 共 62 頁(yè) 據(jù)對(duì)象。 路由分發(fā)器示意圖 第 27 頁(yè) 共 62 頁(yè) 圖 主要流程: 接收從攔截器傳遞過(guò)來(lái)的 數(shù)據(jù)對(duì)象,從 request 請(qǐng)求書(shū)就在解析出請(qǐng)求路徑,根據(jù)加載的路由配置找到相 應(yīng)的業(yè)務(wù)邏輯對(duì)象,然后解析出相應(yīng)的請(qǐng)求方法,將數(shù)據(jù)對(duì)象設(shè)置成為業(yè)務(wù)邏輯的上下文,調(diào)用方法,經(jīng)處理后的數(shù)據(jù)以 json 形勢(shì)返回給 第 28 頁(yè) 共 62 頁(yè) 客戶(hù)端。若非靜態(tài)資源請(qǐng)求,則加載請(qǐng)求攔截器的配置,將請(qǐng)求按順序傳給攔截器。 橫向切面請(qǐng)求攔截器示意圖 第 25 頁(yè) 共 62 頁(yè) 圖 第 26 頁(yè) 共 62 頁(yè) 主要流程: 從服務(wù)端接收到轉(zhuǎn)發(fā)過(guò)來(lái)的請(qǐng)求,所以根據(jù)配置信息判斷請(qǐng)求的是否為靜態(tài)資源。處理完成之后將數(shù)據(jù)轉(zhuǎn)成 json 格式回傳給客戶(hù)端。如果為靜態(tài)資源請(qǐng)求則讀取靜態(tài)資源返回給客戶(hù)端。通過(guò)對(duì)請(qǐng)求數(shù)據(jù)的分析過(guò)濾和加工請(qǐng)求數(shù)據(jù),然后將請(qǐng)求傳遞給下一層的路由分發(fā)器。 (6) 動(dòng)態(tài)方法調(diào)用:在 url 中根據(jù)規(guī)則調(diào)用同一個(gè)業(yè)務(wù)邏輯對(duì)象中的指定方法。將表單數(shù)據(jù)解析成 javascript 對(duì)象注入到相應(yīng)的業(yè)務(wù)邏輯實(shí)現(xiàn)中。通過(guò) Cookie 實(shí)現(xiàn) Session 會(huì)話,在整個(gè)會(huì)話過(guò)程中保存少量數(shù)據(jù)。滿(mǎn)足某些數(shù)據(jù)需要存儲(chǔ)在客戶(hù)端瀏覽器的需要。能夠?qū)⒉煌?lèi)型的請(qǐng)求映射到不同的業(yè)務(wù)邏輯上,其中應(yīng)該包括靜態(tài)資源數(shù)據(jù)請(qǐng)求和業(yè)務(wù)數(shù)據(jù)請(qǐng)求的分發(fā)。 本章小結(jié) 該章簡(jiǎn)單的介紹了 FastJsonWeb 框架設(shè)計(jì)與實(shí)現(xiàn)過(guò)程中使用到的設(shè)計(jì)開(kāi)發(fā)工具,開(kāi)發(fā)平臺(tái)和一些高級(jí)語(yǔ)言特點(diǎn),另外介紹了一下本框架所采用的開(kāi)源協(xié)議和如何搭建 開(kāi)發(fā)環(huán)境。下載完成后雙擊運(yùn)行該文件,一步一步按提示操作即可。 圖 上面介紹 的是 Ubuntu 下的 安裝, window 下的安裝更加簡(jiǎn)單。檢查 node 是否運(yùn)行正常。依次運(yùn)行 ./configure make 第 20 頁(yè) 共 62 頁(yè) sudo make install 其中第二步可能會(huì)花費(fèi)一些時(shí)間。所以下載 Source Code. 下載后將壓縮包解壓。 開(kāi)發(fā)環(huán)境搭建 獲取 安 裝 包 。 GPL/LGPL 都保障原作者的知識(shí)產(chǎn)權(quán),避免有人利用開(kāi)源代碼復(fù)制并開(kāi)發(fā)類(lèi)似的產(chǎn)品。 一旦選擇修改 LGPL 協(xié)議的代碼或者衍生,那么所有修改后的代碼,涉及修改部分的額外代碼和衍生的代碼都必須采用 LGPL 協(xié)議。 LGPL 允許商業(yè)軟件通過(guò)類(lèi)庫(kù)引用 (link)方式使用 LGPL 類(lèi)庫(kù)而不需要開(kāi)源商業(yè)軟件的代碼。 LGPL( GNU Lesser General Public License) LGPL 是 GPL 的一個(gè)為主要為類(lèi)庫(kù)使用設(shè)計(jì)的開(kāi)源協(xié)議。采用 GPL 協(xié)議的產(chǎn)品既可以作為單獨(dú)的產(chǎn)品使用還可以享受享受免費(fèi)的優(yōu)勢(shì)。操作系統(tǒng)中 Linux 就是采用了 GPL。使用者也可以在需要的時(shí)候修改代碼來(lái)滿(mǎn)足需要并作為開(kāi)源或商業(yè)產(chǎn)品發(fā)布 /銷(xiāo)售。該協(xié)議和 BSD類(lèi)似,同樣鼓勵(lì)代碼共享和尊重原作者的著作權(quán),同樣允許代碼修改,再發(fā)布(作為開(kāi)源或商業(yè)軟件)。這表現(xiàn)在兩個(gè)方面,第一 BSD 運(yùn)行使用對(duì)其修改后重新發(fā)布,第二,可以在 BSD 代碼的基礎(chǔ)上進(jìn)行商業(yè)軟件開(kāi)發(fā)并且進(jìn)行銷(xiāo)售。 BSD 協(xié)議鼓勵(lì)代碼共享,但需要尊重代碼作者的著作權(quán)。 BSD 開(kāi)源協(xié)議 BSD 開(kāi)源協(xié)議是一個(gè)自由非常大的協(xié)議。因此本框架采用的是 LGPL( GNU Lesser General Public License)開(kāi)源協(xié)議。常見(jiàn)的 OSI 批準(zhǔn)的開(kāi)源協(xié) 議有 BSD, GPL, LGPL,。 Ubuntu 的目標(biāo)在于為一般用戶(hù)提供一個(gè)穩(wěn)定的安全的主要由自由軟件構(gòu)建而成的操作系統(tǒng),讓用戶(hù)可以擺脫對(duì) Windows 操作系統(tǒng)的依賴(lài)。如果需要為一個(gè)項(xiàng)目貢獻(xiàn)代碼也是一件容易的事情︰首先點(diǎn)擊項(xiàng)目站點(diǎn)的“ fork”的按 鈕,然後將代碼檢出并將修改加入到剛才分出的代碼庫(kù)中,最後通過(guò) 內(nèi)建的“ pull request”機(jī)制向項(xiàng)目負(fù)責(zé)人申請(qǐng)代碼合并即可。 GitHub 可以托管各種 git 庫(kù),并提供統(tǒng)一 web界面。 GitHub 提供個(gè)人信息庫(kù)和 Wiki 網(wǎng)頁(yè),通過(guò)一個(gè) git 版本庫(kù)即可對(duì)這 些頁(yè)面進(jìn)行編輯。 GitHub 同時(shí)提供付費(fèi)賬戶(hù)和為開(kāi)源項(xiàng)目提供的免費(fèi)賬戶(hù)。 GitHub 簡(jiǎn)介 GitHub 是一個(gè)用于使用 Git 版本控制系統(tǒng)項(xiàng)目的共享虛擬主機(jī)服務(wù)。在 JavaScript 中,繼承是依靠一套叫做原型鏈( prototype chain)的機(jī)制實(shí)現(xiàn)的。構(gòu)造函數(shù)對(duì)象有 prototype 屬性,指向一個(gè)原型對(duì)象,通過(guò)該構(gòu)造函數(shù)創(chuàng)建對(duì)象時(shí),被創(chuàng)建對(duì)象的 __proto__ 屬性將會(huì)指向構(gòu)造函數(shù)的 prototype 屬性。原型對(duì)象特指構(gòu)造函數(shù) prototype 屬性指向的對(duì)象。用戶(hù)創(chuàng)建的對(duì)象,即用 new 語(yǔ)句顯式構(gòu)造的對(duì)象。 是所有對(duì)象的祖先, 是所 第 17 頁(yè) 共 62 頁(yè) 有函數(shù)的原型,包括構(gòu)造函數(shù)。 JavaScript 中有 兩個(gè)特殊的對(duì)象: Object 與 Function。 ,包括函數(shù)在內(nèi)都會(huì)被重復(fù)創(chuàng)建,同一個(gè)構(gòu)造函數(shù)產(chǎn)生的兩個(gè)對(duì)象不共享實(shí)例。而在JavaScript 語(yǔ)言中,沒(méi)有類(lèi)的概念。 原型 原型是 JavaScript 面向?qū)ο筇匦灾兄匾母拍?。?jiǎn)而言之,就是允許一個(gè)對(duì)象去調(diào)用另一個(gè)對(duì)象的成員函數(shù)??梢酝ㄟ^(guò)函數(shù)的任何一個(gè)引用調(diào)用這個(gè)函數(shù),不同之處僅僅在于上下文。上下文對(duì)象的作用是在一個(gè)函數(shù)內(nèi)部引用調(diào)用它的對(duì)象本身, JavaScript 的任何函數(shù)都是被某個(gè)對(duì)象調(diào)用的,包括全局對(duì)象,所以 this 指針是一個(gè)非常重要的東西。 然后就可以通過(guò) someuser 來(lái)訪問(wèn)這個(gè)對(duì)象的屬性和方法了。byvoid39。 = function() { ()。如: function User(name, uri) { = name。prop_239。bar39。如:以下定義都是有效的 var obj = {}。在 JavaScript 中,使用句點(diǎn)運(yùn)算符和關(guān)聯(lián)數(shù)組引用是等價(jià)的,也就是說(shuō)任何對(duì)象(包括 this 指針)都可以使用這兩種模式。 創(chuàng)建和訪問(wèn) JavaScript 中的對(duì)象實(shí)際上就是一個(gè)由屬性組成的關(guān)聯(lián)數(shù)組,屬性由名稱(chēng)和值組成,值 的類(lèi)型可以是任何 數(shù)據(jù)類(lèi)型,或者函數(shù)和其他對(duì)象。對(duì)象就是類(lèi)的實(shí)例,這在大多數(shù)語(yǔ)言中都沒(méi)錯(cuò),但在 JavaScript 中卻不適用。 JavaScript 只有對(duì)象,對(duì)象就是對(duì)象,不是類(lèi)的實(shí)例。而說(shuō)到 JavaScript,很少能讓人想到它面向?qū)ο蟮奶匦?,因?yàn)樗鼪](méi)有類(lèi)?!? 閉包有兩個(gè)主要用途,一是實(shí)現(xiàn)嵌套的回調(diào)函數(shù),二是隱藏對(duì)象的細(xì)節(jié)。之后閉包特性被其他語(yǔ)言廣泛吸納??梢哉J(rèn)為無(wú)論在函數(shù)內(nèi)什么地方定義的變量,在一進(jìn)入函數(shù)時(shí)就被定義了,但直到 var 所在的那一行它才被初始化,所以在這之前引用到的都是 undefined 值。 JavaScript 的函數(shù)定義是可以嵌套的,每一層是一個(gè)作用域,變量搜索順序是從內(nèi)到外。 函數(shù)作用域 不同于大多數(shù)類(lèi) C 的語(yǔ)言,由一對(duì)花括號(hào)封閉的代碼塊就是一個(gè)作用域,JavaScript 的作用域是通過(guò)函數(shù)來(lái)定義的,在一個(gè)函數(shù)中定義的變量只對(duì)這個(gè)函數(shù)內(nèi)部可見(jiàn),我們稱(chēng)為函 數(shù)作用域。 需要格外注意的是第三點(diǎn),在任何地方隱式定義的變量都會(huì)定義在全局作用域中,即不 通過(guò) var 聲明直接賦值的變量。全局作用域中的變量不論在什么函數(shù)中都可以被直接引用,而不必通過(guò)全局對(duì)象。這個(gè)對(duì)象在 對(duì)應(yīng)的是 global 對(duì)象,在瀏覽器中對(duì)應(yīng)的是 window 對(duì)象。 // 輸出 value 這是因?yàn)? JavaScript 的作用域完全是由函數(shù)來(lái)決定的, if、 for 語(yǔ)句中的花括號(hào)不是獨(dú)立的作用域。value39。這個(gè)特性被大多數(shù)人忽視并誤解,從而導(dǎo)致了非常多的莫名其妙的錯(cuò)誤。作用域可以減少命名沖突,而且作用域是垃圾回收的基本單元。下面介紹 javascript 的相關(guān)語(yǔ)言特性 變量的作用域 結(jié)構(gòu)化編程語(yǔ)言中的一個(gè)重要概念是作用域,變量的可見(jiàn)范圍和 生命周期就是由作用域所決定。 Git實(shí)際上可以看做一個(gè)文件系統(tǒng),不過(guò)對(duì)比普通文件系統(tǒng)它顯得非常小巧而已。 第 12 頁(yè) 共 62 頁(yè) 圖 Git 與其他版本控制系統(tǒng) Git 和其他版本控制系統(tǒng)的主要差別在于,其他版本控制系統(tǒng)只關(guān)心文件內(nèi)容發(fā)生的差異變化,如圖 。因此用 Git 管理項(xiàng)目工程時(shí)時(shí),代碼文件在三個(gè)工作區(qū)域內(nèi)循環(huán)存在,它們分別是: Git 的工作目錄,暫存區(qū)域,以及本地倉(cāng)庫(kù)。每一個(gè)文件都只有存在三種狀態(tài):已提交,已修改和已暫存。它不同于其他的版本控制器,如 svn, cvs 等之類(lèi)的,它具有速度快、設(shè)計(jì)簡(jiǎn)單、對(duì)非線性開(kāi)發(fā)模式支持強(qiáng)(允許上千個(gè)并行開(kāi)發(fā)的分支)、完全分布式、能高效管理超大規(guī)模工程項(xiàng)目(速度和數(shù)據(jù)量)等。 Git 介紹 Git 也是眾多版本控制系統(tǒng)中的一員。一旦使用版本控制系統(tǒng)關(guān)于工程,那么不管整個(gè)項(xiàng)目中的 文件如何改動(dòng)刪除,最后也可以完整的恢復(fù)原來(lái)的某個(gè)版本。版本控制系統(tǒng)的好處在于它可以將一個(gè)或者多個(gè)代碼文件恢復(fù)到以前的某個(gè)狀態(tài),不僅如此它還可以將整個(gè)工程都回溯到過(guò)去的某個(gè)時(shí)間點(diǎn)。程序員經(jīng)常需要保存系統(tǒng)代碼的所有修訂版本用來(lái)查找 bug。能夠大大加強(qiáng)對(duì)代碼的掌握程度。 運(yùn)用各種插件幾乎能提供所有 IDE 所具備的功能。其中插入模式和命令模式之間無(wú)法直接轉(zhuǎn)換。但對(duì)普通用戶(hù)而言 ,順序?qū)?、設(shè)置字體格式、翻頁(yè)讀多于隨機(jī)寫(xiě)刪除操作 , 且每個(gè)動(dòng)作之間本身就有很多的停頓 ,用其他 UI 編輯器(word,notePad++等 )效率反而比 VIM 高效 ,使用 vim 進(jìn)行操作只會(huì)徒增代碼編寫(xiě)的難度。 vim 針對(duì)程序語(yǔ)言代碼編寫(xiě)者。例如普通模式命令 dd刪除當(dāng)前行, dj代表刪除下一行 ,因?yàn)槭堑谝粋€(gè) d含義是刪除 ,j鍵代表移動(dòng)到下一行 ,組合后 dj刪除當(dāng)前行和下一行。命令組合 : Vim 強(qiáng)大的編輯能力中很大部分是來(lái)自于其普通模式命令。 設(shè)計(jì)理念 vim 的設(shè)計(jì)理念是組合。具有代碼補(bǔ)全、終端編譯及錯(cuò)誤跳轉(zhuǎn)等提供編程效率的功能。除此以外,還將介紹在 Ubutun 下如何搭建 開(kāi)發(fā)平臺(tái)。 第 8 頁(yè) 共 62 頁(yè) 第二章 開(kāi)發(fā)工具
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1