FEX 技术周刊 - 2017/11/20
附：在「AI 的 黎明」前，李彦宏都放出了哪些大招？
Introducing the New Firefox: Firefox Quantum
It’s fast. Really fast. Firefox Quantum is over twice as fast as Firefox from 6 months ago, built on a completely overhauled core engine with brand new technology stolen from our advanced research group, and graced with a beautiful new look designed to get out of the way and let you do what you do best: surf a ton of pages, open a zillion tabs, all guilt free because Firefox Quantum uses less memory than the competition.
另附：How Firefox got fast again and where it’s going to get faster、WebAssembly support now shipping in all major browsers、Rust - Fearless Concurrency in Firefox Quantum、Firefox Quantum 57 for developers
Taming architecture complexity in V8 — the CodeStubAssembler
Speeding up Node.js startup using V8 snapshot
Let’s make Node.js start up 8x faster. I disabled commenting because of the notifications I get from people suggesting whitespace changes.
Protected routes and authentication with React Router v4
In this post we’ll break down the “Redirects (Auth)” example on the React Router documentation to learn how to create authenticated routes (routes that only certain users can access based on their authentication status) using React Router.
Getting from Redux to a state machine
This article is about Stent - a Redux-liked library that creates and manages state machines. Stent implements some of the Redux’s core ideas and in fact looks a lot like it. At the end of this post we will see that both libraries have a lot in common. Stent is just using state machines under the hood and eliminates some of the boilerplate that comes with Redux’s workflow.
Debugging Memory Leaks and Memory Bloat in Node.js
Memory issues can be daunting when you first encounter them — they were for our team. The goal of this article is to make them no more of a problem than your average bug.
The State of Node.js Security in 2017
Only 31% of respondents are confident that their code doesn’t contain vulnerabilities. An impressive 84% of respondents feel that Node.js core is secure. Despite that, only 16% of respondents are confident that their third-party dependencies are vulnerability free…另附：Announcing the 2017 State of Open Source Security Report.
苏宁已开放了平台业务、自营业务、自采业务、O2O 业务、政企业务、特卖业务、4PS 业务等几百个 API 接口，每天承载海量的 API 接口调用。通过阅读该文章你会了解到如下信息：一切皆基于标准；系统重构详解；高可用设计；监控之道；应对 O2O 购物节；
Banner Ads Considered Harmful (Here)
9 months of daily A/B-testing of Google AdSense banner ads on gwern.net indicates banner ads decrease total traffic substantially, possibly due to spillover effects in reader engagement and resharing.
Declining Complexity in CSS
CSS has a great deal more capabilities than ever before, it’s true. In the sense of “how much there potentially is to know”, yes, CSS is more of a challenge.
Clean Code vs. Dirty Code: React Best Practices
This article will focus on clean code practices as they apply to modern React software development. I’ll also talk about some of the “sugar” that ES6/ES2015 brings to the table.
How Discord Resizes 150 Million Images Every Day with Go and C++
Despite being a voice and text chat app, Discord sees over a hundred million images passing through its tubes every day. While we wish it was as simple as sending them out across the tubes to your friends, delivering these images creates some pretty large technical problems. Linking directly to images would leak users’ IP addresses to image hosts, and large images use up lots of bandwidth. To circumvent these problems, Discord needs an intermediary service to fetch images on behalf of users and then resize them to reduce bandwidth usage.
Open/R: Open routing for modern networks
We are open-sourcing Open/R, a routing platform that enables rapid innovation in network functions. Open/R was originally built for the Terragraph wireless backhaul network, but we quickly saw its potential use for Facebook’s backbone, where it provides more efficient and precise control of a global fiber network. Now, we are even starting to roll it out into our data center fabrics, running inside FBOSS and on our Open Compute Project networking hardware like Wedge 100. Open/R is a single platform that spans a wide variety of network domains and designs, and we are looking to apply it in even more use cases.
Introducing container-diff, a tool for quickly comparing container images
The Google Container Tools team originally built container-diff, a new project to help uncover differences between container images, to aid our own development with containers. We think it can be useful for anyone building containerized software, so we’re excited to release it as open source to the development community.
Announcing TensorFlow Lite
TensorFlow has always run on many platforms, from racks of servers to tiny IoT devices, but as the adoption of machine learning models has grown exponentially over the last few years, so has the need to deploy them on mobile and embedded devices. TensorFlow Lite enables low-latency inference of on-device machine learning models.另附：On-Device Conversational Modeling with TensorFlow Lite.
Best tech for a web site 2018? (PHP, Rails, Django, Node, Go, etc.)
Back in the day, PHP was a great tool for getting a site up quickly. Then Ruby on Rails took off in 2006 and took the lead. It was the “batteries included” of web frameworks. You could build a CRUD app very quickly. Many other language frameworks followed and evolved. It is almost 2018. What do you think is the best tech for a web app these days?
Cloud Native Storage: A Primer
The cloud-native architecture originating in hyper-scale cloud applications revolves around microservices, i.e. small stateless and decoupled application fragments. Many similar microservice instances can be deployed (using Docker or Kubernetes) to address service elasticity and resiliency. Multiple tiers of microservices are part of a bigger and evolving application.另附：The InfoQ eMag: Cloud Native
Products Over Projects
Software projects are a popular way of funding and organizing software development. The organize work into temporary teams and are funded with specific benefits projected in a business case. Product-mode instead uses durable teams working on a persistent business issue. Product-mode allows teams to reorient quickly by using short-cycle iterations while maintaining the architectural integrity of their software to preserve their long-term effectiveness.
The cargo cult of versioning
In particular, Semantic Versioning is misguided, an attempt to fix something that is broken beyond repair. The correct way to practice semantic versioning is without any version strings at all, just Rich Hickey’s directive: if you change behavior, rename. Or ok, keep a number around if you really need a security blanket.
Mobile Interface Myths You Should Throw Out The Window
Having white-labeled design and marketing work for ad agencies for a few years, I’ve heard the following statements boldly proclaimed as unquestionable truths more times than I can count. From my experience with ad teams and client meetings, these are the most frequent myths I think we need to put to bed, or at least remember to evaluate case by case. Let’s take some time to cover five mobile interface myths you’ve probably been sold on (and why that might be a bad thing).
Code together in real time with Teletype for Atom
Social coding shouldn’t have to be this hard! Today, we’re taking a first step toward making it just as easy to code together as it is to code alone with Teletype for Atom. At the dawn of computing, teletypes were used to create a real-time circuit between two machines so that anything typed on one machine appeared at the other end immediately. Following in these electro-mechanical footsteps, Teletype for Atom wires the keystrokes of remote collaborators directly into your programming environment, enabling conflict-free, low-latency collaborative editing for any file you can open in Atom. 另附：Introducing Visual Studio Live Share.
W3C STRATEGIC HIGHLIGHTS – NOVEMBER 2017
W3C released today its W3C Strategic Highlights – November 2017, a comprehensive survey of the essential work W3C conducts to achieve a Web for All, and select recent work in many areas where the Web can solve arising problems for real people.
NodeConfEU 2017 Videos
Introducing security alerts on GitHub
With your dependency graph enabled, we’ll now notify you when we detect a vulnerability in one of your dependencies and suggest known fixes from the GitHub community.
Minify is a minifier package written in Go. It provides HTML5, CSS3, JS, JSON, SVG and XML minifiers and an interface to implement any other minifier. Minification is the process of removing bytes from a file (such as whitespace) without changing its output and therefore shrinking its size and speeding up transmission over the internet and possibly parsing. The implemented minifiers are high performance and streaming, which implies O(n).
A compilation of React Patterns, techniques, tips and tricks.
A React.js based library for creating sleek presentations
Serverless LibreOffice PDF Converter
This is a full featured LibreOffice compiled to run in AWS Lambda environment.
Elasticsearch 6.0.0 GA released
With 2236 pull requests by 333 commiters added since the release of Elasticsearch 5.0.0, we are proud to announce the release of Elasticsearch 6.0.0 GA, based on Lucene 7.0.1.
GVFS Updates: More Performance, More Availability
We’re thrilled to announce that other Git hosting providers have chosen to adopt GVFS as the industry standard for hosting Enterprise-scale Git repositories. Today at the Microsoft Connect() conference, GitHub‘s Sam Lambert joined us to announce that GitHub was adding GVFS support to their development platform. It’s a natural fit, since GitHub.com is the world’s largest Git hosting provider, and GVFS supports the world’s largest Git repositories.
Introduction to Computer OrganizationARM Assembly Language Using the Raspberry Pi
This book introduces the concepts of how computer hardware works from a programmer
s point of view. A programmers job is to design a sequence of instructions that will cause the hardware to perform operations that solve a problem. This book looks at these instructions by exploring how C/C++ language constructs are implemented at the instruction set architecture level.
The Inter UI font family
Inter UI is a font for highly legible text on computer screens.
13 Startup Ideas
AI for Communicating with Dogs; Design on Demand; Social Network for Children…
Dropbox Paper: Emojis and Exformation
Emojis can help fill in the gaps in human communication where voice and facial expressions are missing. There’s still no substitute for true face-to-face or even just phone time but if you’re gonna be communicating over email, chat or Dropbox Paper (ahem) you might as well give in and join the emoji revolution.
– THE END –