FEX 技术周刊 - 2017/07/31
React 16 beta
React 16 is the first release that ships with a rewrite of the React core (previously codenamed “Fiber”). This initial React 16.0 release is mostly focused on compatibility with existing apps. It does not enable asynchronous rendering yet. We will introduce an opt-in to the async mode later during React 16.x. 另附：Error Handling in React 16, Top Resources to Explore React Fiber.
A new V8 is coming, Node.js performance is changing
REST APIs are REST-in-Peace APIs. Long Live GraphQL
After years of dealing with REST APIs, when I first learned about GraphQL and the problems it’s attempting to solve, I could not resist tweeting the exact title of this article.
Complaining about JS Fatigue is just like complaining about the fact that humanity has created too many tools to solve the problems we have, from email to airplanes and spaceships. My goal with this post is to change the way you think about software engineering in general and help you in any areas you might work on.
Progressively Enhancing CSS Layout: From Floats To Flexbox To Grid
Earlier this year, support for CSS grid layout landed in most major desktop browsers. Naturally, the specification is one of the hot topics at meet-ups and conferences. After having some conversations about grid and progressive enhancement, I believe that there’s a good amount of uncertainty about using it. I heard some quite interesting questions and statements, which I want to address in this post.
QML vs. HTML5
Mobile devices have set the standard in terms of responsiveness and user-friendliness for HMIs across industries. Manufacturers of cars, medical equipment, industrial automation systems and consumer electronics now want to replicate this great user experience for their embedded devices. To find out which technology strategy we should select we set up a test where one of our developers was allocated 160 hours to create a demo application of an embedded system using Qt & QML and same number of hours to create the very equivalent application using HTML5.
Go 语言高效、可扩展且极具生产能力。一部分程序员乐于加以运用，但也有一些人认为其难以理解甚至非常无聊。不可否认的是，Go 在具体实践中确实为不少公司带来了好处，且让我们看看 Dropbox 公司的 Go 语言探索道路。
[译]API 设计原则 - QT 设计实践总结
[译]回顾 ESLint 的成功
React Internals, Part One: basic rendering
重新实现基本的 React 功能来学习
Vue 全站服务器渲染 SSR 实践
Starting the Avalanche - Application DDoS In Microservice Architectures
In this blog post, we will discuss an effort at Netflix to identify, test, and remediate application layer DDoS attacks. We will begin with some background on the problem space. Next we will discuss the tools and methods we used to test our systems. Finally, we will discuss steps for making systems more resilient against application layer DDoS attacks.
The Road to uChat_ Building Uber’s Internal Chat Solution
So after testing multiple off-the-shelf alternatives, we built uChat, our custom in-house messaging platform, by leveraging open source platform Mattermost and Puppet, the Uber standard for deployment configuration management. In this article, we discuss how in just three months our team transitioned the company to a new solution capable of reliably delivering over one million messages per day to tens of thousands of users, all in one unified chat environment.
The MDN Redesign “Behind the Scenes”
Kuma, the code that produces the MDN site, is a weird mix of the old and the new. MDN turned ten in 2015 and there’s still code and content around from those very first days. When I sat down to start coding the current redesign, the first thing I did was remove the last few traces of the last redesign. One of the ways we deal with old code in kuma is with the campsite rule: Always leave your campsite better than you found it. A redesign touches a lot of files, and this was a great opportunity to clean up and refactor — at least until the deadline started getting close.
LinkedIn Passes IPv6 Milestone
Earlier this month, and for the first time in our company’s history, more than 50% of pages on LinkedIn were accessed over IPv6 from mobile devices in the U.S.
Why Composition is Harder with Classes
ES6 includes a convenient class syntax, so you may be wondering why we should care about factories at all. All of that implies that, unlike factory functions, classes are not a good solution for composing functional mixins. You can still achieve composition using class, but it’s a much more complex process, and as you’ll see, the additional costs are usually not worth the extra effort.
How do I know if I’m good at programming
So how do I know if I’m good at programming? A good place to start is to ask “what is good code?”. If a programmer can’t produce good code, they aren’t a good programmer.
A story about how I tried to get into game development and failed
If you read this blog regularly, you know that I usually write about DDD, functional programming, and enterprise software development best practices in general. These are the techniques I enjoy talking about, as well as applying them in my own projects. However, there was another field I always wanted to try myself in. That is game development. The ability to write my own games was the reason why I started learning to program in the first place. And I believe many programmers had this motivation behind their careers as well.
The Missing Advice I Needed When Starting My Career
Look Beyond The Web For Inspiration, Stop Obsessing Over Tools, Get Better At Working With Others, Always Push Beyond Your Job Description Link, Commit To Putting Yourself Out There , Don’t Put Up With A Terrible Boss.
Should the ‘KEG’ Stack Replace the LAMP Stack?
For years, the LAMP stack (Linux, Apache, MySQL, PHP/Python/Perl) has been an oasis for developers looking to build modern apps without getting locked into the desert of some big vendor’s ecosystem. Here’s a snapshot of what a new LAMP stack might look like today if we recast it with more modern tools and frameworks: Kubernetes Replaces Both Linux and Apache, Etcd (Maybe) Replaces MySQL, Go Replaces Python. 另附：How does enterprise-ready Kubernetes transform software delivery
Flash will be EOL by 2020
Adobe today announced that Flash, the once-ubiquitous plugin that allowed you to play your first Justin Bieber video on YouTube and Dolphin Olympics 2 on Kongregate, will be phased out by the end of 2020. 另：Chrome - So long, and thanks for all the Flash、Petition to open source Flash spec、Firefox Roadmap for Flash End-of-Life、Migrating Games from Flash to Open Web Standards on Facebook。
Node.js Emerging as the Universal Development Framework for a Diversity of Applications
We wanted to see what technologies you are using alongside Node.js, how you are learning Node.js, what Node.js versions you are using, and how these answers differ across the globe. 另附：What Node.js is used for in 2017 - Survey Results
ECMAScript Proposal, specs, and reference implementation for Promise.prototype.finally.
The Ultimate Uploading Experience in 5 Minutes
Filestack is a web service that completely handles file uploads for your app.
Announcing Ghost 1.0
About four years ago we launched Ghost on Kickstarter as a tiny little prototype of an idea to create the web’s next great open source blogging platform. Today marks our 100th release of Ghost and, fittingly, it’s Ghost 1.0.0. A new editor, A new default theme design, Night shift mode…
The New Firefox and Ridiculous Numbers of Tabs
如果你经常同时打开很多 tab，或许可以期待后续的 Firefox 版本
The goal of is to think of your app in states, not routes, not components, while keeping the address bar in sync. Everthing is state, not components. Connect your components and just dispatch flux standard actions. 附： Redux-First Router data-fetching: solving the 80% use case for async Middleware.
Moon - A minimal, blazing fast UI library
Kea - High level abstraction between React and Redux
A kea is two things: An extremely smart mountain parrot from New Zealand; An equally smart architecture for frontend webapps, built on top of React and Redux.
A lightweight way to manipulate, traverse, compare, and format dates and times across planet Earth.
Temporary peer to peer screenshot sharing from your browser
DrQA - Reading Wikipedia to Answer Open-Domain Questions
DrQA is a system for reading comprehension applied to open-domain question answering. In particular, DrQA is targeted at the task of “machine reading at scale” (MRS). In this setting, we are searching for an answer to a question in a potentially very large corpus of unstructured documents (that may not be redundant).
SPIF - Streaming Progressive Image Format
Gophercon 2017 Talk Slides, Links and Videos
Project management is better when it’s visual
Manage your workload, communicate with your team, and celebrate success.
Lyft 开放平台（Public API Platform）是对 Lyft 主 app 的延伸，包括 Lyft 企业版、礼宾服务、与酒店航空等其它行业的合作对接，以及与其他平台的深度整合与资源共享。对于这样多个职能部门合作，业务覆盖面广的大型项目，除了需要高质素的研发人员之外，良好的团队文化至关重要。营造正确的团队文化有两个直接的目的：提高团队效率；促进人才培养。