FEX 技术周刊 - 2020/06/08
本期看点
Introducing P2P Matrix
https://matrix.org/blog/2020/06/02/introducing-p-2-p-matrix
P2P Matrix is about more than just letting users store their own conversations: it can also avoid dependencies on the Internet itself by working over local networks, mesh networks, or situations where the Internet has been cut off. Even more interestingly, without homeservers, there is nowhere for metadata to accumulate about who is talking to who, and when - which is a legitimate complaint about today’s Matrix network, given the homeservers of all users in a given conversation necessarily have to store that conversation’s metadata.
The rise of React
https://increment.com/frontend/the-rise-of-react/
On the social, cultural, and technological impacts of the increasingly ubiquitous frontend framework.
一篇写给从未编程过的人的入门教程
https://www.yuque.com/barretlee/thinking/zcs3c9
昨天我分享了一篇如何使用 PlantUML 这门简单的语言来绘制复杂的活动图、流程图和组件图等,有的同学看到了以后,询问我,“外行需要多长时间才能学会这玩意儿呀?”,这个问题不知道该如何回答,因为我并不认同“外行”这个词。我始终认为,在编程这件事情上,每个人都是内行,每个人也都是外行。事实上,从不了解 PlantUML 到能够参考文档绘制出复杂的流程图,我也就学了一个上午,边学习、边实践、边分享,于是就会了。
Grid.js - Advanced Table Plugin
https://gridjs.io/?hn
Grid.js is a Free and open-source HTML table plugin written in TypeScript. It works with most JavaScript frameworks, including React, Angular.js, Vue and VanillaJs.
How To Become A Hacker
https://zalberico.com/essay/2020/04/19/how-to-become-a-hacker.html
Sixteen years later, I thought it’d be fun to write my own version of How to Become a Hacker to supplement ESR’s original: something I would have liked to have read myself at thirteen that focuses on some other aspects I would have found helpful too. A lot of posts about programming and related topics are rallying cries, trying to persuade you to adopt a specific programming language, framework, operating system, or specific way of doing things. This post does less of that and while I make some suggestions, it’s a more tempered view. Its goal is to fill the niche of what I think I would have liked to have read after ESR’s original post (so you should read that one first).
深阅读
Google Is Not God of The Web
https://bilge.world/google-page-experience
Almost exactly two years ago, I warned that Google was on track to replace God of us all. Last month, The Verge’s Dieter Bohn reported that Google plans to begin accounting for “page experience” in its search rankings beginning in 2021.
I’m not a “real” web developer – nor do I mean to dictate to a single one – but I know enough theory to note that of this “core web” education operation centered around web.dev is operating on some irritating assumptions. 另附:Google’s Core Web Vitals: ensuring your site is ready for Google’s next major update.
Software Engineering Within SpaceX
https://yasoob.me/posts/software_engineering_within_spacex_launch/
SpaceX also made use of Chromium and JavaScript for Dragon 2 flight interface. I am not sure how that passed the certification. I assume it was allowed because for every mission-critical input on the display, there was a physical button underneath the display as well. So if in case the screen malfunctioned, the astronauts could potentially make use of the physical buttons.
解读新一代 Web 性能体验和质量指标
https://segmentfault.com/a/1190000022744550
理解 Chrome 83 新增的性能指标
精读《snowpack》
https://zhuanlan.zhihu.com/p/144993158
基于 ESM import 的构建框架不止 snowpack 一个,还有比如基于 vue 的 vite,因为浏览器支持模块化是一个标准,而不与任何框架绑定,未来任何构建工具都会基于此特性开发,这意味着在未来的五年,前端构建一定会回到十年前的速度,这个趋势是明显、确定的。
字节跳动自研强一致在线 KV &表格存储实践
https://zhuanlan.zhihu.com/p/145888430
自从 Google 发布 Spanner 论文后,国内外相继推出相关数据库产品或服务来解决数据库的可扩展问题。字节跳动在面对海量数据存储需求时,也采用了相关技术方案。本次分享将介绍我们在构建此类系统中碰到的问题,解决方案以及技术演进。
Serverless Express – Easy APIs On AWS Lambda & AWS HTTP API
https://www.serverless.com/blog/serverless-express-apis-aws-lambda-http-api/
Take existing Express.js apps and host them easily onto cheap, auto-scaling, serverless infrastructure on AWS Lambda and AWS HTTP API with Serverless Express. It’s packed loads of production-ready features, like custom domains, SSL certificates, canary deployments, and costs ~$0.000003 per request. 另附:Best practices for REST API design.
Techniques For Designing Your API and Microservices
https://tyk.io/api-design-methodologies/
One way of validating your API and microservice designs is to use some design techniques to surface issues before we commit to our design. Just as we use test-driven development to turn requirements into test cases that we code against, these design techniques help us to design APIs and microservices that meet the needs of our stakeholders. Let’s examine five techniques that can help you validate your API and service designs before, during, and after the design process.
Making Walmart’s Shopping Assistant Proactive
https://medium.com/walmartlabs/making-walmarts-shopping-assistant-proactive-53a1764fcdee
Saving time for our customers using proactive actions, predictive suggestions, and feature discovery.
Reducing search indexing latency to one second
https://blog.twitter.com/engineering/en_us/topics/infrastructure/2020/reducing-search-indexing-latency-to-one-second.html
One of the key metrics for a search system is the indexing latency, the amount of time it takes for new information to become available in the search index. This metric is important because it determines how quickly new results show up. Not all search systems need to update their contents quickly. In a warehouse inventory system, for example, one daily update to its search index might be acceptable.
Why the developers who use Rust love it so much
https://stackoverflow.blog/2020/06/05/why-the-developers-who-use-rust-love-it-so-much/
Here’s why Rust gets so much love, straight from the Rustaceans themselves. 另附:Announcing Rust 1.44.0.
Ultimate Guide to Python Debugging
https://martinheinz.dev/blog/24
Even if you write clear and readable code, even if you cover your code with tests, even if you are very experienced developer, weird bugs will inevitably appear and you will need to debug them in some way. Lots of people resort to just using bunch of print statements to see what’s happening in their code. This approach is far from ideal and there are much better ways to find out what’s wrong with your code, some of which we will explore in this article.
The beauty of Unix pipelines
https://prithu.xyz/posts/unix-pipeline/
The Unix philosophy lays emphasis on building software that is simple and extensible. Each piece of software must do one thing and do it well. And that software should be able to work with other programs through a common interface – a text stream. This is one of the core philosophies of Unix which makes it so powerful and intuitive to use.
新鲜货
W3C Website redesign: Choosing a front end framework
https://www.w3.org/blog/2020/06/w3c-website-redesign-choosing-a-front-end-framework/
As part of the W3C Website phase 1 redesign work, we are seeking the review and feedback of our exceptionally well-informed and helpful external contributors, on choosing a front end framework.
The Stack Overflow Developer Survey 2020 Results
https://insights.stackoverflow.com/survey/2020
This year, we focused on seeking diverse representation while asking for information ranging from technologies and behavior to questions that will help us improve the Stack Overflow community for everybody who codes.
CKEditor 5 v19.1.1 with table enhancements, typing around widgets and print to PDF feature
https://ckeditor.com/blog/CKEditor-5-v19.1.1-with-table-enhancements-typing-around-widgets-and-print-to-PDF-feature/
We are happy to announce the release of CKEditor 5 v19.1.1 that introduces further enhancements for the table feature, improved typing around widgets as well as the new PDF export feature. In addition to that, we focused on the adjustments of the editor’s development tools to the newly adopted monorepo infrastructure. Read on for more details about these and other improvements!
Introducing Swift AWS Lambda Runtime
https://swift.org/blog/aws-lambda-runtime/
Distributed as a Swift package, the Swift AWS Lambda Runtime is designed to help Swift developers build serverless functions for the Amazon Web Services Lambda platform.
Solid - A declarative Javascript library for creating user interfaces
https://github.com/ryansolid/solid
It does not use a Virtual DOM. Instead it opts to compile its templates down to real DOM nodes and wrap updates in fine grained reactions. This way when your state updates only the code that depends on it runs.
React Datepicker 3.0
https://github.com/Hacker0x01/react-datepicker/releases/tag/v3.0.0
A simple and reusable datepicker component for React.
HTML5 Boilerplate 8.0.0 Released
https://htmlcssjavascript.com/web/html5-boilerplate-8-0-0-released/
It took a little longer than I expected, but we released HTML5 Boilerplate 8.0.0 yesterday. As I mentioned a few weeks ago, it’s the 10th anniversary release, and if I do say so myself, it’s a pretty good way to celebrate 10 years of the project. It was a lot of work getting this one out the door, but I’m really happy with how it turned out.
Rough Notation
https://roughnotation.com/
Rough Notation uses RoughJS to create a hand-drawn look and feel. Elements can be annotated in a number of different styles. Animation duration and delay can be configured, or just turned off.
Caldera - Server-side execution for React
https://github.com/calderajs/caldera-react
Caldera is a server-side execution environment for React. Think of it as the Node.js analog to Phoenix LiveView — all of the application logic (including rendering) runs on the server, and DOM updates are sent to the client in real-time.
Simpdf :: Minimal PDF editor
https://simpdf.com/
Edit pdf like a word doc while preserving structure and format.
设计
Introducing Deck 1.0 —The Sketch to Powerpoint converter
https://medium.com/sketch-app-sources/introducing-deck-1-0-for-sketch-a-plugin-to-convert-your-designs-into-editable-ppts-dea463294f86
Two years back I build an MVP online tool that dealt with the same concept, Sketch to PPT converter. Later on, I decided to enhance the experience and making it a plugin rather than an online tool. With some better performance and enhanced experience here I am introducing Deck — The sketch plugin to convert your designs into an editable PPTX file.
Good Design Vs. Good UX Design
https://uxmag.com/articles/good-design-vs-good-ux-design
The idea of a product that is aesthetically pleasing being one that has a good user experience is a common misconception.
How To Test A Design Concept For Effectiveness
https://www.smashingmagazine.com/2020/06/test-design-concept-effectiveness/
Getting a client or stakeholder to approve a design concept can be challenging. However, testing can make it easier, as well as ensuring you have the right solution.
产品及其它
Become an Effective Software Engineering Manager: My Book Review and Notes
https://blog.pragmaticengineer.com/become-and-effective-software-engineering-manager-my-book-review/
I wish the book Become an Effective Software Engineering Manager (ebook) existed when I moved from development to management. I was one of the luckier ones: I had a formal apprentice management program with plenty of training, access to senior engineering leaders as mentors within the company, and a circle of hands-on engineering managers to learn from. Even so, this book would have helped me be more strategic about my learning and would have given me more confidence early on.
The future is not what it used to be
https://blog.scottlogic.com/2020/06/05/the-future.html
This pandemic has provided a relatively brief insight into a future world, one in which virtual and digital has become central to every interaction, forcing organisations and their leaders to go further and to deepen their IT adoption and business change. A world in which omni digital channels become the main customer engagement model, fully automated processes become a primary driver of productivity and the very basis of flexible and transparent supply chains. It is a world in which complete agility is a prerequisite to survival allowing adaptability to continuous changes of habit and behavior.
《科技向善》出版,马化腾序言再谈使命愿景
https://mp.weixin.qq.com/s/krnKp91WbLGbbiucpM9miA
科技是一种能力,向善是一种选择,我们选择科技向善,不仅意味着要坚定不移地提升我们的科技能力,为用户提供更好的产品和服务,持续提升人们的生产效率和生活品质,还要有所不为、有所必为。在当下的数字化浪潮中,如何共建信任基石,让科技更好服务人类的美好生活,需要包括科技行业在内的社会多方共同探索。“科技向善”不仅是腾讯的使命愿景,也是时代的命题。在践行科技向善的路上,我们期待与更多同行、机构一起探索、创新与实践。
电子表格的历史:除非你知道它从何而来,否则你将无法预测它将走向何方
https://sspai.com/post/60799
从 Airtable 为代表的 Nocode 工具开始,到近期因为疫情导致的 Remote 办公风潮的兴起,在面对未来迷茫的时候,答案其实往往蕴藏在过去的历史中。所以本文回溯了电子表格从 1978 年的创造史,到今天 Airtable 的现状,看看能否从历史的浪潮中,找到新的机会所在(或者说找到古典产品经理的尊严😃)。哦对了,从某种意义上说,Excel 是世界上最常用的编程语言和用户界面工具,同时也是使用最多的数据库。
对数据可视化有兴趣的可以阅读由 AntV 带来的 墨者修齐 2020-06-05·面部识别使用的世界地图、科比的篮球生涯数据可视化、商品超级周期
– THE END –