Motivation 世俗一把,看看前端的JavaScript究竟能做什么. 顺便检验一下自己的学习能力. Audience 想看偏后台的Java程序员关于前端JavaScript的认识的职业前端工程师.全栈工程师. 本人技术积累: 3年+语义网技术研究经验: 1年+Java Web开发经验(SSH+jQuery).已读过<HTTP权威指南>.有REST架构风格的意识: 粗略读过APUE.UNP第一卷,稍微详细的读过Netty in Action MEAP5. Scope Node.js文件.…
<Node.js 高级编程> 作者简介 Pedro Teixerra 高产,开源项目程序员 Node 社区活跃成员,Node公司的创始人之一. 10岁开始编程,Visual Basic.C.C++.Java.PHP.Ruby.Javascript 构建模块Fugue.Alfred.js.Carrier.Nock 前言 大学期间,构建了多线程TCP服务器 事实证明,让同步精细化(最大化资源和时间)和正确化(避免死锁),比较难处理. 从事UNIX和关注Java,然后落到PHP和Ruby.才到Jav…
Node 核心API基础 第三章 加载模块 第四章 应用缓冲区 第五章 事件发射器模式简化事件绑定 第六章 使用定时器制定函数执行计划 第三章 加载模块 本章提要 加载模块 创建模块 使用node_modules文件夹 问题: 全局名称空间,共享 安全性问题.冲突.难以跟踪与解决. Node解决 使用了CommonJS模块标准. 划分模块,根本没有全局作用域 3.1 理解Node如何加载模块 文件路径 + 名称 核心模块会预先加载 NPM安装模块 var module = require('mo…
Outline 1 概述和安装 1.1 安装Node 1.2 Node简介 2 Node核心API基础 2.1 加载模块 2.2 应用缓冲区处理.编码和解码二进制数据 2.3 使用时间发射器模式简化事件绑定 2.4 使用定时器制定函数执行计划 1 概述和安装 1.1 安装Node 参见Ubuntu 14.04下搭建Node.js的开发环境或其他类似文章. npm: Node包管理器 两种主要的工作模式:全局模式.本地模式 本地模式:安装到当前目录下node_modules目录中. 常用命令: n…
Explanation 现阶段console.log(...),util.inspect(...), JSON.stringify(...)在控制台输出已经够用了[2015/07/19]. 单元测试隶属于高级话题,虽然是程序员的自我修养,但现阶段完全不予接受. 而关于控制回调流程,先等Node.js摆脱"性能不理想的恶名"再说. Outline 4 构建与调试模块及应用程序 4.1 测试模块及应用程序 4.2 调试模块及应用程序 4.3 控制回调流程 4 构建与调试模块及应用程序 4.…
Outline 6 连接数据库 6.1 使用node-mysql连接MySQL数据库 6.2 使用Nano连接CouchDB数据库 6.3 使用Mongoose连接MongoDB数据库 6 连接数据库 6.1 使用node-mysql连接MySQL数据库 node-mysql书上使用的版本与最新的版本API变化很大, 最新版本文档见node-mysql lib,可以看到还提供了连接池,这里不做介绍. 一个简单客户端 /** demonstration of node-mysql serviec…
Outline 3 文件.进程.流和网络 3.1 查询和读写文件 3.2 创建和控制外部进程 3.3 读写数据流 3 文件.进程.流和网络 3.1 查询和读写文件 path 从Node 0.8起,path模块只负责处理文件路径相关的字符串,不与实际文件或路径关联. sample code: /** demonstration of module 'path' 's usage */ var path = require("path"); // 1 exists() - DEPRECAT…
Outline 5 构建Web应用程序 5.1 构建和使用HTTP中间件 5.2 用Express.js创建Web应用程序 5.3 使用Socket.IO创建通用的实时Web应用程序 5 构建Web应用程序 5.1 构建和使用HTTP中间件 5.1.1 Web开发的常见任务: (1) HTTP服务器负责的任务 解析请求URL.维护会话关联.持久化会话数据.解析Cookie等. (2) 业务程序可以参与的任务 检查和修改请求和响应,一些Web框架正是包装了请求和响应的传递链以方面业务程序的编码工作…
Outline 3.4 构建TCP服务器 3.5 构建HTTP服务器 3.6 构建TCP客户端 3.7 创建HTTP请求 3.8 使用UDP 3.9 用TLS/SSL保证服务器的安全性 3.10 用HTTPS保证HTTP服务器的安全性 3.4 构建TCP服务器 TCP服务器对象通过require("net").createServer()创建,它是一个事件发射器(event emitter),发射事件包括:listening, connection, close, error. TCP…
###[本文是基础内容,大神请绕道,才疏学浅,难免纰漏,请各位轻喷] ##1. 概述 目前开源社区最火热的技术当属Node.js莫属了,作为使用Javascript为主要开发语言的服务器端编程技术和平台,一开始就注定会引人瞩目. 当然能够吸引众人的目光,肯定不是三教九流之辈,必然拥有独特的优势和魅力,才能引起群猿追逐.其中当属异步IO和事件编程模型,本文据Node.js的异步IO和事件编程做深入分析. ##2. 什么是异步 同步和异步是一个比较早的概念,大抵在操作系统发明时应该就出现了.举一个最…