基于node.js+Express.js+Jade+MongoDB開發Web即時聊天系統
  完成
收藏課程
9999+

基于node.js+Express.js+Jade+MongoDB開發Web即時聊天系統

本課程要求學員了解JavaScript,本課程適合希望更深入的學習Node.js,從事Web前端方向開發的大學生朋友,或者希望借助Node.js更優的性能與后臺...

適合人群:初級
課時數量:36課時
用到技術:Node.js NPM、 Express、NoSQL,MongoDB
涉及項目:匿名聊天網站系統

  • 課程顧問貼心解答

    為你推薦精品課程,無論就業還是升職加薪,毫無壓力。

  • 名企定制緊隨大流

    量身打造緊貼企業需求的實用性課程。

  • 系統教學把控效果

    集學、測、練為一體的學習系統為你科學的安排學習進度,提高效率。

  • 一線大師1對1指導

    課程研發團隊內一線資深講師一對一指導,手把手教學,直到學會。

  • 點播答疑完美結合

    每周2-3次直播解答,保證學員日常學習問題能得到解決。

  • 量身定制學習計劃

    告別雜亂的學習方式,我們會根據你的情況定制學習計劃。

 

一、課程背景

 

1.什么是Node.js ? 

Node.js 是一個可以快速構建網絡服務及應用的平臺 。該平臺的構建是基于Chrome's JavaScript runtime,也就是說,實際上它是對Google V8引擎(應用于Google Chrome瀏覽器)進行了封裝。

 

V8引擎執行Javascript的速度非常快,性能非常好。Node對一些特殊用例進行了優化,提供了替代的API,使得V8在非瀏覽器環境下運行得更好。

 

例如,在服務器環境中,處理二進制數據通常是必不可少的,但Javascript對此支持不足,因此,V8.Node增加了Buffer類,方便并且高效地處理二進制數據。因此,Node不僅僅簡單地使用了V8,還對其進行了優化,使其在各環境下更加給力。

 

 

2. 為什么要使用Node.js ?

V8引擎本身使用了一些最新的編譯技術。這使得用Javascript這類腳本語言編寫出來的代碼運行速度獲得了極大提升,卻節省了開發成本。對性能的苛求是Node的一個關鍵因素。 Javascript是一個事件驅動語言,Node利用了這個優點,編寫出可擴展性高的服務器。Node采用了一個稱為“事件循環(event loop)”的架構,使得編寫可擴展性高的服務器變得既容易又安全。提高服務器性能的技巧有多種多樣。Node選擇了一種既能提高性能,又能減低開發復雜度的架構。這是一個非常重要的特性。并發編程通常很復雜且布滿地雷。Node繞過了這些,但仍提供很好的性能。

 

Node采用一系列“非阻塞”庫來支持事件循環的方式。本質上就是為文件系統、數據庫之類的資源提供接口。向文件系統發送一個請求時,無需等待硬盤(尋址并檢索文件),硬盤準備好的時候非阻塞接口會通知Node。該模型以可擴展的方式簡化了對慢資源的訪問, 直觀,易懂。尤其是對于熟悉onmouseover、onclick等DOM事件的用戶,更有一種似曾相識的感覺。

 

雖然讓Javascript運行于服務器端不是Node的獨特之處,但卻是其一強大功能。不得不承認,瀏覽器環境限制了我們選擇編程語言的自由。任何服務器與日益復雜的瀏覽器客戶端應用程序間共享代碼的愿望只能通過Javascript來實現。雖然還存在其他一些支持Javascript在服務器端 運行的平臺,但因為上述特性,Node發展迅猛,成為事實上的平臺。


3.Node.js的優點

nodejs作為一個新興的后臺語言,有很多吸引人的地方:

優點一、RESTful API

優點二、單線程

優點三、Node.js可以在不新增額外線程的情況下,依然可以對任務進行并行處理 —— Node.js是單線程的。它通過事件輪詢(event loop)來實現并行操作,對此,我們應該要充分利用這一點 —— 盡可能的避免阻塞操作,取而代之,多使用非阻塞操作。

優點四、非阻塞IO

優點五、V8虛擬機

優點六、事件驅動

 

4、 Node.js開發前景

盡管Node.js只出來了四年,但是他是GitHub上面第二熱的項目。

自從2013年3月11日發布v0.10以后,每天平均的下載量有35,000次。

nodejs.org的v0.10獨立版本已經有超過100萬的下載次數。

目前已經有253次以Node.js為主題的討論。

 

Node發展很快

在indeed.com的工作趨勢報告中,對于Node.js, Ruby, Java和Scala顯示,Node.js增長了22,500%。

 

在2013年2月,Google搜索趨勢顯示,Node.js的搜索次數已經超過Ruby on Rails.

 

 

支持Node的公司

鑒于Node.js的日趨成熟,大公司開始在他們的核心業務上應用,并且大小公司將他們的應用成果貢獻給開源社區。

以下是貢獻前五的公司

StrongLoop: Ben Noorduis, Bert Belder, Miroslav Bajtos, Raymond Feng, Sam Roberts

Joyent: Isaac Schlueter, TJ Fontaine, Bryan Cantrill, Dave Pacheco

Voxer: Fedor Indutny

Microsoft: Scott Blomquist

Mozilla: Trevor Norris

Node是云上的首選語言

盡管相比Java和Ruby來說Node還很新,Node.js已經成為6種主流云平臺,其中5種的一等公民。

VMWare CloudFoundry

Red Hat OpenShift

Amazon Elastic Beanstalk

Microsoft Azure

Salesforce Heroku

 

二、講師介紹

 

幻星:軟件開發高級工程師,擁有多年的項目開發經驗,先后為多家微型金融公司提供業務解決方案,具有豐富的項目實戰經驗。善于中小型項目整體實施方案的需求分析、數據庫設計、項目實施等。熟悉Node.js開發、HTML+DIV+CSS、JS、jQuery、ASP.NET、MVC、Ajax、安卓開發、PD建模、MSSQL Server、MySql等,現就職于一大型外資企業。

 

 

三、課程適合人群

 

本課程要求學員了解JavaScript,本課程適合希望更深入的學習Node.js,從事Web前端方向開發的大學生朋友,或者希望借助Node.js更優的性能與后臺結合生產出更有價值的網站的在職程序員

 

 

四、課程目錄

 

第一部分、理論講解部分:

1、初識node.js

2、node.js特性

3、node.js核心庫(console、Timers、util、Event)

4、node.js核心庫(Buffer、Stream、FileSystem)

5、node.js核心庫(FileSystem、Path、net)

6、node.js核心庫(HTTP、URL、Query String)

7、認識NPM和Express

8、JExpress示例,簡單頁面

9、模板引擎Jade

10、Jade實現MongoDB首頁效果

11、認識非關系型數據庫MongoDB

12、MongoDB初探、特性

13、MongoDB基礎之增刪改

14、MongoDB基礎之查詢

15、MongoDB基礎之查詢2

16、MongoDB索引

 

第二部分、項目實戰部分(匿名聊天網站系統)

17、項目需求分析

18、日志系統Log4js

19、Node中使用MongoDB

20、功能1-管理員登錄

21、功能2-后臺管理界面

22、功能3-聊天室管理(上)

23、功能3-聊天室管理(中)

24、功能3-聊天室管理(下)

25、功能4-聊天室首頁(上)

26、功能點4:聊天室首頁(中)

27、功能點4:聊天室首頁(下)

28、功能點5:用戶注冊

29、功能點6:聊天室布局

30、功能點7:通訊模塊Socket.io(上)

31、功能點7:通訊模塊Socket.io(下)

32、功能點8:分聊天室聊天實現

33、功能點9:聊天室邏輯打通(上)

34、功能點9:聊天室邏輯打通(下)

35、聊天室聊天完善

36、完結:知識總結


五、通過本課程的學習,你能有哪些收獲:

1、明白Node.js是做什么的,怎么用;

2、理解npm的使用方式,作用;

3、熟悉多個Node.js的核心模塊

4、知道通過模塊組合實現對應的功能;

5、簡單使用Express,實現Node.js的web開發;

6、熟悉模板引擎Jade的基本用法;

7、簡單使用第三方模塊log4js;

8、簡單使用第三方模塊socket.io;

9、認識nosql,簡單使用MongoDB;

 

 

 

 

 

 

 

 

 

 

 

kk娱乐平台注册链接