JavaScript中splice与slice的区别、数组的复制以及在指定位置添加删除元素 splice与slice是数组中的两个常用方法,但是很多初学者很容易将二者混淆。
slice的操作不影响原数组。会返回所选择的元素。
splice会影响原数组,而且可以使用splice往数组中指定位置添加或删除元素。返回被删除的元素。
Node.js网页抓取:一个最简单的http请求客户端示例(request client) Node.JS有一个request模块,可以很方便的抓取网页内容。最简单的一个示例:
var request = require('request');
request('http://www.google.com', function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body);
}
})
由上例可以看出用request发起一个http请求确实非常简单,不过唯一的问题就是,request模块的第三方依赖比较多,导致这个模块非常地大,要占用好几M的空间。
JavaScrip字符串模板表达式中的反引号怎么打? 模板字符串是ES6引入的可以在字符串中嵌入变量的表达式。与常用的单引号、双引导不同,字符串模板使用反引号表达式。
反引号一般在键盘的左上方,数据健前的第一个键,即按下Shift会显示 "~" 的那个鍵,不按Shift即为反引号。
Phantom.js维护者Slobodin退出,著名自动化测试与智能爬虫框架前景不明 PhantomJS是一个基于WebKit的服务器端JavaScript API,它无需浏览器的支持即可实现对Web的支持,是最早的服务器端Web框架之一。系统占用极小,多用于自动化测试、智能爬虫、网络监控、网站自动截图等。PhantomJS的启动非常简单:
var page = require('webpage').create();
var url = 'http://phantomjs.org/';
page.open(url, function (status) {
//Page is loaded!
phantom.exit();
});
不过随着其他基于Node.JS的Web桌面程序框架
electron、
node-webkit(nw) 的出现,PhantomJS的热度出现下降。最近Phantom.js的主要维护者宣布退出。项目前景不明。
Node.JS用Socket实现FTP Server服务器和Client客户端 FTP协议其实就是主机和服务通过Socket进行固定格式的通信过程,当某客户端连接到FTP 服务器后,客户端发送指令:
<指令> [参数] <命令结束符:"\r\n">
服务会按以下格式返回:
<状态码> [参数或说明] <命令结束符:"\r\n">
例如以下是FileZilla FTP客户端与服务器通信的过程:
响应: 220-FileZilla Server version 0.9.43 beta
响应: 220-written by Tim Kosse (tim.kosse@filezilla-project.org)
响应: 220 Please visit http://sourceforge.net/projects/filezilla/
命令: AUTH TLS
响应: 502 SSL/TLS authentication not allowed
命令: AUTH SSL
响应: 502 SSL/TLS authentication not allowed
命令: USER newghost
响应: 331 Password required for newghost
命令: PASS **************
响应: 230 Logged on
Java已快过时?斯坦福大学将JavaScript作为计算机科学入门课 今年4月初,斯坦福大学开始试推行计算机科学入门课CS 106A的新版本。这个名为CS 106J的新版本用JavaScript来教,而不是用Java来教。
斯坦福大学的官方网站解释:“[CS 106J]采用的教学材料与CS 106A相同,但是使用的教学语言是JavaScript,而不是Java,JavaScript是实现交互式网页的最常见的语言。根本不需要学生之前具有编程经验。”
Docker改名Moby:急于商业化陷入品牌更名乱象 Docker目前是容器级别虚拟化技术的领导者,但一直面临着商业化的难题。从一个普通客户的视角来看,Docker还有一些根本问题没有解决:
1) 客户更希望购买一个完事的操作系统,而不仅仅是一个容器,即使他再便宜。
2) 并且从技术上来讲,Docker进程目前还无法做到与操作系统完全隔离。root管理员可以像上帝一样翻看你的数据,基于容器技术的云服务,无法保障企业的数据隐私。
因此基于Docker的云计算更多的是作为一种DevOps工具来使用。Docker目前一直在探索商业化的途径。此次更名可以看作Docker商业化的一次尝试。
Node.JS更改Windows注册表regedit的几种方法 注册表是windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着windows的启动、硬件驱动程序的装载以及一些windows应用程序的运行,从而在整个系统中起着核心作用。这些作用包括了软、硬件的相关配置和状态信息,比如注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据等,联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性,性能记录和其他底层的系统状态信息,以及其他数据等。
这里介绍一些通过node.js操作注册表的几种方法。
Debian下设置Linux Shell脚本开机自动启动Node.JS进程 1) 进入init.d初始化脚本目录
cd /etc/init.d
2) 创建启动Shell脚本,安装nano: apt-get install nano
nano /etc/init.d/footbar