FEX 技术周刊 - 2018/05/29
微信搜索『FEX』关注我们的公众号,及时获得最新资讯。
业界会议
React Europe 2018
https://www.react-europe.org/
附:Highlights from the React Europe conference
深阅读
React v16.4.0: Pointer Events
https://reactjs.org/blog/2018/05/23/react-v-16-4.html
The latest minor release adds support for an oft-requested feature: pointer events! It also includes a bugfix for getDerivedStateFromProps. 另附:All Things React、Yarn - Ease the Transition to a Monorepo with Focused Workspaces.
Introducing Fuse for Cross-Platform App Development
https://code.tutsplus.com/articles/introducing-fuse-for-cross-platform-app-development–cms-30793
Fuse is a platform for developing cross-platform apps with UX Markup and JavaScript. It’s in the same category as React Native and NativeScript, but its main selling point is in the provision of tools that enable developers and designers collaborate in real time. Fuse uses UX Markup, an XML-based language which provides the building blocks for the UI. It also allows you to specify how the different components would behave when users interact with them, thus the name “UX”.
Serverless Architectures
https://martinfowler.com/articles/serverless.html
Serverless architectures may benefit from significantly reduced operational cost, complexity, and engineering lead time, at a cost of increased reliance on vendor dependencies and comparatively immature supporting services.
Lessons in Thrift: How Facebook Keeps its Web Pages Snappy
https://thenewstack.io/lessons-in-thrift-how-facebook-keeps-its-web-pages-snappy/
The Web Speed team concentrates solely on speeding the delivery of a fully composed, fully-customized web page to each visitor’s browser. This team does not handle web apps, though they do cover mobile browsers.
Things to know about the GDPR, Mozilla and Firefox
https://blog.mozilla.org/internetcitizen/2018/05/23/gdpr-mozilla/
And the reason is that on Friday, May 25, 2018, a new law takes effect in Europe — the General Data Protection Regulation aka the “GDPR.” If you don’t know what that means or how it affects you, read on. GDPR for lazy people: Block all European users with Cloudflare Workers、Google and Facebook accused of breaking GDPR laws、GDPR: US news sites unavailable to EU users under new rules、GDPR: Programmatic ad buying plummets in Europe、最严数据隐私条例」GDPR
一个程序员的成长之路 - 剖析别人,总结自己
https://mp.weixin.qq.com/s?__biz=MzU1NTUwMzkwOA==&mid=2247483860&idx=1&sn=ce03a446c24730aa7aa032c4767b972f
作为走在前端工程化前列,现任全民直播CTO的张云龙老师,分享了他的个人成长之路,希望能够在前端职业规划上,给大家一些参考和启发。另附一位百度老前端的一个分享:我在百度这十年、各 IT 公司的(大)前端团队体系都是怎样的
页面可视化搭建工具前生今世
https://github.com/CntChen/cntchen.github.io/issues/15
非常详细的一篇综述性文章,汇总了不少实现方法:页面构成和页面组件化,页面可视化搭建工具的必要性,页面可视化搭建工具的区分维度,业界的实践实例
写一篇好的技术文章有多难
https://mp.weixin.qq.com/s?__biz=MjM5Mjg4NDMwMA==&mid=2652975901&idx=1&sn=c71dab41bbbe84891a1a9a085156709d
对于一篇好的文章来说,它有这么一些要求:构建文章所需的理论体系;实践及代码验证;公正又有所偏爱的观点。又要注意这么一些事项:反驳错误的观点,但不要限入争论,追求文章对自我和读者的价值,排版和语法高亮,注意错别字和专业用词。
精读《现代 js 框架存在的根本原因》
https://zhuanlan.zhihu.com/p/37090152
深入思考为何前端需要框架,以及 web components 是否可以代替前端框架?
二次元live2d看板娘效果中的web前端技术
http://www.zhangxinxu.com/wordpress/2018/05/live2d-web-webgl-js/
Live2D是一种应用于电子游戏的绘图渲染技术,由日本Cybernoids公司开发,通过一系列的连续图像和人物建模来生成一种类似二维图像的三维模型,换句话说就是2D的素材实现一定程度的3D效果,但只能是一定程度3D,因为Live 2D人物无法大幅度转身。很多知名的动漫都是Live2D游戏改编的或者反过来的。
Growing the Data Visualization Community with deck.gl v5
https://eng.uber.com/deckgl-v5/
The Uber Visualization team open sourced deck.gl 5.3, the final deck.gl v5 release of our data visualization software. The v5 releases represent a major effort devoted to making deck.gl easier to use than ever before, and we hope that by sharing the story behind these improvements, we can get users excited to try out deck.gl v5’s new simplified APIs and features.
Web Push Notifications
https://webpushdemo.azurewebsites.net/
Welcome to the future of the web — where push messages can help you achieve better engagement for your site or web app.
Progressive Web Games
https://hacks.mozilla.org/2018/05/progressive-web-games/
In this article, we’ll explore the concept of Progressive Web Games to see if the concept is practical and viable in a modern web development environment, using PWA features built with Web APIs.
Building AI Enabled GraphQL Applications
https://medium.com/open-graphql/building-ai-enabled-graphql-applications-d7fde3305062
How to use GraphQL to map to AWS Lambda functions that work with AI services.
A Developer’s Guide to Headless E-Commerce
https://snipcart.com/blog/headless-ecommerce-guide
Unlike the holistic, monolithic approach of traditional platforms (WordPress, Shopify, etc.), decoupled solutions imply a clear separation between backend and frontend. Chopping its head right off. Thus, “headless”.
Getting Started With CSS Layout
https://www.smashingmagazine.com/2018/05/guide-css-layout/
This guide is for you if you are fairly new to CSS and wondering what the best way to approach layout is, but also if you are an experienced developer from elsewhere in the stack who wants to make sure your understanding of layout today is up to date. I have not tried to fully document each layout method here, as that would have created a book and not an article. Instead, I am giving an overview of what is available to you, with plenty of links to find out more.
Open-sourcing Katran, a scalable network load balancer
https://code.facebook.com/posts/1906146702752923/open-sourcing-katran-a-scalable-network-load-balancer/
We are open-sourcing a component of this work by releasing the Katran forwarding plane software library, which powers the network load balancer used in Facebook’s infrastructure. Katran offers a software-based solution to load balancing with a completely reengineered forwarding plane that takes advantage of two recent innovations in kernel engineering: eXpress Data Path (XDP) and the eBPF virtual machine. Katran is deployed today on backend servers in Facebook’s points of presence (PoPs), and it has helped us improve the performance and scalability of network load balancing and reduce inefficiencies such as busy loops when there are no incoming packets.
Open Sourcing Zuul 2
https://medium.com/netflix-techblog/open-sourcing-zuul-2-82ea476cb2b3
We use Zuul 2 at Netflix as the front door for all requests coming into Netflix’s cloud infrastructure. Zuul 2 significantly improves the architecture and features that allow our gateway to handle, route, and protect Netflix’s cloud systems, and helps provide our 125 million members the best experience possible.
Generating Personalized Content Notifications in Near-Real-Time
https://engineering.linkedin.com/blog/2018/05/concourse–generating-personalized-content-notifications-in-near
Social media are computer-mediated platforms that facilitate creation and sharing of information, ideas, career interests, and other forms of expression via virtual communities and networks. In the last few years, notifications have been proven to be the mainstay for surfacing social media’s value to users and engaging members. Before the advent of notifications, these social media applications relied on a member’s intent for site visits and discovering information, without any prompting by the network.
Centrifuge: a reliable system for delivering billions of events per day
https://segment.com/blog/introducing-centrifuge/
We’re excited to share the architecture for Centrifuge–Segment’s system for reliably sending billions of messages per day to hundreds of public APIs. This post explores the problems Centrifuge solves, as well as the data model we use to run it in production.
Batching API Requests with NGINX Plus and the NGINX JavaScript Module
https://www.nginx.com/blog/batching-api-requests-nginx-plus-javascript-module/
The version of the NGINX JavaScript module (formerly called nginScript) released with NGINX Plus R15 can now issue subrequests, meaning that requests can be initiated in JavaScript code, allowing a whole new set of use cases to be addressed. The goal of this post is to provide working examples of API request batching that are simple and straightforward.
新鲜货
Gym Retro
https://blog.openai.com/gym-retro/
We’re releasing the full version of Gym Retro, a platform for reinforcement learning research on games. This brings our publicly-released game count from around 70 Atari games and 30 Sega games to over 1,000 games across a variety of backing emulators. We’re also releasing the tool we use to add new games to the platform.
Kubernetes Engine 1.10 is generally available and ready for the enterprise
https://cloudplatform.googleblog.com/2018/05/Google-Kubernetes-Engine-1-10-is-generally-available-and-ready-for-the-enterprise.html
We are introducing a train of new features to support enterprise use cases. These include: Shared Virtual Private Cloud (VPC) for better control of your network resources; Regional Persistent Disks and Regional Clusters for higher-availability and stronger SLAs; Node Auto-Repair GA, and Custom Horizontal Pod Autoscaler for greater automation
Material-UI v1 is out
https://medium.com/material-ui/material-ui-v1-is-out-e73ce13463eb
React components that implement Google’s Material Design.
Qt 5.11 released
http://blog.qt.io/blog/2018/05/22/qt-5-11-released/
Qt 5.11 comes with quite a few new features as well as many bug fixes to existing functionality. 另附:Qt for WebAssembly
MongoDB 4.0 Release Candidate 0 Has Landed
https://www.mongodb.com/blog/post/mongodb-40-release-candidate-0-has-landed
Building on the foundations above, MongoDB 4.0 is a significant milestone in the evolution of MongoDB, and we’ve just shipped the first Release Candidate (RC), ready for you to test. Multi-Document ACID Transactions; Aggregation Pipeline Type Conversions; Non-Blocking Secondary Reads…
G2 3.1:在路上
https://zhuanlan.zhihu.com/p/37275775
从 3.0 开源到现在已经过去近半年。这半年里,我们从未停止过对扩展图形语法能力边界的探索,G2 也从 3.0 迭代到今天的 3.1 版本。具体说来,G2 有了哪些值得一提的变化呢:更丰富的数据处理和图表类型;来自 D3 社区的图表。
Tencent Server Web(TSW)
https://tswjs.org/guide/index
Tencent Server Web(TSW),是一套面向WEB前端开发者,以提升问题定位效率为初衷,提供染色抓包、全息日志和异常发现的Node.js基础设施。TSW关注业务的运维监控能力,适用于http、websocket协议的业务场景,可无缝与即有项目进行整合。支持公有云、私有云和本地部署。
JavaScript 算法与数据结构
https://github.com/trekhleb/javascript-algorithms/blob/master/README.zh-CN.md
本仓库包含了多种基于 JavaScript 的算法与数据结构。每种算法和数据结构都有自己的 README 并提供相关说明以及进一步阅读和 YouTube 视频。
Wired Elements
https://wiredjs.com/
A set of common UI elements with a hand-drawn, sketchy look. These can be used for wireframes, mockups, or just the fun hand-drawn look. The elements are drawn with enough randomness that no two renderings will be exactly the same - just like two separate hand drawn shapes.
filepond
https://github.com/pqina/filepond
A JavaScript library that can upload anything you throw at it, optimizes images for faster uploads, and offers a great, accessible, silky smooth user experience.
Marble.js
https://github.com/marblejs/marble
Functional reactive HTTP middleware framework built on top of Node.js platform, TypeScript and RxJS library.
Saber.js
https://github.com/egoist/saber.js
Saber.js is a minimalistic framework for building static website using Vue.js. 另附:Gatsby - Blazing-fast static site generator for React
nanoJS
https://vladocar.github.io/nanoJS/
nanoJS is around 100 lines of code (0.6 Kb compressed) JavaScript library for basic DOM manipulation. It has jQuery like syntax and supports chaining.
Cool Backgrounds
https://coolbackgrounds.io/
Cool Backgrounds is a collection of tools to create compelling, colorful images for blogs, social media, and websites. Beyond backgrounds, the images generated can be used as desktop wallpapers or cropped for mobile wallpapers.
Parabola.io – Automate your work with visual programming
https://parabola.io/
Drag-and-drop to automate your repetitive tasks. No spreadsheets or coding required.
Winds 2.0: It’s Time to Revive RSS
https://getstream.io/blog/winds-2-0-its-time-to-revive-rss/
An elegant open source feed reader app from Stream that brings together Node and MongoDB. I love using RSS to follow the programming and tech news I care about. Unfortunately, the number of sites supporting RSS has been in rapid decline over the last few years. The reader ecosystem is slowly degrading as well. Facebook and Twitter’s dominance is now delivering its final blow to the open standard of RSS. It’s time to turn the tide. Stream is releasing Winds 2.0, an open-source Podcast & RSS Reader.
82-Year-Old Proves You’re Never Too Old to Code
https://www.aarp.org/work/working-at-50-plus/info-2018/worlds-oldest-app-developer-fd.html
That’s what 82-year-old Masako Wakamiya of Japan decided to do this past year. Since learning to write code in early 2017, the retired bank clerk has gone on to author a free iOS game, Hinadan, specifically geared toward an older, Japanese audience. The app has garnered nearly 5 stars on the Apple App Store, and roughly 53,000 downloads worldwide, since its debut a year ago; Wakamiya is now busy planning future versions in English, Chinese and possibly French.
设计
给前端工程师讲设计终篇
https://techblog.toutiao.com/2018/05/24/untitled-19/
我们对事物的认知,即取决于视网膜上的图像,又受头脑中已有知识结构的影响。当工程师们以自己的经验为中心去看设计时,偏见已经产生了,如果你不理解毕加索作画的整个流程,那么你可能上来就会嘲笑它不过是幼童的涂鸦之作。
空·境——腾讯微云为空页设计
https://mp.weixin.qq.com/s?__biz=MjM5NzQxMDkwMg==&mid=2655404371&idx=1&sn=64c32528b278b36b0e36eca29464f52a
为空页,简单理解就是当前页面内容为空白,分别会在初次使用、完成或清空内容、出错的情况下出现。本文将简要阐述关于“腾讯微云”6.1版本所更新的为空页(内容为空)设计背后的故事,以及探索创新思维的过程与价值。
36 Days Of Type - Experience, lessons learnt and take aways
https://blog.prototypr.io/https-medium-com-arvindlife-36-days-of-type-bd6e8231649b
36 days of type is a design challenge where designers are challenged to design a letter or number each day, resulting an outcome of the ability to represent the same symbol from many different perspectives. So, here is my experience and lessons that I have learnt in these 36 days.
Everything you need to know about Design Systems
https://uxdesign.cc/everything-you-need-to-know-about-design-systems-54b109851969
Design Systems have become a key part of my everyday work… And from discussions around me, it seems that it is now the case for a lot of people ;)
Gmail, you can be better. You should be better!
https://uxplanet.org/gmail-you-can-be-better-you-should-be-better-201806246520
In this “opinion article,” I’m going to go over some missing features in the new Gmail UI (Desktop version) and additions that could make Gmail much more efficient and productive.
Orchestrating Experiences
http://uxmag.com/articles/orchestrating-experiences
If you embrace the recommended collaborative approaches in your sense-making activities, you and your colleagues should build good momentum toward creating better and valuable end-to-end experiences. In fact, the urge to jump into solution mode will be tempting. Take a deep breath: you have a little more work to do. To ensure that your new insights translate into the right actions, you must collectively define what is good and hold one another accountable for aligning with it.
产品及其它
How Stack Overflow for Teams Fits into the Community
https://stackoverflow.blog/2018/05/23/how-stack-overflow-for-teams-fits-into-the-community/
Stack Overflow for Teams promise to be a real boon for companies that sign up. But if you aren’t on a Team just now, they are pretty much invisible to you. In the long run, it certainly doesn’t hurt that they provide some extra revenue for more developers, designers and community managers.
Mental Models: The Best Way to Make Intelligent Decisions
https://www.fs.blog/mental-models/
How do you think the most rational people in the world operate their minds? How do they make better decisions? They do it by mentally filing away a massive, but finite amount of fundamental, unchanging knowledge that can be used in evaluating the infinite number of unique scenarios which show up in the real world. That is how consistently rational and effective thinking is done, and if we want to learn how to think properly ourselves, we need to figure out how it’s done. Fortunately, there is a way, and it works.
Bias on the Web
https://cacm.acm.org/magazines/2018/6/228035-bias-on-the-web/fulltext
Our inherent human tendency of favoring one thing or opinion over another is reflected in every aspect of our lives, creating both latent and overt biases toward everything we see, hear, and do. Any remedy for bias must start with awareness that bias exists; for example, most mature societies raise awareness of social bias through affirmative-action programs, and, while awareness alone does not completely alleviate the problem, it helps guide us toward a solution. Bias on the Web reflects both societal and internal biases within ourselves, emerging in subtler ways. This article aims to increase awareness of the potential effects imposed on us all through bias present in Web use and content. We must thus consider and account for it in the design of Web systems that truly address people’s needs.
The Bill Gates Line
https://stratechery.com/2018/the-bill-gates-line/
The broader takeaway is that distinguishing between platforms and aggregators isn’t simply an academic exercise: it should affect how companies think about their competitive environment vis-à-vis the biggest companies in tech, and, just as importantly, it should weigh heavily on regulators. The Microsoft antitrust battles of the 2000s were in many respects about enforcing interoperability as a way of breaking into the Microsoft platform; today antitrust should be far more concerned about aggregators capturing everything they touch by virtue of their control of end users.
不取真经,不回东土-现代版玄奘互联网问道10年笔记
https://mp.weixin.qq.com/s?__biz=MzIxNTAzNzU0Ng==&mid=2654600523&idx=1&sn=58ae36ada6727b177bbd5adcc035f137
在文厨的手上,举办了十年GMIC大会的长城会成长了起来。也有“不投”投资业务,旗下有三个不同的投资基金,他说‘不投’是无为而为。还有“不学”——GASA大学,以“科学复兴”大旗,做高山大学。在多年来用一篇篇千字文记录下宝贵的心得与领悟后,已是互联网创业家、思想者的文厨终于作出决定——将这十年的智慧精华凝结成一本书。于是,就有了这部《不东》。文中 TED 创始人老爷子这个秘诀很赞:“你可以办一辈子会,跟我一样,但要办不一样的会”。
高段位的人,都会战略性放弃
https://mp.weixin.qq.com/s?__biz=MzUyMDQ5NzI5Mg==&mid=2247495937&idx=1&sn=4691f440579f9aff36ef0f65cbfcffd6
一直以来,大家思考的都是如何增进自己的专业技能,思维技巧等,给自己做加法。做减法同样重要。孟子曾说过:“人有不为也,而后可以有为。”意思是人在特定的阶段下,要知道什么是不能去做的,这样才可以做更重要的事情。这种思想叫做:战略性放弃。另附:硅谷最伟大的一次失败
– THE END –