共 2044 字,读完需 4 分钟,带链接版直接看原文吧。本期以《提问的智慧》作为引子,这篇经典文章在开篇毫不客气的写到:“如果你正因为需要某些协助而在阅读本指南,且最后离开是因为发现从本指南作者们身上得不到直接的协助,那么你就是我们所说的那些白痴之一。我们在本指南中是教你如何从那些真正懂得你所遇到软件或硬件问题的人取得协助,而 99% 的情况下那不会是我们。”,话糙理不糙,虽然模仿和请教是学习的捷径,但如何让自己配得上别人的解答是你必须认真思考的问题。此外,全球 JS 开发者调查目前还在收集问卷阶段,你有没有兴趣也去填写下呢?以下是本周精选内容,请享用。
技术动态
React 16 Beta 版发布日志
该版本几乎是完全重写了 React,但是还是做到了向前兼容,如果你在升级到 15.x 的过程中修复了大部分废弃声明,基本可以直接升级,除非你使用了各种非公开的 React 黑科技。此外,期待已久的 Fiber 也集成到了该版本中,预计渲染性能会有不小提升,打包的方式也发生了不小变化,想学习更多细节的快去看日志吧。
V8 引擎特性带来的的 JS 性能变化清单
做应用层开发的同学对底层技术变化也要保持敏感,因为某些过去的最佳实践在新的技术背景下就不适用或者没必要了,HTTP 协议就是典型的例子。V8 6.X 对哪些 JS 语法或者写法带来了比较显著的性能提升?这篇文章做了不错的梳理。
文章教程
免费电子书:The JavaScript Way
现代 JS 简明指南,站在现代前端开发的视角阐述 JS 开发方式,适合新手,基于 ES6,内容简洁而不单薄,如果想提高自己的技术英语也会是个不错的选择。更重要的是,这不是纯理论的书籍,阅读的时候能有很多上手练习的机会。
Node.js 应用最佳实践 20 条
作者从自己的经验和别人的博文中总结出来的 Node.js 应用最佳实践,内容涵盖监控、日志、请求流转、版本锁定、错误管理、性能等方面,如果你想从前端成为靠谱的 Node.js 后端工程师,认真践行这篇文章列出的实践,定能让服务质量和技术能力更上一层楼。
写给 WEB 工程师的区块链入门知识
区块链正被越来越多的工程师所熟知,没听说过区块链的,总听说过比特币吧?可以说,区块链是比特币运行的关键基石,有“砖家”说区块链技术给世界带来的变化会不亚于互联网诞生所带来的变化,而后者是大家有目共睹的。但是究竟什么是区块链呢?如何基于区块链构建去中心化的应用?这个系列文章很有料,有图文解释、有代码实例,非常适合入门。
代码框架
Compromise:基于 JS 的自然语言处理处理库
想自己做些更复杂的文本处理?在开发聊天机器人或者做抓取数据批处理的时候可能会用的上,只支持英文,中文的包也有,但相对难找,即使你不用,对了解自然语言处理库所应该具备的基本能力也是有帮助的。
React Native for Web:在 WEB 端重用 RN代码?
项目愿景不错,可以在 WEB 端使用和 React Native 完全相同的 API 编写代码,有希望解决 Native 和 WEB 之间共享代码的问题,目前实现的组件包括比较常见的 View、Image、ActivityIndicator 等,但缺陷也很明显,部分依赖 Native 能力的库或者 API 只能用 Mock 的办法去解决。当然了,从练手的角度来考察这个项目的意义,是不是就不一样了呢?
Spacetime:轻量级的时间处理库
日期时间处理在任何语言中都略显复杂,JS 领域比较受欢迎的库有 moment.js,支持各种格式化,时间加减、比较等操作,而 Spacetime 是个更轻量级的选择,当然,如果你的需求很简单,不建议引用任何库。
找找灵感
月薪 8000 美元的工作你想要么?
Segment Open Fellowship 2017 的招聘启事,不限国籍,有实力的同学可以自己去研究下,他们的招聘要求、所负责的工作,祝你们好运。
LEGO Loader:乐高风格的加载中动画
喜爱乐高的同学收下吧,不用我多说啥了,代码直接在 CodePen 上可以看到。
视频教程
JS Channel Conf 2017 直播地址
JS Channel Conf 是来自印度的年度 JS 开发者大会,这是大会直播的地址,需要自备梯子才能观看,印度式英语会是个不小的挑战,我看完再来跟大家汇报下哪些部分比较精彩,
如何为不读文档的人写文档?
行为学研究的结果是:用户在使用互联网产品时,用户从来都不是逐字逐句的阅读,而是用类似扫描的方式去解读,如果用户在你文档的开头或者结尾找不到他们想找的东西,他们大概率会放弃转而给你提 Bug 或者 Issue,即使你中间写的再精彩,维护过开源项目的同学可能有这种体会,那么怎么为不读文档的开发者写文档呢?毕竟使用你项目的人也是你的用户嘛,如果你也想在社区得到认可,文档属于基本功啦。
精彩问答
有没有能列出所有城市的 npm 包?
程序员的世界里面也是无奇不有,这个包能列出全世界 13W+ 人口超过 1K 的城市,并且存储方式是粗暴的数组,如果只是临时使用可能也没啥纠结的,但若是大批量使用,你会怎么改进这个包呢?
混子哥用很黄很暴力的风格来解读什么是比特币和区块链,虽然省去了很多技术细节,但是对于只是想大概了解的同学理解本质足够了。话说基于区块链技术的有意义的应用正在越来越多,是不是会成为下一个重要的软件开发领域呢?
One More Thing
本文作者王仕军,商业转载请联系作者获得授权,非商业转载请注明出处。如果你觉得本文对你有帮助,请点赞!如果对文中的内容有任何疑问,欢迎留言讨论。想知道我接下来会写些什么?欢迎订阅我的掘金专栏或知乎专栏:《前端周刊:让你在前端领域跟上时代的脚步》。
Happy Hacking