深阅读

What Are the React Team Principles?
https://overreacted.io/what-are-the-react-team-principles/
During my time on the React team, I’ve been lucky to see how Jordan, Sebastian, Sophie and other tenured team members approach problems. In this post, I’m distilling what I learned from them into a few high-level technical principles. These principles aren’t meant to be exhaustive. This is my personal attempt to formalize observations about how the React team operates — other team members may have different perspectives.

JavaScript Trends in 2020
https://codeburst.io/javascript-trends-in-2020-b194bebc5ef8
2020 is just around the corner, as unbelievable as that sounds. If you’re curious about what the future of the programming world might be, you’re in the right place. We tried to analyze trends in 2019 and want to share some insights into key directions for the JavaScript ecosystem.

Feature watch: ECMAScript 2020
https://2ality.com/2019/12/ecmascript-2020.html
This blog post tracks actual and potential features of ES2020. I will continually update it.

Adaptive Loading - Improving web performance on low-end devices
https://addyosmani.com/blog/adaptive-loading/
Adaptive Loading is a web performance pattern where sites not just respond based on screen size - they adapt based on actual device hardware.

从 React 历史的长河里聊虚拟DOM及其价值
https://mp.weixin.qq.com/s/ONVuXXiHl8aPG-Gnrq-yhw
Virtual Dom是研发效率和用户体验之间的妥协产物,同时也为后续的React Native等跨端框架提供了基础。虽然Vue、React都采用了Virtual Dom的设计方式,但始终不存在最好的,仅仅是最适合而已。

云开发:未来的软件开发方式
https://mp.weixin.qq.com/s?__biz=MjM5Mjg4NDMwMA==&mid=2652977219&idx=1&sn=6dba1b1249894d063476da0702750204
云开发是一种解决方案,它解决的问题是:如何以更高效地方式进行软件开发?作为 v0.1.0 的定义,我对它的定义可能还不是非常准确,但是重点有这么几个:以共同协作的方式开发软件,软件开发的在线闭环,应用生命周期的代码化和可追溯。你看吧,我们过去解决了一个又一个的线下协作问题,现在构建新的线上协作平台的时机已经逐渐成熟了,是时候开始准备构建你们的云开发平台。

前端工程化下一站: IDE
https://mp.weixin.qq.com/s/1lMDVnVighatssr3CHoPvQ
随着前端开发的发展更迭,前端日常开发工作变得愈发复杂愈发深入,同时前端工程中从项目初始化、编译、构建到发布、运维也变得细化而成熟。日常前端工作的每个环节都涌现出丰富的工具、服务和解决方案来解决工程效率的问题。那么,前端工程化的下一阶段的突破口是什么,我们期望通过 IDE 的方式和视角来找寻答案。

Bifrost微前端框架及其在美团闪购中的实践
https://tech.meituan.com/2019/12/26/meituan-bifrost.html
立项之初,闪购赋能企管平台(以下简称“企管平台”)仅仅是面向单个商家的CRM管理系统,采用常规的Vue单页应用方式来实现。随着项目的推进,它的定位逐渐发生了变化,从一个单一业务的载体逐渐变成了面向多种场景的商家管理平台。另一方面,由于系统由多个前端团队共同开发维护,越来越多的问题随之浮现:异地协作时,信息同步不及时引起的代码冲突以及修改公共组件引入的Bug。不同的商家针对同一个页面存在定制化的需求。已经实现的一些功能需要集成到企管平台中来。因此,我们希望构建一个更高维度的解耦方案,使我们能够在开发阶段把互不干涉的模块拆成一个个类似后端微服务架构那样的子系统,各自迭代,在运行时集成为一个能够覆盖上述各种使用场景的完整系统。

基于浏览器的实时构建探索之路
https://mp.weixin.qq.com/s/Gl2Yc34cpdbFIRjL-qYwGg
为了让大家有更好的体感,我们先来看一个案例。这个案例是使用code mirror 加 antd tab 组件加 gravity 做的一个实时预览。大家可以通过这个 gif 能看到,我变更js文件或者样式文件的时候,在右侧这个预览区域可以进行实时的更新,那这部分的能力完全由浏览器作为支撑在提供出来,并不涉及本地 server 或者 远程 server 能力的输出。

什么是 GraphQL?
https://www.zhihu.com/question/264629587/answer/949588861
GraphQL 是一种针对 Graph(图状数据)进行查询特别有优势的 Query Language(查询语言),所以叫做 GraphQL。它跟 SQL 的关系是共用 QL 后缀,就好像「汉语」和「英语」共用后缀一样,但他们本质上是不同的语言。GraphQL 跟用作存储的 NoSQL 没有必然联系,虽然 GraphQL 背后的实际存储可以选择 NoSQL 类型的数据库,但也可以用 SQL 类型的数据库,或者任意其它存储方式(例如文本文件、存内存里等等)。

How I made The Periodic Table with CSS Grid and React
https://tamalweb.com/periodic-table-reactjs
I was looking into the periodic table and trying to memorize all the elements in order. One afternoon I thought, hey can I make the periodic table with my current CSS skills?

How to create a yin-yang symbol with pure CSS
https://blog.logrocket.com/how-to-create-yin-yang-symbol-pure-css/
One way to practice CSS is to recreate pictures, icons, or drawings with pure CSS. In this tutorial, we’ll create a yin-yang symbol with pure CSS and only one line of HTML. We’ll review the usage of pseudo-classes and different border properties, and you’ll see how easy a task like this can be if you hone your skills and practice regularly.

VS Code goes online!
https://areknawo.com/vs-code-goes-online/
In this short blog post, I’d like to talk about how VS Code can be used remotely with nothing more than a web server and a browser. We’ll talk about why you might be interested in all of this in the first place, how it all could work and what are some of the available implementations of this concept. Let’s get into it!

Go + Services = One Goliath Project
https://engineering.khanacademy.org/posts/goliath.htm
As of December 2019, we have our first few Go services running in production behind an Apollo GraphQL gateway. These services are pretty small today, because the way we’re doing the migration is very incremental. For us, 2020 is going to be filled with technical challenge and opportunity: Converting a large Python monolith to GraphQL-based services in Go. We’re excited about this project, which we’ve named Goliath (you can probably imagine all of the “Go-” names we considered!).

My Business Card Runs Linux
https://www.thirtythreeforty.net/posts/2019/12/my-business-card-runs-linux/
I taught myself a lot on this project: it’s my first project using a reflow oven to solder the parts. I also had to learn how to find resources for poorly-documented parts. There was a lot more to it than what I touched on in this quick presentation; again, if you want to see how the sausage gets made, see also my companion detailed write-up. I drew from my existing experience with embedded Linux and designing PCBs. It isn’t flawless, but it’s a pretty good representation of my abilities. If you’d like to learn how to do this kind of thing, you might also be interested in my ongoing Mastering Embedded Linux series! I’m walking through how to build hardware and software from scratch for tiny, cheap Linux systems much like my business card. 另附:Learning hardware programming as a software engineer.

KISS, DRY, and Code Principles Every Developer Should Follow
https://medium.com/better-programming/kiss-dry-and-code-principles-every-developer-should-follow-b77d89f51d74
The secrets of successful software engineers.

Readable Code
https://blog.pragmaticengineer.com/readable-code/
Good code needs to meets two key requirements. First, it should be correct: when executing, it should produce the result that is expected. Second, it should be easy to read for other developers. Coding is a social activity. Your code does not exist in a vacuum, just implementing a lone task. The code you write will be re-read by many other developers, who want to either understand or modify how your code works.

新鲜货

腾讯开源内部跨端框架 Hippy,打磨三年,日均 PV 过亿
https://zhuanlan.zhihu.com/p/98945706
在腾讯内部,Hippy 已运行3年之久,跨 BG 共有 18 款线上业务正在使用 Hippy,日均 PV 过亿,且已建立一套完整生态。相较于其他跨端框架,Hippy 对前端开发者更友好:紧贴 W3C 标准,遵从网页开发各项规则,使用 JavaScript 为开发语言,同时支持 React 和 Vue 两种前端主流框架。

SpriteJS 3.0 正式发布 —— 针对可视化大屏渲染优化性能提升10倍+
https://zhuanlan.zhihu.com/p/99937752
SpriteJS 3.0 正式版于12月26日发布,这一版与2.x最大的区别是,2.x采用canvas2d渲染,而3.x默认采用WebGL2渲染,在不支持WebGL2的环境中会依次降级为WebGL和canvas2d。因为使用WebGL2渲染,使得框架在利用GPU渲染和优化方面比2.x有质的突破,从而带来了性能的巨大提升。经过初步测试,在渲染同样的精灵元素时,3.x的性能平均是2.x的2倍,这个性能优势会随着精灵数量的增多而增加,最多的情况下可以达到6-10倍。也就是说,在原本2.x下渲染fps大概15帧左右的应用,在3.x下可以达到流畅的60fps。

WebAssembly 2019 Year In Review
https://blog.scottlogic.com/2019/12/24/webassembly-2019.html
I’ve been authoring the WebAssembly Weekly newsletter for just over two years now. As we near the end of 2019 I want to take the opportunity to share some of my favourite articles from the year. From funky demos, to big announcements, this is my 2019 in review …

The Year in Math and Computer Science
https://www.quantamagazine.org/quantas-year-in-math-and-computer-science-2019-20191223/
Mathematicians and computer scientists made big progress in number theory, graph theory, machine learning and quantum computing, even as they reexamined our fundamental understanding of mathematics and neural networks.

Microsoft Research 2019 reflection—a year of progress on technology’s toughest challenges
https://www.microsoft.com/en-us/research/blog/microsoft-research-2019-reflection-a-year-of-progress-on-technologys-toughest-challenges/
Research is about achieving long-term goals, often through incremental progress. As the year comes to an end, it’s a good time to step back and reflect on the work that researchers at Microsoft and their collaborators have done to advance the state of the art in computing, particularly by increasing the capabilities and reach of AI and delivering technology experiences that are more inclusive, secure, and accessible. This covers only a sliver of all the amazing work Microsoft Research has accomplished this year, and we encourage you to discover more of the hundreds of projects undertaken in 2019 by exploring our blog further.

OpenJS Foundation Year in Review
https://openjsf.org/blog/2019/12/26/openjs-foundation-year-in-review/
We couldn’t ring in the new year without taking a walk down OpenJS Foundation memory lane and looking back at some amazing community milestones and moments. While we take this time to reflect on the big strides this community has made, we are also thrilled for what’s to come. Thanks to all who make the OpenJS Foundation all that it is!

Best Talks of 2019
https://news.ycombinator.com/item?id=21858866

Volument
https://volument.com/
https://volument.com/blog/minimalism-the-most-undervalued-development-skill
Volument is analytics for the Slack generation. To be launched in 2020, we aim to change the way people measure and optimize their websites.

22120 - Local Node.js app to save everything you browse and serve it offline
https://github.com/dosyago/22120
An archivist browser controller that caches everything you browse, a library server with full text search to serve your archive. Like binaries?

**What the f-ck Python! **
https://github.com/satwikkansal/wtfpython/blob/master/README.md
Exploring and understanding Python through surprising snipp

Spotify Daily
https://github.com/ThasianX/SpotifyDaily
Spotify Daily is an iOS application that allows users to pull in new song releases from their favorite artists and provides users with important metrics like their top tracks, top artists, and recently played tracks, queryable by time range. Architecture: MVVM + Coordinator + RxSwift.

darktable 3.0
darktable is an open source photography workflow application and raw developer. A virtual lighttable and darkroom for photographers. It manages your digital negatives in a database, lets you view them through a zoomable lighttable and enables you to develop raw images and enhance them. https://www.darktable.org/2019/12/darktable-30/

设计

unDraw
https://undraw.co/illustrations
Open-source illustrations for every project you can imagine and create. A constantly updated collection of beautiful svg images that you can use completely free and without attribution. Create better looking landing pages, mobile apps and products. 另附:13 places to find Beautiful Free Illustrations - Prototypr.

Google Design’s Best of 2019
https://design.google/library/google-design-2019/
https://www.uisdc.com/google-design-2019
The notable products, experiments, and redesigns that made our year.

State of Design Systems 2019
https://medium.com/google-design/state-of-design-systems-2019-ff5f26ada71
A community survey on the emerging trends, evolving uses, and growing importance of design systems.

Data-Driven Design Is Killing Our Instincts
https://blog.marvelapp.com/data-driven-design-killing-instincts/
Valuing data over design instinct puts metrics over users. Data needn’t be the enemy of instinct. They can work hand in hand to balance the design process. After all, instinct is built upon years of observing the world — it’s nothing but data that’s so deeply integrated that it no longer feels external. Trusting our instinct means obeying long-term trends. Pair it with short-term data and you’ve got the recipe for faultless design decision making.

5 Design Books to buy for 2020
https://uxplanet.org/5-design-books-to-buy-for-2020-5490430fc4
Sharing the books that changed my design work in 2019. 这本书 The Best Interface Is No Interface 有点意思。另附:Resources for Learning UX in 2020.

产品及其它

想要提高工作效率,你得先用好它 - RPA+AI机器人
https://mp.weixin.qq.com/s/nYL7NS9Jl-FFDRnA5FyxTA
提到机器人,我们会很自然地联想到实体类的机器人。比方说长得跟人一样,能够像人一样去跑步、跳跃的机器人;工厂的流水线上自动化工作的工业机器人;或者是很多餐厅、酒店能够看到的,能够自己移动,跟人做一些简单的互动的服务型机器人。这些机器人我们都叫做实体机器人,实体机器人对于在办公室工作的朋友们,应该没有太大的关系。我今天跟大家分享的是,能够在办公的时候用到的软件机器人。

阿里张勇湖畔分享:领导者如何“落子无悔”
https://mp.weixin.qq.com/s/lBZjppE5cwvNs9EfVHcTgg
2019年12月17日,阿里巴巴集团董事局主席兼首席执行官张勇和湖畔大学第四期学员进行了最新年度分享。今年年初,他曾经提出,商业设计和组织设计,是企业一号位不可推卸的两大责任。最新分享中,他对于聚焦客户价值选择赛道、纵横分合的组织设计、让不确定性不同意见变为确定性的一致意见、领导者如何“落子无悔”等进行了更全面深入的延展和阐释。

陆奇:有一种企业,选对了战略,却死于内耗
https://mp.weixin.qq.com/s?__biz=MzUyMDQ5NzI5Mg==&mid=2247514677&idx=1&sn=174fa57303ab419387e06a06dee7b8bc
在人类历史上,存在三大财富创造体系。第一是农业体系,第二是工业体系,第三是信息与知识体系。本质上讲,这个时代,创造财富的核心驱动力是通过信息、数字化在信息当中抽取知识,用知识不断重组人类社会的现有资源,最终实现财富的快速创造。那究竟什么是数字化呢?数字化浪潮对我们而言意味着什么?数字化就是大规模的信息处理。在数字化浪潮之下,个人和企业的行为、模式与生态都会被重新塑造。作为企业、作为企业中的员工,对此要有非常清醒的认识。如何在这种浪潮之下获得更好的发展?如何抓住更多的创新机会?如何解决企业可能面临的困境?这是每个人都需要思考的问题。

人生商业模式:有的人换回了全世界,有的人却一无所获
https://mp.weixin.qq.com/s?__biz=MjM5NjM5MjQ4MQ==&mid=2651620005&idx=1&sn=2c1dd8a7d9da6bc1bc316707520049e7
这个世界上有一些人,一旦在某个领域获得成功之后,他几乎可以在每一个领域都获得成功。 为什么会有这样的人存在呢?这背后,其实也是有商业逻辑的。人生,其实就是一种商业模式。人生商业模式 = 能力 * 效率 * 杠杆。有的人,用这三者换回了全世界。而有的人,却一无所获。今天的文章,我就来系统地跟你聊一聊:人生商业模式中的能力、效率和杠杆。

2019,中国互联网让人失望的一年
https://mp.weixin.qq.com/s?__biz=MzU1NjEzNjk1Mw==&mid=2247484706&idx=1&sn=a3f9eecb47c6299397a2c252df3ff2e5
许多年后,当我们回顾中国互联网的2019,毫无疑问会发现它是互联网商业史上极其让人失望的一年。去年我们在热议“腾讯没有梦想”,今年我们发现似乎整个中国互联网都失去了梦想,这个行业似乎没有了澎湃的激情,大家不再仰望星空,有张力的故事消失了,有的只是妥协、平庸、失望、苟且以及狗血…….王兴在2018年结束的时候说“2019年或许是过去十年中最坏的一年,但可能是未来十年最好的一年”,如今看至少前半句无疑已经确认,如果你不同意,请不要急于反驳卫夕,请接着往下看。

作者:nwind (http://wuduoyi.com/) - 知道得越多,不知道的就更多了

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