FEX 技术周刊 - 2020/02/03
深阅读
2020: The Year of Robot Rights
https://thereader.mitpress.mit.edu/2020-the-year-of-robot-rights/
A once-unthinkable concept is gaining traction and deserves our attention. 另附:Artificial Intelligence Will Do What We Ask. That’s a Problem.、What is AIOps?.
Low-code / No-code development: Guide to faster development
https://blog.aimultiple.com/low-code/
Businesses are starting to take advantage of low-code platforms to develop and deploy apps by reducing the pressure on their IT teams by minimizing hand-coding and code to be maintained. With a low-code development platform, businesses can automate time-consuming manual coding processes and speed up their app delivery. However, not all business problems are suitable for low code: simple, business driven projects are a good starting point. 另附:Ionic - The No-Code Tragedy.
Some Useful Probability Facts for Systems Programming
https://theartofmachinery.com/2020/01/27/systems_programming_probability.html
Probability problems come up a lot in systems programming, and I’m using that term loosely to mean everything from operating systems programming and networking, to building large online services, to creating virtual worlds like in games. Here’s a bunch of rough-and-ready probability rules of thumb that are deeply related and have many practical applications when designing systems.
基于 Airtable 实现小微企业的简单信息化
https://www.yuque.com/xufei-coder/code/ugqg6h
如果问我,近30年来,世界上最伟大的企业信息化产品是什么,我会回答 Excel,它的伟大,在于提供了一种普适性很强的工具和方法论,影响到了企业的方方面面。那么,近10年来,最好的这类产品是什么呢?我要回答是 Airtable,它是一个在线工具,每个人都可以去尝试一下,那为什么我会觉得它好呢,本文尝试给出一些解读。
TypeScript’s quirks: How inconsistencies make the language more complex
https://blog.asana.com/2020/01/typescript-quirks/
If you care about a perfect, consistent type system, TypeScript probably isn’t for you (Reason seems like it could be good). But if you want to add some type safety to an existing JavaScript codebase while leveraging a large, thriving open source community, then TypeScript is still your best bet. If you decide to use TypeScript, expect engineers on your team to have a good amount of head-scratching and wasted time reasoning about the compiler, but not nearly so much as to offset the amazing value that static types provide. 另附:Why the TypeScript team is using Gatsby for its new website.
React Native is the Future of Mobile at Shopify
https://engineering.shopify.com/blogs/engineering/react-native-future-mobile-shopify
After years of native mobile development, we’ve decided to go full steam ahead building all of our new mobile apps using React Native. As I’ll explain, that decision doesn’t come lightly. Each quarter, the majority of buyers purchase on mobile (with 71% of our buyers purchasing on mobile in Q3 of last year). Black Friday and Cyber Monday (together, BFCM) are the busiest time of year for our merchants, and buying activity during those days is a bellwether. During this year’s BFCM, Shopify merchants saw another 3% increase in purchases on mobile, an average of 69% of sales. So why the switch to React Native? And why now? How does this fit in with our native mobile development? It’s a complicated answer that’s best served with a little background.
Humans can’t read URLs. How can we fix it? - HTTP 203
https://www.youtube.com/watch?v=0-wB1VY3Nrc
In this episode, Jake makes the case that URLs are impossible for humans to interpret, especially when it comes to security. What are browsers doing today to overcome that? And, is there a better way?
An Accessible Digital BBC – 2019 in review
https://www.bbc.co.uk/blogs/internet/entries/aac6bdff-3580-4265-9976-8214d24246ce
The BBC Accessibility Champion Network is probably one of the oldest in the industry. This year it surpassed 200 champions. There is also an alumnus of 75+ now encouraging inclusive design and accessibility elsewhere in the industry. Here are the top highlights of many accessibility improvements in BBC digital products this year.
How I write backends
https://github.com/fpereiro/backendlore
From late 2012 to the present I have been writing backends (server-side code) for web applications. This document summarizes many aspects of how I write these pieces of code.
SQLite Is Serverless
https://www.sqlite.org/serverless.html
There are advantages and disadvantages to being serverless. The main advantage is that there is no separate server process to install, setup, configure, initialize, manage, and troubleshoot. This is one reason why SQLite is a “zero-configuration” database engine. Programs that use SQLite require no administrative support for setting up the database engine before they are run. Any program that is able to access the disk is able to use an SQLite database. Most SQL database engines are client/server based. Of those that are serverless, SQLite is the only one known to this author that allows multiple applications to access the same database at the same time. 另附:Serverless Cloud Computing Will Drive Explosive Growth In AI-Based Innovation.
Distributed SQL vs. NewSQL
https://blog.yugabyte.com/distributedsql-vs-newsql/
NewSQL databases were first created in early 2010s to solve the write scalability challenge associated with monolithic SQL databases. They allowed multiple nodes to be used in the context of a SQL database without making any significant enhancements to the replication architecture. The cloud was still at its infancy at that time so this strategy worked for a few years. However as multi-zone, multi-region and multi-cloud cloud deployments became the standard for modern applications, these databases fell behind in developer adoption. On the other hand, distributed SQL databases like Google Spanner and YugabyteDB are built ground-up to exploit the full elasticity of the cloud and are also designed to work on inherently unreliable infrastructure.
Google Sheets for Developers
https://www.youtube.com/watch?v=77toMO9-kQc
Say goodbye to the days of TPS reports, and come learn how to automate the tedious tasks in your work day. Thanks to the extensibility of Google Sheets (and a special JavaScript client library for Sheets), as well as Cloud Functions, that’s easy. You can have all kinds of data, for example GitHub, Jira, uptime health, and even sales data combined and imported into a Sheet, analyzed, and output as an email report or slide deck-without ever opening […]
MediaPipe on the Web
https://developers.googleblog.com/2020/01/mediapipe-on-web.html
MediaPipe is a framework for building cross-platform multimodal applied ML pipelines. We have previously demonstrated building and running ML pipelines as MediaPipe graphs on mobile (Android, iOS) and on edge devices like Google Coral. In this article, we are excited to present MediaPipe graphs running live in the web browser, enabled by WebAssembly and accelerated by XNNPack ML Inference Library. By integrating this preview functionality into our web-based Visualizer tool, we provide a playground for quickly iterating over a graph design. Since everything runs directly in the browser, video never leaves the user’s computer and each iteration can be immediately tested on a live webcam stream (and soon, arbitrary video). 另附:Encode, Tag and Realize: A Controllable and Efficient Approach for Text Generation.
On the road to Swift 6
https://forums.swift.org/t/on-the-road-to-swift-6/32862
With those fundamentals in place, as a community, we are well-poised to pursue new frontiers for the Swift project. I’d like to highlight a few areas that the Core Team believes provide really exciting opportunities for the community to drive Swift forward.
Monoliths are the future
https://changelog.com/posts/monoliths-are-the-future
Monoliths are the future because the problem people are trying to solve with microservices doesn’t really line up with reality. Just to be honest - and I’ve done this before, gone from microservices to monoliths and back again. Both directions.
新鲜货
Puppeteer 2.1
https://github.com/puppeteer/puppeteer/releases/tag/v2.1.0
The launcher now has an option to run Puppeteer with different browsers, starting with Firefox (#5137). Puppeteer can now talk to a real, unpatched Firefox binary (as opposed to the old Juggler-based approach). This is a first step towards eventually deprecating the separate puppeteer-firefox package in favor of supporting Firefox directly in puppeteer itself.
Github Actions API
https://developer.github.com/changes/2020-01-28-actions-api/
The Actions API enables you to manage GitHub Actions using the REST API. This includes the management of Secrets and Self-hosted runners.
Introducing Yarn 2 !
https://dev.to/arcanis/introducing-yarn-2-4eh1
Hi everyone! After exactly 365 days of very intensive development, I’m extremely happy to unveil the first stable release of Yarn 2. In this post I will explain what this release will mean for our community. Buckle up!
JavaScript Libraries Are Almost Never Updated Once Installed
https://blog.cloudflare.com/javascript-libraries-are-almost-never-updated/
With the CDNJS team’s permission we collect anonymized and aggregated data from CDNJS requests which we use to understand how people build on the Internet. Our analysis today is focused on one question: once installed on a site, do JavaScript libraries ever get updated?
Pandas 1.0.0 What’s new in 1.0.0 (January 29, 2020)
https://pandas.pydata.org/pandas-docs/stable/whatsnew/v1.0.0.html
The pandas 1.0 release removed a lot of functionality that was deprecated in previous releases (see below for an overview). It is recommended to first upgrade to pandas 0.25 and to ensure your code is working without warnings, before upgrading to pandas 1.0.
Microsoft Application Inspector
https://github.com/Microsoft/ApplicationInspector
Microsoft Application Inspector is a software source code analysis tool that helps identify and surface well-known features and other interesting characteristics of source code to aid in determining what the software is or what it does. Application Inspector is different from traditional static analysis tools in that it doesn’t attempt to identify “good” or “bad” patterns; it simply reports what it finds against a set of over 400 rule patterns for feature detection including features that impact security such as the use of cryptography and more. This can be extremely helpful in reducing the time needed to determine what Open Source or other components do by examining the source directly rather than trusting to limited documentation or recommendations.
Why Did You Render V4
https://github.com/welldone-software/why-did-you-render
why-did-you-render monkey patches React to notify you about avoidable re-renders.
react-use-gesture
https://github.com/react-spring/react-use-gesture
React-use-gesture is a hook that lets you bind richer mouse and touch events to any component or view. With the data you receive, it becomes trivial to set up gestures, and often takes no more than a few lines of code. You can use it stand-alone, but to make the most of it you should combine it with an animation library like react-spring, though you can most certainly use any other.
Related subreddits
https://anvaka.github.io/sayit/?query=programming
This website shows you a graph of related subreddits for any given one Related Subreddits. The relationship is determined by a metric “users who posted to this subreddit also post to…”. Under the hood I’m using Jaccard Similarity to determine degree of similarity.
Popper - Tooltip & Popover Positioning Engine V2
https://popper.js.org/
Positioning tooltips and popovers is difficult. Popper is here to help!
Typesense
https://github.com/typesense/typesense
Typesense is a fast, typo-tolerant search engine for building delightful search experiences.
Elixir v1.10 released
https://elixir-lang.org/blog/2020/01/27/elixir-v1-10-0-released/
Also note Elixir v1.10 requires Erlang/OTP 21+. This allows us to provide tighter integration with Erlang/OTP’s new logger. This means that the logger level, logger metadata, as well as all log messages are now shared between Erlang and Elixir APIs.
Botium Speech Processing
https://github.com/codeforequity-at/botium-speech-processing
Botium Speech Processing is a unified, developer-friendly API to the best available free and Open-Source Speech-To-Text and Text-To-Speech services.
A simplified Jira clone built with React and Node
http://jira.ivorreic.com
A simplified Jira clone built with React/Babel (Client), and Node/TypeScript (API). Auto formatted with Prettier, tested with Cypress.
Phoenix
https://github.com/kasper/phoenix
A lightweight macOS window and app manager scriptable with JavaScript. You can also easily use languages which compile to JavaScript such as CoffeeScript. Phoenix aims for efficiency and a very small footprint. If you like the idea of scripting your own window or app management toolkit with JavaScript, Phoenix is probably going to give you the things you want. With Phoenix you can bind keyboard shortcuts and system events, and use these to interact with macOS.
Responsive Pixel Art
https://essenmitsosse.de/pixel/
设计
How Information-Seeking Behavior Has Changed in 22 Years
https://www.nngroup.com/articles/information-seeking-behavior-changes/
The internet is increasingly used to gain knowledge and understanding of a topic. This knowledge is often acquired accidentally, as a byproduct of browsing. Critical internet use is becoming social.
Awesome Animated Explainer Videos To Inspire You In 2020
https://medium.com/sketch-app-sources/5-best-animated-explainer-videos-to-inspire-you-in-2020-2eab01ef1af3
Here you can find the top 5 animated videos produced by the industry leaders. Let’s see how others make marketing magic by creating engaging explainer videos that extend their audiences and generate leads.
产品及其它
How to Build a Great Company Culture in 2020
https://blog.newrelic.com/product-news/company-culture/
Before I became Chief People Officer at New Relic in early 2017, I worked in management consulting for more than 15 years. That meant I got to work in a wide variety of corporate cultures—the good, the bad, and the truly unphotogenic. I’ve come to understand that while approaches differ, the best ones always focus on this core goal: How do you create an environment where employees are excited to show up every morning and do their best work? 另附:5 tips for creating a secure DevOps culture.
远程办公
PingCAP 的 5 年远程办公实践 https://mp.weixin.qq.com/s/alygC64BnIKbuuxBBZAOxA
MEGAEASE的远程工作文化 https://coolshell.cn/articles/20765.html
新型冠状病毒疫情实时大屏
https://sugar.aipage.com/dashboard/15cd27499fab0d4199614cfa1dba88c5
https://sugar.aipage.com/dashboard/f3aa0b3af600300b7d18de27dd2d368c
【推广】使用百度云的数据可视化产品Sugar,可以快速搭建酷炫的可视化效果,数据实时跟踪,可以免费试用一个月:https://cloud.baidu.com/product/sugar.html