F8 - 2019

DockerCon 2019 https://www.docker.com/dockercon/
附:It’s a Wrap – Highlights from the DockerCon 2019 Keynote Sessions.


Local-first software - You own your data, in spite of the cloud
In this article we propose “local-first software”: a set of principles for software that enables both collaboration and ownership for users. Local-first ideals include the ability to work offline and collaborate across multiple devices, while also improving the security, privacy, long-term preservation, and user control of data.

How to use React Context effectively
Don’t reach for context to solve every state sharing problem. Context does NOT have to be global to the whole app. You can have multiple logically separated contexts in your app. 另附:How to useReducer in React?.

7 Tools for Developing Web Components in 2019
In this post, I’ll review 5 unranked tools you should know and consider if you’re thinking one putting web components to use in 2019. 另附:Making Web Components for Different Contexts.

爬取2000篇 Matrix 文章,这是一份可视化踹门教程
我们处在一个高度信息化的时代, 时刻都会在互联网上留下大量的访问痕迹——数据,小到日常的消费账单,大到一笔一笔的银行流水。这些留下来的海量数据无疑是对现实世界的简化和抽象表达,但对于大部分人来说,它们只是 Excel 里面的行行列列,不仅可读性差,而且晦涩难懂。如何提高数据的可读性,很大程度上取决于你看数据的方式,解读数据的方式。比如,我们可以将抽象的数据再抽象,经过二次抽象的数据变成了图表,反而可读性更高,更利于人们理解。提到数据可视化,Python、R、D3 甚至是 Excel,能够产生美妙图表的工具数不胜数,但它们大多都有一些技术门槛,要求你至少有一些编程基础,这对于非科班出身的人来说,并不友好。所以,我希望能减少对技术的依赖,去寻找一些优秀工具,同样能获得不错的可视化效果。

Node.js Best Practices
You are, in fact, reading dozens of the best Node.js articles - this repository is a summary and curation of the top-ranked content on Node.js best practices, as well as content written here by collaborators.

Node.js v12 - New Features You Shouldn’t Miss
Node.js v12 is out on schedule! It is going into LTS in October and will be maintained until 2022. Here is a list of changes we consider essential to highlight.

Understand how to approach designing queues in Node
A new scenario you might not have faced before: you have a long running task (like saving to a bunch of different databases, or processing video) that takes a while to process and it’s currently causing your REST API response times to be way too slow for the end user. After some research, you’ve realized adding a queue to your architecture would solve your problem. The only problem is, working out how a queue actually works is confusing. In this post we’ll be going over the architecture for how a queue works (using the reliable queue pattern) so you can achieve exactly these things.

The Many Benefits of Using a Monorepo
We’re extremely happy with our monorepo and plan to move even more projects to it. Along with simplifying the workflows, it brings our various platform teams closer together and encourages them to “dig deeper” and fix issues across all platforms instead of delegating things to other teams.

GitLab’s journey from Azure to GCP
Gitlab Staff Engineer Andrew Newdigate shares how we completed our migration to Google Cloud Platform, and how we overcame
Dropbox is building features to help users stay focused on what matters. Searching through your content can be tedious, so we built content suggestions to make it easier to find the files you need, when you need them.challenges along the way.

Real-time Data Processing for Monitoring and Reporting
A practical use case of spark structured streaming.

Using machine learning to predict what file you need next
Dropbox is building features to help users stay focused on what matters. Searching through your content can be tedious, so we built content suggestions to make it easier to find the files you need, when you need them. We’ve built this feature using modern machine learning (ML) techniques, but the process to get here started with a simple question: how do people find their files? What kinds of behavior patterns are most common?

6 Technical Challenges Developing a Distributed SQL Database
We crossed the three year mark of developing YugaByte DB in February of this year. It has been a thrilling journey thus far, but not without its fair share of technical challenges. There were times when we had to go back to the drawing board and even sift through academic research to find a better solution than what we had at hand. In this post we’ll outline some of the hardest architectural issues we have had to address in our journey of building an open source, cloud native, high-performance distributed SQL database. Look for subsequent posts that will dive-deep into each respective issue. OK, let’s get started exploring these issues from easiest to most challenging.

I/O Is Faster Than the CPU – Let’s Partition Resources and Eliminate (Most) OS Abstractions
I/O is getting faster in servers that have fast programmable NICs and non-volatile main memory operating close to the speed of DRAM, but single-threaded CPU speeds have stagnated. Applications cannot take advantage of modern hardware capabilities when using interfaces built around abstractions that assume I/O to be slow. We therefore propose a structure for an OS called