FEX 技术周刊 - 2017/12/04
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 Devtools、11 React Component Libraries You Should Know In 2018。
Orinoco: young generation garbage collection
An Introduction to Speculative Optimization in V8
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
重写和替换内核相当不容易，另附：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://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 是一款让小程序支持组件化开发的框架，通过预编译的手段让开发者可以选择自己喜欢的开发风格去开发小程序。框架的细节优化，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
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.
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
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 升级的主题是：特征完备
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.
Infinitown – A WebGL Experiment
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
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.
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.
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.
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.
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.
– THE END –