Java 技术专区技术播客系列:第 4 季



Similar documents
何 秋 琳 张 立 春 视 觉 学 习 研 究 进 展 视 觉 注 意 视 觉 感 知

I

,,,,, :,, (.,, );, (, : ), (.., ;. &., ;.. &.., ;, ;, ),,,,,,, ( ) ( ),,,,.,,,,,, : ;, ;,.,,,,, (., : - ),,,, ( ),,,, (, : ),, :,

说 明 为 了 反 映 教 运 行 的 基 本 状 态, 为 校 和 院 制 定 相 关 政 策 和 进 行 教 建 设 与 改 革 提 供 据 依 据, 校 从 程 资 源 ( 开 类 别 开 量 规 模 ) 教 师 结 构 程 考 核 等 维 度, 对 2015 年 春 季 期 教 运 行 基

<433A5C446F63756D656E E E67735C41646D696E F725CD7C0C3E65CC2DBCEC4CFB5CDB3CAB9D3C3D6B8C4CFA3A8BCF2BBAFA3A95CCAB9D3C3D6B8C4CF31302D31392E646F63>

龚 亚 夫 在 重 新 思 考 基 础 教 育 英 语 教 学 的 理 念 一 文 中 援 引 的 观 点 认 为 当 跳 出 本 族 语 主 义 的 思 维 定 式 后 需 要 重 新 思 考 许 多 相 连 带 的 问 题 比 如 许 多 发 音 的 细 微 区 别 并 不 影 响 理 解 和

Microsoft Word - 第7章 图表反转形态.doc

修改版-操作手册.doc

深圳市新亚电子制程股份有限公司

( ) 信 号 与 系 统 Ⅰ 学 科 基 础 必 修 课 教 周 2016 年 06 月 13 日 (08:00-09:35) ( )

ETF、分级基金规模、份额变化统计

《C语言基础入门》课程教学大纲


Template BR_Rec_2005.dot

评 委 : 李 炎 斌 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单


国债回购交易业务指引

珠江钢琴股东大会

一 公 共 卫 生 硕 士 专 业 学 位 论 文 的 概 述 学 位 论 文 是 对 研 究 生 进 行 科 学 研 究 或 承 担 专 门 技 术 工 作 的 全 面 训 练, 是 培 养 研 究 生 创 新 能 力, 综 合 运 用 所 学 知 识 发 现 问 题, 分 析 问 题 和 解 决

18 上 报 该 学 期 新 生 数 据 至 阳 光 平 台 第 一 学 期 第 四 周 至 第 六 周 19 督 促 学 习 中 心 提 交 新 增 专 业 申 请 第 一 学 期 第 四 周 至 第 八 周 20 编 制 全 国 网 络 统 考 十 二 月 批 次 考 前 模 拟 题 第 一 学

Microsoft Word - 文件汇编.doc

<4D F736F F D20B9D8D3DAB0BABBAAA3A8C9CFBAA3A3A9D7D4B6AFBBAFB9A4B3CCB9C9B7DDD3D0CFDEB9ABCBBE C4EAC4EAB6C8B9C9B6ABB4F3BBE1B7A8C2C9D2E2BCFBCAE92E646F6378>

目 录 关 于 图 标... 3 登 陆 主 界 面... 3 工 单 管 理... 5 工 单 列 表... 5 搜 索 工 单... 5 工 单 详 情... 6 创 建 工 单... 9 设 备 管 理 巡 检 计 划 查 询 详 情 销 售 管

一 开 放 性 的 政 策 与 法 规 二 两 岸 共 同 的 文 化 传 承 三 两 岸 高 校 各 自 具 有 专 业 优 势 远 见 杂 志 年 月 日

评 委 : 徐 岩 宇 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

目 录 一 系 统 访 问... 1 二 门 户 首 页 申 报 用 户 审 核 用 户... 2 三 系 统 登 录 用 户 名 密 码 登 录 新 用 户 注 册 用 户 登 录 已 注 册 用

HSK( 一 级 ) 考 查 考 生 的 日 常 汉 语 应 用 能 力, 它 对 应 于 国 际 汉 语 能 力 标 准 一 级 欧 洲 语 言 共 同 参 考 框 架 (CEF) A1 级 通 过 HSK( 一 级 ) 的 考 生 可 以 理 解 并 使 用 一 些 非 常 简 单 的 汉 语


自 服 务 按 钮 无 法 访 问 新 系 统 的 自 服 务 页 面 因 此 建 议 用 户 从 信 网 中 心 ( 主 页, 右 下 角 位 置 的 常 用 下 载, 或 校 园 网 用 户 自 服 务 ( 首 页

3 复 试 如 何 准 备 4 复 试 成 绩 计 算 5 复 试 比 例 6 复 试 类 型 7 怎 么 样 面 对 各 种 复 试 04 05

第2章 数据类型、常量与变量

目 录 页 1. 欢 迎 使 用 网 上 预 约 面 谈 访 问 系 统 新 用 户 新 用 户 登 入 帐 户 程 序 启 动 网 上 预 约 面 谈 访 问 帐 户 核 对 帐 户 的 地 址 资 料

上海证券交易所会议纪要

2. 本 次 修 改 后, 投 资 者 申 购 新 股 的 持 有 市 值 要 求 市 值 计 算 规 则 及 证 券 账 户 使 用 的 相 关 规 定 是 否 发 生 了 变 化? 答 : 未 发 生 变 化 投 资 者 申 购 新 股 的 持 有 市 值 是 指, 以 投 资 者 为 单 位

¹ º ¹ º 农 业 流 动 人 口 是 指 户 口 性 质 为 农 业 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个 月 及 以 上 的 流 动 人 口 非 农 流 动 人 口 是 指 户 口 性 质 为 非 农 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个

世华财讯模拟操作手册

<4D F736F F D D323630D6D0B9FAD3A6B6D4C6F8BAF2B1E4BBAFB5C4D5FEB2DFD3EBD0D0B6AF C4EAB6C8B1A8B8E6>

2 熟 悉 Visual Basic 的 集 成 开 发 环 境 3 了 解 可 视 化 面 向 对 象 编 程 事 件 驱 动 交 互 式 开 发 等 基 本 概 念 4 了 解 Visual Basic 的 特 点 环 境 要 求 与 安 装 方 法 1 Visual Basic 开 发 应 用

第 一 部 分 MagiCAD for Revit 安 装 流 程

用节点法和网孔法进行电路分析

徐天宏:《基因天堂》.doc

( 二 ) 现 行 统 一 高 考 制 度 不 利 于 培 养 人 的 创 新 精 神,,,,,,,,,,,,, [ ],,,,,,,,,,, :, ;,,,,,,? ( 三 ) 现 行 统 一 高 考 制 度 不 利 于 全 体 学 生 都 获 得 全 面 发 展,, [ ],,,,,,,,,,,

采 取 行 动 的 机 会 90% 开 拓 成 功 的 道 路 2

3 月 30 日 在 中 国 证 券 报 上 海 证 券 报 证 券 时 报 证 券 日 报 和 上 海 证 券 交 易 所 网 站 上 发 出 召 开 本 次 股 东 大 会 公 告, 该 公 告 中 载 明 了 召 开 股 东 大 会 的 日 期 网 络 投 票 的 方 式 时 间 以 及 审

金 不 少 于 800 万 元, 净 资 产 不 少 于 960 万 元 ; (3) 近 五 年 独 立 承 担 过 单 项 合 同 额 不 少 于 1000 万 元 的 智 能 化 工 程 ( 设 计 或 施 工 或 设 计 施 工 一 体 ) 不 少 于 2 项 ; (4) 近 三 年 每 年

<433A5C C6B73625C B746F705CB9FABCCAD6D0D2BDD2A9D7A8D2B5B8DFBCB6BCBCCAF5D6B0B3C6C6C0C9F3C9EAC7EBD6B8C4CFA3A CDA8D3C3B0E6A3A92E646F63>

名 称 生 命 科 学 学 院 环 境 科 学 1 生 物 学 仅 接 收 院 内 调 剂, 初 试 分 数 满 足 我 院 生 物 学 复 试 最 低 分 数 线 生 命 科 学 学 院 生 态 学 5 生 态 学 或 生 物 学 生 命 科 学 学 院

21 业 余 制 -- 高 起 专 (12 级 ) 75 元 / 学 分 网 络 学 院 学 生 沪 教 委 财 (2005)49 号 江 西 化 校 工 科 22 业 余 制 -- 高 起 专 (12 级 ) 70 元 / 学 分 网 络 学 院 学 生 沪 教 委 财 (2005)49 号 吉

类 似 地, 又 可 定 义 变 下 限 的 定 积 分 : ( ). 与 ψ 统 称 为 变 限 积 分. f ( ) d f ( t) dt,, 注 在 变 限 积 分 (1) 与 () 中, 不 可 再 把 积 分 变 量 写 成 的 形 式 ( 例 如 ) 以 免 与 积 分 上 下 限 的

中 国 软 科 学 年 第 期!!!

教师上报成绩流程图

2006年顺德区高中阶段学校招生录取分数线

马 克 思 主 义 公 正 观 的 基 本 向 度 及 方 法 论 原 则!! # #

2.5 选 举 陈 晓 非 女 士 为 第 六 届 董 事 会 董 事 候 选 人 的 议 案 ; 2.6 选 举 卢 婕 女 士 为 第 六 届 董 事 会 董 事 候 选 人 的 议 案 ; 2.7 选 举 张 文 君 先 生 为 第 六 届 董 事 会 独 立 董 事 候 选 人 的 议 案

0 年 上 半 年 评 价 与 考 核 细 则 序 号 部 门 要 素 值 考 核 内 容 考 核 方 式 考 核 标 准 考 核 ( 扣 原 因 ) 考 评 得 3 安 全 生 产 目 30 无 同 等 责 任 以 上 道 路 交 通 亡 人 事 故 无 轻 伤 责 任 事 故 无 重 大 质 量


一 六 年 级 下 册 教 科 书 总 体 说 明 ( 一 ) 教 学 内 容 本 册 教 科 书 一 共 安 排 了 5 个 教 学 单 元, 其 中 前 4 个 单 元 为 新 知 识, 第 五 单 元 是 对 整 个 小 学 阶 段 所 学 数 学 知 识 系 统 的 整 理 和 复 习

第二讲 数列

新, 各 地 各 部 门 ( 单 位 ) 各 文 化 事 业 单 位 要 高 度 重 视, 切 实 加 强 领 导, 精 心 组 织 实 施 要 根 据 事 业 单 位 岗 位 设 置 管 理 的 规 定 和 要 求, 在 深 入 调 查 研 究 广 泛 听 取 意 见 的 基 础 上, 研 究 提

<4D F736F F D C3E6CFF2B6D4CFF3A3A8B5DAC8FDD5C220C0E0CCD8D0D4A3A92E646F63>

证券代码: 证券简称:长城电脑 公告编号:

云信Linux SSH认证代理用户手册

全国教师资格认定管理信息系统

第 9 章 如 果 打 印 机 通 过 FireWire 连 接, 则 HP 建 议 使 用 FireWire 模 块 添 加 打 印 机, 以 充 分 利 用 FireWire 打 印 的 各 项 功 能, 并 且 仅 使 用 IP over Firewire 访 问 打 印 机 的 内 嵌 式

目 录 第 一 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 硬 件 使 用 介 绍... 3 第 二 章 博 星 卓 越 电 子 商 务 营 销 策 划 实 践 平 台 管 理 员 端 功 能 使 用 介 绍 系 统 管 理 员 登 陆 班

4 进 入 交 互 区 设 置 的 组 件 管 理, 在 组 件 管 理 中, 教 师 可 以 选 择 课 程 空 间 中 的 所 有 组 件, 并 通 过 点 击 启 用 或 不 启 用 选 定 组 件 在 课 程 空 间 中 的 显 示 5 进 入 工 作 室 管 理 的 工 作 室 首 页,

学 年 第 二 学 期 集 中 考 试 安 排 (18 周 ) 考 试 日 期 :6 月 27 日 星 期 一 8:10-9:50 第 二 公 共 教 学 楼 A 区 A 高 等 数 学 ( 理 二 2) 复 材 材 料 科 学 与 工 程

 编号:

工 程 造 价 咨 询 企 业 管 理 系 统 操 作 手 册 目 录 1 造 价 企 业 登 录 企 业 基 本 信 息 查 看 企 业 人 员 信 息 查 看 企 业 基 本 信 息 操 作 企 业 简 介 企 业 章

课程类 别

2014年中央财经大学研究生招生录取工作简报


定 位 和 描 述 : 程 序 设 计 / 办 公 软 件 高 级 应 用 级 考 核 内 容 包 括 计 算 机 语 言 与 基 础 程 序 设 计 能 力, 要 求 参 试 者 掌 握 一 门 计 算 机 语 言, 可 选 类 别 有 高 级 语 言 程 序 设 计 类 数 据 库 编 程 类

上证指数

操作手册

<4D F736F F D20B3D6B2D6CFDEB6EEB1EDB8F1D7EED6D52E646F63>

全国建筑市场注册执业人员不良行为记录认定标准(试行).doc

抗 战 时 期 国 民 政 府 的 银 行 监 理 体 制 探 析 % # % % % ) % % # # + #, ) +, % % % % % % % %

随着执业中医师资格考试制度的不断完善,本着为我校中医学专业认证服务的目的,本文通过对我校中医类毕业生参加2012年和2013年的中医执业医师考试成绩及通过率、掌握率进行分析,并与全国的平均水平进行差异比较分析,以此了解我校执业中医师考试的现状,进而反映我校中医类课程总体教学水平,发现考核知识模块教学中存在的不足,反馈给相关学院和教学管理部门,以此提高教学和管理水平。


(Microsoft Word - NCRE\314\345\317\265\265\367\325\37313\324\27221\272\3051.doc)

第1篇 道路桥梁工程技术核心专业课程标准及学习绩效考评体系

一、资质申请

光明乳业股份有限公司


登录、注册功能的测试用例设计.doc

工 程 勘 察 资 质 标 准 根 据 建 设 工 程 勘 察 设 计 管 理 条 例 和 建 设 工 程 勘 察 设 计 资 质 管 理 规 定, 制 定 本 标 准 一 总 则 ( 一 ) 本 标 准 包 括 工 程 勘 察 相 应 专 业 类 型 主 要 专 业 技 术 人 员 配 备 技 术

1 什 么 是 按 市 值 申 购? 第 二 部 分 新 股 申 购 常 见 难 点 解 析 ( 含 信 用 账 户 ) 答 : 投 资 者 持 有 市 值 不 低 于 1 万 元 才 能 参 与 申 购, 申 购 数 量 不 能 超 过 主 承 销 商 规 定 的 申 购 上 限, 且 不 得 超

合 并 计 算 配 售 对 象 持 有 多 个 证 券 账 户 的, 多 个 证 券 账 户 市 值 合 并 计 算 确 认 多 个 证 券 账 户 为 同 一 配 售 对 象 持 有 的 原 则 为 证 券 账 户 注 册 资 料 中 的 账 户 持 有 人 名 称 有 效 身 份 证 明 文 件


<4D F736F F D20D0A3B7A2A1B A1B BAC5B9D8D3DAD7E9D6AFBFAAD5B9C8ABD0A3BDCCD6B0B9A4B8DACEBBC6B8D3C3B1E4B6AFB9A4D7F7B5C4CDA8D6AA2E646F63>

年 8 月 11 日, 公 司 召 开 2015 年 第 五 次 临 时 股 东 大 会, 审 议 通 过 了 关 于 公 司 <2015 年 股 票 期 权 激 励 计 划 ( 草 案 )> 及 其 摘 要 的 议 案 关 于 提 请 股 东 大 会 授 权 董 事 会 办 理 公

!!!!!

数 学 标 准 不 练 习 1.1 理 解 问 题 并 坚 持 解 决 这 些 问 题 1.2 以 抽 象 和 定 量 方 式 推 理 1.3 建 构 可 行 参 数 和 评 判 他 人 的 推 理 1.4 使 用 数 学 方 法 建 模 1.5 策 略 性 地 使 用 合 适 的 工 具 1.6

中 中 中 中 部 中 岗 位 条 件 历 其 它 历 史 师 地 理 师 生 物 师 体 与 健 康 师 从 事 中 历 史 工 从 事 中 地 理 工 从 事 中 生 物 工 从 事 中 体 与 健 康 工 2. 课 程 与 论 ( 历 史 ); 2. 科 ( 历 史 )


一 从 分 封 制 到 郡 县 制 一 从 打 虎 亭 汉 墓 说 起

投影片 1

电信系教学大纲的基本规范

乐视云视频发行平台 操作手册 V1.1

Transcription:

Java 技 术 专 区 技 术 播 客 系 列 : 第 4 季 Jeff Kunkle 深 入 讲 解 Node.js 播 出 日 期 :2012 年 4 月 27 日 GLOVER: 我 是 Andy Glover, 这 里 是 developerworks Java 技 术 播 客 系 列 这 一 次 的 特 邀 嘉 宾 是 Jeff Kunkle 他 是 Near Infinity 的 移 动 解 决 方 案 总 监, 最 近 我 参 加 了 在 华 盛 顿 特 区 举 行 的 会 议 Ruby Nation,Jeff 在 那 里 发 表 了 关 于 Node.js 的 演 讲 我 想 演 讲 的 题 目 可 能 是 What is Node.js( 什 么 是 Node.js), 或 者 类 似 的 题 目? KUNKLE: 是 的,Node.js Explained( 解 释 Node.js) GLOVER: 原 来 是 Node.js Explained 很 显 然, 在 该 演 讲 中,Jeff 很 好 地 概 述 了 什 么 是 Node.js 所 以 我 走 到 他 身 边, 我 说, 这 将 会 很 棒 您 愿 意 在 播 客 上 聊 聊 它 吗?Jeff, 欢 迎 来 到 这 个 播 客 让 我 们 了 解 一 下 什 么 是 Node.js? KUNKLE: 是 的, 你 知 道 我 决 定 做 一 个 讲 解 演 示, 因 为 有 很 多 您 会 看 到 很 多 关 于 Node.js 的 炒 作, 我 猜, 就 像 不 久 前 的 Ruby on Rails 那 样 GLOVER: 对 KUNKLE: 关 于 它 是 什 么, 有 很 多 错 误 的 观 念 和 误 解, 所 以 我 认 为, 对 什 么 是 Node 做 一 个 基 本 的 介 绍 会 非 常 有 用 在 它 的 核 心, 它 是 一 个 JavaScript 运 行 时, 针 对 联 网 应 用 程 序 的 构 建 进 行 了 高 度 的 调 优 所 以 或 许 可 将 它 用 于 构 建 Web 应 用 程 序, 或 者 构 建 一 个 连 接 到 后 端 系 统 的 RESTful API, 或 任 何 东 西 我 的 意 思 是, 有 人 构 建 过 DNS 服 务 器 DHCP 服 务 器 聊 天 服 务 器, 以 及 任 何 一 种 联 网 的 产 品, 这 些 人 能 很 好 地 适 应 它 这 其 实 是 因 为 它 以 非 阻 塞 I/O 的 完 整 概 念 为 基 础 GLOVER: 对, 对 是 的, 让 我 们 再 深 入 探 讨 一 下 请 说 得 更 详 细 一 点, 因 为 听 众 可 能 刚 刚 接 触 Node, 您 提 到 它 是 JavaScript, 并 且 JavaScript 一 直 都 存 在, 对 不 对? 所 以, 它 一 直 是 -1

您 编 写 表 单 验 证 的 语 言, 对 不 对? 但 显 然, 情 况 已 经 不 是 这 样 了, 但 我 敢 肯 定 有 些 人 喜 欢, 是 的, 我 恨 那 个 小 小 的 弹 出 窗 口, 告 诉 我 要 输 入 正 确 的 电 话 号 码 什 么 的 那 么, 好 的 为 什 么 它 现 在 成 为 了 联 网 应 用 程 序 的 热 门 首 选? KUNKLE: 这 很 有 意 思 我 的 感 觉 是, 虽 然 JavaScript 过 去 一 直 备 受 非 议, 但 现 在 更 像 是 享 受 它 的 文 艺 复 兴 时 期 GLOVER: 绝 对 是 的 KUNKLE: 你 知 道, 我 还 记 得 在 JavaScript 中 苦 苦 挣 扎, 让 人 非 常 生 气 的 日 子, 但 特 别 是 在 使 用 Node 的 时 候, 情 况 还 不 算 太 糟 糕, 因 为 我 觉 得 所 遇 到 的 一 些 困 难, 是 有 一 大 堆 不 同 的 实 现 对 吧? 您 会 有 微 软 针 对 IE 浏 览 器 完 成 的 实 现, 然 后 有 Mozilla 的 实 现 并 且 Node 更 好 一 点, 因 为 它 永 远 只 有 一 个 实 现, 就 是 V8 Google 的 V8 JavaScript 引 擎 其 实 是 面 向 Node 的 平 台 让 情 况 变 得 有 趣 的 是,Node 的 创 建 者 基 本 确 定 了 他 们 试 图 解 决 的 根 本 问 题 是, 有 大 量 I/O 的 应 用 程 序 要 等 待 很 长 时 间, 对 吧? 所 以 基 本 理 论 是, 虽 然 可 能 有 大 量 的 CPU 周 期 用 于 处 理, 但 从 旋 转 的 磁 盘 上 读 取 数 据, 或 者 建 立 数 据 库 网 络 连 接, 或 者 调 用 一 些 其 他 服 务 的 外 部 API 所 需 的 时 间 量 要 远 远 超 过 它 们 所 以 人 们 的 想 法 就 是, 能 否 更 多 地 采 取 事 件 触 发 的 模 式, 有 点 像 在 浏 览 器 中 已 经 习 惯 的 方 式, 对 不 对? 将 事 件 附 加 到 页 面 上 的 不 同 元 素, 并 在 发 生 某 个 事 件 的 某 个 时 间 点 回 调 代 码 这 里 也 适 用 同 样 的 概 念 例 如, 您 可 能 有 一 个 Web 服 务 器, 并 且 您 将 编 写, 基 本 上 是 在 Node 中 将 一 个 函 数 传 递 给 Web 服 务 器 代 码, 每 当 连 接 建 立 时 就 回 调 它 -2

GLOVER: 我 真 的 很 喜 欢 您 的 这 部 分 演 示, 虽 然 在 所 谓 的 vidcast( 视 频 播 客 ) 或 类 似 的 东 西 中 可 以 看 到 演 示, 但 在 播 客 中 却 不 能 看 到, 这 真 是 太 糟 糕 了 但 是 由 于 有 事 件 触 发 和 I/O 等 内 容, 所 以 传 统 的 模 式 可 能 有 助 于 比 较, 那 么, 它 有 什 么 不 同 呢, 比 方 说, 如 果 我 实 现 了 一 个 Web 服 务 器, 假 设 是 Java 或 类 似 的 东 西? KUNKLE: 是 的, 在 Java 中, 如 果 您 我 想 较 大 的 区 别 是 如 何 扩 展, 对 吧? GLOVER: 好 的 KUNKLE: 有 一 件 事 我 没 有 提 到, 使 用 Node 时, 它 是 单 个 流 程 它 不 仅 是 单 个 流 程, 它 还 是 单 个 线 程 所 以, 代 码 总 是 在 一 个 线 程 上 运 行 因 此, 它 其 实 利 用 了 I/O 已 经 完 成 的 优 势 你 知 道, 远 远 超 过 实 际 执 行 处 理 的 CPU 时 间 这 是 很 重 要 的 原 因 是, 在 Node 中, 每 当 等 待 I/O 时, 其 实 是 在 等 待 要 读 取 的 文 件, 或 等 待 一 个 网 络 连 接, 所 有 这 一 切 都 被 放 进 一 个 背 景 线 程 池, 或 者 它 使 用 操 作 系 统 的 一 些 本 地 异 步 API 然 后 主 线 程 被 释 放, 这 是 真 正 用 来 做 某 件 事 的 一 个 线 程, 让 它 可 完 成 更 多 的 计 算 工 作, 也 许 接 受 另 一 个 网 络 连 接, 执 行 一 些 处 理 然 后, 只 要 它 需 要 执 行 任 何 形 式 的 I/O, 它 在 后 端 会 再 一 次 离 开, 而 该 线 程 则 再 次 可 用 那 么, 在 节 点 中 处 理 扩 展 的 方 式 其 实 有 两 种, 对 吧? 因 此, 第 一 种 方 式 的 概 念 是, 这 个 线 程 有 大 部 分 时 间 用 于 等 待 I/O, 如 果 可 以 将 它 推 迟 到 Node 层, 一 个 线 程 能 够 做 比 原 来 更 多 的 工 作 在 Java 模 型 中, 如 果 我 们 准 备 扩 展 Java 模 型, 该 如 何 进 行 扩 展 呢? 我 们 用 多 个 线 程 实 现 扩 展 我 们 必 须 创 建 很 多 不 同 的 线 程 才 能 处 理 多 个 连 接 大 部 分 时 间, 这 些 -3

线 程 都 在 等 待 它 们 在 等 待 数 据 库 查 询, 它 们 在 等 待 读 取 文 件, 登 出 到 文 件 所 以 它 们 在 等 待 那 个 I/O 发 生, 它 们 无 法 服 务 任 何 其 他 请 求 ; 只 是 必 须 等 待 这 是 Node 有 根 本 性 区 别 的 地 方, 它 不 会 锁 定 正 在 等 待 I/O 的 线 程 ; 反 而 会 委 派 该 线 程 到 一 个 内 部 节 点 层, 然 后 该 线 程 就 可 以 处 理 下 一 个 请 求 之 后 一 旦 需 要 I/O, 就 把 它 推 入 内 部 节 点 层 处 理 另 一 个 请 求 GLOVER: 所 以 在 节 点 中 采 用 这 种 模 型, 而 您 的 Node 代 码, 假 设 有 一 些 东 西 要 和 数 据 库 通 信, 对 不 对? 那 么 就 会 有 一 些 I/O, 它 会 等 待, 我 喜 欢 这 种 方 式, 我 在 自 己 的 脑 海 中 设 想,Node 说, 好, 这 件 事 情 正 在 等 待, 那 我 们 先 把 它 放 在 一 边 KUNKLE: 对 GLOVER: 然 后, 我 回 去 开 始 处 理 请 求 在 某 个 时 间 点, 数 据 库 返 回 数 据 了, 或 者 I/O 完 成 了 结 果 集 从 数 据 库 回 来 了 现 在, 如 何 回 到 主 线 呢? KUNKLE: 好 在 Node 中, 如 果 看 一 下 任 何 形 式 的 代 码 示 例 或 花 点 时 间 去 编 程, 就 会 很 熟 悉 这 一 点, 也 就 是 所 调 用 的 很 多 方 法, 尤 其 是 与 I/O 有 关 的 方 法, 几 乎 总 是 会 传 递 一 个 函 数, 当 I/O 完 成 时, 会 回 调 该 函 数 基 本 上, 在 Node 中 发 生 的 事 情 是, 有 一 个 事 件 循 环 的 概 念, 一 个 单 线 程 事 件 循 环 然 后 有 一 个 事 件 队 列, 每 次 从 队 列 中 提 取 一 个 事 件 如 果 您 打 算 执 行 I/O 它 将 由 线 程 池 处 理 最 终 当 该 I/O 返 回 时, 在 执 行 I/O 时 最 初 所 传 递 的 函 数 被 回 调, 然 后 被 放 回 事 件 队 列, 最 终 被 处 理 掉, 并 利 用 I/O 操 作 的 结 果 完 成 实 际 的 执 行 工 作 -4

GLOVER: 我 明 白 了 我 明 白 了 事 件 触 发 的 I/O 和 事 件 循 环 这 个 概 念, 它 对 于 Node 并 不 是 新 东 西, 对 不 对? 我 的 意 思 是, 还 有 其 他 实 施, 如 Ruby 中 的 Event Machine 或 类 似 的 东 西? 我 的 意 思 是, 还 有 其 他 库, 对 吧? KUNKLE: 是 的, 几 乎 每 种 平 台 都 有 一 些 库 以 这 种 方 式 工 作 像 您 所 说 的, 在 Ruby 中 有 Event Machine 我 敢 肯 定 在 Java 中 也 有 一 个 ; 很 抱 歉, 我 实 际 上 不 知 道 它 是 什 么 我 们 也 会 在 任 何 一 种 用 户 界 面 框 架 中 经 常 看 到 这 种 模 式 我 们 谈 到 在 JavaScript 中, 在 您 的 浏 览 器 中, 这 里 也 有 相 同 的 模 型 还 有 浏 览 器 使 用 单 一 线 程 进 行 处 理, 所 以 有 事 件 触 发 的 回 调 现 在, 如 果 您 从 事 过 ios 编 程, 也 会 看 到 它, 它 们 有 一 个 事 件 循 环, 实 际 上 称 为 运 行 循 环, 也 是 同 样 的 概 念 在 ios 中, 也 可 以 有 线 程, 但 总 是 会 有 事 件 循 环 这 个 概 念 这 是 可 以 对 用 户 界 面 实 际 执 行 任 何 类 型 更 新 操 作 的 唯 一 线 程 所 以, 是 的, 它 已 经 存 在 一 段 时 间 了 让 Node 略 有 不 同 的 因 素 是 涉 及 到 事 件 循 环 时, 让 我 们 以 Ruby 的 Event Machine 为 例 有 一 件 不 同 的 事 情, 从 一 开 始, Node 的 创 建 者 [Ryan Dahl 其 实 是 原 创 者 ; 现 在 该 项 目 实 际 上 是 由 一 家 名 为 Juliant 的 公 司 拥 有 ] 决 定 从 一 开 始, 一 切, 所 有 的 I/O, 从 一 开 始 就 是 异 步 的 所 以 不 同 的 方 面 在 于, 虽 然 与 Ruby 中 的 Event Machine 类 似, 但 为 了 真 正 执 行 事 件 循 环, 并 实 现 异 步 I/O, 使 用 Event Machine 的 人 实 际 上 必 须 编 写 自 己 的 API 来 实 现 文 件 系 统 访 问 网 络 连 接, 因 为 那 些 在 Ruby 中 都 不 是 异 步 的 GLOVER: 我 明 白 了 我 明 白 了 KUNKLE: 所 以, 很 容 易 就 会 让 自 己 陷 入 麻 烦, 如 果 您 在 Event Machine 应 用 中 要 做 点 什 么 事 情, 又 碰 巧 使 用 在 某 个 地 方 找 到 的 GEM, 而 您 很 可 能 根 本 没 有 想 到, 哦, 它 做 I/O 吗, 如 果 做, 它 是 异 步 的 吗? -5

因 为 如 果 它 不 是 异 步 的, 那 么 您 真 的 是 在 自 找 麻 烦, 因 为 会 阻 塞 正 在 运 行 的 唯 一 线 程 GLOVER:[ 大 笑 ] KUNKLE: 而 它 正 在 进 行 异 步 操 作 GLOVER: 对, 我 记 得 其 实 在 我 们 都 参 加 的 同 一 个 会 议 中, 也 许 是 您, 有 一 个 关 于 Event Machine 的 演 讲, 或 者 是 有 人 提 出 这 个 话 题, 但 我 很 抱 歉, 它 是 一 个 SPDE 演 示, 他 提 到, 是 的, 当 您 如 果 您 构 建 一 个 Web 应 用 程 序, 假 设 使 用 Event Machine, 最 好 确 保 自 己 使 用 Event Machine 的 HTTP 请 求 和 响 应, 您 的 观 点 就 是 这 个, 对 不 对, 因 为 它 不 得 不 重 [ 写 ] 所 有 的 东 西 KUNKLE: 哦, 是 的, 不 那 样 做 其 实 很 容 易, 特 别 是 如 果 您 已 经 使 用 Ruby 编 程 很 长 一 段 时 间 了 你 知 道, 使 用 某 些 API 可 以 说 是 第 二 天 性 GLOVER: 好 的, 那 么, 事 件 触 发 的 库 和 事 件 触 发 的 理 论 以 及 实 施, 就 像 您 说 的, 绝 对 不 是 新 东 西 事 实 上, 您 提 到 了 ios, 为 不 熟 悉 ios 的 听 众 解 释 一 下, 这 是 iphone, 或 ipad 它 以 Objective-C 为 基 础, 比 我 们 所 有 人 加 起 来 都 老, 对 吧? 但 其 实 不 是 的 那 么, 为 什 么 Node 如 此 流 行 呢? 我 的 意 思 是, 它 是 JavaScript, 它 也 跟 我 们 所 有 人 加 起 来 一 样 老, 对 吧? 我 的 意 思 是, 它 只 是, 正 如 您 所 说, 有 很 多 炒 作 如 果 您 抛 去 所 有 的 炒 作, 实 际 上 存 在 一 些 实 质 的 东 西, 对 不 对? 很 显 然, 我 的 意 思 是, 你 们 都 用 它 是 什 么 让 它 如 此 流 行 呢? KUNKLE: 我 想 原 因 可 能 很 多, 这 可 能 是 一 个 范 围 很 大 的 问 题 但 我 认 为 有 几 个 因 素 起 了 作 用, 一 个 是, 它 实 际 上 是 JavaScript, 因 此 大 多 数 开 发 人 员, 特 别 是 那 些 在 Web 上 做 过 一 些 事 情 的 任 何 开 发 人 员 都 已 经 了 解 JavaScript 所 以, 它 这 是 一 个 新 平 台, 但 实 际 上 并 不 需 要 学 习 新 的 语 言 事 实 上, 在 您 谈 到 的 我 所 做 的 演 示 中, 其 中 一 个 标 志 其 实 是, -6

它 有 一 个 相 当 短 的 学 习 曲 线, 因 为 一 旦 您 理 解 了 事 件 触 发 的 模 型, 以 及 Node 如 何 利 用 事 件 循 环 和 单 线 程 处 理 该 模 型, 就 已 经 知 道 了 语 言 其 实 要 做 的 只 是 搞 清 楚 新 的 API GLOVER: 是 的, 没 错 KUNKLE: 所 以, 这 是 一 个 新 方 法, 有 更 多 优 点, 当 我 们 谈 论 HTML5 以 及 WebSockets 等 技 术, 并 试 图 有 更 多 交 互 式 更 多 实 时 或 近 乎 实 时 的 应 用 程 序 时, Node 似 乎 非 常 适 合, 您 可 以 在 Node 中 获 得 大 量 的 短 时 突 发 连 接, 实 现 扩 展 而 实 际 上 它 已 建 立 了 相 当 大 的 社 区 人 们 已 经 开 发 了 数 千 个 被 称 为 MPM 的 模 块, 这 是 他 们 的 包 管 理 器, 他 们 的 Nodes 包 管 理 器 它 其 实 在 Windows 上 运 行, 而 且 我 相 信, 如 果 我 没 有 记 错, 微 软 实 际 上 投 入 了 大 量 资 金 和 开 发 人 员 来 使 它 在 Windows 上 运 行 GLOVER: 是 的, 事 实 上, 我 觉 得 我 读 了 一 些 关 于 Azure 的 文 章, 我 想 我 的 发 音 是 正 确 的, 但 微 软 的 云 平 台 实 际 上 也 支 持 Node KUNKLE: 是 的, 可 以 在 它 上 面 运 行 Node 而 很 多 人 都 在 考 虑 使 用 这 样 的 模 型, 在 真 正 单 个 线 程 中 以 这 种 事 件 驱 动 的 模 型 作 为 扩 展 的 方 式, 因 为 它 确 实 简 化 了 并 发 性, 因 为 每 次 只 能 执 行 一 个 线 程, 不 会 发 生 任 何 死 锁, 没 有 两 个 线 程 访 问 任 何 共 享 的 状 态 所 以, 您 根 本 不 必 考 虑 怎 么 做 线 程 编 程 GLOVER: 所 以, 我 想 这 正 是 您 要 说 的, 显 然 会 有 人 接 下 来 会 讲 一 下 Node 的 优 缺 点, 对 吧? 有 些 缺 点 已 经 被 提 出 来 了, 我 觉 得 都 是 围 绕 这 个 概 念 我 记 得 有 一 个 很 好 的 博 客 被 广 泛 报 导,Node 是 肿 瘤, 是 吗? KUNKLE: 是 的 Node.js 是 肿 瘤 GLOVER: 因 此, 很 多 论 点 可 能 以 此 为 前 提, 只 有 一 个 线 程 它 如 何 扩 展, -7

对 吧? 我 的 意 思 是, 听 起 来 挺 吓 人 的 KUNKLE: 是 的 我 的 意 思 是, 如 果 真 的 打 算 扩 展 它, 您 不 会 只 运 行 一 个 节 点 至 少 我 不 会 只 运 行 一 个 节 点 所 以, 首 先 必 须 非 常 小 心, 不 要 做 CPU 密 集 型 的, 让 CPU 熄 火 的 任 何 事 情, 因 为 这 样 会 阻 止 接 受 每 一 个 未 来 的 连 接 但 Node 也 有 一 个 模 块 嗯, 其 实 有 几 个 不 同 的 方 法 来 处 理 多 进 程 的 执 行 因 此, 其 中 一 个 模 块 我 想, 我 不 知 道 是 否 应 称 它 为 模 块, 因 为 它 是 内 置 的, 但 我 们 实 际 上 用 得 相 当 多 的 一 个 功 能 是 它 的 集 群 库 集 群 库 允 许 您 做 的 事 情 是 创 建 可 以 共 享 相 同 文 件 描 述 符 的 多 个 子 进 程 这 让 您 可 以, 假 设 您 在 一 台 八 核 计 算 机 上 运 行, 就 可 以 在 8 个 应 用 程 序 的 实 际 实 例 上 开 始, 它 们 可 以 共 享 同 一 个 端 口 那 么, 对 于 节 点 内 部 的 连 接, 就 在 8 个 同 时 执 行 但 基 本 上 独 立 的 运 行 循 环 之 间 取 得 平 衡 所 以 可 以 有 多 个 实 例 这 更 像 Ruby 模 型 的 缩 放, 您 有 多 个 进 程, 而 不 是 在 一 个 进 程 中 有 多 个 线 程 GLOVER: 我 明 白 了 KUNKLE: 但 做 到 这 一 点 并 不 是 非 常 困 难 事 实 上, 一 个 集 群 模 块 使 这 些 进 程 间 的 通 信 变 得 非 常 容 易 它 们 有 一 个 内 置 的 消 息 传 递 功 能, 能 够 跨 进 程 通 信 GLOVER: 哇, 有 意 思 在 谈 到 MPM 和 这 个 集 群 库 模 块 时, 您 也 暗 示 过 有 数 千 个 MPM 和 包 就 像 有 数 千 个 JAR 和 数 千 个 GEM 一 样 KUNKLE:GEM 和 JAR 的 数 量 可 能 比 包 的 数 量 多 得 多 GLOVER: 是 的 我 的 意 思 是, 假 设 有 数 百 万 个 吧 -8

但 有 些 是 知 名 的, 对 吧? 我 是 说, 每 一 位 Java 开 发 人 员 都 知 道 Hibernate 或 Tomcat 或 类 似 的 内 容, 对 不 对? 每 一 位 Ruby 开 发 人 员 都 知 道 Rails 在 Node 世 界 中, 流 行 的 库 有 哪 些? 如 果 我 打 算 深 入 了 解 Node, 需 要 知 道 些 什 么? 现 在 应 该 从 哪 里 开 始? KUNKLE: 实 际 上, 种 类 繁 多, 而 且 要 视 具 体 情 况 而 定 人 们 用 Node 完 成 很 多 不 同 的 事 情 我 感 觉 在 我 接 触 Node 之 前, 我 完 成 了 大 量 Ruby 工 作 编 写 Ruby 程 序 时, 您 认 为 我 在 做 什 么 呢? 我 在 写 Web 应 用 程 序, 几 乎 总 是 编 写 Web 应 用 程 序 所 以 我 不 认 为 Node 也 是 如 此 人 们 肯 定 在 编 写 Web 应 用 程 序, 但 我 不 认 为 它 是 那 么 偏 重 于 Web 应 用 程 序 所 以, 会 有 多 种 流 行 的 GEM 现 在, 当 然 如 果 您 想 使 用 Web 框 架 路 线, 还 有 对 不 起, 我 将 它 们 称 为 GEM, 是 吧? GLOVER: 是 的 MPM [ 大 笑 ] KUNKLE: 是 的 对 于 Node 而 言, 我 认 为 Express 可 能 是 目 前 最 流 行 的 Web 框 架, 如 果 您 进 行 过 Ruby 开 发, 它 非 常 像 Sinatra 我 不 熟 悉, 可 能 是 Java 有 一 些 东 西 更 像 它 GLOVER: 是 的, 有 一 个 项 目 叫 Gretty Getty 算 是 基 于 Groovy Sinatra 的 还 有 另 一 个, 我 想 它 的 名 称 是 Rat Pack 的 确 是 有 一 些 Java 等 价 物 是 的 KUNKLE: 是 的, 就 是 这 样 那 么, 它 就 与 那 些 项 目 相 似 开 始 进 行 Node 开 发 时, 您 会 发 现 另 一 件 事 情, 有 很 多 回 调 要 传 递 给 I/O 操 作, 对 吧? 您 到 处 传 递 函 数, 因 为 它 们 需 要 在 之 后 I/O 返 回 时 被 回 调 您 很 快 就 会 有 一 大 堆 嵌 套 函 数, 尤 其 是 有 如 果 您 必 须 有, 好, 那 么 我 需 要 读 取 这 个 文 件, 完 成 之 后 返 回 结 果, 然 后 我 需 要 向 外 请 求 一 些 其 他 端 点 API 在 我 从 那 里 获 得 结 果 后, 我 要 做 其 他 事 情 那 么, -9

这 看 起 来 像 什 么? 您 现 在 有 三 个 嵌 套 函 数 回 调, 对 不 对? 因 此, 有 一 些 库 帮 助 您 我 想, 可 以 帮 您 处 理 这 件 事, 使 它 看 起 来 更 好 一 点 我 经 常 使 用 的 一 个 库 叫 Asynch GLOVER:Asynch, 好 KUNKLE: 很 多 人 用 过 Step 我 只 是 不 熟 悉 它 但 是, 在 您 使 用 Node 时, 这 两 者 都 非 常 有 帮 助, 可 让 您 避 免 这 个 嵌 套 函 数 的 问 题 GLOVER: 好 的 KUNKLE: 我 还 会 提 到 两 个 或 三 个 其 他 有 趣 的 库 Socket.IO 基 本 上 是 在 浏 览 器 和 服 务 器 之 间 进 行 WebSockets 的 一 个 库, 但 它 做 得 非 常 聪 明 如 果 浏 览 器 连 接 实 际 上 不 支 持 WebSockets, 它 将 回 退, 并 执 行 像 长 轮 询 这 样 的 操 作 它 将 尝 试 在 浏 览 器 和 服 务 器 之 间 保 持 这 种 持 久 连 接, 使 用 从 浏 览 器 提 供 的 任 意 最 佳 技 术 GLOVER: 实 际 上 这 是 为 那 些 不 熟 悉 WebSockets 的 听 众 简 单 介 绍 一 下 它 KUNKLE: 对 所 以,WebSockets 是, 想 象 一 下, 我 们 习 惯 了 在 创 建 Web 应 用 程 序 时, 我 们 有 请 求 / 响 应 模 式 我 们 的 浏 览 器 发 出 一 个 请 求, 它 得 到 一 个 响 应, 这 就 大 功 告 成 了 在 之 后 的 某 个 时 间 点, 我 们 发 出 另 一 个 请 求, 我 们 得 到 一 个 响 应, 同 样 就 大 功 告 成 了 但 让 它 真 的 很 难 做 的 是, 让 服 务 器 主 动 向 浏 览 器 发 送 东 西 在 WebSockets 的 世 界 中, 想 象 一 个 请 求 / 响 应 周 期 从 来 没 有 完 成 它 只 是 保 持 打 开 因 此, 在 任 何 时 间 点, 服 务 器 都 可 以 主 动 发 送 东 西 给 浏 览 器, 浏 览 器 可 以 接 收 它 它 不 必 您 不 必 每 过 一 段 时 间 就 求 助 于 浏 览 器 轮 询 来 看 看 服 务 器 是 否 有 什 么 事 要 告 诉 它 们, 因 为 它 有 一 个 实 时 连 接 -10

GLOVER: 对, 所 以 它 好 吧 它 是 浏 览 器 和 服 务 器 之 间 的 双 向 开 放 式 套 接 字 KUNKLE: 是 的 GLOVER: 一 个 推 送 模 型 您 在 前 面 提 到 了 长 轮 询 KUNKLE: 长 轮 询, 是 的, 它 的 概 念 其 实 是, 浏 览 器 会 定 期 轮 询 服 务 器 可 能 要 发 送 给 它 的 事 件, 服 务 器 仅 仅 是 不 响 应 一 段 时 间 其 概 念 是, 浏 览 器 要 等 待 一 个 响 应 但 服 务 器 将 不 响 应 一 段 时 间, 它 在 等 待, 看 看 它 是 否 有 东 西 想 发 送 给 浏 览 器 GLOVER: 明 白 WebSockets 有 趣 的 地 方 是, 它 似 乎 会 避 免, 也 许, 在 某 些 应 用 程 序 中, 如 果 您 正 确 地 使 用 它, 它 会 避 免 Ajax, 对 不 对? 您 其 实 不 需 要 Ajax KUNKLE: 是 的, 您 绝 对 可 以 不 需 要 Ajax 我 可 能 会 继 续 保 留 Ajax 调 用, 除 非 有 一 些 确 实 需 要 频 繁 更 新 的 东 西 GLOVER: 我 明 白 了 KUNKLE: 需 要 从 浏 览 器 初 始 化 它 时,Ajax 仍 然 是 非 常 好 的, 如 果 想 主 动 在 仪 表 板 中 显 示 指 标 或 者 图 表,WebSocket 真 的 很 好 使 用 类 似 WebSockets 的 技 术 将 使 服 务 器 很 容 易 发 送 出 不 断 更 新 的 指 标, 而 不 是 让 图 形 实 时 变 化 使 用 WebSockets 完 成 这 项 工 作 比 使 用 Ajax 要 好 得 多 GLOVER: 明 白 明 白 KUNKLE: 您 提 到 过 Socket.IO 是 一 个 很 好 的 Node 库, 我 想 您 会 再 告 诉 我 们 一 些 知 识 GLOVER: 是 的, 还 有 一 些 其 他 的 实 际 上, 我 在 Near Infinity 的 一 位 同 事 构 建 了 两 个 库, 我 认 为 相 当 有 意 思 一 个 叫 Persist, 有 点 像 一 个 ORM -11

框 架 在 Node 世 界 中,ORM 框 架 并 不 一 定 超 级 流 行, 但 同 样, 不 是 每 个 人 都 在 开 发 Web 应 用 程 序 但 它 真 的 是 我 见 过 的 最 好 的 框 架 另 一 个 也 相 当 有 趣, 尤 其 是 对 使 用 Java 的 人 来 说, 它 其 实 是 我 同 事 的 名 字, Joe Ferner, 他 写 了 一 个 名 为 Java 的 Node 包 您 可 以 就 叫 它 Java 您 真 正 可 以 做 的, 就 是 从 Node 内 部, 可 以 访 问 所 有 Java 运 行 时 库 和 所 需 的 任 何 其 他 JAR 基 本 上, 在 Node 内 启 动 Java 虚 拟 机, 就 可 以 调 用 各 种 方 法, 就 像 在 Java 中 调 用 它 们 一 样 这 就 是 它 有 趣 的 地 方, 您 不 仅 可 以 像 在 Java 中 一 样 调 用 它 们, 我 觉 得 Java 中 的 一 切 都 是 阻 塞, 对 吧? 您 永 远 不 会 在 Java 中 不 会 有 很 多 方 法 将 函 数 传 递 给 我 们 不 能 传 递 函 数, 您 可 以 传 递 一 个 匿 名 [ 内 部 类 ], 并 等 待 它 回 来 但 他 编 写 这 个 包 的 方 式 是, 任 何 Java 方 法 调 用 都 可 以 同 步 或 异 步 地 完 成 所 以 它 非 常 酷 所 以 如 果 想 尝 试 Node, 并 且 您 以 前 使 用 Java, 有 些 Java 库 是 您 无 法 离 开 的, 这 可 能 是 一 种 选 择, 可 以 说 弥 合 这 个 差 距, 您 可 以 利 用 Node 对 可 扩 展 性 的 承 诺, 并 且 仍 然 可 以 利 用 自 己 经 过 一 段 时 间 已 累 积 起 来 的 Java 投 资 GLOVER: 哇! 哇! 您 也 提 到 了 一 些 有 趣 的 测 试 框 架 KUNKLE: 是 的 测 试, 有 几 个 流 行 的 框 架 我 想 有 一 个 可 能 叫 Vows, 它 是 一 个 BDD 测 试 框 架, 可 能 是 最 流 行 的, 或 者 离 最 流 行 也 不 远 了 我 碰 巧 更 常 用 的 是 Mocha, 它 非 常 类 似 于 Ruby 的 [R Spec], 另 一 种 BDD 类 型 的 测 试 框 架 您 会 看 到 使 用 相 同 的 术 语 进 行 描 述, 以 及 与 其 类 似 的 东 西 Vows 更 -12

结 构 化 一 点, 它 强 迫 您 以 特 定 方 式 做 事 我 想 很 多 人 都 认 为 这 是 一 个 很 好 的 编 程 模 型 对 我 来 说, 我 刚 刚 发 现 它 的 限 制 有 点 多, 所 以 更 愿 意 走 Mocha 路 线 但 也 明 白 为 什 么 人 们 会 喜 欢 使 用 Vows 我 想, 两 者 都 值 得 一 试 试 用 它 们 并 不 需 要 很 大 工 作 量 GLOVER: 没 错 我 们 在 哪 里 可 以 获 得 Nodes 如 果 我 提 到 Node, 我 在 哪 里 可 以 找 到 它? KUNKLE:Nodejs.org GLOVER: 那 很 简 单 KUNKLE: 简 单, 因 为 可 以 Nodejs.org 有 下 载 的 内 容 有 适 用 于 Mac 和 Windows 和 Linux 的 真 实 本 机 安 装 程 序, 虽 然 该 站 点 上 没 有 什 么 适 用 于 Linux 的 东 西 可 以 下 载, 但 如 果 您 Google 一 下 的 话, 还 是 有 的 假 设 您 使 用 Ubuntu, 如 果 用 Google 搜 索 Node.debian.package, 会 发 现 可 以 添 加 Debian 等 源, 并 且 真 的 可 以 通 过 这 种 方 式 获 得 它 或 者, 通 过 源 进 行 安 装 也 真 的 不 是 太 难 这 是 我 通 常 会 做 的 事 情 它 很 方 便, 因 为 您 会 遇 到 相 当 多 的 包 是 具 有 本 地 编 译 步 骤 的, 安 装 程 序 也 如 此, 适 用 于 Mac 和 Windows 的 打 包 安 装 程 序, 它 们 不 包 括 Node 头 文 件 所 以, 那 些 本 地 模 块 不 编 译 所 以, 如 果 可 以 忍 受, 我 会 说 从 源 代 码 编 译 它 但 如 果 只 是 想 尝 试 一 下, 无 论 如 何 都 要 获 取 安 装 程 序, 这 不 是 您 只 需 花 几 分 钟 来 安 装 它, 尝 试 它 GLOVER: 从 资 源 的 角 度 来 看 又 如 何? 想 到 了 哪 些 资 源 吗, 像 教 程 视 频 方 面? KUNKLE: 有 一 个 站 点, 名 为 How To Node, 它 有 一 些 教 程 howtonode.org howtonode.org GLOVER: 明 白 KUNKLE:Nodejitsu 是 一 个 托 管 服 务 提 供 商, 但 他 们 的 博 客 上 也 有 很 多 -13

关 于 Node 的 内 容 与 Java 不 同, 它 有 DZONE 和 类 似 的 地 方, 但 没 有 大 型 站 点, 没 有 什 么 重 要 的 地 方 都 是 Node.js 内 容 的 所 以 必 须 去 不 同 的 地 方 转 转, 才 可 以 找 到 内 容 GLOVER: 是 的, 我 注 意 到 了, 我 认 为 是 O'Reilly, 并 且 我 敢 肯 定, 所 有 其 他 出 版 商 如 果 不 是 已 经 推 出 的 话, 也 都 是 准 备 推 出 测 试 类 型 的 Node 书 籍 KUNKLE: 是 的, 很 多 都 是 是 的, 就 像 您 说 的, 很 多 都 处 于 测 试 阶 段 人 们 已 经 出 版 了 一 些 书 籍, 电 子 书, 其 实 可 以 免 费 获 取 有 时 它 们 是 测 试 版 本 的 图 书, 很 可 能 出 版 商 正 在 忙 这 个 工 作, 称 为 Node Beginner Book(Node 入 门 书 ) 或 Felix 的 Node.js Guide(Node.js 指 南 ), 这 些 都 很 有 趣 GLOVER: 我 会 去 看 看 这 些 书 Felix 的 Node.js Guide 那 听 起 来 很 有 意 思 KUNKLE: 是 的, 他 有 几 个 不 同 的 指 南 有 一 个 初 学 者 指 南, 有 一 个 样 式 指 南, 建 议 了 一 些 编 码 约 定 他 甚 至 有 一 本 Convincing the Boss Guide( 说 服 老 板 的 指 南 ), 所 以, 如 果 需 要 帮 助 说 服 自 己 的 老 板 让 您 尝 试 Node, 那 么 也 许 里 面 的 内 容 会 帮 到 您 GLOVER: 很 好 Jeff, 这 真 的 很 棒 我 认 为, 从 高 层 次 来 概 述 什 么 是 Node, 它 为 什 么 会 流 行, 去 研 究 一 些 不 同 的 包, 这 已 经 非 常 有 意 思 我 要 代 表 我 们 所 有 的 听 众 对 您 表 示 感 谢, 非 常 感 谢 您 今 天 晚 上 花 时 间 告 诉 我 们 这 些 KUNKLE: 不 客 气 感 谢 邀 请 我,Andy GLOVER: 这 一 次 的 特 邀 嘉 宾 是 Jeff Kunkle, 我 是 Andy Glover, 这 里 是 developerworks Java 技 术 播 客 系 列 感 谢 大 家 的 收 听 [ 访 谈 结 束 ] -14