Microsoft PowerPoint - 01 Node.js介紹

Similar documents
封面-12

Microsoft Word - cr_xi_supported_platforms_tw.doc

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式



投影片 1

Microsoft PowerPoint - 12 jQuery Mobile 事件處理方式

PowerPoint Presentation

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

The golden pins of the PCI card can be oxidized after months or years

21,000 X 126,000 / , ,000 X 7%

(Microsoft Word - \244g\246a\247B\244\275\253H\245\365\244\247\275\325\254d\254\343\250s doc)

投影片 1

價規一覽表 仁銓契約編號 : _275 區別 : 臺北市 新北市 桃園市 新竹縣 ( 市 ) 臺中市契約期間 :108/03/26~109/03/25 軟體標契約價是含稅 5% 與 IDB 服務費 1.5% 經濟部工業局 108 年第一次電腦軟體共同供應契約採購案號 _

第 十 一 期 2015 年 2 月 关 于 车 辆 购 置 税 征 收 管 理 有 关 问 题 的 公 告 ( 点 击 跳 转 至 全 文 ) 国 家 税 务 总 局 公 告 2015 年 第 4 号 关 于 电 池 涂 料 消 费 税 征 收 管 理 有 关 问 题 的 公 告 ( 点 击 跳

Acronis P.1 Acronis Anydata Engine P.2 P.4 Acronis Backup Advanced P.5 Acronis Backup Advanced for AP P.6 Vmware P.7 Acronis Backup P.8 IDC 80 % $20,0

考 試 日 期 :2016/04/24 教 室 名 稱 :602 電 腦 教 室 考 試 時 間 :09: 二 技 企 管 一 胡 宗 兒 中 文 輸 入 四 技 企 四 甲 林 姿 瑄 中 文 輸 入 二 技 企 管 一

05_06_浙江省发展和改革委员会网上并联审批系统实施案例.PDF

2016 勒索軟體白皮書

Autodesk Product Design Suite Standard 系統統需求 典型使用用者和工作流程 Autodesk Product Design Suite Standard 版本為為負責建立非凡凡產品的設計師師和工程師, 提供基本概念設計計和製圖工具, 以取得令人驚驚嘆

理性真的普遍嗎 注意力的爭奪戰 科學發展 2012 年 12 月,480 期 13

電腦設備LP _第九組記憶體規範書

人 間 菩 提 Part 1 人 間 菩 提 Part 2 清 涼 菩 提 正 覺 修 行 清 心 發 願 自 重 ----

Cover-3.indd, page Normalize

FP.pdf


<4D F736F F D B8BDBCFE332D3120C8EDBCFEB9A4B3CCCBB6CABFC5E0D1F8B7BDB0B8>

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp

11 for Server 教育版續約 for Server 教育版續約 套 5, for Virtual Host 教育版 for Virtual Host 教育版 套 29, for Virtual Host 教育版續約 for Virtual Host 教育版續約 套

ii Vue Bootstrap 4 ES 6 Vue Vue Bootstrap 4 ES 6 Vue 2 vue html vue html vue Vue HTML 5 CSS ES 6 HTML 5 CSS Visual Studio Code h

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

x 前言 Python Python ETL extract transform load Python Python / Python Python Python

01 用 ActionScript 3.0 開始認識 Flash CS3 Flash 是應用在網路上非常流行且高互動性的多媒體技術, 由於擁有向量圖像體積小的優點, 而且 Flash Player 也很小巧精緻, 很快的有趣的 Flash 動畫透過設計師的創意紅遍了整個網際網路 雖然很多人都對 Fl

宁夏专业技术人员服务平台

SSL 數位憑證 OpenVPN 安裝說明

項次 4 (Quad-Core Intel Xeon 2.53GHz 一顆 /Windows 作業系統 ) NT$84,222 HP ProLiant DL120 G6 作業系統 Windows Server 2008 提供 1 顆 Quad-Core Intel Xeon 2.53GHz, 每顆

目 录 第 一 章 综 述... 3 第 二 章 公 司 简 介... 3 第 三 章 系 统 概 述... 4 第 四 章 软 件 环 境 部 署... 4 第 五 章 系 统 安 全... 5 第 六 章 用 户 类 别 及 功 能 列 表... 5 第 七 章 系 统 功 能 描 述... 7

iziggi

<443A5CBAEEC3F75CB9D2CDE2CDF8D0C5CFA25C D315CD3D0C9ABBDF0CAF4C6F3D2B5C4DCD4B4B9DCC0EDD6D0D0C4BDA8C9E8CAB5CAA9B7BDB0B82E646F63>

DocHdl2OnPPMtmpTarget

1 IT IT IT IT Virtual Machine, VM VM VM VM Operating Systems, OS IT

( 中 等 學 校 教 育 階 段 ) 師 資 職 前 教 育 課 程 者, 得 檢 附 原 持 有 合 格 教 師 證 書 中 等 學 校 教 育 階 段 師 資 職 前 教 育 證 明 書 專 門 科 目 認 定 證 明 書 專 門 科 目 學 分 表 暨 105 年 7 月 31 日 前 能

这 7 年 的 教 育 公 益 旅 程, 是 我 和 很 多 捐 赠 人 志 愿 者 和 教 育 工 作 者 一 起 认 识 教 育 理 解 教 育 的 过 程 : 美 国 教 育 家 哲 学 家 杜 威 在 100 多 年 前 就 指 出 : 教 育 即 生 长 教 育 即 生 活 教 育 的 本

Microsoft Word SRS - 軟體需求規格.doc

营 销 策 划 岗 部 门 招 聘 职 位 招 聘 人 数 岗 位 职 责 基 本 要 求 岗 位 任 职 要 求 6 参 与 项 目 产 品 研 究 客 户 需 求 研 究 竞 争 环 境 研 究 价 格 研 究 等 项 目 市 场 研 究 ; 7 公 司 经 纪 业 务 的 品 牌 管 理, 对

2017政府共同供應契約採購指南V3.xls

Microsoft Word - SPEC

行政法概要 本章學習重點 本章大綱 第一節行政作用之概念 第二節行政作用之分類 一 行政程序法 第三節行政作用法之範圍 第四節行政作用之私法 行為 二 行政罰法三 行政執行法一 源起二 類型 第五節行政作用中的非 權力行為 一 類型 二 事實行為 第六節行政作用之內部 行為 一 行政規則

國立中山大學學位論文典藏.PDF

Microsoft PowerPoint - SAGE 2010

Cisco WebEx Meetings Server 2.6 版常见问题解答

關於本書 Part 3 CSS XHTML Ajax Part 4 HTML 5 API JavaScript HTML 5 API Canvas API ( ) Video/Audio API ( ) Drag and Drop API ( ) Geolocation API ( ) Part 5

Microsoft Word - 面向应用能力,构建师范院校计算机公共课程 “三层次教育”课程体系new.doc

Azure_s

第三篇 第 10 章 - 管理者登入第 11 章 - 更改網路商店 Logo 第 12 章 - 系統設定第 13 章 - 商品上架第 14 章 - 付款方式設定第 15 章 - 出貨方式設定第 16 章 - 特價商品 oscommerce 103

一 國家品質 5 10 象 : 8 7 ~ 二 卓越中堅企業及重點輔導象遴選 ,

校友会系统白皮书feb_08

(Microsoft Word - wes _\246p\246\363\250\317\245\316LED\277O\305\343\245\334\252\254\272A.doc)

PROFINET 3 PROFINET PROFINET - 提供建構機器與廠房結構的最大自由 PROFINET PROFINET PROFINET PROFIBUS & PROFINET International (PI) Fieldbus1,400 PROFIBUS PROFINET PROF

Microsoft Word Microsoft Word

案例分享产品文档

Dell CTC15規格表_ xls

Microsoft Word 中的文档

子學習3 電子學習的定位 傳統電子學習 與 新世代電子學習 SAMS 台上講者從左至右 : 吳薇薇女士 羅陸慧英教授 佘孟先生 李芳樂教授 從 電子銀行服務 到 電子學習 題追3 專蹤電

序 言 本 专 业 人 才 培 养 方 案 以 适 应 市 场 需 求 为 目 标, 根 据 学 校 校 企 双 主 体 人 才 培 养 的 要 求 和 移 动 应 用 开 发 专 业 的 特 点 设 置 课 程 体 系, 体 现 了 课 程 为 市 场 服 务 的 特 点 本 专 业 要 求 学

第一章 概论

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00

职 位 类 别 : 测 试 工 程 师 工 作 经 验 或 实 习 经 历 : 不 限 岗 位 要 求 : 1. 本 科 及 其 以 上 学 历, 计 算 机 相 关 专 业 2014 届 毕 业 生 ; 2. 实 习 时 间 要 求, 尽 量 一 周 五 个 工 作 日 ; 3. 熟 悉 Wind

RTX3.2.0标准版 - 技术白皮书

括 教 育 在 内 西 学 得 以 力 推 广 制 颁 发 和 癸卯 学制 实 施 更 使 教 育在 学 校 教 育 占 据 相 当 重 要 地 位 达到 了 前所 未 有 程度 以 学为 例 科 学 时数 占 总 学 时数 比 例 甚至超 过 国 文科 壬寅学 直维持 在 约 辛亥 革命 以 后

爱玩科技合作白皮书(2011)

輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4

chapter 2 HTML5 目錄iii HTML HTML HTML HTML HTML canvas

攜手拼出圓滿的幸福 2

目 录 简 介.3 ` 体 系 结 构...4 数 据 层...5 数 据 连 接 器...6 Tableau Server 组 件...7 网 关 / 负 载 平 衡 器...8 客 户 端 :Web 浏 览 器 和 移 动 应 用 程 序...8 客 户 端 :Tableau Desktop..

02 2 成立 Facebook 粉絲專頁 Facebook Facebook Facebook 1, Facebook Facebook 1 Facebook 2-21

附件3

GEM GEM GEM GEMGEM GEM GEMGEM

天津天狮学院关于修订2014级本科培养方案的指导意见

! 2000 CSSsprites.com Web FTP app 20% 80% getelementbyid() UI Facebook F8 Web CSSsprites.com Web JavaScript CSS React xi React UI UI 反應 UI 宣告 d

一、

Microsoft Word - PKUCS计算机教育 doc

目 录 第 一 章 总 论 概 述 编 制 依 据 和 原 则 企 业 概 况 项 目 提 出 的 背 景 及 投 资 必 要 性 可 行 性 研 究 的 工 作 范 围 可 行 性 研 究

标题

No.32

_tina

2

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

等 特 定 服 务 换 句 话 说, 设 备 的 可 能 用 途 取 决 于 在 用 户 购 买 它 时 预 先 安 装 的 应 用 程 序 这 在 新 移 动 设 备 中 发 生 了 巨 大 变 化, 新 移 动 设 备 几 乎 是 各 种 使 用 模 型 的 一 个 入 口 所 有 参 与 方,

滙豐強積金僱主熱線 滙豐強積金網頁 L-MPF001B v07/1016 (1016) H

<4D F736F F D20C9CFBAA3CAD0BCC6CBE3BBFAB5C8BCB6BFBCCAD4C8FDBCB6BFBCCAD4B4F3B8D95FBDA8D2E9B8E55F5F E646F63>

xii 前言 P-1 Charles Perrow Normal Accidents P-1 vs.

Chapter 3 Camera Raw Step negative clarity +25 ] P / Step 4 0 ( 下一頁 ) Camera Raw Chapter 3 089

書面

1711-門市-PC-p1p2

目 录 目 录 平 台 概 述 技 术 架 构 技 术 特 点 基 于 统 一 平 台 的 多 产 品 线 支 撑 先 进 性 安 全 性 开 放 性 高 性 能 和

2874_Product Brochure_630mm(w)x285mm(h)_Health_Chi_02_WEB

(CSR)...2 CA CA CA CA Base64 CA CA SSL

目 次 一 社 團 活 動 基 本 資 料 2 ( 一 ) 參 加 隊 員 名 冊 2 ( 二 ) 活 動 成 效 分 析 表 4 二 活 動 成 果 報 告 6 ( 一 ) 活 動 支 出 明 細 表 6 ( 二 ) 活 動 內 容 及 活 動 分 工 8 ( 三 ) 活 動 執 行 過 程 說

投影片 1

Transcription:

計劃名稱 : 104 年度教育部資通訊軟體創新人才推升推廣計畫跨校資源中心 : 雲端運算 ( 國立中山大學 ) 課程名稱 : 網路及平台服務 Part1 - 課程教材 教材名稱 : Node.js 介紹 國立高雄大學資訊工程學系張保榮教授

大綱 Node.js 介紹 事件驅動 ( Event-driven ) 同步和非同步 I/O Node.js 的優勢與好處

Node.js 介紹 Node.js 是一個應用程式開發框架, 以 Javascript 為基礎, 使用效能強大的 Google V8 Javascript 引擎, 大都用於編寫伺服器端和網路相關應用, 具有強大的可擴充性, 以及事件驅動 ( Event-Driven ) 和高乘載的特性, 自 2009 年公開發表以來短短幾年,Node.js 一躍成為現今最紅的新興技術之一 V8 Engine 為 Google Chrome 內建 Javascript 引擎

Node.js 介紹 ( 續 ) Node.js 之所以成功很大一部分歸功於它選擇了許多開發人員所使用的 Javascript 為基礎, 由於 Javascript 的支持者眾多, 他們可以快速地上手 Node.js Javascript 早期一直被當作網頁的前端 ( client 端 ) 語言來使用, 在用戶端的瀏覽器上執行, 如今 Node.js 便是將 javascript 應用在網頁的後端, 讓伺服器端也可應用 Javascript 語言是 Node.js 中最重要的語言

Node.js 介紹 ( 續 ) Node.js 走紅的另一個原因, 就是 Javascript 的事件驅動 ( Event-driven ) 之特性, 恰好可以在網站後端應用產生強大的效益和功能 Node.js 不需要依靠 Apache 等其他 server 套件, 本身就可以做為伺服器運行 ( Server 自己寫, 並使用 Node.js 運行 )

Node.js 介紹 ( 續 ) 總結來說,Node.js 不但讓 Javascript 引擎獨立, 不需要再倚靠瀏覽器執行之外, 也設計了一系列的核心模組, 擴充了許多 Javascript 語言沒有的強大功能 ( 底層使用了 C 語言 ), 例如 : 模組機制 檔案系統存取 網路存取 程序控制 Node.js 架構圖例

Node.js 介紹 ( 續 ) Node.js 使 Javascript 從此脫胎換骨, 不單單只是瀏覽器上的前端腳本語言, 使用 Node.js, 開發者完全可以運用 Javascript 開發各類型的應用程式 介紹了這麼多 Node.js 的特性, 核心主要都建構在 Javascript 的運用上, 在 Node.js 中, 開發者必須對於 Javascript 有相當深度的瞭解

事件驅動 ( Event-Driven ) 一般 C 語言中的函式, 皆須按照程式碼內容順序執行, 就相 當於一個寫好的腳本, 有著固定的順序, 此一程式設計方式 稱為 批次程式設計 事件檢查示意圖, 若事件 A 發生, 則調用事件處理函式 Handler(), 而 Event_catch() 是一個檢查函式 Javascript 本身便有事件驅動和非同步之特性, 所以我們常常可以在程式碼中看到非同步的開發模式 事件的檢查一般來說可以視為一個 While(true) 迴圈, 迴圈內容不斷檢查是否有事件產生, 若是見觸發則調用處理函式

事件驅動 (Event-Driven) ( 續 ) 一般情況下此種檢查會造成阻塞 ( 陷入迴圈之中 ) 但 Javascript 非同步的特性此檢查只在後端執行不會造成阻塞 事件驅動概念便是, 事件發生才執行某段程式碼, 實作原理為, 函式交由後端的事件引擎在背景執行 ( 監聽事件是否發生 ), 並設定一個回呼函數 ( Callback Function ), 當事件觸發時, 才回呼主要程序處理, 不讓它影響和阻塞 ( Block ) 目前正在運行的程式

事件驅動 (Event-Driven) ( 續 ) 在事件驅動和非同步的特性下我們不需要自行設定一個無窮迴圈或是輪詢 ( Polling ) 手段, 去檢查一個輸入或是事件, 造成阻塞 非同步的機制即為將可能需要長時間等態之工作 ( 如 :I/O ) 交由後端執行, 當執行完畢再回呼主程序, 避免阻塞 圖形化介面便是事件驅動的代表之一, 例如當滑鼠點擊某物件時 ( 事件發生 ), 系統才做出相對應的處裡

同步 (Synchronous) I/O 同步 I/O 為當有 I/O 工作產生時, 程序停擺等待 I/O, 此時執行緒閒置等待, 等待 I/O 完成才處理資料, 造成 CPU 會閒置導致產程不佳 當有大量連線湧入時, 傳統同步機制的伺服器對每個請求進行處裡, 且一個程序一次只能處理一筆連線, 若連線一多, 且每個連線皆須做 I/O 工作 ( 操作資料庫等 ),CPU 會等待大量 I/O, 導致效能低落 所以傳統伺服器會開啟大量的程序去應付大量的連線, 而此舉也會造成伺服器端 CPU 沉重的負擔

非同步 ( Asynchronous ) I/O 非同步 I/O 則與同步相反, 若有 I/O 作業則將其丟到後端去等待 I/O, 原程序不做等待, 可以去做其他服務,I/O 工作結束會回呼主程序, 主程序才中斷目前工作進行運算處理 非同步 ( Asynchronous ) I/O 機制相當適合用於網站服務, 相較於其他採用同步 ( Synchronous ) I/O 機制的 Web server, 能更有效率的處理大量高併發的即時應用

非同步 ( Asynchronous ) I/O 若引入非同步機制, 伺服器接受請求後, 不等待任何 I/O 作業, 而是丟到後端, 所以伺服器 CPU 不會有過多的閒置, 如此一來 Server 便可直接服務下一筆連線, 當 I/O 工作完成後會回呼主程序, 主程序才進行處裡, 而不是閒置等待 I/O

若使用同步 (Synchronous)I/O

單執行緒同步 I/O 處理一筆連線還可以應付

若有多筆連線進入, 則會造成後方連線需等待

應付多筆連線可開多個執行緒處理以加快速度, 但還是有可能需要等待

若產生太多執行緒則會造成效能低落

可以增加伺服器端的機器, 或是換更強大的 CPU, 但需要大量的金錢

然而 CPU 到底在做甚麼呢? 是 CPU 運算的工作? 還是單純的等待 I/O 運作 (CPU 閒置等待 I/O, 沒有在做事 )?

若使用非同步 (Asynchronous)I/O

在非同步 I/O 機制下, 伺服器接收到連線後, 不需等待任何 I/O 作業, 只在後端做等待 伺服器可以在把工作放到後端後, 立刻服務下一個連線, 不等待 I/O 所以效能提高

當真正需要 CPU 運算時, 才呼叫回呼函式執行運算, 否則不佔用 CPU

Node.js 的優勢與好處 統一前後端的開發經驗 : 前後端皆使用 Javascript, 只需要一中語言的經驗即可完成前後端的開發, 不須再學習其他語言與法, 能使開發者更專注於應用開發 強大的效能 : 使用強大的 Google V8 Javascript Engine, 事件驅動及非同步 I/O, 於伺服器端可發揮強大的效能

Node.js 的優勢與好處 ( 續 ) 數以萬計的第三方模組支援 : 官方線上公開的模組達十萬以上之數, 其中的功能範疇相當廣泛, 網站服務 桌面應用 甚至嵌入式系統和硬體控制都有各種模組支援, 幾乎涵括所有軟體領域 跨平台的支援 : Node.js 可在 Windows Linux Mac 上安裝使用 這也代表者 Node.js 所開發的程式也同樣可以在各種不同平台上執行 Node.js 在 ARM 架構的嵌入式硬體平台上, 也運行的相當好

END