随笔分类 -  Node.js

摘要:视图和布局 视图通常表现为网站上的各个页面(它也可以表现为页面中AJAX局部加载的内容,或一封电子邮件,或页面上的任何东西)。默认情况下,Express会在views子目录中查找视图。布局是一种特殊的视图,事实上,它是一个用于模板的模板。布局是必不可少的,因为站点的大部分页面都有几乎相同的布局。例如 阅读全文
posted @ 2015-02-09 14:03 JinksPeng 阅读(1379) 评论(0) 推荐(0)
摘要:简介 使用JavaScript生成一些HTML 问题出现在这里:切换上下文环境是困难的。如果你写了大量的JavaSctipt,混合在HTML中会引起麻烦和混乱; 由JavaScript生成的HTML充满了问题: 必须不断地考虑哪些字符需要转义以及如何转义。 使用JavaScript来生成那些自身包含 阅读全文
posted @ 2015-02-09 11:11 JinksPeng 阅读(1407) 评论(0) 推荐(0)
摘要:获取更多信息 如果正在寻找某些功能,首先要查看Express的 "API文档" 如果需要的信息没在文档中,有时就不得不深入研究 "Express源码" ; 下面是Express源码的路径说明 lib/application.js Express主接口。如果想了解中间件是如何接入的,或视图是如何被渲染 阅读全文
posted @ 2015-02-09 10:37 JinksPeng 阅读(1043) 评论(0) 推荐(0)
摘要:URL的组成部分 协议: 协议确定如何传输请求。我们主要是处理http和https。其他常见的协议还有file和ftp。 主机名: 主机名标识服务器。运行在本地计算机(localhost)和本地网络的服务器可以简单地表示,比如用一个单词,或一个数字IP地址。在Internet环境下,主机名通常以一个 阅读全文
posted @ 2015-02-08 20:51 JinksPeng 阅读(960) 评论(0) 推荐(0)
摘要:跨页测试 跨页测试更有挑战性,因为需要你控制和观测浏览器。 现在设置一个跨页测试情境的例子。比如,你的网站上有一个包含联系表单的Request Group Rate页面。营销部门想知道客户是从哪个页面点击链接进入Request Group Rate页面的,他们想知道客户是否在查看胡德河之旅或者俄勒冈 阅读全文
posted @ 2015-02-08 16:14 JinksPeng 阅读(371) 评论(0) 推荐(0)
摘要:QA 在Web开发中,质量可以分解为四个维度: 到达率: 到达率是指产品的市场普及程度,即查看网站或使用服务的人数。到达率和盈利能力是正相关关系:访问网站的人越多,购买产品或服务的人就越多。从开发的角度来看,搜索引擎优化(SEO)对到达率的影响最大,所以我们会在QA方案里包含SEO。 功能 人们一旦 阅读全文
posted @ 2015-02-08 13:52 JinksPeng 阅读(299) 评论(0) 推荐(0)
摘要:版本控制 版本控制有以下益处: 文档: 能够回溯项目的历史,回顾所做的决策及组件的开发顺序,可形成宝贵的文档。记录项目的历史是十分有价值的。 归属: 团队工作,分工清晰,节省沟通成本。 试验: 你可以引出一个分支,尝试做一些新的东西,不用担心会影响项目的稳定性。 使用Git 初始化 创建一个.git 阅读全文
posted @ 2015-02-08 13:29 JinksPeng 阅读(547) 评论(0) 推荐(0)
摘要:脚手架 大多数项目都需要一定数量的“套路化”代码,所有可以创建一个通用的项目骨架,每次开始新项目时,只需复制这个骨架,或者说是模板。 RoR把这个概念向前推进了一步,它提供了一个可以自动生成脚手架的程序。相对于从一堆模板中作出选择,这种方式的优点是可以生成更复杂的框架;Express借鉴了RoR的这 阅读全文
posted @ 2015-02-07 17:57 JinksPeng 阅读(382) 评论(0) 推荐(0)
摘要:hello world 事件驱动编程 Node的核心理念时事件驱动编程,即了解有哪些事件以及如何响应这些事件;前面例子中,HTTP请求就是要处理的事件,http.createServer方法将函数作为一个参数,描述如何响应这个事件 路由 指向客户端提供它说发出的请求内容的机制;对基于web的客户端/ 阅读全文
posted @ 2015-02-07 17:13 JinksPeng 阅读(205) 评论(0) 推荐(0)
摘要:测试: assert模块; //node自带 var assert = require('assert'); var now = Date.now(); console.log(now); assert.ok(now % 2 == 0); var request = require('superag 阅读全文
posted @ 2014-11-30 17:58 JinksPeng 阅读(208) 评论(0) 推荐(0)
摘要:代码共享问题: 是否值得在两个环境中运行同一份代码; //看项目 依赖的API是否在两个环境中都有或有替代; 浏览器提供的标准API:XMLHttpRequest、WebSocket、DOM、canvas等; Node.js可加载的模块; 浏览器提供的标准API:XMLHttpRequest、Web 阅读全文
posted @ 2014-11-29 17:55 JinksPeng 阅读(200) 评论(0) 推荐(0)
摘要:MySQL驱动器:node-mysql; MySQL对象关系映射器:node-sequelize; 例子: package.json: { "name": "shopping-cart-example", "version": "0.0.1", "dependencies": { "express" 阅读全文
posted @ 2014-11-29 14:25 JinksPeng 阅读(423) 评论(0) 推荐(0)
摘要:简介: 传统关系类型(ORM:Object-Relational Mapper),MongoDB(ODM:Object Document Mapper); MongoDB是一个面向文档,schme无关(可以将任意类型的文档数据存储到集合中)的数据库; MongoDB中可以将数据都看作文档,文档可以是 阅读全文
posted @ 2014-11-27 13:05 JinksPeng 阅读(371) 评论(0) 推荐(0)
摘要:使用Socket.IO可以避免webSocket产生的问题; 传输: Socket.IO中消息的传递是基于传输的,而非全部依靠WebSocket; 它总会尝试选择对用户来说速度最快、对服务器性能来说最好的方法来建立连接; 要是条件达不到,那么首先会保证连接正常; 断开VS关闭: //对超时的支持 S 阅读全文
posted @ 2014-11-25 20:20 JinksPeng 阅读(510) 评论(0) 推荐(0)
摘要:socket:socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。 ajax: 通过HTTP请求+响应模式的方式来发送和接受数据; 当执行代码发出请求时,浏览器会使用可用的socket来进行数据发送,为了提高性能,浏览器 阅读全文
posted @ 2014-11-25 09:51 JinksPeng 阅读(197) 评论(0) 推荐(0)
摘要://使用supervisor Connect是基于HTTP米快创建的;Express则是基于Connect上创建的; 绝大多数web服务器和浏览器之间的任务是通过url和method完成的,两者的组合称为路由; 使用express: 引入: var express = require('expres 阅读全文
posted @ 2014-11-23 11:19 JinksPeng 阅读(316) 评论(0) 推荐(0)
摘要:HTTP构建一个网站: 通过connect实现一个网站: 创建package.json: { "name": "my-website", "version": "0.0.1", "dependencies": { "connect": "1.8.7" }, "description": "an co 阅读全文
posted @ 2014-11-23 11:18 JinksPeng 阅读(307) 评论(0) 推荐(0)
摘要:HTTP: //超文本协议,是属于TCP上层的协议 http协议构建在请求和响应概念上,node.js中对应http.ServerRequest,http.ServerResponse; 当用户浏览网站,用户代理(浏览器)会创建一个请求,该请求通过TCP发送给web服务器; 流对接: 一个简单web 阅读全文
posted @ 2014-11-22 11:38 JinksPeng 阅读(212) 评论(0) 推荐(0)
摘要:Node HTTP服务器是构建与Node TCP服务器之上的,即http.Server继承自net.Server; TCP特性: 面向连接的通信和保证顺序的传递: IP的协议是面向无连接,且数据包送达时是无序的,这些数据包不属于任何数据流或连接; 使用TCP/IP和服务器建立连接后,在TCP连接内进 阅读全文
posted @ 2014-11-15 21:54 JinksPeng 阅读(344) 评论(0) 推荐(0)
摘要:fs是唯一一个同时提供同步和异步API的模块; 读取文件夹文件名,数组形式返回: //fs.readFile()读取文件; process全局对象中包含三个流对象:stdin,stdout,stderr; console.log()内部就是在指定字符后加上\n字符,并将其写到stdout流中; 流: 阅读全文
posted @ 2014-10-30 19:56 JinksPeng 阅读(352) 评论(0) 推荐(0)