FEX 技术周刊 - 2019/12/23
V8 release v8.0
Will we have a party? Will we ship a new compiler? Will we skip versions 8 and 9 and just stay at an eternal V8 version X? Finally, after over 10 years of work, on our 100th blog post, we’re pleased to announce our newest branch, V8 version 8.0 V8, and we can finally answer that question: It’s bug fixes and performance improvements.
WebAssembly becomes a W3C Recommendation
WebAssembly is a safe, portable, low-level format designed for efficient execution and compact representation of code on modern processors including in a web browser. At its core, WebAssembly is a virtual instruction set architecture that enables high-performance applications on the Web, and can be employed in many other environments. There are multiple implementations of WebAssembly, including browsers and stand-alone systems. WebAssembly can be used for applications like video and audio codecs, graphics and 3D, multi-media and games, cryptographic computations or portable language implementations.
Rethinking Atomic React: an interpretation of Brad Frost’s Atomic Design to use in React projects
Atomic Design is a very widespread topic nowadays within the front-end community, but while looking at several projects, I realized that there is still a lot of personal opinion on its implementation, and here I list some points that caught my attention throughout the years. This article is not a tutorial on how to create your applications but it is intended to share my interpretation on how to best use this amazing methodology.
AntV 架构演进-G2 篇
G2 自 2014 年以来已经发展到 4.0，回顾过去，我们发现每一个版本都是一笔记忆，当我们队每个版本的架构进行梳理，分析每个版本背后的思考时，这些记忆就转换成了财富，我从下面这些阶段谈起：G2 之前的图表；v0.1 - v1.0 成型；G2 v2.0 完善图形语法；G2 v3.0 通用场景的支持；G2 v4.0 交互语法和多维分析。
监控报警是故障发现的重要一环，也是百度在AIOps的最早切入方向之一，目前百度AIOps在监控报警方面已经有两个场景取得突出效果：智能异常检测和智能报警合并。如何支撑AIOps算法在监控报警系统的快速落地并产生业务价值，这对监控报警架构提出了很大的挑战！在上篇《AIOps对监控报警架构的挑战》文章中，我们介绍了监控报警系统在故障处理流程中的位置（故障发现和故障通告），并且分析了AIOps对监控报警架构的三个挑战。在本篇，我们将详细介绍应对这三个挑战的方案：为了应对挑战一，我们研发了策略运行平台，让AIOps算法迭代找到飞一般的感觉。为了应对挑战二，我们提出了基于状态机的事件管理引擎，让事件管理so easy。为了应对挑战三，我们设计了灵活的报警合并方案，让值班工程师彻底跟报警风暴say bye bye。下面我们来详细看下这三个方案的实现细节。
State of Storybook 2019
Breakout year for Community, Product, and Ecosystem
Looking into Svelte 3
Quickstart by creating a retro board in Svelte from scratch
Angular 9.0.0 and Ivy improvements
One of the biggest updates in the pipeline right now is the upcoming release of Angular 9.0.0. Currently in RC, Angular 9.0 will hopefully ship early next year. But this release includes so much that I thought it required a post to highlight some of the most important updates.
Monitor Frontend Performance With User-Centric Performance Metrics in New Relic
Further, interactivity metrics help you measure and improve customer experience by showing:
- How quickly your users can interact with visual content after your site renders it
- How quickly your users get a response after interacting with visual content
- How code-level elements of your site affect user interaction across device type, browser, or browser version
Building an Awesome UI Component Library in 2020
How to build your team’s next-gen component library in bit.dev, with real React component examples!
How Shopify Manages API Versioning and Breaking Changes
At Shopify, we have tens of thousands of partners building on our APIs that depend on us to ensure our merchants can run their businesses every day. In April of this year, we released the first official version of our API. All consumers of our APIs require stability and predictability and our API versioning scheme at Shopify allows us to continue to develop the platform while providing apps with stable API behavior and predictable timelines for adopting changes.
Evaluating BBRv2 on the Dropbox Edge Network
Overall, BBRv2 is a great improvement over the BBRv1 and indeed seems way closer to being a drop-in replacement for Reno/CUBIC in cases where one needs slightly higher bandwidth. Adding experimental ECN support to that and we can even see a drop-in replacement for Data Center TCP (DCTCP). *Minus the 0.0001% of outliers with a >60% packet loss.
The On-Device Machine Learning Behind Recorder
We launched Recorder, a new kind of audio recording app for Pixel phones that leverages recent developments in on-device machine learning (ML) to transcribe conversations, to detect and identify the type of audio recorded (from broad categories like music or speech to particular sounds, such as applause, laughter and whistling), and to index recordings so users can quickly find and extract segments of interest. All of these features run entirely on-device, without the need for an internet connection.
Deterministic Aperture: A distributed, load balancing algorithm
In this blog post, we will walk through a new client-side load balancing technique we’ve developed and deployed widely at Twitter which has allowed our microservice architecture to efficiently scale clusters to thousands of instances. We call this new technique deterministic aperture and it’s available within Finagle, Twitter’s protocol-agnostic remote procedure call (RPC) framework.
An Update on CDNJS
When you loaded this blog, a file was delivered to your browser called jquery-3.2.1.min.js. jQuery is a library which makes it easier to build websites, and was at one point included on as many as 74.1% of all websites. A full eighteen million sites include jQuery and other libraries using one of the most popular tools on Earth: CDNJS. Beginning about a month ago Cloudflare began to take a more active role in the operation of CDNJS. This post is here to tell you more about CDNJS’ history and explain why we are helping to manage CDNJS.
This Page is Designed to Last - A Manifesto for Preserving Content on the Web
My proposal is seven unconventional guidelines in how we handle websites designed to be informative, to make them easy to maintain and preserve. The guiding intention is that the maintainer will try to keep the website up for at least 10 years, maybe even 20 or 30 years. These are not controversial views necessarily, but are aspirations that are not mainstream—a manifesto for a long-lasting website.
And so after over 21,717 respondents took this year’s survey we had to dig up our components and charts, curse us-from-a-year-ago for writing such crappy code, and get to work digging through the data.
The future of merge requests: Real-time collaboration
We want to hear your thoughts on the future of merge requests and code review.
Chrome 80, Content Indexing, ES Modules and More
Unless otherwise noted, changes described below apply to the newest Chrome beta channel release for Android, Chrome OS, Linux, macOS, and Windows. Learn more about the features listed here through the provided links or from the list on ChromeStatus.com.
Why we forked Firefox and not Chromium
In 2015 Cliqz released its own desktop web browser, forked from Firefox. Up to that point, we had distributed our search and privacy products as a single Firefox addon. In this article we cover why we thought it necessary to create our own browser, why we chose Firefox, and why we think it was the right choice. It’s bug fixes and performance improvements.
A-Frame v1.0.0 - WebXR Support, AR Mode
With the help of a community of hundreds of thousands of developers over the years, we’re releasing A-Frame v1.0.0 to support the coming out of the WebXR spec which has been under discussion for the past several years. The upgrade to A-Frame v1 and beyond will become necessary on more and more browsers as they deprecate WebVR and only support the WebXR specification.
Engineered to handle unexpected socket closures.
Alpine.js offers you the reactive and declarative nature of big frameworks like Vue or React at a much lower cost. You get to keep your DOM, and sprinkle in behavior as you see fit.
Hammerspoon – macOS automation with Lua
This is a tool for powerful automation of OS X. At its core, Hammerspoon is just a bridge between the operating system and a Lua scripting engine. What gives Hammerspoon its power is a set of extensions that expose specific pieces of system functionality, to the user. You can write Lua code that interacts with OS X APIs for applications, windows, mouse pointers, filesystem objects, audio devices, batteries, screens, low-level keyboard/mouse events, clipboards, location services, wifi, and more.
The book consists of two parts: Storage Engines and Distributed Systems since that’s where most of the differences between the vast majority of databases is coming from. In Storage Engines, we start with taxonomy and terminology, then explore In-Place Update storage and discuss several B-Tree variants and their structure. Then we talk about binary data formats and file organization and explore the ways to compose efficient on-disk structures. In Distributed Systems, we start with basic concepts such as processes and links and start building more complex communication patterns.
Monica - Open source personal CRM
Monica helps you organize the social interactions with your loved ones.
Redis 6 RC1 is out today
Redis 6 does not bring just ACLs and SSL, it is the largest release of Redis ever as far as I can tell, and the one where the biggest amount of people participated. So, let’s start with credits. Who made Redis 6? This is the list of contributors by commits (it’s a terrible metric, but the one I can easily generate), having at least two commits, and excluding merge commits. Also note that the number of commits in my case may be inflated a lot by the fact that I fix many small stuff here and there constantly.
文言文編程語言。A programming language for the ancient Chinese.
Announcing Rust 1.40.0
The highlights of Rust 1.40.0 include #[non_exhaustive] and improvements to macros!() and #[attribute]s. Finally, borrow-check migration warnings have become hard errors in Rust 2015.
Design APIs: The Evolution of Design Systems
Design systems enable designers and developers to quickly create quality software on a massive scale. As the needs of software-driven businesses grow even larger, design systems are evolving — they are beginning to look and work like APIs.
Six Questions to Structure Great Projects
A clarifying rubric to help teams align around new ideas. Before green-lighting any project, there are six questions your team should be able to answer: What’s the context? What’s the “people problem”? What’s our causal hypothesis? What’s our project plan? How will we measure success? What will we do next?
Your Bot Will Fail
Balancing the real with the ideal in conversational design.
UI/UX Design Trends for 2020
Twenty design trends for everyone in the world of user interface and experience to watch(out) for in twenty-twenty.
Quantitative Data Tools For UX Designers
Data analysis, tools and workflow are very helpful to UX designers in a data-driven world, especially for those working on visualizations or data products.