2020.04.20 - Azure:世界的电脑

业界会议

Microsoft Online Tech Forum
https://techforum.microsoft.com/virtualsummit/zh-cn/index
Microsoft Online Tech Forum 微软在线技术峰会是一场面向技术专业人群与生态合作伙伴的前沿科技交流大会。围绕“数字化转型加速度”主题,以微软自身技术发展和数字化转型实践为引,从云,生产力、商业应用及数字化转型实践层面助力企业及个人提升自身技术实力,加速数字化转型,成就智能未来。强烈推荐两个主题演讲:炉边对谈及技术愿景解读、微软 Azure:世界的电脑。对 Low Code 感兴趣的同学可以关注 Power Platform。

深阅读

Refactoring: This class is too large
https://martinfowler.com/articles/class-too-large.html
An example of refactoring from a real (flawed) code base. In this article I walk through a set of refactorings from a real code base. This is not intended to demonstrate perfection, but it does represent reality.

Writing an Emulator in JavaScript (and Interfacing with Multiple UIs)
https://www.taniarascia.com/writing-an-emulator-in-javascript-chip8/
I spent a good portion of my childhood playing emulated NES and SNES games on my computer, but I never imagined I’d write an emulator myself one day. However, my boyfriend Vanya challenged me to write a Chip-8 interpreter to learn some of the basic concepts of lower-level programming languages and how a CPU works, and the end result is a Chip-8 emulator in JavaScript that I wrote with his guidance.

Reusable Code: The Good, the Bad, and the Ugly
https://codeburst.io/reusable-code-the-good-the-bad-and-the-ugly-e49cd7bd696
The mythical “reusable code” idea has existed for decades. It showed up shortly after the first lines of code were written. We preach re-usability and sometimes strive for it but it rarely becomes a reality. I’ve seen various levels of success with this over the years. Everything from “we have a reusable library that 75% of us use” to “we have shared code libraries here, but never use them in your projects”. A recent discussion led me to think about this. Why don’t more software development organizations have shared code libraries?

The evolution of asynchronous programming in JavaScript
https://blog.logrocket.com/evolution-async-programming-javascript/
In this article, we will use callbacks, promises, and async/await to illustrate the concepts of async JavaScript and explain how they work.

前端生产方式:过去 10 年回顾和未来 10 年展望
https://mp.weixin.qq.com/s/c6-9wnxKTq5w3BVqlBFxPQ
在写这篇文章之前,我一直在思考该用什么的方式能讲清楚前端为什么要向智能化方向切换的理由,真的反复思考很久,后来决定还是以我做前端的过去 10 年的所见所闻来做个解答吧,这样让大家也都更有些体感。

面向对象编程,再见!
https://mp.weixin.qq.com/s/MndDONJy6it8G_kJZK1yww
几十年来我都在用面向对象的语言编程。我用过的第一个面向对象的语言是 C++,后来是 Smalltalk,最后是 .NET 和 Java。我曾经对使用继承、封装和多态充满热情。它们是范式的三大支柱。我渴望实现重用之美,并在这个令人兴奋的新天地中享受前辈们积累的智慧。想到将现实世界的一切映射到类中,使得整个世界都可以得到整齐的规划,我无法抑制自己的兴奋。然而我大错特错了。当然,面向对象在早期承诺了许多。而直到今天,这些承诺依然在教室里、博客上和网上资源中传授给青涩的程序员们。我花了多年才意识到面向对象的谎言。以前我也曾经青涩,曾经轻信。然后我发现被骗了。再见,面向对象编程。

从MongoDB迁移到ES后,我们减少了80%的服务器
https://mp.weixin.qq.com/s/q-RJx6UPDakWimNnWo_bUA
本文内容涉及到MongoDB与Elasticsearch两大阵营,可能会引起口水之争,仅代表个人经验之谈,非阵营之说,围绕两个话题展开:为什么要从MongoDB迁移到Elasticsearch?如何从MongoDB迁移到Elasticsearch?

33 line React
https://leontrolski.github.io/33-line-react.html
In this post, I’m going to make the smallest React-like thing that can do the above. It’s very mithril influenced.

Profiling React.js Performance
https://addyosmani.com/blog/profiling-react-js/
Today, we’ll look at measuring React component render performance with the React Profiler API, measuring interactions with React’s new experimental Interaction Tracing API and measuring custom metrics using the User Timing API.

Auto Effect Pattern with Redux and React Hooks
https://tech.ebayinc.com/engineering/auto-effect-pattern-with-redux-and-react-hooks/
A pattern for managing HTTP requests with Redux and React hooks. It separates concerns of data fetching and binding logic from components into hooks to make it easier to use.

Best Practices With React Hooks
https://www.smashingmagazine.com/2020/04/react-hooks-best-practices/
This article covers the rules of React Hooks and how to effectively start using them in your projects. Please note that in order to follow this article in detail, you will need to know how to use React Hooks.

Gain access to your functions with CORS
https://www.openfaas.com/blog/function-cors/
This post will show you how to gain access to your functions from a known endpoint through the use of CORS headers.

Userscripts Are Fun And Are Still Very Much Relevant
https://dutzi.party/userscripts-are-fun/
https://github.com/dutzi/userscripts/
A userscript is a script that usually helps make the web a better place. Want to use J and K keys to scroll through the new Facebook UI? There’s a userscript for that! Need that YouTube video on your drive? Guess what? You can!

Comparing HTTP/3 vs. HTTP/2 Performance
https://blog.cloudflare.com/http-3-vs-http-2/
we’re very excited to be allowed to help push this standard forward. Our implementation is holding up well, offering better performance in some cases and at worst similar to HTTP/2. As the standard finalizes, we’re looking forward to seeing browsers add support for HTTP/3 in mainstream versions. As for us, we continue to support the latest drafts while at the same time looking for more ways to leverage HTTP/3 to get even better performance, be it congestion tuning, prioritization or system capacity (CPU and raw network throughput). 另附:How HTTP/3 and QUIC aim to help the connections that need it most.

Object Stores Starting to Look Like Databases
https://www.datanami.com/2020/04/16/object-stores-starting-to-look-like-databases/
Technically, any repository of data could be considered a ‘database’ but now object stores, such as those vast repositories of data sitting behind an S