akira_cn 发布于 02月23, 2017

轻松管理你的 Node 版本

原文:https://www.h5jun.com/post/manage_node_with_n.html

玩 Node.js 的小伙伴们都知道,现在 Node 的版本更新很快,目前最新稳定版已经更新到 v7.6.0 了,而生产环境一般选择使用 LTS(Long-term Support)版本,目前最新的是 v6.10.0。

新版的 Node 7.x.x 有非常有用的更新,那就是支持了 --harmony-async-await。这样就不用依赖 babel 来使用 async/await 特性了。

但是,如何让 7.x.x 和 LTS 的 6.x.x 并存呢?就需要用 Node 版本管理工具了。

阅读全文 »

akira_cn 发布于 01月17, 2017

5分钟现场撸代码——谈总结会抽奖程序

原文:https://www.h5jun.com/post/luckey-draw-in-5-minutes.html

昨天给奇舞团小伙伴们开年度总结会。JK大大为我们捐了10个小水滴摄像机,在开会前5分钟,裕波临时说要写一个抽奖程序,现场抽10名中奖的小伙伴,于是这个抽奖任务就理(莫)所(名)当(其)然(妙)地落到了我这个团长的头上。

闲话少说,那么如何在开会前现场写一个抽奖程序,满足这一要求呢?

阅读全文 »

zhengqingxin 发布于 11月13, 2016

Chrome Dev Summit 2016 内容整理(部分)

原文:http://www.zhengqingxin.com/post/cds.html

Progressive Web Apps

今年如果你关注过 Chrome 开发团队的话,那一定或多或少的会听到过 Progressive Web Apps(PWA),实际上,今年 Chrome 团队可谓是 倾尽全力的推广 PWA,从上半年的 Google IO 大会关于 各类有关 PWA 的 9 个专题,直到今天刚刚结束的,基本是 PWA 推广大会的 CDS,可见随着 PWA 技术的成熟以及浏览器的支持度提高,不久必将会迎来一次爆发。如果你目前还不了解什么是 PWA ,请去 这里 自行补脑,这里我简单来说,PWA 就是能够提供类似像 Navive App 一样体验的 Web App。它主要有几个特点:

  • 可以添加到桌面,文艺点说就是具有可安装性
  • 离线能力
  • 消息推送
  • 安全
  • 响应式

博主凑热闹,最近把博客添加了离线和添加到主屏幕功能,如果你的手机支持(安卓手机新版 Chrome,目前苹果还不支持),当然,或者是 PC 端的 Chrome,欢迎体验。

好了,废话不多说,这次大会在 youtube 上实时更新,我趁热挑选了自己感兴趣的几个主题,整理了主要内容,由于时间比较短,有些内容只是知道了概念(甚至有些只知道了个新名词),如果不对,欢迎大家留言指正,我后面也会陆续更新。

阅读全文 »

zhengqingxin 发布于 11月05, 2016

【Service Worker】生命周期那些事儿

原文:http://www.zhengqingxin.com/post/lifecycle.html

生命周期是 Service Worker 中比较复杂的一部分,如果你不知道它什么时间将要做什么,以及它带来的好处,那么你可能会有一种感觉:就是它一直在和你较劲。如果理解它的工作机制,你就可以给用户提供完美的,无感知的更新体验。 这篇文章是 Chrome 团队最近总结的一片文章,配合例子讲述生命周期,让我们更容易理解,也解决了我之前开发中遇到的一些困惑,所以决定翻译出来。此处 阅读原文

阅读全文 »

akira_cn 发布于 11月01, 2016

值得订阅的 12 份优质前端期刊

原文:https://www.h5jun.com/post/the-12-best-weekly.html

值得订阅的 12 份优质前端期刊

作为前端从业人员,能够及时接收行业最新最前沿技术资讯,是个人成长的一项必备技能。大家都知道前端发展迅速,每周都有新东西出现。那么行业里面究竟有哪些值得关注和订阅的前端资讯类期刊呢?小编将多年整理和收集的 12 份优质期刊分享给大家(排名不分先后)

阅读全文 »

zhengqingxin 发布于 10月25, 2016

【Service Worker】消息推送功能“全军覆没”

原文:http://www.zhengqingxin.com/post/push-knock-the-door.html

最近项目节奏放缓,我们的项目属于内部系统,使用者大部分为紧跟科技脚步的“潮人”,chrome 在我们系统中占据了半壁江山(谦虚的说),所以打算在项目中试试 Service Worker ,打算先从推送功能入手,然而我却被啪啪打脸,于是我怒写了这篇文章。

阅读全文 »

akira_cn 发布于 10月19, 2016

【译】前端是 ? 而 JavaScript 是 ?

原文:http://www.zcfy.cc/article/1446

前端将要统治世界,让 JavaScript 君临天下,而码农们则在争论着我们的技术究竟变得有多复杂。

现代前端技术饱受争议,但是我们只顾争吵,似乎忘记了我们所得到的回报。我们,web 王国的劳动人民、web 设计师、前 Wordpress 工程师和吟唱代码的诗人,将要统治数字世界,能够建造各种神迹。谁会想到这一切都是我们的老朋友 JavaScript 所带来的。这个当年的 ? 语言只能用来做些许有趣的 DOM 操作。谁又想到它竟然有这样的超能力?

阅读全文 »

akira_cn 发布于 08月02, 2016

用树莓派驱动八段数码管实现倒计时

原文:https://www.h5jun.com/post/pi-num8.html

前面的文章我们说过,树莓派的 GPIO (通用输入输出)口设置为 OUTPUT 状态时,可以用程序控制它的电平高低,从而输出 0 和 1 逻辑。树莓派 Model B+ 一共有 26 个 GPIO 接口,今天我们用它其中的 12 个来驱动一组 4 个八段数码管

在讲解具体实现之前,我们先来看一下成品:

阅读全文 »

akira_cn 发布于 07月28, 2016

树莓派 JS 库实现持续集成的“黑科技”

原文:https://www.h5jun.com/post/pi-and-tdd.html

这个阶段在研究树莓派,主要用 Node.js 开发。开源社区有许多非常优秀的树莓派 Node.js 库,但是没有让我觉得特别好用的。因为这些库有的 API 还不错,但是性能不好,有的性能很好,但是 API 不好用。还有一些库没跟上树莓派的硬件升级,使用起来还要自己修改,作者也不处理 pull request,比较麻烦。因此我自己着手重新写一个库 rpio2

在写库的过程中,自然要充分测试每个 API,个人比较喜欢 TDD / BDD 开发,因此一边开发功能,一边写各个 API 的单元测试。写了单元测试,自然希望在代码提交的过程中能够持续集成,最好是直接使用 travis-ci

愿望是美好的,但是现实有点残酷。因为树莓派开发不同于其他软件开发,它涉及到硬件,虽然说单元测试可以很简单,主要是测试引脚的同步/异步输入输出和事件(中断)响应,所以开发的时候可以在树莓派环境里跑单元测试,这没有问题,但在集成的时候,我们没有办法让 travis-ci 用树莓派系统环境来跑我们的 test case 吧。这样的话,就需要我们自己实现对底层的 GPIO 的模拟

阅读全文 »