为了账号安全,请及时绑定邮箱和手机立即绑定

进击Node.js基础(一)

Scott 全栈工程师
难度中级
时长 3小时27分
学习人数
综合评分9.50
664人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.3 逻辑清晰
  • nodejs 的核心思想 非阻塞 单线程 基于事件的异步驱动 //事件驱动:为了某个事件注册了回调函数,但是这个回调函数不是马上执行,只有当事件发生的时候,才会调用回调函数,这种函数执行的方式叫做事件驱动~这种注册回调就是基于事件驱动的回调,如果这些回调和异步的I/O操作有关,可以看作是基于回调的异步I/O,只不过这种回调在nodejs中是有事件来驱动的 //事件循环Eventloop,倘若有大量的异步操作,一些I/O的耗时操作,甚至是一些定时器控制的延时操作,它们完成的时候都要调用相应的回调函数,从而来完成一些密集的任务,而又不会阻塞整个程序执行的流程,此时需要一种机制来管理,这种机制叫做事件循环. 对于单线程的Nodejs来讲可以通过回调的方式进行异步编程达到非阻塞的的效果 javasript里的异步函数就是setTimeout()和setInterval() 一个事件是否可以绑定多个函数 同步: 打电话 -- 查询 -- (不挂电话)等待 -- 回结果 -- 挂电话 异步: 打电话 -- 查询 -- (挂电话)留号码 -- 回电话 -- 回结果 -- 挂电话
    查看全部
  • 在git bash 中 利用 node -v 和 npm -v 可以查看版本信息。就可以更快知道是否 node.js是否安装成功
    查看全部
  • 状态码 1XX = 2XX = 3XX = 4XX = 5XX =
    查看全部
  • 推荐网站:<br> 1、nodejs.org 2、www.npmjs.com 3、github.com 4、stackoverflow.com
    查看全部
  • 一、nodejs.org看看nodejs的版本升级,新特性的加入,重要bug的修复等 二、www.npmjs.com模块社区,看他人源代码,省力 三、github.com大量的项目和源码 四、stackoverflow.com技术解答社区以及查询相关资源,环境配置,异常均可找到答案
    查看全部
  • 自定义头部信息,模拟签到
    查看全部
  • 上节inndex.js运行失败原因是 class为关键字
    查看全部
  • Apache ab
    查看全部
    0 采集 收起 来源:HTTP 性能测试

    2016-05-31

  • dns解析过程
    查看全部
    0 采集 收起 来源:HTTP知识先填坑

    2016-05-31

  • dns解析过程
    查看全部
    0 采集 收起 来源:HTTP知识先填坑

    2016-05-31

  • chrome://net-internals/#dns 谷歌浏览器缓存查看,大概保存一分钟以内的缓存 以chrome浏览器为例: 1.Chrome搜索自身的DNS缓存;通过chrome://net-internals/#dns查看到你曾经查看的网络的dns缓存记录; 2.搜索操作系统自身的DNS缓存(浏览器没有找到缓存或者缓存已经失效); 3:读取本地的HOST文件(Mac:用vim编辑器打开etc下的HOST文件;Windows:c:/System32/driver/etc/HOST); 4:浏览器发起一个DNS的一个系统调用; (1).宽带运行商服务器查看本地缓存; (2).运营商服务器发起一个迭代DNS解析的请求;(根域——com域——imooc.com域); (结果:运营商服务器把结果返回操作系统内核同时缓存起来;操作系统内核把结果返回浏览器;最终浏览器拿到www.imooc.com对应的IP地址) 5.浏览器获得域名对应的IP地址后,发起HTTP“三次握手”; (Chrome向服务器的随机端口发送一个TCP连接请求——路由设备(多)——网卡——内核的TCP-IP协议栈——(防火墙)——web服务端) 6.TCP/IP连接建立后,浏览器就可以向服务器发红HTTP请求了。比如:用HTTP的GET方法请求一个根域里的一个域名,协议可以采用HTTP1.0的一个协议; 7.服务器端接收了这个请求,根据路径参数,经过后端的一些处理之后,把处理后的一个结果的数据返回给浏览器; 8.浏览器拿到了网站的完整HTML页面代码,在解析和渲染这个页面的同时,里面的JS,CSS,图片静态资源,同样也是一个个HTTP请求,也都要经过上述的七个步骤; 9.浏览器根据拿到的资源对页面进行渲染,最终把一个完整的页面呈现给用户。
    查看全部
    0 采集 收起 来源:HTTP知识先填坑

    2016-05-31

  • querystring.parse() querystring.stringify() querystring.escape() querystring.unescape() 转义querystring.escape('<哈哈>') 反转义querystring.unescape('%3c%e5..........') 序列化:querystring.stringify({name:'scott',course:['jade','node'],from:''},',',':') 结果是: 'name:scott,course:jade,course:node,from:' 第二个参数代表中间连接符,第三个参数代表键值中间的符号 如果没有后两个参数,那么默认为: 'name=scoot&&course=jade&&course=node&&from=' 反序列化: querystring.parse('name=scoot&&course=jade&&course=node&&from=') 解析成为一个数组 {name:'scott', course:['jade','node'], from:''}
    查看全部
  • url.parse('http://imooc.com/course/list') 返回对象,host,hostname,port path,pathname,search,query,hash等等。 slashes:是否有双斜杠;hash:锚点;search:查询字符串参数;query:发送给http服务器的数据;pathname:访问资源的路径名; URL.parse(参数1,参数2,参数3); 参数1为URL地址;参数2为true,则将query解析为对象;参数3为true,则可以正确解析不带协议的url。 URL:网址,URI的子集,URL是Uniform Resource Location的缩写,译为“统一资源定位符”。通俗地说,URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,特别是著名的Mosaic。 URI:Web上可用的每种资源:HTML文档、图像、视频片段、程序等。由一个通用资源标志符(Uniform Resource Identifier, 简称"URI")进行定位。
    查看全部
  • 模块流程
    查看全部
  • 识别稳定版本和非稳定版本
    查看全部
    0 采集 收起 来源:Nodejs版本常识

    2016-05-30

举报

0/150
提交
取消
课程须知
我们的教程面向的同学是:有 JavaScript 基础的同学,如果有过任何后台语言开发的经验更适合,对于有基础的同学,可以快进跳着看教程,不必拘束于每一分钟都听,很多时候其实是思路,思路打通了,很多技术细节也就不用纠结了。
老师告诉你能学到什么?
从 Node.js 基础知识入手,比如安装,环境配置、开发环境等,进一步熟悉 Node.js API ,一些 HTTP 知识,并且对模块的概念和使用更加熟悉,从而进阶到模块或者插件的开发,最终能够借助 Node.js 快速实现特定的需求。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!