美文网首页
课时26-课时29笔记

课时26-课时29笔记

作者: 九旬大爷的梦 | 来源:发表于2018-11-04 21:00 被阅读3次

    课时26 Node基础知识回顾

    ndoe :主要应用于开发服务器,做数据API ,设计路由,和前端的主要区别在于,前端主要负责效果和交互、
    node.js是追求性能极致的产物,主要的三个特点是:
    单线程、Non-blocking I/O、Event Driven
    Nodejs和其他后端语言的不同:

    1. 采用单线程, 所以
    2. 需要非阻塞I/O,所以
    3. 需要事件驱动。
      极大地提高了CPU的利用率
    4. node没有自己的语法,使用V8引擎,用的是js,V8引擎解析js,效率非常高。并且V8中很多东西都是异步的,,Node就是站在巨人的肩膀上,把V8中的一些功能一直到服务器上
    5. 没有web容器 就是安装配置完成之后,也么有一个根目录。(使用路由)
    6. 模块:
      在Node.js中,以模块为单位划分所有的功能,并且提供了一个完成的模块加载机制,我们可以将应用程序划分为各个不同的部分。

    课时27 Buffer介绍

    Buffer(缓冲区):

    1. 为什么要用Buffer,
    2. 在Node/ES6 出现之前,前端工程师只需要进行一些简单的额字符串或者ODM操作就可以满足业务需求了,所有对二进制数据比较陌生。
    3. 在node出现之后,前端工程师面对的技术场景发送了变化,可以深入到网络传输、文件操作、图片处理等领域。而这些操作与二进制数据紧密相关。
    4. 在Node中的Buffer,是一个二进制数据容器,数据结构和数组类似,专门用于Node中的数据存放。
      如何使用Buffer:
    5. let buffer = new Buffer(10)//类似Array(10) 创建十个元素在里面。
      历史方法 不推荐 有安全隐患,分配的内存可能存在旧的数据,这样就有安全隐患.

    课时28 Buffer使用

    使用新方法使用Buffer

    1. Buffer.form(str):将一个字符串转换成buffer
    2. Buffer.alloc(size):创建一个指定大小的buffer
    3. Buffer.alloUnsafe(size):创建一个指定大小的buffer,但是可能包含敏感数据。
    // 历史方法
    // let buffer = new Buffer(10);//类似 Array(10) 创建十个空间
    // console.log(buffer)// <Buffer 00 00 00 00 00 00 00 00 00 00>
    
    //1. 字符串转成二进制
    let str= 'www.zhangningle.top';
    let buffer= Buffer.from(str);
    console.log(buffer);//<Buffer 77 77 77 2e 7a 68 61 6e 67 6e 69 6e 67 6c 65 2e 74 6f 70>
    //把buffer转成十进制的
    console.log(buffer.toString())//www.zhangningle.top
    // 汉字转换成二进制后 一个汉字要用三个字节表示
    
    

    课时29 Buffer 使用

    Buffer.alloc(size[, fil[,encoding]])
    size:新建的buffer期望的长度
    fill用来预填充新建的Buffer的值 默认0
    encoding: 编码格式 默认:utf-8

    /*
            十六进制:00- ff
            十进制 :0- 255
            二进制: 00000000- 11111111
            0 / 1 代表一位 == 比特 
            8bit = 1B
            1kb = 1024 B
            1mkb= 1024Kb
            1GB = 1024m
            1TB = 1024GB
    
    */
    
    // 2. Buffer.alloc(size[, fill[, encoding]])
    /*
    类数组使用即可 可遍历 可选择下标等等
    初始化: 确定的长度 不能改变
    填充值
    
    */
    let buffer2= Buffer.alloc(10);//创建了一个长度是10的buffer
    buffer2[0]= 10;//可以像使用数组一样使用buffer 
    buffer2[1]= oxfc;//传一个十六进制的直接取后两位 fc
    buffer2[30]= 1;//这点和数组不同 溢出隐藏 
    console.log(buffer2);
    

    相关文章

      网友评论

          本文标题:课时26-课时29笔记

          本文链接:https://www.haomeiwen.com/subject/wssdxqtx.html