微信搜索『FEX』关注我们的公众号,及时获得最新资讯。

深阅读

V8 Release 5.9
https://v8project.blogspot.com/2017/04/v8-release-59.html V8 version 5.9, which will be in beta until it is released in coordination with Chrome 59 Stable. V8 5.9 is filled will all sorts of developer-facing goodies, We’d like to give you a preview of some of the highlights in anticipation of the release:Ignition+Turbofan launched; WebAssembly TrapIf support on all platforms.

Why ‘mobile first’ may already be outdated
https://blog.intercom.com/why-mobile-first-may-already-be-outdated/ If “mobile first” is no longer your dogma, then what is? At Intercom our dogma is the Jobs-to-be-Done framework. Focusing on what Jobs your users are trying to do. Servicing those Jobs where they happen. Servicing them with the right depth of product experience: maybe a glance on a watch is best, maybe a 40 inch screen dashboard view is best. Servicing them in a way that takes advantage of the situational context of use – no one is bringing their iMac to the beach, and no-one is writing the board deck on their phone. So think about the screen best suited for input, and the screen best suited for output. 另附:Mobile in the Future - A 3 hour mobile design workshop @Google.

Reactive Programming in Angular
https://blog.nrwl.io/reactive-programming-in-angular-7dcded697e6c An Angular application is a reactive system. The user clicks on a button, the application reacts to this event and updates the model. The model gets updated, the application propagates the changes through the component tree. Angular implements these two arrows very differently. Let’s explore why.

How to Debug Node.js with the Best Tools Available
https://blog.risingstack.com/how-to-debug-nodej-js-with-the-best-tools-available/ We will dive into two different aspects of debugging Node.js applications - the first one will be logging, so you can keep an eye on production systems, and have events from there. After logging, we will take a look at how you can debug your applications in development environments.

Adopting the Next-Gen Internet Protocol_ Deploying IPv6 for Uber Engineering
https://eng.uber.com/ipv6/ In 2016, Uber began rolling out an IPv6 data center architecture by adjusting our existing infrastructure to facilitate this expansion. In this article, we discuss best practices in designing this new network to accommodate Uber Engineering’s growth, as well as the lessons learnt during our infrastructure update to provide IPv6 support. 附:Adding IPv6 connectivity support to the Dropbox desktop client.

Applications Of Machine Learning For Designers
https://www.smashingmagazine.com/2017/04/applications-machine-learning-designers/ This article illustrates the power of machine learning through the applications of detection, prediction and generation. It gives six reasons why machine learning makes products and services better and introduces four design patterns relevant to such applications

Experimental Nighttime Photography with Nexus and Pixel
https://research.googleblog.com/2017/04/experimental-nighttime-photography-with.html Are you curious what kind of low-light photography is possible with a cellphone? Google Software Engineer Florian Kainz talks about his experiments in nighttime photography, and shares some amazing results, over on the Google Research blog.

我的职业是前端工程师
http://ued.party/
前端不仅仅局限于浏览器前的用户,还可以是桌面应用,混合应用。也因此,你会发现前端是一个特别大的领域。一个优秀的前端程序员,要掌握相当多的技能。前端是一个很有趣的领域,有太多的知识点,和不同的领域都有所交集。为了展示前端的广度,只能像散文一样展开不同的知识点。因此呢,这一系列的文章,不再像过去的电子书一样,有着连贯的、互相依赖的知识。

一个后端程序员的前端之路
https://mp.weixin.qq.com/s?__biz=MzA4NzAzMjk4Mw==&mid=2247483683&idx=1&sn=bd4c6cbdbae80dd89abd77630d4ad9e9
作者的心得:长期使用的产品,稳定性和可维护性是第一位,比如构建 CMS 的 emberjs;权衡,引入任何技术都需要以当时团队实际背景以及未来 2-3 年的发展为基础来考虑;选择前期的思考和研究值得投入。

JavaScriptCore 全面解析
https://www.qcloud.com/community/article/873202 https://www.qcloud.com/community/article/516026 JavaScript越来越多地出现在我们客户端开发的视野中,从ReactNative到JSpatch,JavaScript与客户端相结合的技术开始变得魅力无穷。本文主要讲解iOS中的JavaScriptCore框架,正是它为iOS提供了执行JavaScript代码的能力。

[译]从动画到UI,React Native应用如何达到 60FPS
https://mp.weixin.qq.com/s?__biz=MzA3ODg4MDk0Ng==&mid=2651113282&idx=1&sn=7dd5a4b6f40003b95a4e6d179a470b78 由于 React Native 中的 Bridge 的异步特性, JavaScript 代码编写的动画存在着性能问题。像 Animated 这样的现代动画库,采取的是尽量减少调用 React Native Bridge 的手段,来克服这类缺陷。用户交互,则是更进一步的问题,界面需要不停更新以响应用户的输入。我们能用 React Native 的方式来实现 60 FPS 吗?

React 官方回复 - Things nobody will tell you about React.js
https://medium.com/@dan_abramov/hey-thanks-for-feedback-bf9502689ca4 Your post includes some misconceptions commonly held in the React community, so I wanted to take a moment to clarify them for everyone else who has the same concerns. That is not to say that React works well for everyone, or that the issues you have raised are not valid. But there are a few facts that I think are important to get right when considering those problems.

How to Organize a Large React Application and Make It Scale
https://www.sitepoint.com/organize-large-react-application/ In this article, I’ll talk you through the decisions I make when building React applications: picking tools, structuring files, and breaking components up into smaller pieces.

Build Yourself a Redux
https://zapier.com/engineering/how-to-build-redux/ Redux is a simple library that helps you manage the state of your JavaScript app. Despite that simplicity, it’s easy to fall down rabbit holes when learning it. I often find myself explaining Redux, and almost always start by showing how I’d implement it. So that’s what we’ll do here: Start from scratch and build a working Redux implementation. Our implementation won’t cover every nuance, but we’ll remove most of the mystery.

Spring Into CSS Grid
http://jonibologna.com/spring-into-css-grid/ This post is by no means a thorough look at just how powerful this layout feature is, but hopefully it helps take the potential intimidation factor out of the mix to get started, or spring into, CSS Grid. 另附:Getting started with CSS Grid Layout.

Docker跳反了,运维们还会继续用它吗
https://mp.weixin.qq.com/s?__biz=MzA4Nzg5Nzc5OA==&mid=2651666039&idx=1&sn=8e2ee233c74a96b535db8065babd828a Moby 项目是一个新的用于推进软件容器化运动的开源项目,它将协助生态系统让容器成为主流。它提供了一个组件库、一个用于将这些组件组装成基于定制容器的系统的框架,以及一个所有容器爱好者进行试验和交流想法的场所。

新鲜货

百度技术学院对外开放
http://bit.baidu.com/ 百度技术学院(Baidu Institute of Technology,以下简称BIT)是百度技术的布道者和赋能者。BIT最早是由百度大技术部各位技术总监共同发起成立的一个跨部门组织,目的是搭建知识共享平台,提升技术人员能力,助力业务发展。

San - A MVVM Component Framework for the Web
https://ecomfe.github.io/san/ 来自百度 EFE 的一个 MVVM 的组件框架,通过 San 的视图引擎能够让用户只用操作数据,视图自动更新。

Painting with Code Introducing our new open source library React Sketch.app
http://airbnb.design/painting-with-code/ We’re excited to share a tool we built to help bridge the gap between designers and engineers working on design systems at scale. React-sketchapp is an open-source library that allows you to write React components that render to Sketch documents. If you’re a designer or an engineer familiar with React, you should feel right at home with the new library, and you can play with it right now. 相关讨论: https://www.zhihu.com/question/59069953/

V8 JavaScript Language Survey
https://docs.google.com/forms/d/e/1FAIpQLSegrt21-vrtT10OsZgSF5THwz8s30JNi6lrm_WoNigUjmZvzA/viewform Help the V8 Language Team prioritize what we work on next! Here are a few questions about what you feel is missing in the browser.

Announcing TypeScript 2.3
https://blogs.msdn.microsoft.com/typescript/2017/04/27/announcing-typescript-2-3/ Type checking in JavaScript files with // @ts-check and –checkJs; Default type arguments; Generator and async generator support; Easier startup with better help, richer init, and quicker strictness. 另附:Angular 4.1.0 - Full support for TypeScript 2.2 and 2.3Why TypeScript Is Growing More Popular.

gRPC-Web: Moving past REST+JSON towards type-safe Web APIs
https://spatialos.improbable.io/games/grpc-web-moving-past-restjson-towards-type-safe-web-apis This blog post presents how we expanded our use of gRPC, the lingua franca for our microservice and client libraries, towards use in browser Web Apps. We’ll also show how this move, together with our adoption of TypeScript, made us end up in type-safe Web App Nirvana.

Rails 5.1: Loving JavaScript
http://weblog.rubyonrails.org/2017/4/27/Rails-5-1-final/ JavaScript and Ruby share a deep philosophical bond over language design, if not ecosystem management. Let’s focus on the aspects we have in common and help Rails programmers extract the best from JavaScript with the help of some key guiding conventions: Manage JavaScript dependencies from NPM via Yarn; Optionally compile JavaScript with webpack; Drop jQuery as a default dependency.

Glimmer
https://glimmerjs.com/ Fast and light-weight UI components for the web. With the attention to detail you’ve come to expect from Ember. 附:Does Glimmer mean the death of Ember

Quokka — Live JavaScript Scratchpad for JetBrains IDEs
https://medium.com/@artem.govorov/quokka-live-javascript-scratchpad-for-jetbrains-ides-free-developer-tool-569590ab7a05 Quokka.js increases your productivity by reducing the time it takes to run experiments. It is a rapid prototyping playground in your editor, with access to your project’s files, inline reporting, code coverage and rich output formatting.

Electron Forge
https://github.com/electron-userland/electron-forge Electron Forge unifies the existing (and well maintained) build tools for Electron development into a simple, easy to use package so that anyone can jump right in to Electron development.

TodoMVC for the RealWorld
https://github.com/gothinkster/realworld Exemplary fullstack Medium.com clone powered by React, Angular, Node, Django, and many more.

Easy Mock
https://juejin.im/post/58ff1fae61ff4b0066792f6e Easy Mock 是一个极其简单、高效、可视化、并且能快速生成模拟数据的在线 mock 服务。 以项目管理的方式组织 Mock List,能帮助我们更好的管理 Mock 数据,不怕丢失。

TestCheck.js
https://github.com/leebyron/testcheck-js TestCheck.js is a library for generative testing of program properties, ala QuickCheck. By providing a specification of the JavaScript program in the form of properties, the properties can be tested to remain true for a large number of randomly generated cases. In the case of a test failure, the smallest possible failing test case is found.

A Primer on Bézier Curves
https://pomax.github.io/bezierinfo/ A free, online book for when you really need to know how to do Bézier things.

RancherOS
https://github.com/rancher/os The smallest, easiest way to run Docker in production at scale. Everything in RancherOS is a container managed by Docker. This includes system services such as udev and rsyslog. RancherOS includes only the bare minimum amount of software needed to run Docker. This keeps the binary download of RancherOS very small. Everything else can be pulled in dynamically through Docker.

Fathom
https://github.com/mozilla/fathom Fathom is a JavaScript framework for extracting meaning from web pages, identifying parts like Previous/Next buttons, address forms, and the main textual content—or classifying a page as a whole. Essentially, it scores DOM nodes and extracts them based on conditions you specify.

The Many Tools for Shape Morphing
https://css-tricks.com/many-tools-shape-morphing/ Shape morphing, being a thing on the web, is no different. There are some native technologies, some libraries that leverage those, and some libraries that do things all on their own. Let’s look at some of the options (with demos) and weigh the advantages and disadvantages.

Universities finally realize that Java is a bad introductory programming language
https://thenextweb.com/dd/2017/04/24/universities-finally-realize-java-bad-introductory-programming-language/
斯坦福开始使用 JS 来教入门编程的课了

The History of the Web
http://thehistoryoftheweb.com/ The web’s most fascinating stories, from the first website to the modern day.

Data needs empathy to make it real
https://medium.com/google-news-lab/data-needs-empathy-to-make-it-real-c9ca0f0aea6d 介绍了 Google NewsLab 的两个可视化作品:Beautiful in EnglishExplore Adventure

基于Spring Cloud的微服务架构 v1.0
https://github.com/cloudframeworks-springcloud/user-guide-springcloud 总结过去数十个微服务架构项目的成功经验,并结合典型案例PiggyMetrics(一款个人财务管理应用),为开发者提供基于Spring Cloud的微服务架构落地最佳实践。

产品及其它

Raindrop.io:接近完美的全平台网络书签
http://www.geekpark.net/topics/218955 我们平时上网查阅资料,阅读文章时都会有收藏或稍后阅读的需求。但是随着收藏和待读网页数目的增加,以及他们两者的混杂,且现有浏览器不支持搜索收藏过的内容,这让用户整理起来很是头疼。Raindrop.io 是一款可以跨平台、跨设备的网络书签软件,用几近完美来形容一点也不为过,它拥有精美的设计、分类整理,搜索以及书签同步等功能。

为了打击假新闻,维基百科创始人又推出了一个新的 Wiki 项目
http://www.ifanr.com/825676 维基百科创始人在互联网上发布了一个名为 Wikitribune 的网站,虽然域名后缀为 .com,但这个网站依然是非盈利性质的,它的成立旨在“将记者和志愿者全体连接起来,以对抗互联网上存在的假新闻”。

傅盛认知三部曲后记:到底什么是认知
https://mp.weixin.qq.com/s?__biz=MjM5NjgzMzkwMQ==&mid=2653646302&idx=1&sn=45ecb8952f7b9e2d4750c85cbc50ba9d 认知是基于一个综合情况而做出的一个精准判断。什么叫综合情况?就是复杂情况下,做了超出常人的不一样的判断。从这个维度看,技能本质是一个封闭式问题,而认知更多是一个开放式问题。认知产生原理跟神经网络的模型训练很像。简言之,通过海量信息不断输入,再进行自我思维模式的训练,最后输出一个判断。由此,我总结了认知的三个要素,分别为输入、训练和判断。

这一波知识付费即将迎来拐点
https://mp.weixin.qq.com/s?__biz=MjM5NDUyOTAwOA==&mid=2652915581&idx=1&sn=3d4f9000af2d420bc13ccde8c6cb1326 进入2017年4月以来,几乎所有知识付费产品的打开率和播放率都出现了明显的下降。在许多人眼中,用户对于“知识付费”产品的热情开始消减,背后的一大原因,是越来越多的“知识付费”产品泛滥,以及大量“知识付费”产品的良莠不齐。假使真的在“知识付费”市场中即将迎来一个低谷和转折,导致“红利”消失,一段时间内用户们的付费率和阅读播放率都继续下降,那现有的知识付费产品们该如何应对?除了上述提到的“一定要尽力保证长期的稳定价值预期”外,主要建议有如下两个:尽量让自己的付费知识产品可以“没完没了的产生值得关注的话题”,或者干脆就索性去做一些“半衰期”较长的产品;除了常规的内容产出外,尽量考虑加强你的“运营”。

做CEO要避免理性的自负
https://mp.weixin.qq.com/s?__biz=MTA3NDM1MzUwMQ==&mid=2651938937&idx=1&sn=8a19a7c31f1a47e7e745a652c8a8453f 怎么建立一个有效的组织,怎么在公司从小变大的过程中,应对管理上面临的挑战。这也是今日头条在成长过程中,我们常常讨论和思考的问题。现在,我们倾向于“Context,not Control”的解决方案。Context是指决策所需要的信息集合,包括原理是什么,市场环境如何,整个行业格局如何,优先级是什么,需要做到什么程度,以及业务数据和财务数据等等。

高举高打容易失败
https://mp.weixin.qq.com/s?__biz=MzA5MTMyNzAzMQ==&mid=2651542042&idx=1&sn=e897dfde2b5e470716a4b9911b65ba3f 一些团队在初创时期,能做出很好的产品,但当企业发展到比较大的时候,反而会变得平庸。腾讯学院荣誉院长张志东(Tony)在给青腾大学的学员分享中提到一些做产品的误区,比如高举高打容易失败,有资源,有战略,不等于能做出好产品。在产品从0到1的过程中,找准用户的痛点,建立团队的产品文化和信任非常重要。作为创始人,需要警惕组织变大之后的不接地气, 警惕高大上的产品误区。

– THE END –