处在国企单位,整天闲的要死要死的,民族的花朵都快枯萎了

哎呀呀,打起精神.......早睡早起,多看书。。。开始进入苦读状态,苦练武功,争取有朝一日报效祖国。。。哈哈  开玩笑的

开始看书吧  记得Node.js+MonogoDB+AngularJs 这本书好像是去年4月份买的  买了好久了 一直没领会他的精髓  上班没事  绝对再看看  虽然对我的工作没什么帮助,哎呀呀  还是看吧.....................

一、node的事件模型:包含了事件队列、事件循环、线程池

二、实现定时器:

超时时间:延迟一段时间执行,只需要执行一次setTimeout();clearTimeout()取消超时时间函数

时间间隔:按定期的延迟时间间隔执行工作,对于定期工作setInterval();

即时计时器:setImmediate();允许你把工作调度为在时间队列中的当前事件完成之后执行,即在I/O事件的回调函数开始执行之后

process. nextTick:调度工作,在I/O时间被触发之前执行

从事件循环中取消定时器引用:unref()/ref()重新引用

三、事件发射器和监听器:

创建自定义事件:

四、Node.js处理数据:

数据形式有:文本、JSON字符串、二进制缓冲区、数据流

1、处理json

Json字符串转js对象:JSON.parse(String);转化为对象用点来访问

js对象转为JSON字符串:JSON.stringify();

2.使用buffer管理二进制的缓冲数据

(缓冲数据:有字节组成,比文本数据占用较少空间)

node.js提供buffer(缓冲区模块,全局性的,不需要require()引入)允许在缓冲结构中创建、读取、写入和操作二进制数据

创建缓冲区:new Buffer();

写入缓冲区:buffer.writer();

读取缓冲区:tostring();

确定缓冲区长度:buffer.length();返回的是字节长度

复制缓冲区:buffer.copy(new_buffer);

缓冲区切片:buffer.slice(start,end);

拼接缓冲区:Buffer.concat();

3.使用Stream模块来传送数据流

(stream模块是node的重要模块。数据流是可读、可写、或者即可读又可写的内存结构)

流的目的是从一个地方向另一个地方传送数据的通用机制;流一般用于HTTP数据和文件

Readable流(可读流):

常见实例:在客户端的HTTP相应、在服务器的HTTP请求、fs读取流、zlib流、crypto(加密)流、TCP套接字、子进程的stdout和stderr、process.stdin

公开事件:readable/data/end/close/error

方法:read():从流中读取数据。可以返回string对象、buffer对象或者null

setEncoding();设置从read()请求读取返回string的编码

pause();暂停从该对象发出的data事件

resume():恢复从该对象发出的data事件

pipe(de,[options]);把这个流的输出传输到由de目的地指定的writable流对象

unpipe():从写入的目的地断开这一对象

Writable流(可写流):

把数据写入一种可以轻松的在代码的另一个区域被使用的形式的机制

常见实例:客户端上的HTTP请求、服务骑上的HTTP响应、fs写入流、zlib流、crypto(加密)流、TCP套接字、子进程的stdin、process.stdout/process.stderr

公开事件:drain/finish/pipe/unpipe

方法:

.................................哟嘿 下班了  ...明天继续

闲来无事,把node又拾起来看看的更多相关文章

  1. babeljs源码

    babel.min.js!function(e,t){"object"==typeof exports&&"object"==typeof mo ...

  2. Node入门(转)

    原文链接:http://www.nodebeginner.org/index-zh-cn.html Node入门 作者: Manuel Kiessling翻译: goddyzhao & Gra ...

  3. 原生js编写的安全色拾色器

    <html > <head> <meta http-equiv="Content-Type" content="text/html; cha ...

  4. Node初学者入门,一本全面的NodeJS教程(转载)

    分类 JS学习   发布 ourjs  2013-12-02 注意 转载须保留原文链接,译文链接,作者译者等信息.     作者: Manuel Kiessling  翻译: goddyzhao &a ...

  5. Node.js 项目搭建

    关于 本书致力于教会你如何用Node.js来开发应用,过程中会传授你所有所需的“高级”JavaScript知识.本书绝不是一本“Hello World”的教程. 状态 你正在阅读的已经是本书的最终版. ...

  6. e2e 自动化集成测试 环境搭建 Node.js Selenium WebDriverIO Mocha Node-Inspector

    Node.js已经出来了许多年载,至今才开始接触.周未在家闲来无事,一时心血来潮,Google了大量的文章,经过实验,终于可以把整个环境给搭起来, 废话不多话,请看步骤. 特别注意, 本文章是针对Wi ...

  7. 【node.js】本地模式安装express:'express' 不是内部或外部命令,也不是可运行的程序或批处理文件。

    今天闲来无事想起了node.js,因此到网上下载了一个node.js的安装程序进行安装.其中: 安装程序:node-v0.11.13-x64.msi PC系统:Windows 7 自定义安装路径:D: ...

  8. ROS机器人程序设计(原书第2版)补充资料 (拾) 第十章 使用MoveIt!

    ROS机器人程序设计(原书第2版)补充资料 (拾) 第十章 使用MoveIt! 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. MoveIt ...

  9. 非node环境下的vue.js 实现简单的购物车计算功能 样式请无视

    都说vue的双向数据绑定好用,自己用了下,感觉做购物车没想象中好用.自己的实现如下: <!DOCTYPE html> <html lang="en"> &l ...

随机推荐

  1. nat的翻译类型(3)--端口地址转换

    目的:在1.1 1.2 1.3 三台内网的服务器访问外网的服务器(202.1.1.2)时,将内网ip转换为外网ip. 1.设置内网三台服务器的Ip ,网关,以及外网服务器的ip网关 分别为:192.1 ...

  2. scrapy爬虫框架setting模块解析

    平时写爬虫的时候并不需要设置setting里所有的参数,今天心血来潮,花了点时间查了一下setting模块创建后自动写入的所有参数的含义,记录一下. 模块相关说明信息 # -*- coding: ut ...

  3. 字符设备 Vs. 块设备 Character Device Vs. Block Device

    字符设备是指驱动发送/接受单个字符(例如字节)的设备. 块设备是指驱动发送/接受整块数据(例如512个字节为一个块)的设备. 常见的字符设备:串口,并口,声卡. 常见的块设备:硬盘(最小读取单位为扇区 ...

  4. python文件操作及os模块常用命令

    1.文件打开 文件句柄 = open('文件路径', '模式') 2.文件操作 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作. 三种基本 ...

  5. git的merge功能

    merge功能是将一些分支的内容合并到某一个特定的分支,这里我为了测试下,在阿里云code上面新建了一个项目 现在我需要将dev分支merge到主分支master 开发者和管理员都有权发起merge请 ...

  6. springboot 入门四-时间类型处理

    springboot 自带了jackson来处理时间,但不支持jdk8 LocalDate.LocalDateTime的转换. 对于Calendar.Date二种日期,转换方式有二种: 一.统一app ...

  7. OC学习13——Foundation框架中的集合

    OC集合类是一些非常有用的工具类,它可以用于存储多个数量不等的对象,并可以实现常用的数据结构(栈.队列等),此外,OC集合还可用于保存具有映射关系的关联数组.OC的集合大致可以分为:NSArray.N ...

  8. JavaScript的setter与getter方法

    作者:http://hawkzz.com 以前在写项目过程一直都没有使用过Javascript的setter与getter方法,所以对其是一种要懂不懂的概念:今天看书看到这个知识点,还是模模糊糊的,于 ...

  9. 网关 php-cgi fastcgi phpfpm

    本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/88 关于网关的理解,一句话就是:作为一种翻译器,抽象出了一种能够 ...

  10. Java面试题汇总

    第一阶段:三年我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人.这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本 上的内容迈向真正的企业级开发.我们知道如何团队 ...