Phantom.js维护者Slobodin退出,著名自动化测试与智能爬虫框架前景不明
by kris keys 技术前沿 分享 1493528312041
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桌面程序框架 electronnode-webkit(nw) 的出现,PhantomJS的热度出现下降。最近Phantom.js的主要维护者宣布退出。项目前景不明。
Node.JS用Socket实现FTP Server服务器和Client客户端
by kris keys JS学习 Node.JS 1493294498882

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作为计算机科学入门课
by ourjs keys 技术前沿 分享 1493122815885

今年4月初,斯坦福大学开始试推行计算机科学入门课CS 106A的新版本。这个名为CS 106J的新版本用JavaScript来教,而不是用Java来教。

斯坦福大学的官方网站解释:“[CS 106J]采用的教学材料与CS 106A相同,但是使用的教学语言是JavaScript,而不是Java,JavaScript是实现交互式网页的最常见的语言。根本不需要学生之前具有编程经验。”

Docker改名Moby:急于商业化陷入品牌更名乱象
by ourjs keys 行业动态 分享 1493014246695

Docker目前是容器级别虚拟化技术的领导者,但一直面临着商业化的难题。从一个普通客户的视角来看,Docker还有一些根本问题没有解决:

1) 客户更希望购买一个完事的操作系统,而不仅仅是一个容器,即使他再便宜。

2) 并且从技术上来讲,Docker进程目前还无法做到与操作系统完全隔离。root管理员可以像上帝一样翻看你的数据,基于容器技术的云服务,无法保障企业的数据隐私。


因此基于Docker的云计算更多的是作为一种DevOps工具来使用。Docker目前一直在探索商业化的途径。此次更名可以看作Docker商业化的一次尝试。

Node.JS更改Windows注册表regedit的几种方法
by ourjs keys JS学习 JavaScript 1492827196423
注册表是windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着windows的启动、硬件驱动程序的装载以及一些windows应用程序的运行,从而在整个系统中起着核心作用。这些作用包括了软、硬件的相关配置和状态信息,比如注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据等,联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述、状态和属性,性能记录和其他底层的系统状态信息,以及其他数据等。
这里介绍一些通过node.js操作注册表的几种方法。
Debian下设置Linux Shell脚本开机自动启动Node.JS进程
by ourjs keys JS学习 JavaScript 1492478150457
1) 进入init.d初始化脚本目录

cd /etc/init.d
2) 创建启动Shell脚本,安装nano: apt-get install nano

nano /etc/init.d/footbar
linux用tar文件压缩命令备份系统的方法
by ourjs keys 大话编程 分享 1492175937654
然后打开终端,输入以下命令:

1、成为根用户:   sudo su
2、转到根目录:   cd /

然後,下面就是我用来备份我的系统的完整的命令:
tar -cvpzf /media/sda7/backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=/media /
Node.JS通过原型和类继承EventEmitter,实现收发事件的几种方法
by ourjs keys JS学习 JavaScript 1491447521551
虽然,原型继承经常被视作 JavaScript 的一个弱点,但事实上,原型继承模型比经典的继承模型更强大。举例来说,在原型继承模型的基础之上建立一个经典的继承模型是相当容易的。

JavaScript 对象是动态的属性“包”(指其自己的属性)。JavaScript 对象有一个指向一个原型对象的链。当试图访问一个对象的属性时,它不仅仅在该对象上搜寻,还会搜寻该对象的原型,以及该对象的原型的原型,依此层层向上搜索,直到找到一个名字匹配的属性或到达原型链的末尾。
JavaScript使用ES6的Class面向对象继承时 this is not defined 解决方法
by ourjs keys 大话编程 分享 1491039041262
现在ES6提供了一种新的类和构造函数实现方法,不过如果你使用了继承就需要先调用 super() 函数,才能使用this,否则会报错

class Hero extends Character{
  constructor(){
      super(); // 如果不调用super()则会报错
      this._name = name;
  }
}
TCP/UDP协议比较:在Node.JS中UDP服务器和客户端通信示例
by ourjs keys 大话编程 分享 1490866224534
当数据传输的性能必须让位于数据传输的完整性、可控制性和可靠性时,TCP协议是当然的选择。当强调传输性能而不是传输的完整性时,如:音频和多媒体应用,UDP是最好的选择。在数据传输时间很短,以至于此前的连接过程成为整个流量主体的情况下,UDP也是一个好的选择,如:DNS交换。把SNMP建立在UDP上的部分原因是设计者认为当发生网络阻塞时,UDP较低的开销使其有更好的机会去传送管理数据。TCP丰富的功能有时会导致不可预料的性能低下。

 近期热门 - 点击最多
  1. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  2. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  3. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  4. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  5. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法
  6. Springboot+Gradle+Mysql+Jpa最简单实例教程
  7. SpringBoot+Spring6入门指南: 使用命令行快速搭建restful web api模板
  8. 如何通过 winax 的 ActiveXObject 或 Excel.Application 往 excel 中插入一张图片
  9. node.js用activex/com+自动化读写excel时查询接口、参数的调试方法
  10. TypeScript定义数字范围类型即仅包含【小时:分钟】的时间类型,每天指定时间点执行任务

  全端社区 - 最新回复
  1. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  2. Windows与Mac通过git ssh和rsync实现文件共享互传
  3. Windows与Mac通过git ssh和scp实现文件共享互传
  4. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  5. 使用PubSub-JS时ReactNative在后台运行一段时间唤醒后,组件无法scribe到publish的事件,typescript实现一个事件订阅发布组件
  6. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  7. ReactNative获取Android/iOS的MAC/IP地址: react-native-device-info模块的安装与使用
  8. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  9. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法
  10. Springboot+Gradle+Mysql+Jpa最简单实例教程

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA