深阅读

WebAssembly Summit 2020
https://www.youtube.com/playlist?list=PL6ed-L7Ni0yQ1pCKkw1g3QeN2BQxXvCPK#wassummit2020
WebAssembly is undoubtedly going to become a more significant technology this decade, both in the browser and server side. These talks provide a glimpse at the cutting edge of the phenomenon with Lin Clark’s talk providing perhaps the best overview of the entire space.

Fixing memory leaks in web applications
https://nolanlawson.com/2020/02/19/fixing-memory-leaks-in-web-applications/
A poorly-coded SPA can easily eat up megabytes or even gigabytes of memory, continuing to gobble up more and more resources, even as it’s sitting innocently in a background tab. At this point, the page might start to slow to a crawl, or the browser may just terminate the tab and you’ll see Chrome’s familiar “Aw, snap!” page.

When DIY Robots Invade
https://thereader.mitpress.mit.edu/when-diy-robots-invade/
Technologies will soon make it far easier for anyone to make a custom robot. Will this result in a zoo of obnoxious, exotic new creatures?

The New Business of AI (and How It’s Different From Traditional Software)
https://a16z.com/2020/02/16/the-new-business-of-ai-and-how-its-different-from-traditional-software/
Just as SaaS ushered in a novel economic model compared to on-premise software, we believe AI is creating an essentially new type of business. So this post walks through some of the ways AI companies differ from traditional software companies and shares some advice on how to address those differences. Our goal is not to be prescriptive but rather help operators and others understand the economics and strategic landscape of AI so they can build enduring companies.

2020 前端开源领域技术展望
https://mp.weixin.qq.com/s/yMg3kpmDaUL-p8iuhbo86Q
可以说开源前端领域正如偏右所说的渡过了波澜不惊的2019年,2020年开启了下一个10年,站在这个起点展望前端的未来,必会面临巨大的变化和挑战。说实话,展望接下来的十年会发生什么?十年对于互联网,对于前端来说太长了,很难想象十年后会是什么一个场景,但这路上有些事情在我们看来正在发生。

前端 DSL 实践指南(上)—— 内部 DSL
https://zhuanlan.zhihu.com/p/107947462
近几年,前端社区中 DSL 这个词开始频繁出镜,这和环境的变化有很大关系。本文作者由于工作经历上的特殊性,积累了一些关于前端 DSL 的实践经验(主要是外部 DSL),在所维护的开源项目中也有一些体现,同时作者在社区也有过一些不成体系的回答如《如何写一个类似 LESS 的编译工具》。这次我会尝试从前端开发的视角来完整探讨下 DSL 这个 「难以细说」 的议题。

Same HTML, Different CSS
https://ishadeed.com/article/same-html-different-css/
This is a step-by-step tutorial based on a concept from the old CSS Zen Garden site: Creating different designs via CSS while never touching the markup.

Angular 9: Lazy Loading Components
https://johnpapa.net/angular-9-lazy-loading-components/
Angular 9 has some pretty awesome new features. The runtime, code-name Ivy, opens the doors to things like making lazy load Angular components more straightforward than ever. This article shows you how to lazy load with Angular 9 and provides the code and resources along the way.

10 Useful Web APIs for 2020
https://blog.bitsrc.io/10-useful-web-apis-for-2020-8e43905cbdc5
Awesome Web APIs for your next web app — with examples.

The Serverless Supremacy, The Fall of the Monolith
https://blog.webiny.com/the-serverless-supremacy-204fbf5add75
Serverless is still proving itself and it’s early days to say for sure that it’s the best thing ever that has happened to development. But I tend to believe that serverless is the future of development, it has to, especially because of the small companies. Literally quite opposite from what David was saying in his blog post. 另附:When microservices might be the wrong choice.

Application Models as Working Software
https://www.infoq.com/articles/application-models-software/
A lightweight model of your application can be built in a just-in-time fashion. A model based on user flows can be used to involve all the disciplines in your product team in meaningful discussion and ideation. The resulting model can be built out iteratively to support development and synchronization with what has been built. The creation of a common language that the entire team can use will foster an inclusive team culture and pay rewards in development efficiency.

The Zen of Go
https://dave.cheney.net/2020/02/23/the-zen-of-go
Something that I’ve been thinking about a lot recently, when reflecting on the body of my own work, is a common subtitle, how should I write good code? Given nobody actively seeks to write bad code, this leads to the question; how do you know when you’ve written good Go code? If there’s a continuum between good and bad, how to do we know what the good parts are? What are its properties, its attributes, its hallmarks, its patterns, and its idioms?

Notes on the Go translation of Reposurgeon
https://gitlab.com/esr/reposurgeon/blob/master/GoNotes.adoc
A few years ago, Eric S Raymond thought Go could replace C in most situations, but now he’s done a rather extensive write up of his experiences in porting a complex program from Python to Go. The result is faster and easier to read, but he ran into a variety of problems.

How 1500 bytes became the MTU of the internet
https://blog.benjojo.co.uk/post/why-is-ethernet-mtu-1500
The MTU (Maximum Transmission Unit) states how big a single packet can be. Generally speaking, when you are talking to devices on your own LAN the MTU will be around 1500 bytes and the internet runs almost universally on 1500 as well. However, this does not mean that these link layer technologies can’t transmit bigger packets.

Storage in the Exabyte Era
https://www.datanami.com/2020/02/19/storage-in-the-exabyte-era/
Much of the growth in data generation (and data storage requirements) comes from unstructured data. Enterprises are on pace to triple the amount of unstructured data stored in file or object storage systems over the next four years, according to Gartner’s recent Magic Quadrant for Distributed File System and Object Storage. What’s more, it found that 40% of infrastructure and operations (I&O) leaders will implement at least one hybrid cloud storage architecture by 2024, up from just 10% last year. 另附:Moore’s Law Is Not Ending Soon And The Reason May Surprise You.

How I think about solving problems
https://humanwhocodes.com/blog/2020/02/how-i-think-about-solving-problems/
The five questions I used to help me decide, prioritize, and solve problems.

Requirements volatility is the core problem of software engineering
https://stackoverflow.blog/2020/02/20/requirements-volatility-is-the-core-problem-of-software-engineering/
It’s now been more than 50 years since the first IFIP Conference on Software Engineering, and in that time there have been many different software engineering methodologies, processes, and models proposed to help software developers achieve that predictable and cost-effective process. But 50 years later, we still seem to see the same kinds of problems we always have: late delivery, unsatisfactory results, and complete project failures.

Coding 4 Kids Inspires Future Engineers
https://tech.ebayinc.com/engineering/inspiring-future-engineers-with-coding-4-kids-workshops/
Today’s children are exposed to technology from a very young age, and on many occasions, 2-year-olds seem to understand the iPad better than adults. Is this enough to encourage and influence them to pursue a career in STEM (science, technology, engineering and mathematics)?

新鲜货

复制粘贴发明人、Java 和互联网创建者相继去世,向初代互联网大佬致敬
https://mp.weixin.qq.com/s?__biz=MjM5MjAwODM4MA==&mid=2650739045&idx=1&sn=ebd573f5fae2138686bd359766219ed9
互联网界痛失两位巨擘:计算机科学家 Larry Tesler 于 2 月 17 日去世,享年 74 岁;历任 Sun Microsystems Laboratories、Xerox PARC 等的实验室主管,参与创立了个人计算机、微处理器技术、SmallTalk 编程语言、Java 编程语言和互联网的 Bert Sutherland 于 2 月 18 日去世,享年 83 岁。

JSBox 2.0 上线,支持 Node.js
https://sspai.com/post/58934
经过大半年时间的开发工作,我们近期上线了 JSBox 2.0,又经过两周时间完成了一些优化和修复,现在是时候向大家介绍这个里程碑版本了。我们在 2.0 版本里面主要做了两件事情:支持 Node.js,改变了付费模式。这篇文章将详细介绍这两件事情给我们和用户带来的影响。

Scroll To Text Fragment DOM
https://github.com/WICG/ScrollToTextFragment/
https://chromestatus.com/feature/4733392803332096
This feature allows a user or author to link to a specific portion of a page, using a text snippet provided in the URL. When the page is loaded, the browser highlights the text and scrolls it into view.

Resize Observer - W3C First Public Working Draft
https://www.w3.org/TR/resize-observer-1/
This specification describes an API for observing changes to Element’s size.

Announcing TypeScript 3.8
https://devblogs.microsoft.com/typescript/announcing-typescript-3-8/
TypeScript 3.8 brings a lot of new features, including new or upcoming ECMAScript standards features, new syntax for importing/exporting only types, and more: Type-Only Imports and Exports, ECMAScript Private Fields, export * as ns Syntax…

What’s coming in ESLint v7.0.0
https://eslint.org/blog/2020/02/whats-coming-in-eslint-7.0.0
The Technical Steering Committee (TSC) met to finalize the features for ESLint v7.0.0. This feature set had not yet been locked down even as v7.0.0 work began and so this represented an important milestone that allows us to focus on getting this next major release shipped. You can see everything that is planned for v7.0.0 on our project board.

The new Office app now generally available for Android and iOS
https://www.microsoft.com/en-us/microsoft-365/blog/2020/02/19/new-office-app-android-ios-available/
A few months ago, we introduced a new mobile app called Office—a whole new experience designed to be your go-to app for getting work done on a mobile device. It combines Word, Excel, and PowerPoint into a single app and introduces new capabilities that enable you to create content and accomplish tasks in uniquely mobile ways to help you achieve more. Today, we’re proud to announce the Office app is out of public preview and now generally available worldwide for anyone on Android and iOS phones. Remember late last year when it was revealed that Microsoft was looking towards React Native for their cross-platform app needs? Well, the new Office app is now powered in part by the mobile framework.

The Main npm Repository Suffered an Outage – But Here’s What to Do For Next Time..
https://blog.npmjs.org/post/190932845330/incident-report-403-429-errors-for-some-users
https://github.com/npm/cli/issues/836
The Main npm Repository Suffered an Outage on Monday – But Here’s What to Do For Next Time.. — For a period of time on Monday, the main npm repository was returning 429 “Too Many Requests” responses, breaking some people’s installations and CI processes (here’s a postmortem of why – it was due to a Cloudflare policy change and not npm’s fault).

2019 Transparency Report
https://github.blog/2020-02-20-2019-transparency-report/
While some companies are phasing out transparency reporting, GitHub remains committed to maintaining transparency and promoting free expression as an essential part of our commitment to our users. A key example of this is ensuring we minimize the amount of data we disclose or the amount of content we take down as much as legally possible. Through our transparency reports, we’re continuing to shed light on our own practices, while also hoping to contribute to broader discourse on platform governance.

icestore
https://github.com/ice-lab/icestore
Lightweight state management solution based on React Hooks.

Constate
https://github.com/diegohaz/constate
Write local state using React Hooks and lift it up to React Context only when needed with minimum effort.

cra-template-redux
https://github.com/reduxjs/cra-template-redux
The official Redux+JS template for Create React App

Hex Engine - A modern 2D game engine for the browser
https://github.com/suchipi/hex-engine
Hex Engine is a 2D Game Engine for the browser, written in TypeScript. It is designed to feel similar to React. Hex Engine implements a variant of the popular Entity-Component-System model, adapting it to make Components radically composable. In Hex Engine, every Component is a function, and Components can call special Hook functions to define their behavior in the game engine. Hex Engine comes out-of-the-box with a powerful development inspector and a modern frontend code compilation pipeline.

Serialize JavaScript V3.0
https://github.com/yahoo/serialize-javascript
Serialize JavaScript to a superset of JSON that includes regular expressions, dates and functions.

Blitz
https://github.com/blitz-js/blitz
Blitz is a modern equivalent to Ruby on Rails for building monolithic, full-stack, serverless React apps with zero data-fetching and zero client-side state management.

Real-Time-Person-Removal
https://github.com/jasonmayes/Real-Time-Person-Removal
Removing people from complex backgrounds in real time using TensorFlow.js in the web browser.

Git Command Explorer
https://gitexplorer.com/
Find the right commands you need without digging through the web.

destiny
https://github.com/benawad/destiny
Prettier for File Structures

Trax — your path to advanced deep learning
https://github.com/google/trax
Trax helps you understand and explore advanced deep learning. We focus on making Trax code clear while pushing advanced models like Reformer to their limits. Trax is actively used and maintained in the Google Brain team. Give it a try, talk to us or open an issue if needed.

UTM
https://github.com/utmapp/UTM
UTM is a full featured virtual machine host for iOS. In short, it allows you to run Windows, Android, and more on your iPhone and iPad.

Nodebook - Multi-Language REPL with Web UI + CLI code runner
https://github.com/netgusto/nodebook
Useful to practice algorithms and datastructures for coding interviews.

usql - Universal command-line interface for SQL databases
https://github.com/xo/usql
A universal command-line interface for PostgreSQL, MySQL, Oracle Database, SQLite3, Microsoft SQL Server, and many other databases including NoSQL and non-relational databases! 另附:Interactive Redis: A Terminal Client for Redis with AutoCompletion and Syntax Highlighting..

Markdeep
https://casual-effects.com/markdeep/ Markdeep is a technology for writing plain text documents that will look good in any web browser, whether local or remote. It supports diagrams, calendars, equations, and other features as extensions of Markdown syntax.

Kasaya - A “WYSIWYG” (kind of) scripting language and runtime for browser automation
https://github.com/syscolabs/kasaya
Write test scripts using English-like statements. NO coding required to implement those statements. Not dependent on HTML IDs or XPaths. Write the same way you would instruct another human being sitting in front of the browser. NOT like Cucumber. NOT like Selenium IDE. 另附:Taiko - A Node.js library for testing modern web applications

Poolside.fm
https://poolside.fm/
https://news.ycombinator.com/item?id=22371629
相关网站:https://github.com/syxanash/awesome-gui-websites

The Bash Hackers Wiki
https://wiki.bash-hackers.org/
This wiki is intended to hold documentation of any kind about GNU Bash. The main motivation was to provide human-readable documentation and information so users aren’t forced to read every bit of the Bash manpage - which can be difficult to understand. However, the docs here are not meant as a newbie tutorial.

Learn Rust With Entirely Too Many Linked Lists
https://rust-unofficial.github.io/too-many-lists/
I fairly frequently get asked how to implement a linked list in Rust. The answer honestly depends on what your requirements are, and it’s obviously not super easy to answer the question on the spot. As such I’ve decided to write this book to comprehensively answer the question once and for all. In this series I will teach you basic and advanced Rust programming entirely by having you implement 6 linked lists.

How These Things Work – A book about CS from first principles
https://reasonablypolymorphic.com/book/preface
Computer science is how I learned to do abstraction, and it is my most enrichingly- and economically- valuable skill. This is the final reason I offer to you why these things might be worth learning: it is strongly likely that you will make more money with them than without. As we will later see, abstraction is literally impossible to automate in the general case. This makes it a compelling skill to have in a world rapidly driving towards automating away most jobs. The debate whether or not that’s a good thing is left to minds smarter than my own, but you have to admit that it’s nice to have options.

设计

AI-powered tools for web designers
https://blog.prototypr.io/ai-powered-tools-for-web-designers-adc97530a7f0
An overview of the tools that implement AI and how they help the web designer’s work.

Looking at the Future – Design Trends of 2020
https://www.toptal.com/designers/ux/digital-design-trends-2020
Every year a new crop of design trends emerges from the previous year’s labor. Some trends delight, some inspire, and some make our eyes ache. New grows old, and old is new again. Change is one of the most challenging and satisfying aspects of a career in design. The evolution of taste and technology keeps our skills sharp and demands we stay connected to the people we create for. As 2019 winds down, we’re looking ahead. We’ve identified 20 emerging design trends for 2020, but we’re not just listing fonts and colors. We’re showcasing game-changers and industry shakers that will define our experiential landscape for the year to come.

Towards Goal-Centric Design
https://medium.com/google-design/towards-goal-centric-design-184f0476d7aa
To be truly humane and helpful, technology needs to see the world the same way people do.

Designing the New Office App for Mobile
https://medium.com/microsoft-design/designing-the-new-office-app-for-mobile-1ec1162a966
The new Office app is more than a mere translation of a desktop app to a mobile one. We wanted to design an experience that would harness the strength of mobile devices and help you to complete your tasks in uniquely mobile ways. Here’s a peek in our design and research journey. We can’t wait to hear what you think! 另附:Iconic Icons: Designing the World of Windows.

How To Design Mobile Apps For One-Hand Usage
https://www.smashingmagazine.com/2020/02/design-mobile-apps-one-hand-usage/
90% of the smartphones sold today have >5-inch displays. Bigger screen real estate presents newer challenges and opportunities for app makers and designers. Let’s look at how designing apps for one-handed usage can solve those challenges.

产品及其它

How To Take Smart Notes: 10 Principles to Revolutionize Your Note-Taking and Writing
https://praxis.fortelabs.co/how-to-take-smart-notes/
My approach is based on the assumption that most books are a few morsels of real insight wrapped in layers and layers of fluff. As I read, I systematically unravel those layers of fluff and extract only those insights, like a chemist distilling only the purest compound. But this book is not written in the usual way. It is written using an external thinking system, which I call a Second Brain.

What 8 years of side projects has taught me
https://www.junglecoder.com/blog/idea-chain-themes
I’ve been a professional software developer for almost 8 years now. I’ve been paid to write a lot of software in those years. Far more interesting to me has been the recurring themes that have come up in my side-projects and in the software I’ve been personally compelled to write.

How Pets Can Make You a Better Programmer — Yes, Your Pet Can Do That
https://medium.com/better-programming/how-pets-can-make-you-a-better-programmer-yes-your-pet-can-do-that-450cc63962f8
Improve and enhance your technical and non-technical skills with the help of a furry friend.

稻盛和夫致敬中国企业:把萧条看作再发展的飞跃台,我的5项对策
https://mp.weixin.qq.com/s?__biz=MjM5ODI3NDM4MA==&mid=2651592300&idx=2&sn=b1722e35df8f88d03e5f67a6ea1de4a1
以积极开朗的态度去突破困境。萧条越是严重,我们越是要咬紧牙关,坚忍不拔,下定决心,无论如何也要闯过这道难关。决不悲观,必须以积极开朗的态度应对难局。在这基础之上,重要的是要认识到“萧条是成长的机会”,企业就是应该通过萧条这样一种逆境来谋取更大的发展。

读邓小平的名言,明白何为伟大,何为改革
https://mp.weixin.qq.com/s/kTxcPVxXBkfrtgo1NnfP2g
冷静观察、稳住阵脚、沉着应付、韬光养晦、有所作为。不搞争论,是我的一个发明。不争论,是为了争取时间干。一争论就复杂了,把时间都争掉了,什么也干不成。不争论,大胆地试,大胆地闯。空谈误国,实干兴邦。少说空话,多做工作,扎扎实实,埋头苦干。黑猫白猫,多抓老鼠是好猫!我们改革开放的成功,不是靠本本,而是靠实践,靠实事求是。从实践中学,从书本上学,从自己和人家的经验教训中学。要克服保守主义和本本主义。做老实人,说老实话,干老实事,就是实事求是。

对数据可视化有兴趣的可以阅读由 AntV 带来的 墨者修齐 2020-02-23 · 图解各省志愿湖北医疗队信息

– THE END –

作者:renpin (https://github.com/RickCole21) - Wubba lubba dub dub

- 百度数据可视化
- 百度智能建站