FEX 技术周刊 - 2019/05/20
V8 release v7.5
How to Move Beyond a Monolithic Data Lake to a Distributed Data Mesh
Many enterprises are investing in their next generation data lake, with the hope of democratizing data at scale to provide business insights and ultimately make automated intelligent decisions. Data platforms based on the data lake architecture have common failure modes that lead to unfulfilled promises at scale. To address these failure modes we need to shift from the centralized paradigm of a lake, or its predecessor data warehouse. We need to shift to a paradigm that draws from modern distributed architecture: considering domains as the first class concern, applying platform thinking to create self-serve data infrastructure, and treating data as a product.
Better HTTP/2 Prioritization for a Faster Web
HTTP/2 promised a much faster web and Cloudflare rolled out HTTP/2 access for all our customers long, long ago. But one feature of HTTP/2, Prioritization, didn’t live up to the hype. Not because it was fundamentally broken but because of the way browsers implemented it. Historically the browser has been in control of deciding how and when web content is loaded. Today we are introducing a radical change to that model for all paid plans that puts control into the hands of the site owner directly. 另附：Parallel streaming of progressive images、Faster script loading with BinaryAST?.
探索 Serverless 中的前端开发模式
看似与前端关系不大的 Serverless，其实早已和前端有了渊源，并且将对前端开发模式产生变革性的影响。本文主要就根据个人理解和总结，从前端开发模式的演进、基于 Serverless 的前端开发案例以及 Serverless 开发最佳实践等方面，与大家探讨 Serverless 中的前端开发模式。
支付宝 App 跨平台动态化框架
本文将结合在 iWeb 武汉站的分享，带领大家进一步了解 mPaaS 在移动端动态化方案设计。首先，分享内容将分为以下三个方面：支付宝动态化方案的探索；Nebula 框架浅析；mPaaS 科技赋能。
Shared Components Best Practices for 2019
Successful practices for developing and managing shared components between teams and projects with Bit and friends.
Practical web accessibility guide
Creating a website nowadays is much easier than it used to be several years ago. New tools, frameworks, and libraries allow you to create a unique and unforgettable experience for your users. But at the same time, new challenges emerge. Making the whole thing accessible is one of them.
The lifecycle and performance of a Lucet instance
We recently announced Lucet, our native WebAssembly compiler and runtime, and have been so excited by the community’s interest. In this post, we’ll explain how the Lucet runtime system works by sharing what happens at each step of the lifecycle of a WebAssembly program running on Lucet. We’ll also detail how we keep the overhead of each step as low as possible.
Visualizing Traffic Safety with Uber Movement Data and Kepler.gl
Urban traffic can be dangerous, a point known all too well by city dwellers and drivers. Discovering the most dangerous street locations in a city can help urban planners take steps to enhance safety through strategies such as lower speed limits or traffic rerouting. Among its many uses, data visualization delivers the insights urban planners can use to better manage traffic in cities.
API design: Why you should use links, not keys, to represent relationships in APIs
While links aren’t widely used in APIs, some very prominent web APIs use links based on HTTP URLs to represent relationships, for example the Google Drive API and the GitHub API. Why is that? In this post, I’ll show what using API foreign keys looks like in practice, explain its disadvantages compared to the use of links, and show you how to convert that design to one that uses links.
Advancing the developer experience for serverless apps with Azure Functions
Azure Functions constantly innovates so that you can achieve more with serverless applications, enabling developers to overcome common serverless challenges through a productive, event-driven programming model.
What We Got Wrong: Lessons from the Birth of Microservices
Ben Sigelman talks about what Google got wrong about microservices, the lessons learned along the way and how to apply those lessons today.
Build your own WebAssembly Compiler
Have you ever wanted to write your own compiler? … yes? … of course you have! I’ve always wanted to have a go at writing a compiler, and with the recent release of WebAssembly, I had the perfect excuse to have a go. So, rather than waste all that work - I thought I’d write up my talk as a blog post instead - hence the ‘19 min’ reading time for this article.
The origin story of data science
Along the way to becoming the field that we know now, data science received a lot of criticism from academics and journalists who saw no distinction between it and statistics, especially during the period 2010–2015. The difference may not have been obvious to them without a statistician’s background. Here, we examine the origins of this field to get a better understanding of why it is a distinct academic discipline. And since it’s a story better understood when looked at through the individuals involved in creating it, let’s meet the four people who pushed the boundaries of statistics: John Tukey, John Chambers, Leo Breiman, and Bill Cleveland.
SQLFlow: Motivations and the Design
SQLFlow allows users to write standard SQL statements, which are acceptable by the SQL engine, and statements with extended syntax to support AI functionality.
Systems Thinking as important as ever for new coders
Huawei Launches AI-Native Database
Following the announcement of its AI strategy and full-stack, all-scenario AI solutions in 2018, Huawei launched the AI-Native database GaussDB and the highest-performance distributed storage FusionStorage 8.0 today in Beijing. The aim of this launch is to redefine data infrastructure through a Data + Intelligence strategy.
As search needs evolve, Microsoft makes AI tools for better search available to researchers and developers
The Bing team said they expect the open source offering could be used for enterprise or consumer-facing applications to identify a language being spoken based on an audio snippet, or for image-heavy services such as an app that lets people take pictures of flowers and identify what type of flower it is. For those types of applications, a slow or irrelevant search experience is frustrating. 另附：Introducing Translatotron: An End-to-End Speech-to-Speech Translation Model、New ML Kit features easily bring Machine Learning to your apps.
Announcing TypeScript 3.5 RC
Let’s explore what’s new in 3.5! Speed improvements, The Omit helper type, Improved excess property checks in union types, The –allowUmdGlobalAccess flag, Smarter union type checking, Higher order type inference from generic constructors, Breaking changes.
We shipped font-display to Google Fonts!
At Google I/0 2019, we announced that we would finally be bringing support for font-display to Google Fonts. I’m happy to share this is now available in production for all Google Fonts users via the new display parameter.
W3C Invites Implementations of WoT Thing Description and WoT Architecture
Web of Things (WoT) Thing Description https://www.w3.org/TR/2019/CR-wot-thing-description-20190516/
Web of Things (WoT) Architecture https://www.w3.org/TR/2019/CR-wot-architecture-20190516/
Announcing Stencil One: Beta
Stencil, is an open source (MIT) toolchain that builds reusable, scalable Design Systems by combining the best features from popular frontend frameworks and generating standard Web Components (instead of a third-party component model). Stencil was first announced in 2017 at Polymer Summit by my colleagues, Adam Bradley and Max Lynch. Originally called “Ionic core” internally, Stencil was born out of our desire to solve our own JS Framework dependency problems and increase performance for Ionic Framework. As it turns out, Stencil ended up solving a lot more than that.
New Electron Release Cadence
Electron is moving to release a new major stable version every 12 weeks!
Script debugging is one of the most powerful and complex productivity features in the web developer toolbox. Done right, it empowers developers to fix bugs quickly and efficiently. So the question for us, the Firefox DevTools team, has been, are the Firefox DevTools doing it right?
What to Expect From Marzipan
It’s clear that this year’s WWDC is going to be a doozy. We’ve written here previously with our thoughts about Dark Mode, now it’s time to talk about iOS apps coming to the Mac. Of course I’m talking about Marzipan, a technology Apple introduced with few details during last year’s Keynote.
Getting Started with Svelte 3
Svelte is a UI framework of sorts that barrows a lot or the great ideas from some of its peers like React and Vue.js, but brings about its own interesting ideas to the table. Plus, it’s not entirely a framework in the sense that we’re used to and is perhaps better seen as a compiler.
React Final Form
High performance subscription-based form state management for React.
Build accessible rich web apps with React. Reakit strictly follows WAI-ARIA 1.1 standards and provides many of the widgets described in WAI-ARIA Authoring Practices 1.1, like Button, Dialog, Tab and others.
This is the first article in a series of articles about three.js. Three.js is a 3D library that tries to make it as easy as possible to get 3D content on a webpage. 另附：React 16 + Three.js integration tips (2019).
Taichi – Computer Graphics R&D Infrastructure
Taichi is an open-source computer graphics library that aims to provide easy-to-use infrastructures for computer graphics R&D. It’s written in C++14 and wrapped friendly with Python. 另附：3D Game Shaders For Beginners.
Meet Vermeer — Google Arts & Culture
Vermeer’s complete works united: 36 paintings from 18 museums across 7 different countries
New Game - Minecraft Earth
We can think of no better way to celebrate our tenth anniversary than by finally being able to tell you about our top-secret-but-not-anymore-thank-goodness-because-if-I-had-to-keep-schtum-about-this-for-even-one-more-second-I’d-explode-like-a-creeper augmented reality mobile game! This is Minecraft like you’ve never experienced it before, allowing you to give your day-to-day life a Minecraft makeover! Here’s just some of the AR awesomeness you’ll be able to get up to in Minecraft Earth.
How Frontend Developers Can Help To Bridge The Gap Between Designers And Developers
Developers are known to usually be the last ones who leave their fingerprints before a website or any sort of web product gets shipped. Obviously, a lot of responsibility is involved and the quality of their work can either make a project excel or go down the drain. This article gives suggestions about what frontend developers can do on their end to better bridge the gap between designers and developers.
Fundamental design principles for non-designers
This one is for all the content creators out there who can’t afford to pay a professional designer, as well as for non-designers on a team where designers are always too busy to help. If you can follow these simple steps, I guarantee your designs will look better.
Android Q 的深色主题的推出后，官方的 Material Design 的设计规范也随之进行了更新。作为目前最主流的设计风格和主题规范之一，Material Design 的深色主题设计规范非常值得参考学习。这是一套高度自恰的设计规范，有着相当严密的内部逻辑，在 Material Design 的内在隐喻逻辑的推动下，严格遵循国际通行的可用性原则来确保深色主题的可用性和合理性。
Split Buttons: Definition
A split button is a dual-function menu button that offers a default action as well as the possibility of choosing a different action by selecting from a set of alternatives.
The Origins of Bad Logo Redesigns
Logo redesigns are a lot like a tightrope act—on a windy day, in a pouring rain, no nifty balancing pole or safety net below. The risks are high, and the margin for error is thin.
Wolfram|Alpha at 10
Today it’s 10 years since we launched Wolfram|Alpha. At some level, Wolfram|Alpha is a never-ending project. But it’s had a great first 10 years. It was a unique and surprising achievement when it first arrived, and over its first decade it’s become ever stronger and more unique. It’s found its way into more and more of the fabric of the computational world, both realizing some of the long-term aspirations of artificial intelligence, and defining new directions for what one can expect to be possible. Oh, and by now, a significant fraction of a billion people have used it. And we’ve been able to keep it private and independent, and its main website has stayed free and without external advertising.
The Complete Guide to Deep Work
Let’s get right to the point: bouncing between your inbox, pointless meetings, and group chat notifications is no way to get ahead in today’s information economy. These are markers of busyness not productivity. They won’t help you to deepen your writing practice, master a programming language, or grow your business. In fact, these activities won’t aid you in any number of the ambitious goals you’ve set for yourself. Instead, succumbing to these attention traps leads you off the path of excellence and down the road of mediocrity. To be truly exceptional at the work you do, and to gain recognition for it, you’ll need to adopt a different strategy entirely. Enter “deep work”.
The struggles of an open source maintainer
Months ago the maintainer of an OSS project in the sphere of system software, with quite a big and active community, wrote me an email saying that he struggles to continue maintaining his project after so many years, because of how much psychologically taxing such effort is. He was looking for advices from me, I’m not sure to be in the position of giving advices, however I told him I would write a blog post about what I think about the matter.
很多人认为程序员应该供的神里面排名第一的应该是Linus Torvalds，因为他是Linux和Git之父。然而我要试图反驳这个观点，因为地球上有另外一位伟大的程序员，有超过四代码农用他的开发工具吃饭。Linus只用C编程而且不到30年，而这位神级程序员在近40年中一直创造引领潮流的开发工具(Turbo Pascal/Delphi/C#/TypeScript)，他就是Anders Hejlsberg。
过去高科技工业的发展历史，每一个新的拐点或者起点，基本上是由新一代计算平台所驱动，这个计算平台里面有个重要的一环，我把它叫做“定义性的用户体验”，比如互联网定义性用户体验，其实是最早的浏览器Mosaic；PC时代定义性体验，基本是Win95；移动互联网的定义性体验就是第一个iPhone。如何观察是不是到了下一个时代拐点，我们要关注是不是有新的定义性用户体验，当你第一次看到iPhone，就知道这不一样，我们以前没有这个，这会启动一个新的时代。中国的产品更容易出海，因为相对美国来说，中国与其他国家的“距离”在用户体验上更接近。从某种意义上来讲，中国创业者有这样一个历史性的机遇，第一次在美国之外，有这样一个机会，可以用全球化思维来考虑创新。另附：陆奇在知乎的课程 - AI 本质与创业创新.