FEX 技术周刊 - 2017/09/18
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.
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.
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.
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.
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
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.
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”.
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.
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.