Skip to content

Commit

Permalink
add weekly 20200727
Browse files Browse the repository at this point in the history
  • Loading branch information
zenany committed Jul 27, 2020
1 parent 3415885 commit 8e21afe
Show file tree
Hide file tree
Showing 2 changed files with 205 additions and 0 deletions.
201 changes: 201 additions & 0 deletions software/2020/0727.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
2020.07.27 - The Future Vision of Microsoft 365
========

## 本期看点

**OpenAI's GPT-3 may be the biggest thing since bitcoin**
https://maraoz.com/2020/07/18/openai-gpt3/
GPT-3 Language models allow computers to produce random-ish sentences of approximately the same length and grammatical structure as those in a given body of text. I share my early experiments with OpenAI's new language prediction model (GPT-3) beta. I explain why I think GPT-3 has disruptive potential comparable to that of blockchain technology.

**Design Docs at Google**
https://www.industrialempathy.com/posts/design-docs-at-google/
One of the key elements of Google's software engineering culture is the use of defining software designs through design docs. These are relatively informal documents that the primary author or authors of a software system or application create before they embark on the coding project. The design doc documents the high level implementation strategy and key design decisions with emphasis on the trade-offs that were considered during those decisions. As software engineers our job is not to produce code per se, but rather to solve problems. Unstructured text, like in the form of a design doc, may be the better tool for solving problems early in a project lifecycle, as it may be more concise and easier to comprehend, and communicates the problems and solutions at a higher level than code.

**The Future Vision of Microsoft 365**
https://medium.com/microsoft-design/m365future-815cf30a8be
On designing experiences that encompass your wellbeing. 另附:[Microsoft Lists begins general availability roll out to Microsoft 365](https://techcommunity.microsoft.com/t5/microsoft-365-blog/microsoft-lists-begins-general-availability-roll-out-to/ba-p/1524768).

**Advice to Myself When Starting Out as a Software Developer**
https://blog.pragmaticengineer.com/advice-to-myself-when-starting-as-a-software-developer/
Take the time to read two books per year on software engineering; Learn the language you use at work in-depth, to the very bottom; Pair with other developers more often; Write unit tests and run them against a CI; Make refactoring a habit and master refactoring tools; Know that good software engineering is experience, Get lots of it; Teach what you learn;

**可逆计算的技术实现**
https://zhuanlan.zhihu.com/p/163852896
最近和一些朋友交流 Low Code 平台的开发经验,发现大多数工作都是由前端架构师主导的,主要精力集中在可视化界面设计器方面,这与可逆计算的理论有着很大的区别。当我们专注于通过类型(Type),函数(Function),类(Class),属性(Property)等等这样的术语去描绘我们以为的世界的时候,一些必然的事实就会被自然的遮蔽起来,成为我们视野之外的偶然。我的学术背景是理论物理学,所以可逆计算的思想来源不是传统的计算机科学,而是数学和物理学,所以我在软件构造中所想要强调的不是类型系统,不是函数式,不是对象化,而是结构(Structure)、复杂性(Complexity)和源起于物理世界的规律(Law)。下面我简单介绍一下可逆计算的一些具体的技术实现方案,希望能让这些抽象的概念变得更加直观可见。

## 深阅读

**10 design principles for delightful CLIs**
https://blog.developer.atlassian.com/10-design-principles-for-delightful-clis/
With thousands of apps created with the CLI so far and glowing feedback from Forge developers, here are our 10 principles for designing successful CLIs. If you're building a CLI to support your service, resource, or platform, we hope that you might use these principles, too!

**The Edge Computing Opportunity: It’s Not What You Think**
https://blog.cloudflare.com/cloudflare-workers-serverless-week/
Cloudflare Workers® is one of the largest, most widely used edge computing platforms. We announced Cloudflare Workers nearly three years ago and it's been generally available for the last two years. Over the course of the coming week, which we’re calling Serverless Week, we're going to be announcing a series of enhancements to the Cloudflare Workers platform to allow you to build much more complicated applications, lower your serverless computing bills, make your applications even faster, and prove that the Workers platform is secure to its core.

**React Native Team Principles**
https://reactnative.dev/blog/2020/07/17/react-native-principles.html
Native Experience; Massive Scale; Developer Velocity; Every Platform; Declarative UI;

**语雀在线表格自研之路**
https://mp.weixin.qq.com/s/SiwlayY5qYrAAQZg7Ovaeg
语雀是蚂蚁金服体验技术部的一个创新产品,目前已经在商业化运作。面向个人和组织提供知识创作,组织,交流服务。如果你或者你的团队有知识管理的需要,可以尝试使用语雀。语雀一直很看中创作体验,所以我们在编辑器这个领域一直持续的投入研发,不断迭代,今天要介绍的就是我们自主研发的在线电子表格。

**当我们谈优化时,我们谈些什么**
https://zhuanlan.zhihu.com/p/68158277
当我们谈论性能优化的时候,我们究竟在谈些什么呢?我试着理解了这个问题的意图:如果我们换一种问法,比如“渲染常见的性能瓶颈有哪些?具体可能出现在什么样的情景下?为什么这些情景会造成对应的性能瓶颈?”会不会是一个更好的问题?所以这篇文章,是在试着回答这个新的问题。

**你可能不太熟知的布局技巧**
https://mp.weixin.qq.com/s/HYUgb8jEI-aQhbN4sBajNw
随着Web技术不断的革新,CSS近几年也变得多年前要更强大。在Web开发中,CSS是不可或缺的一部分,对于很多Web开发者来说,有很多CSS属性不知道,或者说他们知道,但忘记在最恰当的时候使用最适合的CSS属性。而且时至今日,其中有一些CSS的属性可以让开发者能节约更多的时间。比如说,在Web布局中,现代CSS特性就可以更好的帮助我们快速实现,例如等高布局,水平垂直居中,经典的圣杯布局、宽高比例、页脚保持在底部等。在本文中,我将会介绍一些不同的CSS属性来实现这些效果,希望大家会感兴趣。更希望对大家今后的工作有所帮助。

**JavaScript: Latest Stage-4 features**
https://dev.to/hemanth/stage-4-features-5a26
The below features advanced to stage-4 in the recent TC39 meeting: Intl.DateTimeFormat: dateStyle & timeStyle, Intl.ListFormat, Logical Assignment, Numeric Separators, Promise.any & AggregateError, WeakRefs & FinalizationRegistry.

**Unit testing React - What you need to know**
https://felixgerschau.com/unit-testing-react-introduction/
I intent this article to serve as a starter guide for developers who are new to testing React components or even unit testing in general. I won't go into the technical details here, but I'll point you to articles and books that I read and found useful. I'll also include some practical advice on how to go about testing and some common pitfalls you might encounter at the end of the article.

**Svelte <3 TypeScript**
https://svelte.dev/blog/svelte-and-typescript
https://blog.scottlogic.com/2020/07/24/svelte-ts.html
It's been by far the most requested feature for a while, and it's finally here: Svelte officially supports TypeScript.

**GitLab's guide to safe deployment practices**
https://about.gitlab.com/blog/2020/07/23/safe-deploys/
It's important to safeguard your deployment process. Here's our best advice to protect your environments.
另附:[DevSecOps basics: five steps to standardize (and then scale) security](https://about.gitlab.com/blog/2020/07/20/devsecops-security-standardization/).

**GraphQL Query Generator by IBM**
https://blog.graphqleditor.com/graphql-query-generator/
GraphQL Query Generator is an interesting library brought to you by the IBM team, which’s the main idea is to allow users to generate randomized GraphQL queries from any given GraphQL schema.

**Spanner’s SQL Story**
https://medium.com/google-cloud/spanners-sql-story-79bda8bb632d
Spanner is a distributed database Google initiated a while ago to build a highly available and highly consistent database for its own workloads. Spanner was initially built to be a key/value and was in a completely different shape than it is today and it had different goals. Since the beginning, it had transactional capabilities, external consistency and was able to failover transparently. Over time, Spanner adopted a strongly typed schema and some other relational database features. In the last years, it added SQL support*. Today we are improving both the SQL dialect and the relational database features simultaneously. Sometimes there is confusion whether Spanner supports SQL or not. The short answer is yes. The long answer is this article.

**Scalable data classification for security and privacy**
https://engineering.fb.com/security/data-classification-system/
Traditional data loss prevention (DLP) systems solve this problem by fingerprinting the data in question and monitoring endpoints for the fingerprinted data. For an organization with a large number of constantly changing data assets, this approach is neither scalable nor effective for discovering which data is where. Instead, the approach described here focuses on scalable infrastructure, multiple data signals, machine learning (ML), and continuous training to solve this challenge.

**How We’re Solving Data Discovery Challenges at Shopify**
https://engineering.shopify.com/blogs/engineering/solving-data-discovery-challenges-shopify
Data discovery and management is the practice of cataloguing these data assets and all of the applicable metadata that saves time for data professionals, increasing data recycling, and providing data consumers with more accessibility to an organization’s data assets. To make sense of all of these data assets at Shopify, we built a data discovery and management tool named Artifact. It aims to increase productivity, provide greater accessibility to data, and allow for a higher level of data governance.

**Introducing Domain-Oriented Microservice Architecture**
https://eng.uber.com/microservice-architecture/
Our goal with DOMA is to provide a way forward for organizations that want to reduce overall system complexity while maintaining the flexibility associated with microservice architectures. This piece explains DOMA, the concerns that led to the adoption of this architecture for Uber, its benefits for platform and product teams, and, finally, some advice for teams who want to adopt this architecture.

**Rebuilding messaging: How we bootstrapped our platform**
https://engineering.linkedin.com/blog/2020/bootstrapping-our-new-messaging-platform
Messaging has been a core part of Linkedin since the day we launched and our system behind it has evolved tremendously over the past 17 years. However, the architecture of our messaging backend largely remained unchanged until a recent ground-up overhaul. In the second part of our “Rebuilding messaging” series, we’ll talk about the large-scale migration of existing data to the new database, or as commonly referred to, our journey bootstrapping data from our legacy system to the new system.

**Bloom filters debunked: Dispelling 30 Years of bad math with Coq!**
https://gopiandcode.uk/logs/log-bloomfilters-debunked.html
There's this rather nifty feature of modern web browsers (such as Firefox or Chrome) where the browser will automatically warn the user if they happen to navigate to a "malicious" URL. While conceptually simple, this feature actually requires more engineering effort than one would expect - in particular, tracking the set of known malicious URLs in a practical manner turns out to be somewhat difficult. Using a probabilistic data structure known as a Bloom filter, Browsers maintain a approximate representation of the set of known malicious URLs locally. By querying this space-efficient local set, browsers will only send up a small proportion of the honest URLs.

**Go command support for embedded static assets (files) — Draft Design**
https://go.googlesource.com/proposal/+/master/design/draft-embed.md
There are many tools to embed static assets (files) into Go binaries. All depend on a manual generation step followed by checking in the generated files to the source code repository. This draft design eliminates both of these steps by adding support for embedded static assets to the go command itself. 另附:[File System Interfaces for Go — Draft Design](https://go.googlesource.com/proposal/+/master/design/draft-iofs.md)

**A Chat with Brian Kernighan of Unix, C, AWK, AMPL, and Go Fame**
https://www.youtube.com/watch?v=O9upVbGSBFo
Brian Kernighan is a professor of computer science at Princeton University. He co-authored the C Programming Language with Dennis Ritchie (creator of C) and has written a lot of books on programming, computers, and life including the Practice of Programming, the Go Programming Language, his latest UNIX: A History and a Memoir. He co-created AWK, the text processing language used by Linux folks like myself. He co-designed AMPL, an algebraic modeling language for large-scale optimization. This conversation is part of the Artificial Intelligence podcast.

## 新鲜货

**V8 release v8.5**
https://v8.dev/blog/v8-release-85
JavaScript: Promise.any and AggregateError, String.prototype.replaceAll; WebAssembly: Liftoff shipped on all platforms, Multi-value support shipped, Support for JS BigInts.

**Native lazy-loading for iframes is here!**
https://addyosmani.com/blog/native-iframe-lazy-loading/
Native lazy-loading for images landed in Chrome 76 via the loading attribute and later came to Firefox. We are happy to share that native lazy-loading for iframes is now standardized and is also supported in Chrome and Chromium-based browsers.

**Vue 3 is now in RC!**
https://github.com/vuejs/rfcs/issues/189
We are very excited to announce that Vue 3.0 has entered RC (Release Candidate) stage! Entering the RC stage means that both the API and implementation of Vue 3 core have stabilized. In principle, we do not expect to introduce new major features or breaking changes before the final release. Most official framework parts also now have v3 support. Please check here for the latest status.

**Adobe: Introducing React Spectrum**
https://github.com/adobe/react-spectrum
A collection of libraries and tools that help you build adaptive, accessible, and robust user experiences. React Spectrum includes three libraries:
- React Spectrum — A React implementation of Spectrum, Adobe’s design system.
- React Aria — A library of React Hooks that provides accessible UI primitives for your design system.
- React Stately — A library of React Hooks that provides cross-platform state management and core logic for your design system.

**Announcing React Power BI**
https://powerbi.microsoft.com/en-us/blog/announcing-react-power-bi/
The library for React lets you embed Power BI reports, dashboards, dashboard tiles, report visuals or Q&A. It helps you optimize performance, with the bootstrap integration, and use all the client side APIs including report authoring. In addition, it simplifies the Power BI embed lifecycle management in React applications.

**Relay 10.0 Released: A Framework for Building Data-Driven React Apps**
https://github.com/facebook/relay/releases/tag/v10.0.0
Relay is a JavaScript framework for building data-driven React applications.

**MUI-Datatables - Datatables for Material-UI**
https://github.com/gregnb/mui-datatables
MUI-Datatables is a responsive datatables component built on Material-UI. It comes with features like filtering, resizable columns, view/hide columns, draggable columns, search, export to CSV download, printing, selectable rows, expandable rows, pagination, and sorting. On top of the ability to customize styling on most views, there are three responsive modes "vertical", "standard", and "simple" for mobile/tablet devices.

**Handsontable - a JavaScript data grid that looks and feels like a spreadsheet**
https://handsontable.com/
Minimalistic, Excel-like grid component for web apps. Available for pure JavaScript, React, Vue, and Angular.

**Kutt.it**
https://github.com/thedevs-network/kutt
Kutt is a modern URL shortener with support for custom domains. Shorten URLs, manage your links and view the click rate statistics.

**Scene.js**
https://github.com/daybrush/scenejs
Scene.js is an JavaScript & CSS timeline-based animation library.

**css-sweeper from PropJockey**
https://github.com/propjockey/css-sweeper
MineSweeper implemented in CSS + HTML using the Space Toggle trick (no JavaScript!)

**Megahash**
https://github.com/jhuckaby/megahash
A super-fast C++ hash table with Node.js wrapper, tested up to 1 billion keys.

**RavenDB 5.0 Released: An ACID NoSQL Document Database**
https://ravendb.net/
RavenDB is a NoSQL Database that’s fully transactional and scales to 1 million reads and 150,000 writes per second.

**Generate abstract paintings in one click**
https://1secondpainting.com/
Click the button below for an AI-generated abstract painting. Built for artists, developers, and hobbyists.

**Semgrep**
https://github.co m/returntocorp/semgrep
Lightweight static analysis for many languages. Find bug variants with patterns that look like source code.

**Essays on programming I think about a lot**
https://www.benkuhn.net/progessays/
Every so often I read an essay that I end up thinking about, and citing in conversation, over and over again. Here’s my index of all the ones of those I can remember! I’ll try to keep it up to date as I think of more.

## 设计

**Designing apps for kids: best practices**
https://uxplanet.org/designing-apps-for-kids-best-practices-8e32409d07c3
With the boom of digital, education can’t be left behind.

**5 Ways to Integrate Accessible Design into Fast-paced Projects**
https://medium.com/facebook-design/5-ways-to-integrate-accessible-design-into-fast-paced-projects-26eca345d23a
Designing for accessibility means enabling people of all abilities to perceive, understand, interact with, and contribute equally to the web and digital world. We have been learning a lot about this by supporting fast-paced projects, especially in the last few months launching Rooms, the Covid Info Hub, and Covid hashtags.

## 产品及其它

**Why Medium is Not the Home for Your Ideas**
https://hulry.com/medium-vs-own-blog/
Building a blog for the long run? Avoid Medium. This is why.

**Wiki.js - The most powerful and extensible open source Wiki software**
https://wiki.js.org/
Make documentation a joy to write, using Wiki.js's beautiful and intuitive interface!

**线上办公战场激烈,雷军推荐的飞书好在哪?**
https://mp.weixin.qq.com/s/gF6OoQKk9skXG7tig6qcow
从唯物论的角度来讲,在线协作软件、线上办公APP等工具当然是一个好东西,是生产力进步的体现;从辩证法的角度来讲,必须让每个人都享受到技术进步带来的福利,真正让它们成为激发创新与产出的工具,而不是束缚手脚的监视器,才能让生产力的进步富有意义。

> 对数据可视化有兴趣的可以阅读由 AntV 带来的 [墨者修齐 2020-07-27 中国河流污染情况、A View On Despair、Figures in the Sky、论文知识图谱、The Time Bar:Visualize your dynamic networks、不同国家在医疗与军事上的支出](https://www.yuque.com/mo-college/weekly/vyopyx)
-- THE END --
Loading

0 comments on commit 8e21afe

Please sign in to comment.