JavaScript for People Who Hate JavaScript
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
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
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
@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
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
5 Options for React Web Animations, and which of these are cross-platform.

All About 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
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
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…
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
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
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 疲劳终极指南:我们行业的真相


和 Web 框架没啥关系,主要是方法和工具介绍


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

石墨文档前端团队既包括桌面和移动端的 Web 版前端工程师,也包括 iOS 和 Android 的 App 的开发者。下面分几块来介绍石墨文档前端团队目前使用的技术栈。

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

MobX 核心源码解析

Angular vs. React: Which Is Better for Web Development?
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
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
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
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
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
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
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
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
WebVR 的历史竟然这么久… 附:Firefox 55: first desktop browser to support WebVR.

Node v8.3.0 (Current)
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
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 runs neural networks in the browser using WebGL.

Nano ID
A tiny, secure URL-friendly unique string ID generator for JavaScript.

A strongly-typed functional programming language that compiles to JavaScript. 附:Why You Should Use PureScript.

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
Geo is a timeless Twitter Bootstrap theme built for the modern web.

OpenGL 4.6 正式发布
OpenGL 4.6 将 AMD、Intel 和 NVIDIA 创建的众多 ARB 和 EXT 扩展功能集成到内核中,包括摄取 SPIR-V™ 着色器的功能。

Deeplearning.ai: Announcing New Deep Learning Courses on Coursera
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
一个关于信任的 WebGame

The Internet Archive has digitized 25,000 78rpm Gramophone records
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)






目标和梦想,一个人先要有一个大的目标,才有机会靠近这个目标;原则本质就是追求自我成长,原则就是尺子,你多给自己树立几把尺子,做事情就有了规矩。这些规矩就会给你带来更好的决定;学习还有个很重要的心态,我总结叫空杯心态,Stay Foolish,当然,真把自己看得很低,这一点,很难;行动:五年后的你,不是在跟今天的你做对比,而是和你的那些同龄人作对比。只有那个时候,你仍然卓尔不群,你才会有更多的机会。