微信搜索『FEX』关注我们的公众号,及时获得最新资讯。

深阅读

V8 Release 6.2
https://v8project.blogspot.ca/2017/09/v8-release-62.html
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
https://medium.com/@mikeal/modern-modules-d99b6867b8f1
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
https://blog.sessionstack.com/how-javascript-works-memory-management-how-to-handle-4-common-memory-leaks-3f28b94cfbec
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
https://blog.risingstack.com/measuring-http-timings-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 交互设计官方指南
https://mp.weixin.qq.com/s?__biz=MzA3ODg4MDk0Ng==&mid=2651113572&idx=1&sn=32fe690fd14836a3a4e064d156ffab7d
iPhone X 拥有一个宽大的、高分辨率、圆角的、扩展到边缘的屏幕,提供了以前从未有过的沉浸式、内容丰富的体验。

谈谈互联网后端基础设施
https://mp.weixin.qq.com/s?__biz=MzIyNjE4NjI2Nw==&mid=2652559462&idx=1&sn=d383f607dcdd20d2d09f96c930960d67
这里的后端基础设施主要指的是应用在线上稳定运行需要依赖的关键组件/服务等。开发或者搭建好以上的后端基础设施,一般情况下是能够支撑很长一段时间内的业务的。此外,对于一个完整的架构来说,还有很多应用感知不到的系统基础服务,如负载均衡、自动化部署、系统安全等,并没有包含在本文的描述范围内。

研发体系这点事
https://mp.weixin.qq.com/s?__biz=MzIyNjE4NjI2Nw==&mid=2652559467&idx=1&sn=7456e333f23f767e6f4b0c497e292224
早在读研究生的时候,自己负责着实验室的项目,就一直在思索如何建立一套简单又高效的研发管理体系,能够在保证项目高质量顺利进行的同时还能够提升团队成员的技术level。后来在自己在校的几次小的创业中,也做过一些尝试。直到毕业后进入前东家,在几个项目的参与过程中,见到了大公司的研发管理是如何进行的。直至加入目前的公司,将研发体系梳理一遍,且学且抄且实践,对这一套东西算是有了一定的实践感悟。

如何运营一个开源项目并取得较大影响力
https://mp.weixin.qq.com/s?__biz=MjM5Mjg4NDMwMA==&mid=2652975305&idx=1&sn=098986625f46033c26b069316ba83f14
开源需要一些营销的技巧,这些技巧可以帮你吸引关注。

What I Love and Hate About Flow
https://medium.com/@halistechnology/what-i-love-and-hate-about-flow-704835ad087f
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
http://blog.mecheye.net/2017/09/i-dont-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
https://zendev.com/2017/09/11/css-in-js.html
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
https://hacks.mozilla.org/2017/09/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
https://m.signalvnoise.com/basecamp-3-for-ios-hybrid-architecture-afc071589c25
Basecamp 新的 Hybrid 架构,结合了 native 和 web 的优点

A React And Preact Progressive Web App Performance Case Study: Treebo
https://medium.com/dev-channel/treebo-a-react-and-preact-progressive-web-app-performance-case-study-5e4f450d5299
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
https://slack.engineering/localizing-slack-680c4bc7f45a
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
https://medium.com/netflix-techblog/scaling-event-sourcing-for-netflix-downloads-episode-1-6bc1595c5595
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
https://blogs.dropbox.com/tech/2017/09/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
https://closebrace.com/articles/2017-09-11/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
https://medium.com/startup-grind/what-every-software-engineer-should-know-about-search-27d1df99f80d
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?
https://stackoverflow.blog/2017/09/14/python-growing-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
https://css-tricks.com/design-tooling-still-figuring/
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
https://www.sitepoint.com/introducing-microsofts-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.

新鲜货

brpc
https://github.com/brpc/brpc
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
https://babeljs.io/blog/2017/09/12/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?
https://blog.risingstack.com/whats-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
https://reasonml.github.io/community/blog/#messengercom-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
https://ma.tt/2017/09/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
http://blog.chromium.org/2017/09/unified-autoplay.html
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
https://github.com/nodejitsu/node-http-proxy
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.

Iroh
https://github.com/maierfelix/Iroh
Dynamic code analysis for JavaScript

PrimeReact 1.0.0-Final Released
https://www.primefaces.org/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
https://blog.atom.io/2017/09/12/announcing-atom-ide.html
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
https://www.sublimetext.com/blog/articles/sublime-text-3-point-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
https://nordicapis.com/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
https://github.com/raymestalez/nulis
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.

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

产品及其它

Project Management for Humans
https://alistapart.com/article/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 在用自己的方式记录这个世界
http://www.geekpark.net/news/221472
无论本意是向世界输出善意还是野心勃勃的计划,Google 始终在尝试成为这个世界的虚拟载体,扫描全世界图书、博物馆、海洋街景、历史遗迹……这些工程浩瀚的计划都在一步步结实的推进这个星球和人类文明的数字化。

罗辑思维背后的核心逻辑深度分析
https://mp.weixin.qq.com/s?__biz=MzI2NTY4MDg1NA==&mid=2247488813&idx=1&sn=fd2f172683cfb84d8ae163cd468b03b3
从内容、运营以及产品3个维度,来看看罗辑思维背后的相关逻辑。从中,也确能看出罗辑思维在打通从内容生产到内容包装,再到内容分发,以及为用户提供后续服务的整个闭环上的精细化运作。

耶鲁校长2017新生开学演讲:像狐狸一样思考
https://mp.weixin.qq.com/s?__biz=MzIxNTAzNzU0Ng==&mid=2654588910&idx=1&sn=a5f71af08bc67a64e5d54a3a51b0ffbe
通过学习,你可能会用某种观念或方式来观察这个世界,但是我建议,你们多学习不同人的思想、多考虑不同人的观点。尽量都去尝试一下,然后找出什么是最适合自己的。狐狸不仅从他们认同的观点中获取知识,对于一些他们不同意的观点,狐狸也会说“带走”。狐狸是灵活的。面对挑战时,他们不仅可以做出更好地反应,甚至可以预测到将来可能会遇到什么困难。像富兰克林、莫里、霍珀和许多其他的狐狸一样,你们将以广泛而灵活的方式开拓思维,将学会谨慎地思考,怀疑简单的答案并获得知识。你们将接受磨练,学会如何有效地与他人合作。

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