• 《node.js实战》第一章读后感


    第一章:欢迎进入node.js世界

    开始简单介绍了nodejs和前端的js一样,都使用了事件触发来完成异步请求的。

    然后又简单介绍了nodejs的事件轮询机制

    然后用NGINX和Apache的对比来说明异步I/O的事件轮询比有阻塞的多线程的处理能力要强

    最后使用node的http模块来搭起了一个简单的服务器和一个流数据的服务器

    Got It

    1.node是异步单线程非阻塞I/O的JavaScript服务器开发平台。

    异步:就像前端ajax一样,等触发了onreadystatechange事件再对数据进行处理,只不过nodejs有很多类似的方法

    非阻塞I/O:指的是在接收到请求时不用等请求完成在执行,而是去接收其它请求,异步只是实现非阻塞的一种方式(I/O指的是输入输出的意思)

    2.nodejs的优点

    (1)开发人员用一种JavaScript语言就能开发整个网站(全栈工程师)

    (2)JSON是非常流行的数据交换格式,它还是JavaScript原生的

    (3)NoSQL数据库中用的就是JavaScript

    (4)JavaScript是编译目标语言,很多可以编译成JavaScript

    (5)node用的是虚拟机(V8)会跟着ECMAScript标准,所以什么es6,es7,es8....,nodejs直接就可以使用

    (6)专为数据密集型实时程序设计

    3.使用http模块搭起简单的http服务器

    var http = require('http');

    1.第一种

    http.createServer((req, res) => {

      res.writeHead(200, {'Content-Type': 'text/plain'});

      res.end('我是个简单的服务器!');

    }).listen(8080);

    2.第二种

    var server = http.createServer();

    server.on('request', (req, res) => {

      res.writeHead(200, {'Content-Type': 'text/plain'});

      res.end('我是个简单的服务器!');

    });

    server.listen(8080);

    这和第一种没什么区别,因为:http.createServer()的参数会自动添加到request事件中

    3.第三种(流数据)

    var fs = require('fs');

    http.createServer((req, res) => {

      res.writeHead(200, {'Content-Type': 'image/png'});

      fs.createReadStream('x.png').pipe(res);

    }).listen(8080);

    这种方法更高效

  • 相关阅读:
    牛客练习赛27 水图(思维+暴搜)
    差分
    矩阵化一维
    倍增法 求公共祖先
    vector 牛逼 +lower_bound+ upper_bound
    cmp和sort
    字符串的比较
    s 贪心
    太鼓达人 (有位运算的作用,但可能理解错了哈哈)
    kao shi di er ti(还没有订正)
  • 原文地址:https://www.cnblogs.com/sungg/p/6726970.html
Copyright © 2020-2023  润新知