业界会议

iWeb2017
http://2017.html5dw.com/

深阅读

JavaScript for People Who Hate JavaScript
https://zachholman.com/posts/javacript-haters
I think 2017 is finally the year of “JavaScript on the Desktop”, where “DESKTOP” is an acronym for Developers Enjoy javascript now even though they thought it Sucked compared To Other Programming languages before.

Harness the Power of Machine Learning in Your Browser with Deeplearn.js
https://research.googleblog.com/2017/08/harness-power-of-machine-learning-in.html
With PAIR — an initiative to study and redesign human interactions with ML — we want to open machine learning up to as many people as possible. In pursuit of that goal, we are excited to announce deeplearn.js 0.1.0, an open source WebGL-accelerated JavaScript library for machine learning that runs entirely in your browser, with no installations and no backend.

Firefox fights back
https://www.cnet.com/special-reports/mozilla-firefox-fights-back-against-google-chrome/
Inside Mozilla, CEO Chris Beard and his team are preparing to outmaneuver Google’s Chrome browser. The battle begins in November, with their release of Firefox 57.

ES Modules in Node Today
https://blogs.windows.com/msedgedev/2017/08/10/es-modules-node-today/
@std/esm (standard/esm), an opt-in, spec-compliant, ECMAScript (ES) module loader that enables a smooth transition between Node and ES module formats with near built-in performance! This fast, small, zero dependency package is all you need to enable ES modules in Node 4+ today!

The Rise of Test Impact Analysis
https://martinfowler.com/articles/rise-test-impact-analysis.html
Test Impact Analysis (TIA) is a modern way of speeding up the test automation phase of a build. It works by analyzing the call-graph of the source code to work out which tests should be run after a change to production code. Microsoft has done some extensive work on this approach, but it’s also possible for development teams to implement something useful quite cheaply.

React Animations in Depth
https://medium.com/react-native-training/react-animations-in-depth-433e2b3f0e8e
5 Options for React Web Animations, and which of these are cross-platform.

All About React Router 4
https://css-tricks.com/react-router-4/
My intentions for this article aren’t to rehash the already well-written documentation for React Router 4. I will cover the most common API concepts, but the real focus is on patterns and strategies that I’ve found to be successful.

Prototyping with React VR
https://medium.com/airbnb-engineering/prototyping-with-react-vr-4d5ab91b6f5a
React VR provided a unique opportunity to leverage our expertise to rapidly test and iterate many of the VR ideas we’ve been playing with. To do this, we brought together a small team of React and VR experts at Airbnb Samara’s VR Lab to see what we could accomplish in the 3 weeks leading up to the React VR launch at F8. Here’s an overview of the technology that powers React VR and the similarities between React, React Native, and React VR.

React Universal Component 2.0 & babel-plugin-universal-import
https://medium.com/faceyspacey/announcing-react-universal-component-2-0-babel-plugin-universal-import-5702d59ec1f4
To the SPA crowd being able to use a variable within a dynamic import isn’t anything new (aka “dynamic expression”). And even though we haven’t had a general component that allows us to pass the name of the module to import() as a prop, that isn’t what’s significant either. This is about being able to dynamically import/require as part of a true universal component.

About that hash flooding vulnerability in Node.js…
https://v8project.blogspot.jp/2017/08/about-that-hash-flooding-vulnerability.html
Early July this year, Node.js released a security update for all currently maintained branches to address a hash flooding vulnerability. This intermediate fix comes at the cost of a significant startup performance regression. In the meantime, V8 has implemented a solution which avoids the performance penalty. In this post, we want to give some background and history on the vulnerability and the eventual solution.

Your Node.js authentication tutorial is (probably) wrong
https://hackernoon.com/your-node-js-authentication-tutorial-is-wrong-f1a3bf831a46
I went on a search of Node.js/Express.js authentication tutorials. All of them were incomplete or made a security mistake in some way that can potentially hurt new users. This post explores some common authentication pitfalls, how to avoid them, and what to do to help yourself when your tutorials don’t help you anymore.

Passing data between Promise callbacks
http://2ality.com/2017/08/promise-callback-data-flow.html
In Promise-based code, there are usually many callbacks, each one having a separate scope for variables. What if you want to share data between those callbacks? This blog post describes techniques for doing so.

[译]JavaScript 疲劳终极指南:我们行业的真相
http://www.zcfy.cc/article/3914
这篇文章的目的是希望改变你对软件工程行业的普遍的看法,助你在你可能工作的领域上一臂之力。

W3CPlus中国创始人大漠:前端路上的旅行
https://zhuanlan.zhihu.com/p/28406390
前端工程师是计算机科学职业领域中最复杂的一个工种。绝大多数传统的编程思想已经不适用了,为了在多种平台中使用,多种技术都借鉴了大量软科学的知识和理念。成为优秀前端工程师所要具备的专业技术,涉及到广阔而复杂的领域,这些领域又会因为你最终必须服务的各方的介入而变得更加复杂。专业技术可能会引领你进入成为前端工程师的大门,但只有运用该技术创造的应用程序以及你跟他人并肩协同的能力,才会真正让你变得优秀。

谷歌是如何构建Web框架的
http://www.infoq.com/cn/news/2017/08/How-Google-build-Web-framework
和 Web 框架没啥关系,主要是方法和工具介绍

漫谈前端体系建设
https://zhuanlan.zhihu.com/p/28299873
和设计师、后端如何更好合作,以及自身的发展

阿里云前端工程化方案dawn
https://zhuanlan.zhihu.com/p/28397857
Dawn(后续将简称为 DN)是阿里云前端团队,新一代的前端构建工具,简化并统一了针对开发人员的「命令行接口」,将开发过程抽象为有序的 6 个阶段 + 1 个常用操作。不会因为工具本身的扩展,而扩展新的用法,统一、一致,免于记忆,通过 DN 创建的工程还将会结合 GitLab CI 进行持续集成。

石墨文档大前端技术选型分享
https://mp.weixin.qq.com/s?__biz=MzIwNjQwMzUwMQ==&mid=2247485365&idx=1&sn=2b432d2a6b7296444454badebc87c9ce
石墨文档前端团队既包括桌面和移动端的 Web 版前端工程师,也包括 iOS 和 Android 的 App 的开发者。下面分几块来介绍石墨文档前端团队目前使用的技术栈。

Easy Clean architecture on Android
http://www.jianshu.com/p/3edcf85539a6
件设计,自己也做过很多不同的尝试,我不断地吸取教训并做出改变,直到我遇到了Clean Architecture,我确定这就是我想要的,我决定使用它。本文的目标是分享我使用clean Architecture构建项目时所收获的经验,希望能够为你的项目改进带来灵感。

MobX 核心源码解析
https://qiutc.me/post/mobx-core.html
挺详细的

Angular vs. React: Which Is Better for Web Development?
https://codeburst.io/angular-vs-react-which-is-better-for-web-development-e0dd1fefab5b
There are countless articles out there debating whether React or Angular is the better choice for web development. Do we need yet another one? The reason I wrote this article is because none of the articles published already — although they contain great insights — go in-depth enough for a practical front-end developer to decide which one may suit their needs.

The Side Project Marketing Checklist
https://www.sideprojectchecklist.com/
I’ve been building little software side projects for years, but I’ve always been terrible at marketing them. I come up with some ideas, forget those ideas, do some random stuff, then lose interest. The goal of this repository is to fix that.

Why Github can’t host the Linux Kernel Community
http://blog.ffwll.ch/2017/08/github-why-cant-host-the-kernel.html
The Linux Kernel is not going to move to github. But moving the Linux way of scaling with a monotree, but mutliple repos, to github as a concept will be really beneficial for all the huge projects already there: It’ll give them a new, and in my opinion, more powerful way to handle their unique challenges.

A Behavior Driven Developer’s guide to Infrastructure as Code
https://www.ibm.com/developerworks/opensource/library/d-bbd-guide-iac/index.html
The key benefit of BDD is that whenever a test fails, it means that you have a defect or your documentation is up to date. For instance, updating the feature documentation with a new security vulnerability means that your documentation is up to date because the feature files are the single source of truth. If that test fails, then it is a defect in your server configuration that needs to be changed.

Principles of Sharding for Relational Databases
https://www.citusdata.com/blog/2017/08/09/principles-of-sharding-for-relational-databases/
In this blog post, we’ll first look at key properties that impact a sharding project’s success. Then we’ll dig into the underlying reason why opinions on sharding differ from one another. When it comes to sharding a mature database, the type of application you’re building impacts your success more than anything else. 另附:Timescale, an open-source time-series SQL database for PostgreSQL.

Best Practices For Enterprise Messaging UX, From Slack
https://www.smashingmagazine.com/2017/08/best-practices-enterprise-messaging-ux-slack/
Our extended UX guide walks you through designing a good experience end to end, but here, we’ll focus on a few things: Identify basic assumptions about users. Who are they? What do they know about and expect from your app? How do they expect to receive information? Consider UI aspects that are specific to messaging platforms, including available components and expected behaviors. Write app text for conversation (i.e. doing more with fewer words).

新鲜货

Next.js 3.0
https://zeit.co/blog/next3
We are very excited excited to announce the stable release of Next.js 3.0. Ever since our beta announcement, we have been using it to power zeit.co and have received lots of feedback and contributions from our community. Static Export Support, Dynamic Import Support, More Beautiful Errors, Improved Hot Module Replacement.

HTML 5.2 - W3C Candidate Recommendation
https://www.w3.org/TR/html52/
HTML 5.2 spec defines the second minor revision of HTML. A few things are up for potential deprecation including the ‘menu’ and ‘dialog’ elements. 另:CSS Containment Module Level 1, Indexed Database API 2.0.

After a 23-Year Wait, WebVR Ships Today
https://medium.com/mozilla-tech/webvr-shipping-today-in-firefox-d54d490a2072
WebVR 的历史竟然这么久… 附:Firefox 55: first desktop browser to support WebVR.

Node v8.3.0 (Current)
https://nodejs.org/en/blog/release/v8.3.0/
The V8 engine has been upgraded to version 6.0, which has a significantly changed performance profile. 另: NODE_OPTIONS Has Landed in 8.x, Node.js Errors — Changes you need to know about.

Hunting Malicious npm Packages
https://duo.com/blog/hunting-malicious-npm-packages
With npm having a history of dealing with malicious packages - either hijacked legitimate packages or malicious packages created from scratch - we decided to analyze the entire npm package repository for other malicious packages.

TensorFire
https://tenso.rs/
TensorFire runs neural networks in the browser using WebGL.

Nano ID
https://github.com/ai/nanoid
A tiny, secure URL-friendly unique string ID generator for JavaScript.

PureScript
http://www.purescript.org/
A strongly-typed functional programming language that compiles to JavaScript. 附:Why You Should Use PureScript.

Britecharts v2.0 Released
https://www.eventbrite.com/engineering/britecharts-v2-0-released/
Britecharts, Eventbrite’s D3 based charting library, has grown with additional charts contributed by the community. It is now a mature library, but it still lacks some charts used in today’s standard DataViz suites.

Geo for Bootstrap, a Timeless Theme by Divshot
http://code.divshot.com/geo-bootstrap/
Geo is a timeless Twitter Bootstrap theme built for the modern web.

OpenGL 4.6 正式发布
https://www.oschina.net/news/87379/opengl-4-6
OpenGL 4.6 将 AMD、Intel 和 NVIDIA 创建的众多 ARB 和 EXT 扩展功能集成到内核中,包括摄取 SPIR-V™ 着色器的功能。

Deeplearning.ai: Announcing New Deep Learning Courses on Coursera
https://medium.com/@andrewng/deeplearning-ai-announcing-new-deep-learning-courses-on-coursera-43af0a368116
I have been working on three new AI projects, and am thrilled to announce the first one: deeplearning.ai, a project dedicated to disseminating AI knowledge, is launching a new sequence of Deep Learning courses on Coursera. These courses will help you master Deep Learning, apply it effectively, and build a career in AI. 另附:DeepMind and Blizzard open StarCraft II as an AI research environment, OpenAI at the Dota 2 World Championships.

The Evolution of Trust
http://ncase.me/trust/
一个关于信任的 WebGame

The Internet Archive has digitized 25,000 78rpm Gramophone records
https://archive.org/details/georgeblood
Through the Great 78 Project the Internet Archive has begun to digitize 78rpm discs for preservation, research, and discovery with the help of George Blood, L.P.. 78s were mostly made from shellac, i.e., beetle resin, and were the brittle predecessors to the LP (microgroove) era. @great78project for uploads as they happen. Turntable used for 78rpm digitization of four simultaneous recordings with different needles. 另附:HyperCard On The Archive (Celebrating 30 Years of HyperCard)

产品及其它

小程序线下流量难获?真实数据和你想的可能不太一样
http://www.geekpark.net/topics/221149
阿拉丁发布了首份小程序指数报告,其中展示了大量小程序背后的数据分析,从这份报告中发现的一些现象也颠覆了很多人的认知。

从帝国到流沙,我对商业模式创新的本质思考
https://mp.weixin.qq.com/s?__biz=MzA5ODMzMDkzOA==&mid=2661082273&idx=1&sn=0956b29208c398d5aaca8aaaeec54482
现代化让社会从“固态”变为“液态”;文化从“启迪”大众变为“诱惑”大众;商业由“生产者”主导变为由“消费者”主导;“时间轴”成为商业核心要素,“快”成为成败关键条件。

知识付费产品N种可能
https://mp.weixin.qq.com/s?__biz=MzIxNTAzNzU0Ng==&mid=2654587337&idx=1&sn=62f391cc10d3a04424e6ff409698d10b
知识产品背后,到底是个什么样的生产体系?有什么样的工具和逻辑?第一类是平台型的业务;第二大类是做产品和服务的提供商;第三大类选择是第三方的服务商,就是卖水给淘金者的人。

马化腾的境界
https://mp.weixin.qq.com/s?__biz=MjM5OTAwNTQ0MA==&mid=2653078603&idx=1&sn=8a78c20d51382fe424e910d4a9363c76
腾讯具有极强的“进化力”,随着行业变化而不断改变自己的能力。我们认为这是腾讯茁壮至今的一个关键点。埋头过完自己的坎,就像埋头磕完自己的路,都是在历事炼心。

傅盛:年轻人成长中的四个关键词
https://mp.weixin.qq.com/s?__biz=MjM5NjgzMzkwMQ==&mid=2653646369&idx=1&sn=37cf5503a5c3c45c9880bf5874ea8244
目标和梦想,一个人先要有一个大的目标,才有机会靠近这个目标;原则本质就是追求自我成长,原则就是尺子,你多给自己树立几把尺子,做事情就有了规矩。这些规矩就会给你带来更好的决定;学习还有个很重要的心态,我总结叫空杯心态,Stay Foolish,当然,真把自己看得很低,这一点,很难;行动:五年后的你,不是在跟今天的你做对比,而是和你的那些同龄人作对比。只有那个时候,你仍然卓尔不群,你才会有更多的机会。

– THE END –