ECMAScript 2018: the final feature set
The feature set of ECMAScript 2018 was finalized during the latest TC39 meeting (23-25 January 2018). This blog post describes it.
另附:Optimizing hash tables: hiding the hash code

V8 release v6.5
提升了 webassembly 及数组遍历的性能

React’s new Context API
The first result of that search is showing “Why Not To Use Context”. Doesn’t inspire a whole lot of confidence in the context API. To make things even more concerning, that section says: If you want your application to be stable, don’t use context. It is an experimental API and it is likely to break in future releases of React.
另附:react-contextual - Tiny helper around Reacts new context API

Xi: an editor for the next 20 years
Xi is a project to build a modern text editor with uncompromising performance. Its thoroughly async, loosely coupled design promises performance and rich extensibility, but creates interesting engineering challenges, requiring advanced algorithms and data structures. In addition to pushing the state of computer science for text handling, the project also seeks to build an open-source community for teaching and learning, and working together to create a joyful editing experience.

A Comprehensive Guide To Product Design
In this article, I’ll focus on the main principles and approaches that will help you to design great products. I’ll start with global things (like what product design is all about) and work down to the individual phases of product design (such as research, ideation, testing and validation).

Sketching in the Browser
For companies working with design systems, it seems our industry is stuck with design tools that are essentially built for the wrong medium—completely unable to feed our development work back into the next round of design. Luckily, this is all about to change.

ES6 Class Extends 性能分析
最近在做 hessian 序列化的性能优化,偶然发现 ES6 Class 的继承写法性能不是太好。我本来想通过覆盖 hessian.EncoderV2 的某些方法来做一些优化,但是让我意外的是,优化以后性能反而下降了,于是我尝试将覆盖的代码都注释掉,只保留继承的结构,结果性能仍然是下降的,所以我将矛头指向了 ES6 Class 和 extends 写法上。

Deep-copying in JavaScript


为进一步降低运营带宽成本,减小用户访问流量及提升页面加载速度,社交网络 CDN运维紧跟行业图片优化趋势,创新引入WebP、SharpP、自适应分辨率、Guetzli等图像压缩技术到现网,经过三年多的多部门联合攻关,已逐渐形成一套覆盖全图片类型(JPEG、JPG、PNG、WebP、GIF)多场景的图片压缩运营体系,适用于各类型终端,每年节约外网带宽几百G。




The increasing nature of frontend complexity
This is a hard time to be a frontend developer. The technology is moving so fast it’s hard to keep up, the ecosystem is fragmented, and there is tremendous pressure for even individuals to meet and exceed the user experience standards set by massive billion-dollar companies.
另附:Challenges for web developers

Stimulus 1.0: A modest JavaScript framework for the HTML you already have
We write a lot of JavaScript at Basecamp, but we don’t use it to create “JavaScript applications” in the contemporary sense. All our applications have server-side rendered HTML at their core, then add sprinkles of JavaScript to make them sparkle.

10 things I love about Vue
In this blog post, I aim to explore why Vue is the framework for me. I choose it above any other that I have tried. Perhaps you will agree with some of my points, but at the very least I hope to give you some insight into what it is like to develop modern JavaScript applications with Vue.

Efficiently loading inlined JSON data
By giving the JSON data a non-standard type in the

Sharing Code Between Web & Electron Apps
In maintaining one of the first Electron apps, we’ve navigated this labyrinth in the quest for a more performant, maintainable, and secure hybrid desktop app, and we’d like to help you avoid some of the pitfalls we’ve found along the way.

Debugging JavaScript With A Real Debugger You Did Not Know You Already Have
console.log can tell you a lot about your app, but it can’t truly debug your code. For that, you need a full-fledged JavaScript debugger. The new Firefox JavaScript debugger can help you write fast, bug-free code. Here’s how it works.

Please Stop Using Local Storage
Almost every day I stumble across a new website storing sensitive user information in local storage and it bothers me to know that so many developers are opening themselves up to catastrophic security issues by doing so. Let’s have a heart-to-heart and talk about local storage and why you should stop using it to store session data.

Building Secure JavaScript Applications
另附:Hacker101 - 免费的 Web 安全视频教程

Modernizing Node.js with idiomatic JavaScript
JavaScript developers should focus on writing idiomatic, readable and maintainable code and not focus on the compilers underneath.

Wiring The Internet of Things With NODE RED
The Internet of Things is not a single choice of technology, approach or philosophy. It brings together multiple platforms, products and protocols, where the whole is greater than the sum of its parts. One of the challenges of IoT is to make it as easy as possible to allow developers to create

12 best practices for user account, authorization and password management
This post will lay out the best practices to ensure you have a safe, scalable, usable account authentication system.

Measuring QUIC vs TCP on mobile and desktop
In a recent paper published at the ACM Internet Measurement Conference 2017, we worked to address these issues, and provided a comprehensive evaluation of QUIC’s performance and how it compares with TCP. This post shares some highlights from our study.

The introduction to Reactive Programming you’ve been missing
The hardest part of the learning journey is thinking in Reactive. It’s a lot about letting go of old imperative and stateful habits of typical programming, and forcing your brain to work in a different paradigm. I haven’t found any guide on the internet in this aspect, and I think the world deserves a practical tutorial on how to think in Reactive, so that you can get started. Library documentation can light your way after that. I hope this helps you.

Why Create a New Unix Shell?
Whenever I announce a new Oil release, some readers are confused by the project. This post, which I’ll update periodically, explains the project’s motivation from several perspectives. Because Unix shell is an old and successful technology, there are many ways of looking at it.

Learn FFmpeg libav the Hard Way
I was looking for a tutorial/book that would teach me how to start to use FFmpeg as a library (a.k.a. libav) and then I found the “How to write a video player in less than 1k lines” tutorial. Unfortunately it was deprecated, so I decided to write this one.


Indexed Database API 2.0 - W3C Recommendation
另:WCAG 2.1 is a Candidate RecommendationHTML Media Capture is now a W3C Recommendation

Public Review of Java MVC 1.0 Specification is Now Open
Public review of JSR-371, Model-View-Controller (MVC) version 1.0 specification, is now open.

Bulma: CSS framework you should consider in 2018
Bulma. Beautiful, lightweight and stylish CSS framework made by Jeremy Thomas. If you haven’t done it already – I encourage you to visit his website – the site just lives in the browser! It’s super-interactive, beautiful and it’s pure CSS!

Announcing TypeScript 2.7
Stricter class property checks; Definite assignment assertions; Easier ECMAScript module interoperability; unique symbol types and const-named properties; Cleaner output in –watch mode; Prettier –pretty output…
另附:React JavaScript to TypeScript Transform

Schematics — An Introduction
Schematics is a workflow tool for the modern web; it can apply transforms to your project, such as create a new component, or updating your code to fix breaking changes in a dependency. Or maybe you want to add a new configuration option or framework to an existing project.

Introduction to the Node.js Community Committee and Our Focus for 2018
What’s the Community Committee? Well, that’s what I’ll be discussing in this blog through an overview of why we started and what function we serve within the Node.js community. This blog also covers major initiatives we accomplished in 2017, and what we are hoping to achieve this year.

umi 的定位是开发框架,目前包含工具 + 路由,不包含数据和视图。 所以 umi[工具 + 路由] + dva[数据] + antd(-mobile)[视图],很配哦。另外,umi 目前基于 React,不支持 Vue 和其他框架或者无框架的开发方式。

Introducing URQL (Beta), A Universal React Query Library
Our goal with urql is to simplify the process of using GraphQL in React apps. There are simpler solutions, but they end up pushing the complexity of handling data storage and caching onto the user.

reas - React as Anything
A minimalist and highly customizable component system built on top of React and styled-components

styled-components 3.1.0
A massive performance boost and streaming server-side rendering support.

React Scope
Visualize Your React Components as You Interact With Your App

Testing your npm package before releasing it using Verdaccio + ngrok
In this post, we’re going to explain how to create a public npm registry dedicated for testing your npm package on both your machines and servers before releasing it officially.

Introducing Node Clinic - A performance toolkit for Node.js developers
One of the problems Node.js developers have to deal with is figuring out why their app is “slow”. There aren’t many tools available to help dig into performance issues so we decided to create some. We’re really happy to announce the open source Node Clinic toolkit and Clinic Doctor tool.

Sockette is a tiny (344 bytes) wrapper around WebSocket that will automatically reconnect if the connection is lost!

A command-line benchmarking tool

OpenCensus: A Stats Collection and Distributed Tracing Framework
google 开源的分布式 tracing 框架

基于 WebGL 和 Tensorflow 的

But what is the Fourier Transform? A visual introduction
An animated introduction to the Fourier Transform, winding graphs around circles.

Caire is a content aware image resize library based on Seam Carving for Content-Aware Image Resizing paper.

Decentralized StatusPage
A Decentralized StatusPage with no single point of failure published to IPFS.

Regular expressions visualizer

Shotcut is a free, open source, cross-platform video editor.
另附:Video editing with Python

Observable is a better way to code
Discover insights faster and communicate more effectively with interactive notebooks for data analysis, visualization, and exploration.


斯蒂芬·平克(Steven Pinker)的《人性中的善良天使》(The Better Angels of Our Nature)是我十年来读过最好的书。如果我只能向人推荐一本书,那就是它了。平克用一丝不苟的调研证明,如今我们生活在人类历史上最和平的年代。我之前从未读到谁对进步做过如此清晰的阐释。但我将不再老说这本书的好话了,因为平克已经超越了自己——他的新书《当下的启蒙》(Enlightenment Now,中文名暂译)比之前那本更棒。

今年是 Microsoft Word 诞生的第 35 年,Vim 面世的第 27 年,即使是相对年轻的 Markdown,也有 12 个年头。但开发者们的创意从未枯竭。针对写作的各类场景,各种需求,通过实作,开发出了形态各异的写作工具。任何工具出现的意义,都是去满足使用者的需求。正如乌尔姆造型学院创立人奥托﹒艾舍所言:将哲学用于思考,将设计用于制作,两者将会通往同一个目的地。在这次盘点中,我们将放开对富文本、Markdown 等语言之间优劣的讨论,也不去争论「谁是最好的写作工具」。

猫眼郑志昊 - 为什么说产品思维已“死”
另附:锤子科技六年,我的 5 条创业感悟


作者:2betop (https://github.com/2betop) - 念我昵称的时候请用英文发音,谢谢!