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

进击Node.js基础(一)

Scott 全栈工程师
难度中级
时长 3小时27分
学习人数
综合评分9.50
664人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.3 逻辑清晰
  • apply巧妙用法 Math.max(param1,param2,...)的参数不支持数组 可以使用apply进行替换对象,并传入数组 方法:Math.max.apply(null,array), 无对象可调用用null即可 Array.prototype.push可以合并数组,但push(param1,param2...paramN)也不支持数组参数 方法: var arr1=new Array("1","2","3"); var arr2=new Array("4","5","6"); Array.prototype.push.apply(arr1,arr2);
    查看全部
  • call和apply可用来替换当前的调用对象,使它拥有上级的方法 也可用来继承, function A(name){ this.name = name this.func = function(){ console.log(this.name) } } function B(a){ A.call(this, a) //A.apply(this, [a]) } var b = new B('小明') b.func();
    查看全部
  • 偶数为稳定版本,例如0.6.x 奇书为非稳定版本,例如-0.7.x
    查看全部
    0 采集 收起 来源:Nodejs版本常识

    2017-09-07

  • 使用http来做一个注入程序,通过代码来向第三方网站发送提交
    查看全部
  • URL:统一资源定位符; URI:统一资源标识符;
    查看全部
  • call 可以替换当前的this对象
    查看全部
  • Timing资源加载所要耗费的时间线 ·Stalled:等待时机,浏览器要发生请求,到能发出请求的时间。不包括DNS查询和连接建立时间 ·Proxy negotiation:代理协商的时间 ·Request sent:请求时间。从请求报文的第一个字节发出,到最后一个字节发送完毕的时间 ·Waiting(TTFB):请求发出后至收到第一个字节响应的时间 Content Download:从接受到响应第一个字节开始到最后一个字节结束花费的时间 http请求方法: ·Get:获取,读取数据 ·Post:提交资源 ·Put:更新(头像、资料之类) ·Delete:删除 ·Head 与get方法相同,但服务器不传回资源 状态码:服务器端返回浏览器,告知浏览器请求成功或失败的信息 ·1XX请求已经接受 ·2XX请求成功并处理成功 ·3XX重定向 ·4XX客户端错误 ·5XX服务器端错误 200:OK,请求成功 400:客户端请求有语法错误 401:请求未经授权 403:收到请求,但不提供服务 404:资源未找到 500:服务器端未知错误 503:服务器端当前不能处理请求
    查看全部
  • crawler.js(4): /* 打印课程信息 */ function printCourseInfo(courseData) { // 遍历课程信息 courseData.forEach(function(item) { // 获取章节标题 var chapterTitle = item.chapterTitle; // 打印章节标题并换行 console.log(chapterTitle + '\n'); // 遍历每个章节中的视频信息并打印 item.videos.forEach(function(video) { console.log(' [' + video.id + '] ' + video.title + ' ' + video.time + '\n'); }); }); }
    查看全部
    1 采集 收起 来源:HTTP 小爬虫

    2017-09-05

  • crawler.js(3): /* 视频信息遍历 */ videos.each(function(item) { // 通过标签的类名来获取单独的视频信息 var video = $(this).find('.J-media-item'); // 视频标题 var videoTitle = video.text().trim().split('\n')[0].trim(); // 视频时长 var videoTime = video.text().trim().split('\n')[1].trim(); // 视频编号 var id = String(video.attr('href')).split('video/')[1]; // 填充章节信息中视频数组 chapterData.videos.push({ title : videoTitle, time : videoTime, id : id }); }); // 填充课程信息中的章节信息 courseData.push(chapterData); }); // 返回课程信息 return courseData; }
    查看全部
    1 采集 收起 来源:HTTP 小爬虫

    2017-09-05

  • crawler.js(2): /* 过滤章节信息 */ function filterChapters(html) { // 沿用JQuery风格 var $ = cheerio.load(html); // 通过类名获取章节信息 var chapters = $('.chapter'); // 课程数据,该数据是一个数组 var courseData = []; /* 章节信息遍历 */ chapters.each(function(item) { // 获取单独的每一章 var chapter = $(this); // 获取strong标签里面的文本,trim()去除空格,split()分隔成数组,最终只获取章节标题 var chapterTitle = chapter.find('strong').text().trim().split('\n')[0]; // 获取video标签下的子标签li的内容 var videos = chapter.find('.video').children('li'); // 定义章节数据 var chapterData = { chapterTitle : chapterTitle, videos : [] };
    查看全部
    1 采集 收起 来源:HTTP 小爬虫

    2017-09-05

  • crawler.js(1): // 加载http模块 var http = require('http'); // Cheerio 是一个Node.js的库, 它可以从html的片断中构建DOM结构, //然后提供像jquery一样的css选择器查询 var cheerio = require('cheerio'); // 定义爬虫的目标地址 var url = 'http://www.imooc.com/learn/348'; http.get(url, function(res) { var html = ''; // 获取页面数据 res.on('data', function(data) { html += data; }); // 数据获取结束 res.on('end', function() { // 通过过滤章节信息获取实际需求的课程信息 var courseData = filterChapters(html); // 打印课程信息 printCourseInfo(courseData); }); }).on('error', function() { console.log('获取数据出错!'); });
    查看全部
    1 采集 收起 来源:HTTP 小爬虫

    2017-09-05

  • 1."cheerio",一个nodeJS模块,类似于jquery,可以将html页面的char转换为document文档对象,然后用类似于jquery的方式进行操作DOM 2.编写crawler.js文件 3.在 crawler.js目录下使用如下命令安装cheerio: npm install cheerio 4.然后运行 crawler.js
    查看全部
    2 采集 收起 来源:HTTP 小爬虫

    2018-03-22

  • Nodejs中http模块不解析请求的具体内容,只分离出请求头和请求体 1、什么是回调函数? 回调是异步编程时的基础,将后续逻辑封装成起始函数的参数,逐层嵌套 2、什么事同步/异步? 同步:发送方发送数据后,等待接收方发回响应以后才发下一个数据包的通讯方式 异步:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式 3、什么事I/O? 文件系统里面 磁盘的写入(in)磁盘的读取(out) 4、什么是单线程/多线程? 一次只能执行一个程序叫做单线程 一次能执行多个程序叫做多线程 5、什么是阻塞/非阻塞? 阻塞:前一个程序未执行完就得一直等待 非阻塞:前一个程序未执行完时可以挂起,继续执行其他程序,等到使用时再执行 6、什么是事件? 一个触发动作(例如点击按钮) 7、什么是事件驱动? 一个触发动作引起的操作(例如点击按钮后弹出一个对话框) 8、什么是基于事件驱动的回调? 为了某个事件注册了回调函数,但是这个回调函数不是马上执行,只有当事件发生的时候,才会调用回掉函数,这种函数执行的方式叫做事件驱动~这种注册回掉就是基于事件驱动的回调,如果这些回调和异步I/O(数据写入、读取)操作相关,可以看作是基于回调的异步I/O。只不过这种回调在nodejs中是由事件来驱动的 9、什么是事件循环? 事件循环Eventloop,倘若有大量的异步操作,如一些I/O的耗时操作,甚至是一些定时器控制的延时操作,它们完成的时候都要调用相应的回调函数,而从完成一些密集的任务,而又不会阻塞整个程序执行的流程,此时需要一种机制来管理,这种机制叫做事件循环 总而言之,管理大量异步操作的机制叫做事件循环 EventLoop: 回调函数队列,异步执行的函数会被压入这个队列;队列被循环查询。
    查看全部
  • 1.如果没有安装Apache的话,首先要安装Apache 2.window系统到apache安装目录的bin文件,然后命令行执行ab -n1000 -c10 http://localhost:2015/ 3.找到 apache的bin目录 ab -n1000 -c10 http://www.imooc.com/ 输入 -n1000 总请求数1000 默认值1 -c10 并发数10 默认值1 -t 测试的时间 -p post数据文件
    查看全部
    0 采集 收起 来源:HTTP 性能测试

    2017-09-04

  • Timing资源加载所要耗费的时间线 ·Stalled:等待时机,浏览器要发生请求,到能发出请求的时间。不包括DNS查询和连接建立时间 ·Proxy negotiation:代理协商的时间 ·Request sent:请求时间。从请求报文的第一个字节发出,到最后一个字节发送完毕的时间 ·Waiting(TTFB):请求发出后至收到第一个字节响应的时间 Content Download:从接受到响应第一个字节开始到最后一个字节结束花费的时间 http请求方法: ·Get:获取,读取数据 ·Post:提交资源 ·Put:更新(头像、资料之类) ·Delete:删除 ·Head 与get方法相同,但服务器不传回资源 状态码:服务器端返回浏览器,告知浏览器请求成功或失败的信息 ·1XX请求已经接受 ·2XX请求成功并处理成功 ·3XX重定向 ·4XX客户端错误 ·5XX服务器端错误 200:OK,请求成功 400:客户端请求有语法错误 401:请求未经授权 403:收到请求,但不提供服务 404:资源未找到 500:服务器端未知错误 503:服务器端当前不能处理请求
    查看全部

举报

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

微信扫码,参与3人拼团

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

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