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

业界会议

ng-conf 2018
https://www.ng-conf.org/
附:All Talks from ng-conf 2018

深阅读

Designing very large (JavaScript) applications
https://medium.com/@cramforce/designing-very-large-javascript-applications-6e013a3291a3
So, let’s talk about very large applications and the things they have in common. Certainly that there might be a lot of developers. It might be a few dozens or even more–and these are humans with feelings and interpersonal problems and you may have to factor that in.

What You Can Expect From Node.js 10
https://nodesource.com/blog/what-you-can-expect-from-node-js-10
The release of Node.js v10 is just a week away, and will include a suite of new features including updates to errors and the formal addition of N-API. Beyond these new additions, I believe we will continue to see increased adoption and development of Node.js features that have been recently proposed or otherwise landed since the release Node.js 8. 另附:Oracle Owns “Javascript”, so Apple is taking down my app!Why it’s finally time to give up on the name JavaScript.

Announcing NGINX Unit 1.0
https://www.nginx.com/blog/nginx-unit-1-0-released/
As of Release 1.0, NGINX Unit supports Go, Perl, PHP, Python, and Ruby on the same server. Multiple language versions are also supported, so you can, for instance, run applications written for PHP 5 and PHP 7 on the same server. Support for additional languages, including Java, is planned for future NGINX Unit releases. nginx-1.14.0 released

React in patterns
https://github.com/krasimir/react-in-patterns
A free book that talks about design patterns/techniques used while developing with React. 附:How To Write Better Code In React23 JavaScript design patterns

Scroll to the future
https://evilmartians.com/chronicles/scroll-to-the-future-modern-javascript-css-scrolling-implementations
Everything you always wanted to know about implementing scrolling but were afraid to ask. We have scrolled to the bottom of modern web specifications to take you on a whirlwind tour of latest CSS and JavaScript features that make navigating around a single page smooth, beautiful and less resource-hungry.

Best Practices With CSS Grid Layout
https://www.smashingmagazine.com/2018/04/best-practices-grid-layout/
In this article, I’m going to try and cover some of the things that either could be described as best practices, and some things that you probably don’t need to worry about.

What’s New In DevTools (Chrome 67)
https://developers.google.com/web/updates/2018/04/devtools
New features and major changes coming to DevTools in Chrome 67 include: Search across all network headers, CSS variable value previews in the Styles pane, Copy as fetch.

Yarn vs npm - which Node package manager to use in 2018?
https://blog.risingstack.com/yarn-vs-npm-node-js-package-managers/
Let’s take a look at the state of Node.js package managers and what they can do for you! I’ll also try to help you to pick one between npm and yarn! 附: npm v5.10.0 released & npm v6.0.0-next.2

It’s time to rebuild the web
https://www.oreilly.com/ideas/its-time-to-rebuild-the-web
The web was never supposed to be a few walled gardens of concentrated content owned by a few major publishers; it was supposed to be a cacophony of different sites and voices.

Enterprise Mobile Backend as a Service - en’zhonWhitepapers
https://www.kinvey.com/resources/
Kinvey named a leader and top ranked current offering in two Forrester Waves. Why not use a top platform to create 5-star apps for your users? 它的技术白皮书挺值得做 BaaS 服务的参考。

Announcing Docker Enterprise Edition 2.0
https://blog.docker.com/2018/04/announcing-docker-enterprise-edition-2-0/
Docker Enterprise Edition (EE) 2.0 is the only platform that manages and secures applications on Kubernetes in multi-Linux, multi-OS and multi-cloud customer environments. As a complete platform that integrates and scales with your organization, Docker EE 2.0 gives you the most flexibility and choice over the types of applications supported, orchestrators used, and where it’s deployed. 另:OCI Standardizes Container Registry API Based on Docker’s v2 Protocol

Titus, the Netflix container management platform, is now open source
https://medium.com/netflix-techblog/titus-the-netflix-container-management-platform-is-now-open-source-f868c9fb5436
Titus powers critical aspects of the Netflix business, from video streaming, recommendations and machine learning, big data, content encoding, studio technology, internal engineering tools, and other Netflix workloads. Titus offers a convenient model for managing compute resources, allows developers to maintain just their application artifacts, and provides a consistent developer experience from a developer’s laptop to production by leveraging Netflix container-focused engineering tools. 另附:How Netflix does failovers in 7 minutes flat

Gimel: PayPal’s Analytics Data Processing Platform
https://www.paypal-engineering.com/2018/04/17/gimel/
Besides being unable to find the correct datasets, developers, analysts and data scientists don’t want to deal with the code to read and write data, and obviously want to focus their attention and time towards dataset development, analysis and exploration. We built the Gimel Data Platform – the centralized metadata catalog PCatalog and the unified Data API – to address these challenges and help commoditize data access in the big data world.

Samza Aeon: Latency Insights for Asynchronous One-Way Flows
https://engineering.linkedin.com/blog/2018/04/samza-aeon–latency-insights-for-asynchronous-one-way-flows
You can’t fix something if you don’t know there’s a problem. Measuring and tracking the latency of requests through your system is essential to identifying and resolving issues quickly. In order to measure these asynchronous one-way flows, we built a tool called Aeon using Samza, an open source stream processing system developed here at LinkedIn, which we use to gain latency insights across these flows. In this blog post, we’ll describe how we built Aeon and the importance of asynchronous delay monitoring.

Rethinking GPS: Engineering Next-Gen Location at Uber
https://eng.uber.com/rethinking-gps/
In this article, we discuss why GPS can perform poorly in urban environments and outline how we fix it using advanced signal processing algorithms deployed at scale on our server infrastructure. 另附:Mediation Modeling at Uber: Understanding Why Product Changes Work (and Don’t Work)

Distributed architecture concepts I learned while building a large payments system
http://blog.pragmaticengineer.com/distributed-architecture-concepts-i-have-learned-while-building-payments-systems/
In this post, I am summarizing some of the concepts that I have found essential to learn and apply when building a large scale, highly available and distributed system: the payments system that powers Uber. This is a system with a load of up to thousands of requests per second, where critical payments functionality needs to work correctly, even if parts of the system are down. 另附:Google: A Collection Of Best Practices For Production Services

Probability Theory (For Scientists and Engineers
https://betanalpha.github.io/assets/case_studies/probability_theory.html
Formal probability theory is a rich and complex field of mathematics with a reputation for being confusing if not outright impenetrable. Much of that intimidation, however, is due not to the abstract mathematics but rather how they are employed in practice. In particular, many introductions to probability theory sloppily confound the abstract mathematics with their practical implementations, convoluting what we can calculate in the theory with how we perform those calculations.

新鲜货

百度前端技术学院2018新学期开课
https://mp.weixin.qq.com/s?__biz=MzA4MjUyNjY3Nw==&mid=2649587439&idx=1&sn=6cde64b603822f045f2b99b30ea85b18
今年学院将设置三个学院,且都是全新的学院,分别是:针对初学者的零基础学院,针对有一定经验的以教学MVVM为主的学院,以及专门针对设计师群体的偏CSS动画的学院。

蚂蚁金服启动分布式中间件开源计划
https://mp.weixin.qq.com/s?__biz=MzUzMzU5Mjc1Nw==&mid=2247483899&idx=1&sn=8f86fd3c696c0bb2822cab879568ff6e
SOFA 中间件是蚂蚁金服自主研发的金融级分布式中间件,包含了构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服务注册中心,分布式定时任务,限流/熔断框架,动态配置推送,分布式链路追踪,Metrics监控度量,分布式高可用消息队列,分布式事务框架,分布式数据库代理层等组件,是一套分布式架构的完整的解决方案,也是在金融场景里锤炼出来的最佳实践。另附:EMAS,一部淘宝十年移动互联网技术的演进史

Underscore.js 1.9.0 Released
http://underscorejs.org/#1.9.0
Here’s a blast from the past, 3 years after its last release.

Reduct v4.0.0
https://github.com/reactjs/redux/releases/tag/v4.0.0
The major changes are around our TypeScript definitions, bundled CommonJS and ES builds, throwing if you subscribe or getState from a reducer, and a bunch of other smaller things. The full changes are listed below. 另附:How to use React’s new Context API to easily manage modals

webpack 4.6.0 adds support for prefetching (and preloading)
https://medium.com/webpack/link-rel-prefetch-preload-in-webpack-51a52358f84c
This “Resource Hint” tells the browser that this is a resource that is probably needed for some navigation in the future.

Strapi - Node.js REST API Framework with extensible Admin Panel
https://strapi.io/
Drastically reduce your API development time. Building performant, secure and scalable production-ready API has never been faster. 附:v3@alpha.12 - GraphQL, Rich Text Editor & Redesigned Dashboard

Apple open-sources FoundationDB
https://www.foundationdb.org/blog/foundationdb-is-open-source/
FoundationDB is a distributed datastore, designed from the ground up to be deployed on clusters of commodity hardware. These clusters scale well as you add machines, automatically heal from hardware failures, and have a simple API. The key-value store supports fully global, cross-row ACID transactions. That’s the highest level of data consistency possible. What does this mean for you? Strong consistency makes your application code simpler, your data models more efficient, and your failure modes less surprising. 另:MySQL 8.0 Released

Hello wasm-pack!
https://hacks.mozilla.org/2018/04/hello-wasm-pack/
wasm-pack is a tool for assembling and packaging Rust crates that target WebAssembly. These packages can be published to the npm Registry and used alongside other packages. This means you can use them side-by-side with JS and other packages, and in many kind of applications, be it a Node.js server side app, a client-side application bundled by Webpack, or any other sort of application that uses npm dependencies. 另附:Build your own web things with the Things Framework。另外,Firefox 还专门为 Facebook 做了一个插件:Facebook Container for Firefox - Prevent Facebook from seeing what websites you visit,话说 Facebook 最近很招人恨,见 Scuttlebutt, A Decentralized Alternative To FacebookNo boundaries for Facebook data: third-party trackers abuse Facebook Login

Introducing GitHub Learning Lab: A new way to level up on GitHub
https://blog.github.com/2018-04-19-introducing-github-learning-lab/
GitHub is more than a home for code. It’s a forum for collaboration, a sandbox for testing, a launchpad for deployment, and often, a platform for learning new skills. After training thousands of people to use Git and GitHub, the GitHub Training Team has established a tried-and-true method for helping new developers retain more information and ramp up quickly as they begin their software journeys. And now, we’re making those experiences accessible to developers everywhere with GitHub Learning Lab. 另附:Using Figma designs to build the Octicons icon library

Introducing GapminderVR: Data Visualization in Virtual Reality
https://lemire.me/blog/2018/04/17/introducing-gapmindervr-data-visualization-in-virtual-reality/
I am a big fan of sites such as Gapminder and Our World in Data. Such data visualization sites are like intellectual pornography. You want to know which countries are doing better? Which continents drink more alcohol? How is alcohol related to GDP? Have people getting fatter recently, or is that a long trend? You don’t need to read thick books, you can just browse graphs.

Introducing Microsoft Azure Sphere: Secure and power the intelligent edge
https://azure.microsoft.com/en-us/blog/introducing-microsoft-azure-sphere-secure-and-power-the-intelligent-edge/
Microsoft built its own custom Linux kernel for its new IoT service. 附:From research idea to research-powered product: behind the scenes with Azure Sphere

Introducing sonarwhal v1: The linting tool for the web
https://blogs.windows.com/msedgedev/2018/04/19/sonarwhal-v1-linting-tool-for-web/
Just over one year ago, we started working on a best practices tool for the web called sonarwhal—a customizable, open-source linting tool, built for modern web developer workflows. Today, we are announcing the release of its first major version.

react-copy-write
https://github.com/aweary/react-copy-write
An immutable React state management library with a simple mutable API, memoized selectors, and structural sharing. Powered by Immer.

D3 in Depth
http://d3indepth.com/
D3 in Depth aims to bridge the gap between introductory tutorials/books and the official documentation. It focuses on version 4 of D3.

slate-md-editor
https://github.com/Canner/slate-md-editor
A markdown editor, that allows you to edit live.

NativeScript 4.0 is out!
https://www.nativescript.org/blog/nativescript-4.0-is-out
With NativeScript 4.0 you can now use any View as the root of your application. Previously, the root of the app was always a Frame, in which you can navigate using Pages. Now, you have the flexibility to put a TabView or a RadSideDrawer as the root of the app. This enables many more commonly-used navigation patterns and also allows for creating a more optimized UI tree.

VS Code can do that?!
https://vscodecandothat.com/
All the best things about Visual Studio Code that nobody ever bothered to tell you to tell you Hyper 2
https://zeit.co/blog/hyper2
Hyper 2.0 has an upgraded rendering engine: xterm.js 3.0. This marks the transition from the DOM to a 2D Canvas.

FFmpeg 4.0
http://ffmpeg.org/index.html#pr4.0
FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge.

GraalVM
http://www.graalvm.org/
GraalVM is a universal virtual machine for running applications written in JavaScript, Python 3, Ruby, R, JVM-based languages like Java, Scala, Kotlin, and LLVM-based languages such as C and C++. GraalVM removes the isolation between programming languages and enables interoperability in a shared runtime. It can run either standalone or in the context of OpenJDK, Node.js, Oracle Database, or MySQL.

Zulip 1.8: Open source team chat
http://blog.zulip.org/2018/04/18/zulip-1-8-released/
Zulip is the world’s most productive team chat software, an alternative to Slack, HipChat, and IRC. Zulip combines the immediacy of chat with the asynchronous efficiency of email-style threading, and is 100% free and open source software. Zulip combines the immediacy of Slack with an email threading model. With Zulip, you can catch up on important conversations while ignoring irrelevant ones.

Museum of Websites
https://www.kapwing.com/evolution-of-products
A hand-curated gallery of how famous internet companies have changed over time.

设计

How AI Wipes Out UI
https://uxplanet.org/how-ai-wipes-out-ui-10ecaad1356a
Only after we master the ability to materialize things from the air, utilize quantum computers to generate data, and operate machines with our minds, can we think of the real synergy with AI. Before that, our little robots will be our assistants and will do only what they’re supposed to do. 另附:Good Designer, Bad Designer

The long, incredibly tortuous, and fascinating process of creating a Chinese font
https://qz.com/522079/the-long-incredibly-tortuous-and-fascinating-process-of-creating-a-chinese-font/
The default set for English-language fonts contains about 230 glyphs. A font that covers all of the Latin scripts—that’s over 100 languages plus extra symbols—contains 840 glyphs, according to Březina. The simplified version of Chinese, used primarily in mainland China, requires nearly 7,000 glyphs. For traditional Chinese, used in Taiwan and Hong Kong, the number of glyphs is 13,053. An experienced designer, working alone, can in under six months create a new font that covers dozens of Western languages. For a single Chinese font it takes a team of several designers at least two years.

Building a Color Palette Framework
https://medium.com/sketch-app-sources/building-a-color-palette-framework-96dbda541c2e
How to define a framework of colors while building a color palette for your brand

Working with External User Researchers
http://alistapart.com/article/working-with-external-user-researchers-part-ii
In the first installment of the Working with External User Researchers series, we explored the reasons why you might hire a user researcher on contract and helpful things to consider in choosing one. This time, we talk about getting the actual work done.

Which Podcasts Should Web Designers And Developers Be Listening To?
https://www.smashingmagazine.com/2018/04/podcasts-web-designers-developers/
When we filtered out those that had produced no new content in the last three months or more (although then we did have to make some exceptions, as you’ll see), and ordered the rest according to how many times they were nominated, we had a graded shortlist of 55.

你在淘宝上看到的图片和视频,到底怎样一步步被机器人接管
http://www.geekpark.net/news/228422
给你一秒钟,你能设计出 8000 张海报吗?不要那种粗制滥造的效果,而是能挂在双十一淘宝网站,被上亿人看到的那种,带有独特设计风格的作品,你能做到吗?在让 AI 协助人类的这条路上,阿里带来了「鲁班」和 Aliwood 两套 AI 工具,它们将成为淘宝店家日后的重要利器。

新互动儿童教育品牌设定
https://mp.weixin.qq.com/s?__biz=MjM5NzQxMDkwMg==&mid=2655404201&idx=1&sn=451e88c37209684a9cae142709e3e31b
ABCmouse,一款全美知名、深受父母与儿童喜爱的英语启蒙教育App,拥有美国原汁原味的内容资源、地道发音、益智游戏与学习方法。本次和腾讯强强联手,除了内容本身的提升,腾讯ISUX设计团队也为产品塑造更优、更完整的品牌和用户体验设计,打造全新专业少儿英语课程。

产品及其它

Jupyter, Mathematica, and the Future of the Research Paper
https://paulromer.net/jupyter-mathematica-and-the-future-of-the-research-paper/
The Atlantic has a great article on new ways to share research results. Its three parts make three points: A graphical user interface (GUI) can facilitate better technical writing; Wolfram’s proprietary notebook showcased innovative technology, but decades after its introduction, still has few users; Jupyter is a new open-source alternative that is well on the way to becoming a standard for exchanging research results. Each is spot on. I had to learn the hard way why so many kept their distance from Mathematica. Now, I’m much more productive with Jupyter. I’m experimenting with, and excited about, its potential as a way to write up research results. 另附:Interactive Go programming with Jupyter

Breakdown Notes
https://www.breakdown-notes.com/
Study Notes, Diagrams and Mind Maps. Our goal is to give you a tool that helps you make notes quickly, and reorder them as you get more information or different ideas. All the best things about Visual Studio Code that nobody ever bothered to tell you. 附一个效果示例:Flow chart of cognitive biases

蚂蚁金服CTO程立:碎片化的文章永远无法让人建立起一个对有深度的问题的真正的、系统的理解
https://mp.weixin.qq.com/s/prmMT4RQ3VNcINA8uOWwqA
过去一年,碎片化信息阅读越来越多了,但相比铺天盖地的头条、公众号文章,我更喜欢读书。碎片化的文章永远无法让人建立起一个对有深度的问题的真正的、系统的理解,比如 AI、比如区块链、比如黎曼假设。黎曼假设据说是数学中最深刻的未解问题,它说的是“Zeta 函数的所有非平凡零点的实部都是 1/2”,仅仅想搞清楚这句话到底是什么意思,它为什么那么重要,就足以激发无限的好奇心了。

工作中如何做好技术积累
https://tech.meituan.com/study_vs_work.html
如何在繁忙的工作中做好技术积累,构建个人核心竞争力,相信是很多工程师同行都在思考的问题。本文是我自己的一些总结,试图从三个方面来解答:第一部分阐述了一些学习的原则。任何时候,遵循一些经过检验的原则,都是影响效率的重要因素,正确的方法是成功的秘诀;提升工作和学习效率的另一个重要因素是释惑和良好心态。第二部分分析了我在工作中碰到和看到的一些典型困惑;成为优秀的架构师是大部分初中级工程师的阶段性目标。第三部分剖析架构师的能力模型,让大家对目标所需能力有一个比较清晰的认知。

[译]机器学习之父Michael I.Jordan 反思人工智能
https://mp.weixin.qq.com/s?__biz=MjM5MTQzNzU2NA==&mid=2651659266&idx=1&sn=657bf965f09ac51dbff3f5acd71f948f
从14年前Jordan教授自己的一个关乎生死抉择的故事说起,回顾了AI发展的过往,更重要的是,提出了数据和机器学习当前研究是如何偏离初衷,又蕴含了怎样的巨大威胁。他认为,我们还有机会来建构一种新学科领域——真正以人类为中心的工程学科。

一段关于国产芯片和操作系统的往事
https://mp.weixin.qq.com/s?__biz=MjM5MjA4MjU4MQ==&mid=2656630984&idx=1&sn=791fce2657f4e56d60c9545104e42081
中兴事件引发一片网络热议。什么“这次被美国卡住的芯,一万年也要搞出来”、“中国芯老炮:缺芯是因为缺钱”“国产操作系统,要靠BAT”……这种言论看得我胸痛。忍了几天,今天忍不住了。说说自己经历的一段往事。不知不觉写了一万字。分几个部分:辉煌开局、第一第二棒的困难、系统生态的困难与大溃败、复盘方舟和永中错在哪里、为什么我们做不出操作系统。另附:“中兴事件”的李约瑟难题:为什么科学没在中国近代发生从一无所有,到整个世界 - 梁宁·产品思维30讲

– THE END –

作者:nwind (http://wuduoyi.com/) - 我的文章禁止未经许可全文拷贝转载,未经许可只能转载 1/10 的内容