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

正文內(nèi)容

計(jì)算機(jī)畢業(yè)論文基于nodejs的個(gè)人博客(編輯修改稿)

2024-12-14 01:01 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 悲劇。 單線程的異步和非阻塞: 是單線程的,但是它如何做到 I/O 的異步和非阻塞的呢?其實(shí) 在底層訪問 I/O 還是多線程的,有興趣的朋友可以翻看 的 fs 模塊的源碼,里面會(huì)用到 libuv來處理 I/O,所以在我們看來 的代碼就是非阻塞和異步形式的。阻塞 /非阻塞與異步/同步是兩個(gè)不同的概念,同步不代表阻塞,但是阻塞肯定就是同步了。 舉個(gè)現(xiàn)實(shí)生活中的例子,我去食堂打飯,我選擇了 A 套餐,然后工作人員幫我去配餐,如果我就站在旁邊,等待工作人員給我配餐,這種情況就稱之為同步;若工作人員幫我配餐的同時(shí),排在我后面的人就開始點(diǎn)餐,這樣整個(gè)食堂的點(diǎn)餐服務(wù)并沒有因?yàn)槲以诘却?A套餐而停止,這種情況就稱之為非阻塞。這個(gè)例子就簡(jiǎn)單說明了同步但非阻塞的情況。 再如果我在等待配餐的時(shí)候去買飲料,等聽到叫號(hào)再回去拿套餐,此時(shí)我的飲料也已經(jīng)買好,這樣我在等待配餐的同時(shí)還執(zhí)行了買飲料的任務(wù),叫號(hào)就等于執(zhí)行了回調(diào),就是異步非阻塞了。 MongoDB 簡(jiǎn)介 MongoDB 是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。由 C++語言編寫。旨在為 WEB 應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù) 存儲(chǔ)解決方案。他支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似 json 的 bson格式,因此可以存儲(chǔ)比較 復(fù)雜的數(shù)據(jù)類型。 MongoDB 最大的特點(diǎn)是他支持的查詢語言非常強(qiáng)大,其語法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫(kù)單表查詢的絕大部分功能,而且還支持對(duì)數(shù)據(jù)建立 索引 。 MongoDB 的主要功能特性有: 面向集合存儲(chǔ),易存儲(chǔ)對(duì)象類型的數(shù)據(jù); 模式自由; 基于 6 支持動(dòng)態(tài) 查詢 ; 支持完全索引,包含內(nèi)部對(duì)象; 支持查詢; 支持復(fù)制和故障恢復(fù); 使用高效的二進(jìn)制數(shù)據(jù)存儲(chǔ),包括大型對(duì)象(如視頻等); 自動(dòng)處理碎片,以支持云計(jì)算層次的擴(kuò)展性; 支持 RUBY, PYTHON, JAVA, C++, PHP, C等多種語言; 文件存儲(chǔ)格式為 BSON(一種 JSON 的擴(kuò)展); 1可通過 網(wǎng)絡(luò) 訪問。 Express 簡(jiǎn)介 Express 是一個(gè)簡(jiǎn)潔而 靈活的 Web 應(yīng)用框架 , 提供一系列強(qiáng)大特性用以創(chuàng)建各種 Web 應(yīng)用。 Express 是 已有的 特性進(jìn)行二次抽象,在它之上擴(kuò)展了 Web 應(yīng)用所需的功能。 ejs 模板引擎 什么是模板引擎? 模板引擎( Template Engine)是一個(gè)將頁面模板和要顯示的數(shù)據(jù)結(jié)合起來生成 HTML 頁面的工具。模板引擎就相當(dāng)于 MVC 中的視圖。 模板引擎的功能是將頁面模板和要顯示的數(shù)據(jù)結(jié)合起來生成 HTML 頁面。它既可以運(yùn) 行在服務(wù)器端又可以運(yùn)行在客戶端,大多數(shù)時(shí)候它都在服務(wù)器端直接被解析為 HTML,解析完成后再傳輸給客戶端,因此客戶端甚至無法判斷頁面是否是模板引擎生成的。有時(shí)候模板引擎也可以運(yùn)行在客 戶端,即瀏覽器中,典型的代表就是 XSLT,它以 XML 為輸入,在客戶端生成 HTML 頁面。但是由于瀏覽器兼容性問題, XSLT 并不是很流行。目前的主流還是由服務(wù)器運(yùn)行模板引擎。 在 MVC 架構(gòu)中,模板引擎包含在服務(wù)器端??刂破鞯玫接脩粽?qǐng)求后,從模型獲取數(shù)據(jù),調(diào)用模板引擎。模板引擎以數(shù)據(jù)和頁面模板為輸入,生成 HTML 頁面,然后返回給控制器,由控制器交回客戶端。 什么是 ejs? ejs 是模板引擎的一種,也是我們這個(gè)教程中使用的模板引擎,因?yàn)樗褂闷饋硎趾?jiǎn)單,而且與 express 集成良好。 ejs 用來從 JSON 數(shù)據(jù)中生成 HTML 字符串。 ejs 的優(yōu)點(diǎn)是將會(huì)基于 7 帶給你明確、維護(hù)性良好的 HTML 代碼結(jié)構(gòu)。 因此,本系統(tǒng)選擇使用的模版引擎是 ejs。 ejs 的標(biāo)簽系統(tǒng)非常簡(jiǎn)單,它只有以下三種標(biāo)簽: % code %: JavaScript 代碼。 %= code %:顯示替換過 HTML 特殊字符的內(nèi)容。 % code %:顯示原始 HTML 內(nèi)容。 MVC 設(shè)計(jì)模式 MVC 模式( ModelViewController)是軟件工程中的一種軟件架構(gòu)模式,把軟件系統(tǒng)分為三個(gè)基本部分:模型 ( Model)、視圖( View)和控制器( Controller)。 MVC 模式的目的是實(shí)現(xiàn)一種動(dòng)態(tài)的程序設(shè)計(jì),使后續(xù)對(duì)程序的修改和擴(kuò)展簡(jiǎn)化,并且使程序某一部分的重復(fù)利用成為可能。除此之外,此模式通過對(duì)復(fù)雜度的簡(jiǎn)化,使程序結(jié)構(gòu)更加直觀。軟件系統(tǒng)通過對(duì)自身基本部分分離的同時(shí)也賦予了各個(gè)基本部分應(yīng)有的功能。 1. (控制器 Controller) —— 負(fù)責(zé)轉(zhuǎn)發(fā)請(qǐng)求,對(duì)請(qǐng)求進(jìn)行處理。 2. (視圖 View) —— 界面設(shè)計(jì)人員進(jìn)行圖形界面設(shè)計(jì)。 3. (模型 Model) —— 程序員編寫程序應(yīng)有的功能(實(shí)現(xiàn)算法等等)、數(shù)據(jù)庫(kù)專家進(jìn)行數(shù)據(jù)管理和數(shù) 據(jù)庫(kù)設(shè)計(jì) (可以實(shí)現(xiàn)具體的功能 )。 圖 13 MVC 模型圖 MVC 的優(yōu)點(diǎn): ( 1)多個(gè)視圖能共享一個(gè)模型。如今,同一個(gè) Web 應(yīng)用程序會(huì)提供多種用戶界面,例如用戶希望既能夠通過瀏覽器來收發(fā)電子郵件,還希望通過手機(jī)來訪問電子郵箱,這就要求 Web 網(wǎng)站同時(shí)能提供 Inter 界面和 WAP 界面。在 MVC 設(shè)計(jì)模式中,模型響應(yīng)用戶請(qǐng)求并返回響應(yīng)數(shù)據(jù),視圖負(fù)責(zé)格式化數(shù)據(jù)并把它們呈現(xiàn)給用戶,業(yè)務(wù)邏輯和表示層分離,同一個(gè)模型可以被不同的視圖重用,所以大大提高了代碼的可重用性。 基于 8 ( 2)控制器是自包含( selfcontained)指高獨(dú)立內(nèi)聚的對(duì)象,與模型和視圖保持相對(duì)獨(dú)立,所以可以方便的改變應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。例如,把數(shù)據(jù)庫(kù)從 MySQL 移植到 Oracle,或者把 RDBMS 數(shù)據(jù)源改變成 LDAP 數(shù)據(jù)源,只需改變模型即可。一旦正確地實(shí)現(xiàn)了控制器,不管數(shù)據(jù)來自數(shù)據(jù)庫(kù)還是 LDAP 服務(wù)器,視圖都會(huì)正確地顯示它們。由于 MVC 模式的三個(gè)模塊相互獨(dú)立,改變其中一個(gè)不會(huì)影響其他兩個(gè),所以依據(jù)這種設(shè)計(jì)思想能構(gòu)造良好的少互擾性的構(gòu)件。 ( 3)控制器提高了應(yīng)用程序的靈活性和可配置性??刂破骺梢杂脕磉B接不同的模型和視圖去完成用戶的需求 ,也可以構(gòu)造應(yīng)用程序提供強(qiáng)有力的手段。給定一些可重用的模型和視圖,控制器可以根據(jù)用戶的需求選擇適當(dāng)?shù)哪P瓦M(jìn)行處理,然后選擇適當(dāng)?shù)牡囊晥D將處理結(jié)果顯示給用戶。 MVC 的缺點(diǎn): ( 1)因?yàn)?MVC 將視圖和模型分離了。這就會(huì)增加系統(tǒng)的設(shè)計(jì)結(jié)構(gòu)與其實(shí)現(xiàn)方法的復(fù)雜性,同時(shí)也給系統(tǒng)的調(diào)試大大地加大了難度。 ( 2)加大了系統(tǒng)頻繁更新的成本。雖然是進(jìn)行了分層操作,但這并不意味著在更新系統(tǒng)模型的時(shí)候能完全忽略視圖的性質(zhì),當(dāng)具體的一些接口變化的模型需要頻繁更新,而使得在視圖的處理上變得繁瑣,這導(dǎo)致了視圖更新落后于模型的變化,錯(cuò)誤 情況不能正常地顯示。 ( 3) MVC 的三層模式會(huì)造成系統(tǒng)的構(gòu)件較多,也就是會(huì)增多系統(tǒng)的代碼,因此,必須進(jìn)行有效的代碼管理工作。 系統(tǒng)運(yùn)行要求 硬件要求 CPU:速度在 500MHz 或以上。 CPU 的處理速度越快,代碼跑起來也越流暢。 內(nèi)存:最低配置 32MB,建議使用 64MB 以上內(nèi)存,如果使用 Windows 2020 或 Windows XP 建議使用 128MB 以上內(nèi)存。 硬盤空間:至少需要 200MB 以上的硬盤空間。 基于 9 軟件要求 操作系統(tǒng): Windows8。 數(shù)據(jù)庫(kù)名稱: 。 基于 10 第 2 章 可行性分析 經(jīng)濟(jì)可行性 開發(fā)此社交網(wǎng)站的所需的硬件(計(jì)算機(jī)其其他)由本人提供。軟件環(huán)境 開發(fā)工具和 MongoDB 可以從網(wǎng)上下載。本系統(tǒng)的開發(fā)、維護(hù)由本人負(fù)責(zé),因此沒有其他方面的支付,開發(fā)成本主要是時(shí)間成本。系統(tǒng)完成后可作為人們分享文章知識(shí)文化等使用。本系統(tǒng)可帶來的效益將遠(yuǎn)遠(yuǎn)大于本系統(tǒng)的開發(fā)成本,所以從經(jīng)濟(jì)方面上看,開發(fā)此系統(tǒng)是可行的。 操作可行性 此社交網(wǎng)站具備清新友好的用戶界面,操作簡(jiǎn)單,使用方便、快捷,功能豐富,易于維護(hù)。 無論用戶是網(wǎng)絡(luò)達(dá)人,或者 還是一個(gè)網(wǎng)絡(luò)新手,在此網(wǎng)站注冊(cè)登錄后,都可以很快熟悉該網(wǎng)站,并迅速成為分享達(dá)人。從用戶操作方面看,此系統(tǒng)的開發(fā)是可行的。 技術(shù)可行性 系統(tǒng)使用的模式 本系統(tǒng)采用的模式為 B/S 模式。 B/S 模式簡(jiǎn)介 B/S( Browser/Server,瀏覽器 /服務(wù)器)模式又稱 B/S 結(jié)構(gòu)。它是隨著 Inter 技術(shù)的興起,對(duì) C/S 模式應(yīng)用的擴(kuò)展。在這種結(jié)構(gòu)下,用戶工作界面是通過瀏覽器來實(shí)現(xiàn)的。 B/S模式最大的好處是運(yùn)行維護(hù)比較簡(jiǎn)便,能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如 LAN, WAN, Inter/Intra 等)訪問和操作共同的數(shù)據(jù);最大的缺點(diǎn)是對(duì)企業(yè)外網(wǎng)環(huán)境依賴性太強(qiáng),由于各種原因引起企業(yè)外網(wǎng)中斷都會(huì)造成系統(tǒng)癱瘓。 B/S 結(jié)構(gòu)利用不斷成熟和普及的瀏覽器技術(shù)實(shí)現(xiàn)原來需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu), B/S 結(jié)構(gòu)以 TCP/IP 協(xié)議為基礎(chǔ)的,企業(yè)內(nèi)的 WWW 服務(wù)器可以接受安裝有 Web 瀏覽程序的 Inter 終端的訪問,作為最終用戶,只要通過 Web 瀏覽器,各種處理任務(wù)都可以基于 11 調(diào)用系統(tǒng)資源來完成 ,這樣大大簡(jiǎn)化了客戶端,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體擁有成本。 系統(tǒng)使用的開發(fā)語言 本系統(tǒng)展現(xiàn)與布局使用了 、 HTML CSS Jquery。 HTML5 簡(jiǎn)介 HTML 即超級(jí)文本標(biāo)記語言,超級(jí)文本標(biāo)記語言是標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)應(yīng)用,也是一種規(guī)范,一種標(biāo)準(zhǔn), 它通過標(biāo)記符號(hào)來標(biāo)記要顯示的網(wǎng)頁中的各個(gè)部分。網(wǎng)頁文件本身是一種文本文件,通過在文本文件中添加標(biāo)記符,可以告訴瀏覽器如何顯示其中的內(nèi)容(如:文字如何處理,畫面如何安排,圖片如何顯示等)。瀏覽器按順序 閱讀網(wǎng)頁文件,然后根據(jù)標(biāo)記符解釋和顯示其標(biāo)記的內(nèi)容,對(duì)書寫出錯(cuò)的標(biāo)記將不指出其錯(cuò)誤,且不停止其解釋執(zhí)行過程,編制者只能通過顯示效果來分析出錯(cuò)原因和出錯(cuò)部位。但需要注意的是,對(duì)于不同的瀏覽器,對(duì)同一標(biāo)記符可能會(huì)有不完全相同的解釋,因而可能會(huì)有不同的顯示效果。 HTML5 是超文本標(biāo)記語言( HTML)的第五重大修改,這是一項(xiàng)正在進(jìn)行中的一個(gè)草案,目前還沒有正式的標(biāo)準(zhǔn)。 HTML5 賦予網(wǎng)頁更好的意義和結(jié)構(gòu),支持 Html5 的瀏覽器包括 Firefox(火狐瀏覽器), IE9 及其更高版本, Chrome(谷歌瀏覽器), Safari, Opera等;國(guó)內(nèi)的傲游瀏覽器( Maxthon),以及基于 IE 或 Chromium( Chrome 的工程版或稱實(shí)驗(yàn)版)所推出的 360 瀏覽器、搜狗瀏覽器、 瀏覽器、獵豹瀏覽器等國(guó)產(chǎn)瀏覽器同樣具備支持 HTML5 的能力。從 2020 年 12 月 27 日至今,進(jìn)行了多達(dá)近百項(xiàng)的修改,包括 HTML和 XHTML 的標(biāo)簽,相關(guān)的 API、 Canvas 等,同時(shí) HTML5 的圖像 img 標(biāo)簽及 svg 也進(jìn)行了改進(jìn),性能得到進(jìn)一步提升。 由于 HTML5 語言的特殊性,本系統(tǒng)只在部分功能模塊上使用了, HTML5 的新特性。 CSS3 簡(jiǎn)介 CSS 即 層疊樣式表( Cascading StyleSheet)。 在網(wǎng)頁制作時(shí)采用層疊樣式表技術(shù),可以有效地對(duì)頁面的布局、字體、顏色、背景和其它效果實(shí)現(xiàn)更加精確的控制。 只要對(duì)相應(yīng)的代碼做一些簡(jiǎn)單的修改,就可以改變同一頁面的不同部分,或者頁數(shù)不同的網(wǎng)頁的外觀和格式。 CSS3 是 CSS 技術(shù)的升級(jí)版本, CSS3 語言開發(fā)是朝著模塊化發(fā)展的。以前的規(guī)范作為一個(gè)模塊實(shí)在是太龐大而且比較復(fù)雜,所以,把它分解為一些小的模塊,更多新的模塊也
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1