V8 Release 6.2
V8 v6.2 is filled with all sorts of developer-facing goodies. This post provides a preview of some of the highlights in anticipation of the release: Performance improvements, Enhanced low-memory mode, Enhanced low-memory mode, Template literal revision, Increased max string length, FullCodeGen is gone. 另附:“Elements kinds” in V8.

Modern Modules - Re-thinking the Node.js ecosystem for modern JavaScript
We need to rebuild most of the software infrastructure in the Node.js Ecosystem. In order to move forward we’re going to have to stop using a lot of the software infrastructure we rely on today but first we need solid alternatives. I’ve started to take this on, as time allows. I’ve already mentioned r2. I’ve also written an async/await bi-directional RPC library called znode.

How JavaScript works: memory management + how to handle 4 common memory leaks
We’ll discuss another critical topic that’s getting ever more neglected by developers due to the increasing maturity and complexity of programming languages that are being used on a daily basis — memory management. We’ll also provide a few tips on how to handle memory leaks in JavaScript that we at SessionStack follow as we need to make sure SessionStack causes no memory leaks or doesn’t increase the memory consumption of the web app in which we are integrated.

Understanding & Measuring HTTP Timings with Node.js
Understanding and measuring HTTP timings helps us to discover performance bottlenecks in client to server or server to server communication. This article explains timings in an HTTP request and shows how to measure them in Node.js.

[译]iPhone X 交互设计官方指南
iPhone X 拥有一个宽大的、高分辨率、圆角的、扩展到边缘的屏幕,提供了以前从未有过的沉浸式、内容丰富的体验。




What I Love and Hate About Flow
The Good: Eliminate a whole class of errors; Easier refactoring; Helps document things. The Bad: A false sense of security from the misconception that this will have any effect at runtime, More damn errors to fix before your pull request gets merged in, It’s a big time investment. The Verdict: Use Flow (or Typescript) but don’t half-ass it. Go all out and require it in all files. 另附来自 tumblr 的实践: Flow and TypeScript

I don’t know who the Web Audio API is designed for
Web Audio, conversely, is an API I do not understand. The scope of Web Audio is hopelessly huge, with features I can’t imagine anybody using, core abstractions that are hopelessly expensive, and basic functionality basically missing. To quote the specification itself: “It is a goal of this specification to include the capabilities found in modern game audio engines as well as some of the mixing, processing, and filtering tasks that are found in modern desktop audio production applications.” I can’t imagine any game engine or music production app that would want to use any of the advanced features of Web Audio. 附:Some Opinions On The History Of Web Audio

CSS in JS is like replacing a broken screwdriver with your favorite hammer
You’ll get the screw further into the wall, but you also destroy all of the unique and valuable problems that had you using a screw instead of a nail in the first place!

Building the DOM faster: speculative parsing, async, defer and preload
The fresh web standard <link rel="preload">, that allows you to load critical resources faster, is coming to Firefox later this month. Understanding what goes on inside a browser is the most powerful tool for every web developer. We’ll look at how browsers interpret your code and how they help you load pages faster with speculative parsing. We’ll break down how defer and async work and how you can leverage the new keyword preload.

Basecamp 3 for iOS: Hybrid Architecture
Basecamp 新的 Hybrid 架构,结合了 native 和 web 的优点

A React And Preact Progressive Web App Performance Case Study: Treebo
Treebo is India’s top rated budget hotel chain, operating in a segment of the travel industry worth $20 billion. They recently shipped a new Progressive Web App as their default mobile experience, initially using React and eventually switching to Preact in production.

Localizing Slack
We launched French, German, and Spanish localization in Slack. I’d like to share some of the lessons learned, tooling, and processes we put in place to complete this project and build localization into our ongoing workflow.

Scaling Event Sourcing for Netflix Downloads
This series of posts will outline why and how we built a new licensing system to support the Netflix downloads experience. In this first post of the series, we provide an overview of the Netflix downloads project and the changes it meant for the content licensing team at Netflix. Further posts will dive deeper into the solutions we created to meet these requirements.

Infrastructure update: evolution of the Dropbox backbone network
In this blog, we’ll first review how we went about building out this backbone network and then discuss the benefits that it’s delivering for us and for our users.

A Brief, Incomplete History of JavaScript
In 2017, JavaScript development can leave newcomers to the language—and many veterans—paralyzed, unsure of where to begin or which paths are the right ones to take. People often dive into the latest-and-greatest without any real understanding of why it’s so great (or why it might not be). Understanding JavaScript’s history can help make sense of its current state.

What every software engineer should know about search
Numerous current products still have suboptimal search experiences. Any true search expert will tell you that few engineers have a very deep understanding of how search engines work, knowledge that’s often needed to improve search quality.

Why is Python Growing So Quickly?
Why is Python growing so fast? Python is used in a variety of purposes, ranging from web development to data science to DevOps, and it’s worth understanding what particular applications of Python have recently become more common. I’m a data scientist who uses R, so I’m certainly interested in how much of Python’s growth has been within my own field. In this post, I’ll take another look at Stack Overflow data to understand what kinds of Python development have been growing, and in what kinds of companies and organizations it’s most used.

Design Tooling is Still Figuring Itself Out
At the moment, there are all kinds of things that design software is struggling to address. The term “screen design” is common, referring to the fact that many of us are designing very specifically for screens, not print or any other application and screens have challenges unique to them. We have different workflows these days than in the past. We have different collaboration needs. We have different technological and economic needs.

Introducing Microsoft’s Fluent Design System
It should be noted that the Fluent Design System is in active development, so some of the design principles and features may change as the design language progresses. Always make sure to check the official documentation for up-to-date information.


Most common RPC framework used throughout Baidu, with 600,000+ instances and 500+ kinds of services, called “baidu-rpc” inside Baidu. 附:体系化认识RPC

Babel - Planning for 7.0
If you didn’t know already, we’re planning on releasing a 7.0 version soon 🙌 ! Work on it actually started back in February, when I just wanted to make a release to drop Node 0.10/0.12 support and remove babel-runtime and various other code. And since then, we’ve done releases up to alpha.20.

What’s new in Node.js 8.5?
ECMAScript Modules in Node.js! Performance Hooks; File copy with the core fs module

Facebook’s Messenger.com Now 50% Converted to Reason
Messenger.com is the web version of Facebook Messenger; we also share code with facebook.com’s inbox view and chat tabs. For over a year, the Reason team has been working directly on Messenger in order to integrate Reason + BuckleScript into the codebases. As of a while ago, we’ve reached 50% Reason code coverage!

On React and WordPress
WordPress is to undergo a full rewrite of its ‘Gutenberg’ editor, moving away from using React due to patent ‘baggage’. We’ll look for something with most of the benefits of React, but without the baggage of a patents clause that’s confusing and threatening to many people. Thank you to everyone who took time to share their thoughts and give feedback on these issues thus far — we’re always listening. 另附:如何看待百度要求内部全面停止使用 React/React Native

Unified autoplay
Starting in Chrome 64, autoplay will be allowed when either the media won’t play sound, or the user has indicated an interest in the media. This will allow autoplay to occur when users want media to play, and respect users’ wishes when they don’t.

node-http-proxy is an HTTP programmable proxying library that supports websockets. It is suitable for implementing components such as reverse proxies and load balancers.

Dynamic code analysis for JavaScript

PrimeReact 1.0.0-Final Released
This milestone is actually the beginning, many new features are on our roadmap and we hope to receive community feedback to improve the library. PrimeFaces and PrimeNG have been huge successes already and PrimeReact now joins them to form the “big three”.

Introducing Atom-IDE
GitHub, in collaboration with Facebook, are pleased to announce the launch of Atom-IDE - a set of optional packages to bring IDE-like functionality to Atom. Our initial release includes packages for TypeScript, Flow, JavaScript, Java, C# and PHP that utilize the power of language servers to provide deep syntactical analysis of your code and projects. The language server protocol is being adopted by a number of organizations including Microsoft, Eclipse, Sourcegraph, Palantir, Red Hat, Facebook and now GitHub too!

Sublime Text 3.0
3.0 brings a refreshed UI theme, new color schemes, and a new icon. Some of the other highlights are big syntax highlighting improvements, touch input support on Windows, Touch Bar support on macOS, and apt/yum/pacman repositories for Linux.

7 Helpful HTTP Tools
We’re going to look at some of these tools, and briefly summarize what they do. We’ll look at a variety of implementations, both command-line and GUI-centric HTTP clients, and talk generally about what they do, and how an API provider might find value in them. To be clear, we’re not recommending a specific tool here, as finding the right tool will be highly variable for each provider.

Tree editor for writers
Nulis is useful for organizing large amounts of information, beraking down your large writing goals into smaller steps, and working on your writing in manageable chunks. The purpose of Nulis is to help you to write in the state of flow.

世界上最简单的 JavaScript 测试库。ihope 由丐帮(gobum.org)开发并维护。


Project Management for Humans
Managing projects is hard enough, but being the person to manage who works on what and when can be even more difficult. However, if you don’t keep track of this basic information, you’ll likely find it hard to meet deadlines and wrap up projects without major issues.

从博物馆到太平洋,Google 在用自己的方式记录这个世界
无论本意是向世界输出善意还是野心勃勃的计划,Google 始终在尝试成为这个世界的虚拟载体,扫描全世界图书、博物馆、海洋街景、历史遗迹……这些工程浩瀚的计划都在一步步结实的推进这个星球和人类文明的数字化。



作者:zhangbobell (http://zhangbobell.cn) - 恰同学少年,风华正茂