深阅读

React v16.2.0: Improved Support for Fragments
https://reactjs.org/blog/2017/11/28/react-v16.2.0-fragment-support.html React 16.2 is now available! The biggest addition is improved support for returning multiple children from a component’s render method. We call this feature fragments. 另附:Debugging React performance with React 16 and Chrome Devtools11 React Component Libraries You Should Know In 2018

Orinoco: young generation garbage collection
https://v8project.blogspot.ca/2017/11/orinoco-parallel-scavenger.html JavaScript objects in V8 are allocated on a heap managed by V8’s garbage collector. In previous blog posts we have already talked about how we reduce garbage collection pause times (more than once) and memory consumption. In this blog post we introduce the parallel Scavenger, one of the latest features of Orinoco, V8’s mostly concurrent and parallel garbage collector and discuss design decisions and alternative approaches we implemented on the way.

An Introduction to Speculative Optimization in V8
https://ponyfoo.com/articles/an-introduction-to-speculative-optimization-in-v8 An impressively low-level article that we hope gives you a good idea about what happens in V8 when it comes to optimization. 另附:JavaScript Performance Optimization Tips.

Monitoring the performance of a Node.js web application
https://blog.sqreen.io/diy-node-apm/ Building a tool to monitor how an application performs is not very difficult anymore. Two recent additions to Node.js, the Async Hooks API and the Performance Hooks API, allow anyone to closely monitor the performance of their app with just a little code. This article explains the key elements to building such a tool, from instrumenting code to reporting collected data in a clear visualisation.

How Stylo Brought Rust and Servo to Firefox
http://bholley.net/blog/2017/stylo.html
重写和替换内核相当不容易,另附:Can the new Firefox Quantum regain its web browser market share?

Why Flutter Will Take Off in 2018
https://codeburst.io/why-flutter-will-take-off-in-2018-bbd75f8741b0 I plan to blog on some of the iOS apps I am now re-writing using Flutter, rather than React Native. Note that I have used a bit of React Native in the past, and React for web apps extensively, I still think Flutter will take off in 2018. Here’s why.

What is ReasonML?
http://2ality.com/2017/11/about-reasonml.html ReasonML is a new object-functional programming language created at Facebook. In essence, it is a new C-like syntax for the programming language OCaml. The new syntax is intended to make interoperation with JavaScript and adoption by JavaScript programmers easier. 另附: Getting started with ReasonMLWhat is planned for ReasonML?

WebGL 基础知识
http://eux.baidu.com/blog/2017/11/832 OpenGL Embeded Subset是OpenGL的一个子集, 针对嵌入式和移动端做了功能精简和性能优化。WebGL基于OpenGL ES 2.0标准,基本就是将原来C语言的API和配置项迁移到Javascript, 去掉了一些实在不兼容的部分,WebGL 2.0基于OpenGL ES 3.0。

[译]-GraphQL 技术栈揭秘
http://www.zcfy.cc/article/the-graphql-stack-how-everything-fits-together-apollo-graphql-4549.html 绍一下 GraphQL 的现状,然后讨论在不久的将来如何发扬它的主要优势。具体来说,我们将介绍三个完整的 GraphQL 集成示例:缓存,性能追踪和模式拼接。让我们开始吧!另附:GiraffQL An interactive GraphQL exploration tool built with React. Create your schema, set up relations, generate and save your schema files and test your schema by writing some basic queries with GraphiQL Start exploring the capabilities of GraphQL with our App.

小程序组件化开发框架wepy正式开源
https://mp.weixin.qq.com/s/bUuHM_U1W5rFxWoGGvQwJQ
WePY 是一款让小程序支持组件化开发的框架,通过预编译的手段让开发者可以选择自己喜欢的开发风格去开发小程序。框架的细节优化,Promise,Async Functions的引入都是为了能让开发小程序项目变得更加简单,高效。另附:2017第三季度移动行业数据报告小程序行业首份生态白皮书发布

如何为 ThinkJS 3 网站优化 TTFB 时间
https://imququ.com/post/reduce-ttfb-on-thinkjs3-website.html Time to first byte(简称 TTFB)时间,又称首字节时间,是 WEB 性能优化中非常重要的指标。它代表着从浏览器发起 HTTP 请求到收到 HTTP 响应第一个字节的这段时间,包含了 DNS 解析、建立 TCP 连接、建立 SSL 连接、发送 HTTP 请求、网络传输、服务端处理、30X 重定向等阶段。在影响 TTFB 所有因素中,服务端程序何时输出响应决定了服务端处理时间的长短,也是本文关注的优化目标。

Improving Document Preview Performance
https://blogs.dropbox.com/tech/2017/12/improving-document-preview-performance/ Over the last year, the Previews team has been on a journey to make our document preview experience the fastest in the industry, and we’re happy to share what we learned.

Improving Resiliency and Stability of a Large-scale Monolithic API Service
https://engineering.linkedin.com/blog/2017/11/improving-resiliency-and-stability-of-a-large-scale-api How do you increase the resiliency and stability of a monolithic API service that is used by three different platforms, serving 500+ million members, developed by over 400 engineers, deployed three times per day, and consuming almost 300 downstream services? The API layer service used by LinkedIn.com and the LinkedIn mobile applications is one such service, and in this post, we want to share with you how we increased its resiliency and stability.

Animating Layouts with the FLIP Technique
https://css-tricks.com/animating-layouts-with-the-flip-technique/ In this article, we’ll explore a technique called “FLIP” that can be used to animate the positions and dimensions of any DOM element in a performant manner, regardless of how their layout is calculated or rendered (e.g., height, width, floats, absolute positioning, transform, flexbox, grid, etc.)

The Best Request Is No Request, Revisited
https://alistapart.com/article/the-best-request-is-no-request-revisited Over the last decade, web performance optimization has been controlled by one indisputable guideline: the best request is no request. A very humble rule, easy to interpret. Every network call for a resource eliminated improves performance. Every src attribute spared, every link element dropped. But everything has changed now that HTTP/2 is available, hasn’t it? Designed for the modern web, HTTP/2 is more efficient in responding to a larger number of requests than its predecessor. So the question is: does the old rule of reducing requests still hold up?

Scaffolding a NodeJS GraphQL API server
https://medium.com/@tomlagier/scaffolding-a-rock-solid-graphql-api-b651c2a36438
Recently, I’ve been working on a new full-stack project and I wanted to take the opportunity to try my hand at creating a GraphQL API. I didn’t find many resources that walked through the whole stack on the back-end from DB to ORM to API design, including tests, so I thought I could help some other folks by laying out what I ended up with.

A Year in Computer Vision: The M Tank, 2017
http://www.themtank.org/a-year-in-computer-vision The term understanding provides an interesting counterpoint to an otherwise mechanical definition of vision, one which serves to demonstrate both the significance and complexity of the Computer Vision field. True understanding of our environment is not achieved through visual representations alone. Rather, visual cues travel through the optic nerve to the primary visual cortex and are interpreted by the brain, in a highly stylised sense. The interpretations drawn from this sensory information encompass the near-totality of our natural programming and subjective experiences, i.e. how evolution has wired us to survive and what we learn about the world throughout our lives.

Interface
https://spectrum.chat/thread/ac4cba39-0582-4b73-9582-9e863ed66346 In this post, I’m going to lay out a case for an intermediary format between design and engineering tools to enable more efficient, capable tooling for product teams generally and designers especially. This proposal is based on a series of conversations I’ve had with small groups of designers and engineers over the past year or so.

Design Systems Handbook
https://www.designbetter.co/design-systems-handbook/
如何构建自己的设计风格

RE: The end of Design as we know it
https://uxplanet.org/re-the-end-of-design-as-we-know-it-91bc5d0708e Designers are more than systems, designers solve problems in unconventional and fun ways that a system wouldn’t be able to generate. Designers are human, just like our users and I don’t think that’s something anyone should forget.

A Big List of Typography Books
http://mediatemple.net/blog/tips/big-list-typography-books/ A book on typography has no choice but to have incredibly typography itself, so while you read and learn, you get to linger on the typesetting of the book itself. Although I bet that runs counter to what the authors want! They are always saying good typography shouldn’t call attention to itself but get out of the way.

Designing For A Browserless Web
https://www.smashingmagazine.com/2017/11/designing-for-a-browserless-web/ Users couldn’t care less about whether a technology is native, an installed web app or a website. What makes users engage and makes shoppers convert is really the experience itself. In this article, Mitch takes a closer look at PWAs on Android devices and explains how we can pave the way for a new era of browserless web browsing.

The Mythical UX Designer – Five Common Misconceptions
https://blogs.adobe.com/creativecloud/the-mythical-ux-designer-five-common-misconceptions/ UX is not only about technology and technical constraints, but about the intersection of business goals, user needs, and technology. UX designers have strong design backgrounds; UX designers have to be able to code; UX portfolios have to be beautiful; UX designers are obsessed with technology and gadgets; UX designers always wear black.

新鲜货

AWS AppSync – Build data-driven apps with real-time and off-line capabilities
https://aws.amazon.com/blogs/aws/introducing-amazon-appsync/ AWS AppSync is a fully managed serverless GraphQL service for real-time data queries, synchronization, communications and offline programming features. With AppSync developers can simplify the retrieval and manipulation of data across multiple data sources with ease, allowing them to quickly prototype, build and create robust, collaborative, multi-user applications. AppSync keeps data updated when devices are connected, but enables developers to build solutions that work offline by caching data locally and synchronizing local data when connections become available.

San 3.3.0 发布
http://efe.baidu.com/blog/san-3-3-0/ 3.3.0 升级的主题是:特征完备

IPV6 终于要落地了
http://www.miit.gov.cn/n1146290/n1146392/c5928494/content.html

函数计算+DuerOS,打造一站式智能生态
https://mp.weixin.qq.com/s?__biz=MzA5NTQ5MzE5OQ==&mid=2653055349&idx=1&sn=ea3ff15605691220547dfef7374bf121 CFC(百度云函数计算,Cloud Function Compute)刚刚上线不久,目前内测中,它是基于事件机制、弹性、高可用、极速响应的云端无服务器计算服务,是比虚拟机更轻量级的计算方式。其有四大特点:运维成本低,用户仅需关注代码开发,没必要在基础设施层耗费太多精力;资源消耗少,代码运行需要多少资源就付多少钱;响应能力快,借助百度云容器技术,提供ms级别的事件响应能力;扩展能力强,能根据业务诉求快速扩展资源。

Use any theme with GitHub Pages
https://github.com/blog/2464-use-any-theme-with-github-pages you can use any of the hundreds of community-curated themes on GitHub.com. To build your site with any public, GitHub-hosted theme, add the following to your site’s _config.yml file: remote_theme: owner/nameReplacing owner and name with the repository’s owner and name.

Kubernetes and containers in 2018: Buckle your seatbelts
https://coreos.com/blog/kubernetes-and-containers-in-2018 What do we see in the Kubernetes ecosystem’s future as 2017 draws to a close? The CoreOS crystal ball reveals a few likely directions for the New Year.

HTML MEDIA CAPTURE IS A W3C PROPOSED RECOMMENDATION
https://www.w3.org/TR/2017/PR-html-media-capture-20171128/ The HTML Media Capture specification defines an HTML form extension that facilitates user access to a device’s media capture mechanism, such as a camera, or microphone, from within a file upload control.

Reducing Chrome crashes caused by third-party software
https://blog.chromium.org/2017/11/reducing-chrome-crashes-caused-by-third.html In April 2018, Chrome 66 will begin showing affected users a warning after a crash, alerting them that other software is injecting code into Chrome and guiding them to update or remove that software.

Lint the Web Forward With Sonarwhal
https://24ways.org/2017/lint-the-web-forward-with-sonarwhal/ Sonarwhal is a linting tool, built by and for the web community. The code is open source and lives under the JS Foundation. It helps web developers and designers like me keep up with the constant change in technology while simultaneously teaching how to code better websites.

Literally Canvas
http://literallycanvas.com/ Literally Canvas is an extensible, open source (BSD-licensed), HTML5 drawing widget. Its only dependency is React.js. You can use it to embed drawing boards in web pages. It’s kind of like an extensible MS Paint in JavaScript. Users can sketch drawings and you can do what you like with the results. comes with an easy-to-use jQuery plugin.

Infinitown – A WebGL Experiment
http://demos.littleworkshop.fr/infinitown

rapid.js
https://github.com/rapidjs/rapid.js An ORM-like Interface and a Router For Your API Requests

5 Most Popular Node.js Framework Examples in 2018
https://designwebkit.com/web-development/node-js-framework/ Express.js、Hapi.js、Mojito、Meteor、Socket.io

Qt 3D Studio 1.0 Released
http://blog.qt.io/blog/2017/11/30/qt-3d-studio-1-0-released/ Qt 3D Studio provides a 3D user interface authoring system that caters for both software developers and graphic designers.

PHP 7.2.0 Release Announcement
http://php.net/releases/7_2_0.php PHP 7.2.0 comes with numerous improvements and new features such as: Convert numeric keys in object/array casts; Counting of non-countable objects; Object typehint; HashContext as Object; Argon2 in password hash; Improve TLS constants to sane values; Mcrypt extension removed ; New sodium extension.

Django 2.0 released
https://docs.djangoproject.com/en/2.0/releases/2.0/ Django 2.0 will be the last release series to support Python 3.4. Simplified URL routing syntax. Mobile-friendly contrib.admin… 另:Most popular Python packages now support Python 3.

Express Gateway
https://github.com/ExpressGateway/express-gateway Express Gateway is an API Gateway that sits at the heart of any microservices architecture, regardless of what language or platform you’re using. Express Gateway secures your microservices and exposes them through APIs using Node.js, ExpressJS and Express middleware. Developing microservices, orchestrating and managing them now can be done insanely fast all on one seamless platform without having to introduce additional infrastructure.

Tenta DNS
https://github.com/tenta-browser/tenta-dns Tenta DNS provides a DNS server suite comprising an authoritative DNS server, recursive DNS server, and NSnitch, which provides a DNS server capable of recording the IP address of requests made against it and then makes that IP available via a JSON API. Tenta DNS also provides lookups for Tor Node membership, DNS blacklist status and Geo data. Finally, Tenta DNS includes built-in BGP integration, offering single engine convenience for DNS anycasting.

Apache Guacamole
https://guacamole.apache.org/ Apache Guacamole is a clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH. We call it clientless because no plugins or client software are required. Thanks to HTML5, once Guacamole is installed on a server, all you need to access your desktops is a web browser.

新书-普及读物-人工智能简史
https://mp.weixin.qq.com/s?__biz=MjM5Njc0MjIwMA==&mid=2649643843&idx=1&sn=f5a2383539aa99302681fd9d1e275b72
尼克老师的文章在业内被广泛引用和转载,大量人工智能起源方面的文章也都出自尼克老师之手,Google 搜索“人工智能的起源”可知。尼克版《人工智能简史》的封面虽然长成了让人最不设防的样子(毕业论文风),但它圆满地完成了一个超高难度的任务:给普通读者以趣味,给专业读者以激情。

产品及其它

16 Lessons Learned Bootstrapping Kinsta From $0 to 7-Figures in Revenue
https://kinsta.com/blog/bootstrapping-startup/ This article is about the lessons we learned during our bootstrapping journey, and how we turned our startup into a 7-figure business. Some of our decisions turned out to be great, while others cost us a lot of money and time. But I want to show you that it’s possible to build a profitable SaaS business even if you don’t have any connections, resources, or money.

持续地试图别变成蠢货,我们便能获得大的优势
https://mp.weixin.qq.com/s?__biz=MzIxNTAzNzU0Ng==&mid=2654591953&idx=1&sn=c66aaa6861eb29bb90290b608e2cc377 几乎每个系统都受到多种因素的影响,所以若要理解这样的系统,就必须熟练地运用来自不同学科的多元思维方式。你必须意识到,生活无非就是一个接一个的联系。所以,你必须拥有各种模型,你必须弄清楚各种模型的相互关系以及它们的效应,你必须辨认出这些事情之间的关系。如果你把自己训练得更加客观,拥有更多学科的知识,那么你在考虑事物的时候,就能够超越那些比你聪明得多的人。

俞军:并非所有人都能做好产品经理
https://mp.weixin.qq.com/s?__biz=MzI2NTY4MDg1NA==&mid=2247489907&idx=1&sn=724f530298021a1ab37671f366b1a0a0 滴滴产品高级副总裁俞军与分答联合创始人&产品总监朱晓华、良仓孵化器合伙人苏杰、豆瓣用户产品副总耿新跃、映客高级产品总监张涛之间关于“产品经理如何突破瓶颈”这一主题的一场对话。

微信支付如何从0到1
https://mp.weixin.qq.com/s?__biz=MzA5MTMyNzAzMQ==&mid=2651542951&idx=1&sn=6e90dad43c66e9075df4e87a16011291 用最简单的方法解决一个实际问题并且想象它未来的样子是十分必要的。做互联网产品时,经常思考怎样把线下的场景搬到线上去,会有更棒的解决方案。此外,要打造一个成功的产品,就要用手术刀一般精细的技法去雕刻产品。在做商业产品设计时,要面向场景设计,不断想象和模拟商业活动中的场景。当发现产品机会时,需要大胆假设,快速验证,持续优化。面向商业流程设计,细致洞察用户最想要什么,切中要害,化繁为简,让普通商家也能理解产品功能,这样才能让产品快速覆盖到商业体系中。强运营、头部商户对拉动平台活跃是十分重要的,但到了中后期就需要系统化、产品化的思路才能实现大规模的用户层覆盖。怎样做出自己有而竞争对手没有的东西,才是跟竞争对手甩开身位的关键。另一点是聚焦,看准一个点,把它做到完美。

– THE END –