-
1. 什么是回调? 回调是异步编程时的基础,将后续逻辑封装成起始函数的参数,逐层嵌套 2. 什么是同步/异步? 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。 3. 什么是I/O? 磁盘的写入(in)磁盘的读取(out) 4. 什么的单线程/多线程? 一次只能执行一个程序叫做单线程 一次能执行多个程序叫多线程 5. 什么是阻塞/非阻塞? 阻塞:前一个程序未执行完就得一直等待 非阻塞:前一个程序未执行完时可以挂起,继续执行其他程序,等到使用时再执行 6. 什么是事件? 一个触发动作(例如点击按钮) 7. 什么是事件驱动? 一个触发动作引起的操作(例如点击按钮后弹出一个对话框) 8. 什么是基于事件驱动的回调? 为了某个事件注册了回调函数,但是这个回调函数不是马上执行,只有当事件发生的时候,才会调用回调函数,这种函数执行的方式叫做事件驱动~这种注册回调就是基于事件驱动的回调,如果这些回调和异步I/O(数据写入、读取)操作有关,可以看作是基于回调的异步I/O,只不过这种回调在nodejs中是有事件来驱动的 9. 什么是事件循环? //事件循环Eventloop,倘若有大量的异步操作,一些I/O的耗时操作,甚至是一些定时器控制的延时操作,它们完成的时候都要调用相应的回调函数,从而来完成一些密集的任务,而又不会阻塞整个程序执行的流程,此时需要一种机制来管理,这种机制叫做事件循环. 总而言之就是:管理大量异步操作的机制叫做事件循环 Event Loop: 回调函数队列。异步执行的函数会被压入这个队列; 队列被循环查询。查看全部
-
-n :总共的请求执行数,默认是1; -c: 并发数,默认是1; -t:测试所进行的总时间,秒为单位,默认50000s -p:POST时的数据文件 -w: 以HTML表的格式输出结果 在Apache安装目录(首先要安装Apache)的bin文件夹下下使用git bash(我用的是git命令框),输入./ab -n1000 -c10 http://www.imooc.com/ ./代表当前目录 不知道是网不好还是怎么的(反正不是电脑配置),发送了699个然后就报The timeout specified has expired错误了。。。查看全部
-
200请求成功、400客户端请求的语法错误,服务端不能理解、401拒绝授权、403服务端收到这个请求,但是拒绝提供服务,没有权限等等、404资源不存在、500服务器错误、503当前客户端还不能处理这个请求查看全部
-
1xx,请求已发送,2XX,请求已发送并已经出来成功,3xx ,重定向,4xx,客户端错误,5xx,服务端错误查看全部
-
模块的流程。查看全部
-
1. 什么是回调? 回调是异步编程时的基础,将后续逻辑封装成起始函数的参数,逐层嵌套 2. 什么是同步/异步? 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。 3. 什么是I/O? 磁盘的写入(in)磁盘的读取(out) 4. 什么的单线程/多线程? 一次只能执行一个程序叫做单线程 一次能执行多个程序叫多线程 5. 什么是阻塞/非阻塞? 阻塞:前一个程序未执行完就得一直等待 非阻塞:前一个程序未执行完时可以挂起,继续执行其他程序,等到使用时再执行 6. 什么是事件? 一个触发动作(例如点击按钮) 7. 什么是事件驱动? 一个触发动作引起的操作(例如点击按钮后弹出一个对话框) 8. 什么是基于事件驱动的回调? 为了某个事件注册了回调函数,但是这个回调函数不是马上执行,只有当事件发生的时候,才会调用回调函数,这种函数执行的方式叫做事件驱动~这种注册回调就是基于事件驱动的回调,如果这些回调和异步I/O(数据写入、读取)操作有关,可以看作是基于回调的异步I/O,只不过这种回调在nodejs中是有事件来驱动的 9. 什么是事件循环? //事件循环Eventloop,倘若有大量的异步操作,一些I/O的耗时操作,甚至是一些定时器控制的延时操作,它们完成的时候都要调用相应的回调函数,从而来完成一些密集的任务,而又不会阻塞整个程序执行的流程,此时需要一种机制来管理,这种机制叫做事件循环. 总而言之就是:管理大量异步操作的机制叫做事件循环 Event Loop: 回调函数队列。异步执行的函数会被压入这个队列; 队列被循环查询。查看全部
-
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:服务器端当前不能处理请求查看全部
-
querystring.stringify(obj,para1,para2)//将对象转化成url中query部分的形式(序列化) 参数:1.要转化的对象 2.链接符(默认&) 3.键与值之间的符号(默认=) querystring.parse(string,para1,para2)//将query字符串转化成对象(反序列化) 参数: 1.query字符串 2.链接符(默认&) 3.键与值之间的符号(默认=) 4.参数的个数(默认最多1000个,0就没有限制) querystring.escape(string)//文字转译 querystring.unescape(string)//反转译查看全部
-
一、node的api 1.url: 绝对URI http://user:pass@www.example.com:80/dir/index.html?uid=1#ch1 协议 登录信息 服务器地址 端口 文件路径 查询字符串 片段标示符 URI :Uniform Resource Identifier,统一资源标识符; URL:Uniform Resource Locator,统一资源定位符; URN:Uniform Resource Name,统一资源名称。 其中,URL,URN是URI的子集。 url.parse(urlString,bool,bool): 将定位符解析成对象, 第二个参数决定query部分以字符串返回还是以对象形式返回,默认为字符串返回即第二个参数默认为false; 第三个参数表示在没有完整协议串的时候(即无http:/https:)的时候‘//’之后的字符如何解释,若为false即将‘//’之后的当做路径解释,若为true则会将‘//’与‘/’之间的字符串解释为主机 Url基础指点: protocol:表示url采用的什么协议 slashes:表示是否有斜线 host:表示主机 post:表示端口(默认80端口不显示) hostname:表示主机名称 hash:指的是#号后的内容包含#<br>(锚点) search:指的是?后#前的内容,包含?(查询字符串参数) query:指的是search不包含?的内容(给http服务器发送数据) pathname:指的是路径名称,一般指主域名之后的内容('/返回自己的路径名/') path:路径 href:代表未解析的url地址 参数可选参数1设置为true,对象中query解析出, 可选参数2设置为true,对象中host正确解析,pathname正确解!!!协议protocal未明确。 1)url.format(urlObj): 将对象解析成定位符(也就是URL) 2)url.resolve(from, to):将一个基本URL和指定超链接目标URL合并查看全部
-
误区:exports.add中的add并不是一个方法,而是要暴露的方法名,我在student中定义的方法为add_student,结果下面写成了exports.add=add_student;结果怎么弄都不对。正确的写法应该是:exports.add_student=add_student查看全部
-
node.js和浏览器执行环境 相同点:都能执行一般的Js代码 不同点:全局变量不同,例如window,document等只能在浏览器中取到,而process则只能在node环境中取到。 宿主:浏览器、node; 全局变量:浏览器-window、document;node - process; nodejs 本质是一个js的执行环境 由于封装和底层的处理赋予了更大的能力查看全部
-
在Git Bash输入node service.js是启动服务器; 输入"ctrl + c"是停止服务器查看全部
-
Node.js的版本 偶数位为稳定版本 -0.6.x -0.8.x -0.10.x 奇数位为非稳定版本 -0.7.x -0.9.x -0.11.x查看全部
-
Node-Webkit,appjs :允许用户使用html/css/javascript开发跨平台桌面应用程序,并且兼容Linux,Windows Jade:和Nodejs组合使用,方便高校管理后台html模板 Gost:开元博客程序 Grunt:Javascript跑各种任务的工具,完成样式工具,语法检查,自动化测试等任务 gulp: 和grunt功能相似,不过配置比较简单 Express.js: Nodecast: Log.io:实时监控项目日志 PDFKit:生成文档 Haroopad:Linux上的MarkDown在编辑器 NoduinoWeb:控制开源硬件 NodeOS:操作系统 学习的相关网站 1、nodejs.org 看nodejs的版本升级,新特性的加入,重要bug的修复等,api变化,功能变化-未来发展趋势, 2、www.npmjs.com 模块社区,看他人源代码,学习理念 3、github.com 开源项目和源码 4、stackoverflow.com 技术解答社区,查询相关资源,环境配置,异常解决方法等查看全部
-
nodejs: 实际上是采用google的chrome浏览器V8引擎,由C++编写的 本质上是一个javascript的运行环境 浏览器引擎可以解析js代码 nodejs可以解析js代码,没有浏览器端各种安全性的限制,还提供许多系统级别的API: 1、文件的读写 2、进行的管理 3、网络通信查看全部
举报
0/150
提交
取消