ng-conf 2018
附:All Talks from ng-conf 2018


Designing very large (JavaScript) applications
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
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
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
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
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
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)
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?
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
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
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
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
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
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
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
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
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
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.



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

Underscore.js 1.9.0 Released
Here’s a blast from the past, 3 years after its last release.

Reduct 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)
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
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
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!
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
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
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
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
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.

An immutable React state management library with a simple mutable API, memoized selectors, and structural sharing. Powered by Immer.

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

A markdown editor, that allows you to edit live.

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?!
All the best things about Visual Studio Code that nobody ever bothered to tell you to tell you Hyper 2
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
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 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
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
A hand-curated gallery of how famous internet companies have changed over time.


How AI Wipes Out UI
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
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
How to define a framework of colors while building a color palette for your brand

Working with External User Researchers
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?
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.

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



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
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

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


[译]机器学习之父Michael I.Jordan 反思人工智能

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


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