FEX 技术周刊 - 2018/08/13
V8 release v6.9
This post provides a preview of some of the highlights in anticipation of the release: Memory savings through embedded built-ins; Liftoff, WebAssembly’s new first-tier compiler; Faster DataView operations; Faster processing of WeakMaps during garbage collection;
Announcing Dart 2 Stable and the Dart Web Platform
We’re announcing the immediate availability of the stable release of Dart 2, including a rewrite of the Dart web platform that offers a unique combination of productivity, performance and scalability. With the release of Dart 2, web developers can now leverage the same language, libraries and tools along with a number of web-specific enhancements. 附：Dart重启！Dart 2正式发布，目标成为移动与Web开发主流语言.
New version of the Roadmap of Web Applications on Mobile
W3C has published a new version of its Roadmap of Web Applications on Mobile, an overview of the various technologies developed in W3C that increase the capabilities of Web applications, and how they apply more specifically to the mobile context. The contents of the roadmap have been updated to follow the evolution of the Web platform since April 2018.
Community questions following the eslint security incident
Following the eslint incident on July 12, 2018, the community reached out to us with a few follow-up questions. This post will answer those questions as well as provide some additional technical insight into the eslint-scope malware that we haven’t seen discussed elsewhere.
对于众多CSSer来说，阅读CSS的规范和理解相关的概念都是枯燥无味的。而且很多同学理解一些概念都比较吃力。比如这篇文章中提到的相关概念： 文档流（Normal Flow）、格式化上下文（Formatting Context）、层叠上下文（Stacking Context）、层叠水平（Stacking Level） 和 层叠顺序（Stacking Order）。虽然这些概念是CSS的基础，但很多同学都一直不愿去触碰，因为它们看起来简单，事实上还是较为复杂的。如查我们花一定的时间理解了这些概念，能帮助我们更好的理解CSS中其他相关的概念和知识点，特别是z-index的运用。
这是一个值得思考的问题。其实 UI 是可以成为产品核心竞争力的，比如 Apple。
Pseudo Localization @ Netflix
In the past 8 years Netflix has transformed from an English-only product, to now supporting 26 languages and growing. As we add language support for our members residing in 190 different countries, scaling globalization at Netflix has never been more important. Along the way we’ve built out countless solutions to help us achieve globalization at scale. In this article we’ll focus on one my team has been working on, Pseudo Localization.
A Breath of Life: Welcome the Brand New Mobile Web Dashboard
We rebuilt another piece of the site with React. And the rewrite turned out really well. Even with more features like pull-to-refresh, a new activity popover, and modern audio and video players, we sped up our DOM content loaded time by 35%! The new page has a lot of modern web standards in it too like srcsets, flexbox, asynchronous bundle loading, and a web app manifest.
Webhint.io – hinting at a better web
we released a new, rebranded version of the tool. It is now called Webhint and you can find it on GitHub, use it at webhint.io or use it as a node module using npm, yarn or whatever other package installer you want to use. By default webhint tests for these features of great web products: Performance, Accessibility, Browser Interoperability, Security, Sensible configuration of build tools and PWA Readiness.
ow, when I say they cheat, they technically follow the rules. But they find loopholes in those rules and stretch them big enough to drive a herd of elephants through. There’s two main ways they do this: Dependency injection, or as I call it, chucking the problem over the fence; and Using an Effect functor, which I think of as extreme procrastination.
GLB: GitHub’s open source load balancer
GLB Director is a Layer 4 load balancer which scales a single IP address across a large number of physical machines while attempting to minimise connection disruption during any change in servers. GLB Director does not replace services like haproxy and nginx, but rather is a layer in front of these services (or any TCP service) that allows them to scale across multiple physical machines without requiring each machine to have unique IP addresses.
GraphQL on the server
In the following post we’ll quickly explain what GraphQL is and why you might want to consider it. GraphQL is a querying language for APIs, and we have been using it as an alternative to REST. 另附：graphqurl - a curl like CLI for GraphQL、Moving beyond REST vs. GraphQL to platform thinking.
Two Years Later: APIs are the Destination
eBay speaks API! Two years ago, we started a journey to deliver a new, modern family of APIs to expose marketplace capabilities to sellers and buyers. The APIs evolved and grew with the business and enabled expansion to new experiences. They are built by developers for developers and treated as first-class products at eBay. We delivered a simple, consistent, and well-documented API portfolio rather than an API maze where it is challenging to discover capabilities.
Why Status Codes Matter in Data Delivery
Segment engineering has taken lengths to operate reliably in this environment. Our latest efforts have been around visibility into the HTTP response codes from destinations. We spent the last few months adding hooks to measure everything from the volume of events, how quickly they are sent to destinations, and what HTTP status code and error response body, if any, occurred for every request. This instrumentation is ultimately for Segment users to see into the black box to answer one question: how do delivery challenges affect my data? To this end, we built an event delivery dashboard around the data.
Use Cloudflare Stream to build secure, reliable video apps
If I had to summarize what we’ve learned as we’ve built Stream it would be: Video streaming is hard, but building a successful video streaming business is even harder. This is why our goal has been to take away the complexity of encoding, storage, and smooth delivery so you can focus on all the other critical parts of your business.
If You’re Not Monitoring Your Resource Pools, You’re Doing It Wrong
In my four years at New Relic I’ve been responsible for the health of dozens of different services. Something they all had in common was that when they failed you could always see something going on in their resource pools.
Prometheus - transforming monitoring over the years
Prometheus is easy to set up as a single, statically linked binary that can be downloaded and started with a single command. In tandem with this simplicity, it scales to hundreds of thousands of samples per second ingested on modern commodity hardware. Prometheus’ architecture is well suited for dynamic environments in which containers start and stop frequently, instead of requiring manual re-configuration. M3: Uber’s Open Source, Large-scale Metrics Platform for Prometheus.
Writing Good Documentation for Your Open-Source Library
There are many parts to a documentation, among others: Readme, Reference, Guide, Cookbook, Blog post. Each of these fulfills different purposes, and the boundary between kinds of docs is sometimes blurred. 另附：如何才能写出好的软件设计文档.
Scientific computing has traditionally required the highest performance, yet domain experts have largely moved to slower dynamic languages for daily work. We believe there are many good reasons to prefer dynamic languages for these applications, and we do not expect their use to diminish. Fortunately, modern language design and compiler techniques make it possible to mostly eliminate the performance trade-off and provide a single environment productive enough for prototyping and efficient enough for deploying performance-intensive applications. The Julia programming language fills this role: it is a flexible dynamic language, appropriate for scientific and numerical computing, with performance comparable to traditional statically-typed languages.
Vue CLI 3.0 is here!
Over the past few months, we’ve been working really hard on the next generation of Vue CLI, the standard build toolchain for Vue applications. Today we are thrilled to announce the release of Vue CLI 3.0 and all the exciting features that come with it. 另附：Vue技术内幕、VUE.js 技术揭秘、Vue SSR不可不知的问题.
First Babel 7.0 Release Candidates
附：Planning for 7.0
Ultralight - HTML UI Engine
Ultralight is the lighter, faster option to integrate HTML UI in your C++ app.
介绍 firefox 新版重放功能的实现，可以支持 JS、DOM、图形的重放，看起来很厉害
The Transport Layer Security (TLS) Protocol Version 1.3
This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery. 附：Facebook - Deploying TLS 1.3 at scale with Fizz, a performant open source TLS library、A Detailed Look at RFC 8446 (a.k.a. TLS 1.3).
Internet Archive, decentralized
A goal in creating a Decentralized Web is to reduce or eliminate such centralized points of control. That way, too, if any player drops out, the system still works. Such a system could better help protect user privacy, ensure reliable access, and even make it possible for users to buy and sell directly, without having to go through websites that now serve as middlemen, and collect user data in the process. 另附：Nile: decentralized, commission-free, local-economy focused ecommerce、Dweb: Social Feeds with Secure Scuttlebutt.
Mavo - A new, approachable way to create Web applications
Introducing Android 9 Pie
Android 9 harnesses the power of machine learning to make your phone smarter, simpler, and tailored to you. Read all about the new consumer features here. For developers, Android 9 includes many new ways to enhance your apps and build new experiences to drive engagement.
Introducing Electron Fiddle
We’re releasing a first version of Electron Fiddle, an attempt to bring the same playfulness to cross-platform desktop development with Electron. Electron Fiddle lets you create, share, and play with small Electron experiments. It greets you with a quick-start template after opening — change a few things, choose the version of Electron you want to run it with, and play around.
Angular Console — The UI for the Angular CLI
We realized that most developers don’t need more sophisticated commands — they need a more approachable way to use what the Angular CLI already does. And that’s what Angular Console is.
Flexible date picker component for React. Highly customizable, localizable, with ARIA support, no external dependencies, 9KB gzipped. 另附：React Timekeeper - Time picker based on the style of the Android Google Keep app
dumper.js is a better and pretty variable inspector for your Node.js applications.
franc - Detect the language of text
What’s so cool about franc? franc can support more languages(†) than any other library; franc is packaged; with support for 82, 188, or 402 languages; franc has a CLI.
camaro is an utility to transform XML to JSON, using Node.js binding to native XML parser pugixml, one of the fastest XML parser around.
Got - Simplified HTTP requests
Got is a human-friendly and powerful HTTP request library. It was created because the popular request package is bloated.
A modern CSS framework — versatile, well documented.
Building a Design Culture of Inclusion
Design=Empathy, Empathy=Understanding, Understanding=Exposure, Exposure=Meaning, Meaning=Inclusion, Inclusion=Design. And so you can see that a truly inclusive environment does not come together without thought or deliberate effort, and really takes an exercise in design thinking to bring a great team together.
Introducing Supernova V4
Forget what you’ve been told. Design to code is finally possible. Ever since the first beta of Supernova, we’ve dreamed about the day when it would be possible to blend the world of design and code just so that people can work better, together. Today, we are unveiling Supernova V4, the most advanced design to code tool, available now! 另附：Framer X Preview.
Flow 1.0.0 – All the Polish
Flow is a production tool that lets you animate static designs in seconds, then export those animations to either HTML5 / CSS or Swift / iOS code.
Utilizing Micro-interactions to Enhance Your UX Design
A website that works across all devices is also key to having a high conversion rate and building loyalty. For those striving for success, effectively enhancing UX micro-interactions—which are often overlooked—can make the difference between a customer that stays and a customer that hits the X button on their browser.
Whatever The Approach, It’s The 4I’s!
Okay, if you did not read “Design Introduction — We Are Designers By Nature!” Read it and back again. As a reminder, you are reading this article as a part of the 4I’s serious: Whatever The Approach, It’s a 4I’s!. The 4I’s – Introduction to Inspiration. The 4I’s – Introduction to Ideation. The 4I’s – Introduction to Implementation. The 4I’s – Introduction to Iteration.
How System Thinking Will Improve Your Product Design
I recognized it was a very complex challenge and unless I change my way of thinking about products and treat them as systems, I will never be able to solve these complexities.
What is Typesetting?
Typesetting is the most important part of typography, because most text is meant to be read, and typesetting involves preparing text for reading. 另附：Web Typography Resources.
OpenAI Five Benchmark: Results
OpenAI Five won a best-of-three against a team of 99.95th percentile Dota players: Blitz, Cap, Fogged, Merlini, and MoonMeander — four of whom have played Dota professionally — in front of a live audience and 100,000 concurrent livestream viewers. 另附：Why we need to think differently about AI.
Where Vim Came From
Vim is everywhere. It is used by so many people that something like HEX file support shouldn’t be a surprise. Vim comes pre-installed on Mac OS and has a large constituency in the Linux world. It is familiar even to people that hate it, because enough popular command line tools will throw users into Vim by default that the uninitiated getting trapped in Vim has become a meme. There are major websites, including Facebook, that will scroll down when you press the j key and up when you press the k key—the unlikely high-water mark of Vim’s spread through digital culture.
7 open web champions on the greatest web challenges
Along with other digital rights organisations, our team attended the Internet Freedom Forum in Abuja in April. We took this opportunity to speak to our peers about the biggest issues we all face online today. Here’s what they said. 另附：Securing Web Sites Made Them Less Accessible
Get to Know Our New Code of Conduct
Stack Overflow began with a community of folks that were avid readers and pundits of Joel On Software and Coding Horror. As the initial community had some experience interacting with one another, “Be nice” was sufficient as a beacon to pull people back from over-enthusiastically critiquing other user’s contributions.
拼多多为什么崛起？拼多多的用户体验有何不同？对拼多多用户有怎样的洞察？8 月 2 日，《产品经理 30 讲》作者梁宁在得到 APP 上，就最近最火的拼多多展开了一系列分析。经梁宁授权，首席品牌官把直播内容整理后，分享给大家。可以说，这绝对是目前市场上面对于拼多多的解读和研究最深刻的一次。拼多多包括低端供应链也好，怎么着也好，大家在这个过程中叫做过程的机会，或者叫过程的原罪。但最终的终局一定是体验的平等。另附：美团的成功，是因为“农村包围城市”的战略吗.
— THE END –