Prepack is a tool that optimizes JavaScript source code: Computations that can be done at compile-time instead of run-time get eliminated. Prepack replaces the global code of a JavaScript bundle with equivalent code that is a simple sequence of assignments. This gets rid of most intermediate computations and object allocations. 附:prepack-webpack-plugin.

Elements of JavaScript Style
The following are guidelines, not immutable laws. There may be valid reasons to deviate from them if doing so clarifies the meaning of the code, but be vigilant and self-aware. These guidelines have stood the test of time for good reason: They’re usually right.

Glossary of Modern JavaScript Concepts: Part 2
In the first part of the Glossary of Modern JS Concepts series, we learned about functional, reactive, and functional reactive programming. In Part 2, we’ll gain an understanding of concepts like scope, closures, tree shaking, components, and more, as well as JavaScript application topics such as data flow and change detection.

Why I’m Moving on to Web Components and Not Looking Back
Certainly it will take a few more years before large companies are comfortable taking the plunge and ending support for users that have not updated their web browsers. But a truly wonderful world awaits when they do. I hope I am correct in predicting that the complexity and code proliferation in web development, after increasing for many years, is about to take a nose dive. The features that these libraries and frameworks provide have arrived in the “operating system” itself — the web browser. No pre-processors now. Just code.

Energizing Atom with V8’s custom start-up snapshot
Native Electron apps, including Atom, leverage Chromium to display a GUI and Node.js as an execution environment, both of which respectively embed V8 to run JavaScript. This allows Electron apps to take advantage of V8 snapshots to quickly initialize a previously serialized heap for faster startup. Electron developers have even released electron-link, a convenience library for setting up this feature, which Atom heavily relies on for its performance optimizations.

Nest - Node.js framework built on top of TypeScript
Nest is a powerful web framework for Node.js, which helps you effortlessly build efficient, scalable applications. It uses modern JavaScript, is built with TypeScript and combines best concepts of both OOP (Object Oriented Progamming) and FP (Functional Programming). GitHub: https://github.com/kamilmysliwiec/nest

下文说说我理解的支付宝前端构建工具发展史,从 spm 到 ant tool,再到未来我们可能会走的路。

V8 Ignition:JS 引擎与字节码的不解之缘
很多 JS 引擎都是采用了字节码这一脚本语言实现技术的,而 v8 一枝独秀,走“纯机器码”路线,其实过于激进了:虽然执行性能上可以登峰造极,但却带来了内存占用过大的问题。这次引入字节码实则是做了工程上的恰当取舍,将损失掉的内存找回来,更加符合如今移动和嵌入式设备为主的应用场景;以时间换空间,让 v8 能更好的服务于低内存的设备。如今 V8 也回到了字节码的怀抱,不禁令人感叹 JS 引擎与字节码真是有着不解之缘!这个专栏还有很多 Node 及 V8 相关的资料,感兴趣的可以关注。



今日头条当前后端服务超过80%的流量是跑在 Go 构建的服务上。微服务数量超过100个,高峰 QPS 超过700万,日处理请求量超过3000亿,是业内最大规模的 Go 应用。


Mastering the Node.js Core Modules - The File System & fs Module
In this article, we’ll take a look at the File System core module, File Streams and some fs module alternatives.

Why does Google prepend while(1); to their JSON responses?
It prevents JSON hijacking.

Redesigning Uber Engineering’s Mobile Content Delivery Ecosystem
In this article, we discuss the technical challenges we encountered—and solutions we developed—while building a new content feed and corresponding backend ecosystem for the app.

Building Express Backbone: Facebook’s new long-haul network
As new data centers were being built, we realized the need to split the cross-data center vs Internet-facing traffic into different networks and optimize them individually. In a less than a year, we built the first version of our new cross-data center backbone network, called the Express Backbone (EBB), and we’ve been growing it ever since.

Deploy with haste: the story of rig
This is a tale of infrastructure evolution. In the span of 12 months, we went from large, release-oriented deploys to an architecture and approach that enabled 150+ deploys a day. Getting there wasn’t easy, but we learned a lot along the way…

Augmented camera previews for the Dropbox Android Document Scanner
With Dropbox’s document scanner, a user can take a photo of a document with their phone and convert it into a clean, rectangular PDF. In our previous blog posts (Part 1, Part 2), we presented an overview of document scanner’s machine learning backend, along with its iOS implementation. This post will describe some of technical challenges associated with implementing the document scanner on Android.

How to Get into VR
In this post, we’ll explore why it’s an exciting time to get into VR now–both for consumers and developers. Then, we’ll discuss how a wide range of interdisciplinary fields have pushed the technology forward. Lastly, we’ll identify concrete ways in which you can get started.

Designing Voice Experiences
Voice-based interfaces are becoming commonplace. A new interface does not mean that we have to disregard everything we have successfully applied to previous interfaces; we will need to adapt our process for the nuances of voice-driven interfaces, including conversational interactions and the lack of a screen. We will look at how a typical genie in a bottle works, discuss the steps involved in designing voice experiences, and illustrate these steps by designing a voice app for Alexa.

Programming as a Way of Thinking
Modern programming languages are qualitatively different from their predecessors, but we are only beginning to realize the implications of that difference. In a companion article, I present more ways to use Python to think, explore, learn, and teach.

SQL is 43 years old - here’s 8 reasons we still use it today
The simple fact that both arrived early in the life of computing, and that for 90% of the time they just work, means databases have become a ‘solved problem’ you no longer need to think about. But people do use other other email automation software and payment solutions, just like people use NoSQL databases. Yet even with other database technology available, albeit less mature technology, SQL still reigns and reigns well. So, finally, here are 8 reasons we still use SQL 43 years after it was first cooked up.


Getting Started with Headless Chrome
A headless browser is a great tool for automated testing and server environments where you don’t need a visible UI shell. For example, you may want to run some tests against a real web page, create a PDF of it, or just inspect how the browser renders an URL.

pkg - Package your Node.js project into an executable
This command line interface enables you to package your Node.js project into an executable that can be run even on devices without Node.js installed.

YouTube’s redesign is official
YouTube’s new interface is built on Google’s Polymer framework, a JavaScript library for creating Web components with a focus on creating Material Design-style apps on the Web.

Progressive Web Apps Training
This course shows you how to convert web pages to PWAs. A PWA is not an API or a technology, but it is a web development approach that uses a combination of tools and technologies already available to create targeted, ideal user experiences. It shows how to use service workers, APIs, and an application shell architecture for meaningful offline experiences, fast first load, and easy user reengagement upon repeat visits.

ECMAScript modules in browsers
ES modules are starting to land in browsers! They’re in… Safari 10.1; Chrome Canary 60 – behind the Experimental Web Platform flag in chrome:flags; Firefox 54 – behind the dom.moduleScripts.enabled setting in about:config; Edge 15 – behind the Experimental JavaScript Features setting in about:flags.

A desktop runtime for apps built on web technologies, using the system’s own web browser engine. Electrino is an experimental featherweight alternative to the popular and powerful Electron. It implements a minuscule portion of the APIs available in Electron, but the output app size is much smaller. A “Hello World” app takes 115 MB using Electron, but only 167 kB using Electrino,详见:Put your Electron app on a diet with Electrino.

Anime (/ˈæn.ə.meɪ/) is a lightweight JavaScript animation library. It works with any CSS Properties, individual CSS transforms, SVG or any DOM attributes, and JavaScript Objects.

Create Next App
The easiest way to create a React app with server-side rendering thanks to Next.js

QR code/2d barcode generator.

GitHub 项目徽章的添加和设置

Visual Studio Code 1.12

Jenkins Blue Ocean 1.0
Blue Ocean rethinks the user experience of Jenkins. Designed from the ground up for Jenkins Pipeline, but still compatible with Freestyle jobs, Blue Ocean reduces clutter and increases clarity for every member of the team.

This project tries to recognize the font of a text in a photo using a set of algorithms and libraries. The goal is to obtain accurate results with the image as only input avoiding other manual processes. This is the only open source project of its kind.

WebSlides - Create HTML presentations in seconds
WebSlides makes HTML presentations easy. Just the essentials and using lovely CSS.

javascript game
测试一下你认识多少个 JS 库的 logo

OnlineSchemaChange is a tool for making schema changes for MySQL tables in a non-blocking way. 另附:OnlineSchemaChange rebuilt in Python

MapSCII - The Whole World In Your Console
MapSCII is a Braille & ASCII map renderer for your console - enter => telnet mapscii.me <= on Mac and Linux, connect with PuTTY if you’re using Windows.

Spring 5 Reactive Web
Interested in learning how to use Spring 5 to do reaction web development? Let this article serve as your one-stop shop on the topic.



可以恰到好处的满足用户需求,拥有完善的技术实现方式,同时可健康持续的创造商业价值的产品,就是「好产品」。另附:如何打造 “好用” 的应用