亚里士朱德的博客


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 站点地图
流量宝

node.js基础教程(11):文件服务器

发表于 2015-07-10 | 分类于 后端 , Node.js

要求

编写一个 HTTP 文件 服务器,它用于将每次所请求的文件返回给客户端。

服务器需要监听所提供的第一个命令行参数所制定的端口。

同时,第二个会提供给程序的参数则是所需要响应的文本文件的位置。在这一题中必须使用 fs.createReadStream() 方法以 stream 的形式作出请求相应。


阅读全文 »

node.js基础教程(10):授时服务器

发表于 2015-07-06 | 分类于 后端 , Node.js

要求

编写一个 TCP 时间服务器

服务器监听一个端口,以获取一些TCP连接,这个端口会经由第一个命令行参数传递给程序。针对每一个 TCP 连接,都必须写入当前的日期和24小时制的时间,如下格式:

"YYYY-MM-DD hh:mm"

然后紧接着是一个换行符。

月份、日、小时和分钟必须用零填充成为固定的两位数:

"2013-07-06 17:42"

阅读全文 »

impressjs扩展:显示页数/进度条

发表于 2015-07-06 | 分类于 前端 , JavaScript

什么是impressjs?

impressjs就是为html文件添加css3动画,变成类似ppt效果的工具,它支持图片和文字(flash动画可能支持),跨平台,用impressjs做ppt,你再也不用担心pc上有没有安装powerpoint了。重要的是它学习门槛也很低。大家只要下载项目,打开index.html修改内容即可(不过作者并不提倡这样做)。大家有兴趣可以查看项目主页和demo。

github主页

demo页面

阅读全文 »

node.js基础教程(9):玩转异步

发表于 2015-07-05 | 分类于 后端 , Node.js

##要求

这次的问题和之前的问题(HTTP 收集器)很像,也是需要使用到 http.get() 方法。然而,这一次,将有三个 URL 作为前三个命令行参数提供。

需要收集每一个 URL 所返回的完整内容,然后将它们在终端(标准输出stdout)打印出来。这次不需要打印出这些内容的长度,仅仅是内容本身即可(字符串形式);每个 URL对应的内容为一行。重点是必须按照这些 URL 在参数列表中的顺序将相应的内容排列打印出来才算完成。


阅读全文 »

node.js基础教程(8):http收集器

发表于 2015-07-04 | 分类于 后端 , Node.js

要求

编写一个程序,发起一个 HTTP GET 请求,请求的 URL 为所提供的命令行参数的第一个。收集所有服务器所返回的数据(不仅仅包括 “data” 事件)然后在终端(标准输出 std out)用两行打印出来。

所打印的内容,第一行应该是一个整数,用来表示收到的字符串内容长度,第二行则是服务器返回的完整的字符串结果。


阅读全文 »

CDN简介

发表于 2015-07-04 | 分类于 网络

什么是CDN

Content Delivery Network 内容分发网络
通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络”边缘”(节点服务器),使用户可以就近取得所需的内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度

阅读全文 »

双击单击傻傻分不清——IE8下点击事件的小坑

发表于 2015-07-01 | 分类于 前端 , JavaScript

场景

项目需求,做一个web页面上的虚拟小键盘来输入用户身份证号码。

实现

jquery + bootstrap

通过table来布局,通过行列合并的形式做出“键盘”的风格,这里使用a标签的active伪类来制作点击效果。
绑定onclick事件,当按钮被点击时将值显示在input输入框中以及一些其他逻辑,如:删除、取消。
整个逻辑还是比较简单自然。
可这时问题就来了

阅读全文 »

node.js基础教程(7):http客户端

发表于 2015-06-26 | 分类于 后端 , Node.js

要求

编写一个程序来发起一个 HTTP GET 请求,所请求的 URL 为命令行参数的第一个。然后将每一个 “data” 事件所得的数据,以字符串形式在终端(标准输出 stdout)的新的一行打印出来。


阅读全文 »

node.js基础教程(6):自定义模块

发表于 2015-06-25 | 分类于 后端 , Node.js

要求

这个问题和前面一个一样,但是这次需要使用模块。将需要创建两个文件来解决这个问题。

编写一个程序来打印出所给文件目录的所含文件的列表,并且以特定的文件名后缀来过滤这个列表。这次将会提供两个参数,第一个参数是要列举的目录,第二个参数是要过滤的文件扩展名。在终端中打印出过滤出来的文件列表(一个文件一行)。此外,必须使用异步 I/O。

需要编写一个模块文件去做大部分的事情。这个模块必须导出(export)一个函数,这个函数将接收三个参数:目录名、文件扩展名、回调函数,并按此顺序传递。文件扩展名必须和传递给程序的扩展名字符串一模一样。也就是说,请不要把它转成正则表达式或者加上”.”前缀或者做其他的处理,而是直接传到模块中去,在模块中,可以做一些处理来使过滤器能正常工作。

这个回调函数必须以 Node 编程中惯用的约定形式(err,data)去调用。这个约定指明了,除非发生了错误,否则所传进去给回调函数的第一个参数将会是 null,第二个参数才会是数据。在本题中,这个数据将会是过滤出来的文件列表,并且是以数组的形式。如果接收到了一个错误,如:来自fs.readdir() 的错误,则必须将这个错误作为第一个,也是唯一的参数传递给回调函数,并执行回调函数。

绝对不能直接在模块文件中把结果打印到终端中,只能在原始程序文件中编写打印结果的代码。

当程序接收到一些错误的时候,请简单的捕获它们,并且在终端中打印出相关的信息

这里有四则规定,模块必须遵守:

  • 导出一个函数,这个函数能准确接收上述的参数。
  • 当有错误发生,或者有数据的时候,准确调用回调函数。
  • 不要改变其他的任何东西,比如全局变量或者 stdout。
  • 处理所有可能发生的错误,并把它们传递给回调函数。

遵循一些约定的好处是,模块可以被任何其他也遵守这些约定的人所使用。


阅读全文 »

node.js基础教程(5):过滤器

发表于 2015-06-25 | 分类于 后端 , Node.js

要求

编写一个程序来打印出指定目录下的文件列表,并且以特定的文件名扩展名来过滤这个列表。命令行提供两个参数提,第一个是所给的文件目录路径(如:path/to/dir),第二个参数则是需要过滤出来的文件的扩展名。

举个例子:如果第二个参数是 txt,那么需要过滤出那些扩展名为 .txt的文件。

注意,第二个参数将不会带有开头的”.”。

需要在终端中打印出这个被过滤出来的列表,每一行一个文件。另外,必须使用异步的I/O 操作。


阅读全文 »
1…91011
亚里士朱德

亚里士朱德

专注web技术分享

106 日志
29 分类
93 标签
RSS

作者书籍(点击图片查看详情):

帮你成为具有全面能力和全局视野工程师的进阶利器!
阮一峰、张云龙等技术大神强力推荐!

© 2015 — 2019 亚里士朱德