原文:phantomJs之殇,chrome-headless之生 作者:齐磊 转自:https://insights.thoughtworks.cn/phantomjs-and-chrome-headless/   phantomJs之殇,chrome-headless之生  2018年1月16日  齐磊  技术雷达, 新兴技术, 软件测试 技术雷达快讯:自2017年中以来,Chrome用户可以选择以headless模式运行浏览器。此功能非常适合运行前端浏览器测试,而无需在屏幕上显示操作过程。在此之前,这主要是PhantomJS的领地,但Headless Chrome正在迅速取代这个由JavaScript驱动的WebKit方法。Headless Chrome浏览器的测试运行速度要快得多,而且行为上更像一个真正的浏览器,虽然我们的团队发现它比PhantomJS使用更多的内存。有了这些优势,用于前端测试的Headless Chrome很可能成为事实上的标准。 随着Google在Chrome 59版本放出了headless模式,Ariya Hidayat决定放弃对Phantom.js的维护,这也标示着Phantom.js 统治fully functional headless browser的时代将被chrome-headless代替。 Headless Browser 也许很多人对无头浏览器还是很陌生,我们先来看看维基百科的解释: A headless browser is a web browser without a graphical user interface. Headless browsers provide automated control of a web page in an environment similar to popular web browsers, but are executed via… Continue Reading 【转载】phantomJs之殇,chrome-headless之生

原文:Async/Await替代Promise的6个理由 作者:KiwenLau 转自:https://kiwenlau.com/2017/04/01/nodejs-async-await/ Async/Await替代Promise的6个理由 译者按: Node.js的异步编程方式有效提高了应用性能;然而回调地狱却让人望而生畏,Promise让我们告别回调函数,写出更优雅的异步代码;在实践过程中,却发现Promise并不完美;技术进步是无止境的,这时,我们有了Async/Await。 原文: 6 Reasons Why JavaScript’s Async/Await Blows Promises Away 译者: Fundebug 为了保证可读性,本文采用意译而非直译。 Node.js 7.6已经支持async/await了,如果你还没有试过,这篇博客将告诉你为什么要用它。 Async/Await简介 对于从未听说过async/await的朋友,下面是简介: async/await是写异步代码的新方式,以前的方法有回调函数和Promise。 async/await是基于Promise实现的,它不能用于普通的回调函数。 async/await与Promise一样,是非阻塞的。 async/await使得异步代码看起来像同步代码,这正是它的魔力所在。 Async/Await语法 示例中,getJSON函数返回一个promise,这个promise成功resolve时会返回一个json对象。我们只是调用这个函数,打印返回的JSON对象,然后返回”done”。 使用Promise是这样的: const makeRequest = () => getJSON() .then(data => { console.log(data) return “done” }) makeRequest() 使用Async/Await是这样的: const makeRequest = async () => { console.log(await getJSON())… Continue Reading 【转载】Async/Await替代Promise的6个理由

原文:GitHub – ScienJus/qqbot: 基于SmartQQ(WebQQ)的QQ机器人 / a qq robot based on smartqq(webqq) api 作者:ScienJus 转自:https://github.com/ScienJus/qqbot QQBot 基于 Smart QQ(Web QQ)的 QQ 机器人 Java 版本:ScienJus/smartqq Api分析: Web QQ协议分析(一):前言 Web QQ协议分析(二):登录 Web QQ协议分析(三):收发消息 Web QQ协议分析(四):好友相关 Web QQ协议分析(五):群和讨论组相关 Web QQ协议分析(六):其他 使用方法 安装这个 Gem : gem install qqbot require ‘qqbot’并编写自己的业务逻辑,例如: require ‘qqbot’ qqbot = QQBot.new… Continue Reading 【转载】QQBot – 基于 Smart QQ(Web QQ)的 QQ 机器人