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

深阅读

Relicensing React, Jest, Flow, and Immutable.js
https://code.facebook.com/posts/300798627056246
Facebook 反悔了。。。不过没有 ReactNative。附:如何看待 Facebook 计划将 React 改为 MIT 许可证从 React 将从 BSD 改 MIT 许可证,谈如何选择正确的开源许可

Paul Irish - Debugging in 2017 with Node.js
https://www.youtube.com/watch?v=Xb_0awoShR8
While we’ve all used the trusty console.log for debugging our application, Node now has far more powerful debugging capabilities. Paul will demonstrate improved workflows for debugging, profiling and understanding your app using the DevTools Protocol. He will also share more advanced techniques for automating and monitoring Node.

The Ten Essentials for Good API Documentation
https://alistapart.com/article/the-ten-essentials-for-good-api-documentation
API documentation is the number one reference for anyone implementing your API, and it can profoundly influence the developer experience. Because it describes what services an application programming interface offers and how to use those services, your documentation will inevitably create an impression about your product—for better or for worse. 另附:PayPal - API Style Guide and Patterns: The Evolutionary Journey Continues

The Past, Present, and Future of the Angular CLI
https://blog.angular.io/the-past-present-and-future-of-the-angular-cli-13cf55e455f8
The Angular CLI has made a lot of progress over the last few months, you can view the comprehensive notes about this progress on the releases page, but it can be helpful to look back on what’s happened in the last 4 months.

Mastering the Node.js Core Modules - The Process Module
https://blog.risingstack.com/mastering-the-node-js-core-modules-the-process-module/
In this article, we’ll take a look at the Node.js Process module, and what hidden gems it has to offer. After you’ve read this post, you’ll be able to write production-ready applications with much more confidence. You’ll know what process states your Node.js apps will have, you’ll be able to do graceful shutdown, and you’ll handle errors much more efficiently.

To type or not to type: quantifying detectable bugs in JavaScript
https://blog.acolyer.org/2017/09/19/to-type-or-not-to-type-quantifying-detectable-bugs-in-javascript/
both Flow and TypeScript are pretty good, and conservatively either of them can prevent about 15% of the bugs that end up in committed code.

The end of Framework Churn
http://blog.ionic.io/the-end-of-framework-churn/
We believe 2017 is the year that web developers finally start to use Web Components in larger numbers. It’s going to take some time to reach mainstream usage, but the benefits are real and native support is improving rapidly. The era of Framework churn is coming to an end, and now we can all go back to working on what makes our apps unique instead of spending precious time, energy, and money jumping to something new every year.

百度正式开源其RPC框架brpc
https://mp.weixin.qq.com/s/WsXnXtK-RLy9ZJQDReSrog
功能完善的 RPC 框架,另附:Google理论背书与百度实践加持:百度Palo数据库宣布开源

去你妹的厂商改固件,看我逆向小米rom层应用做碎片化适配
http://www.jianshu.com/p/6f313b4876ab
如何逆向分析 ROM 里框架的实现

再见,babel-preset-2015
https://zhuanlan.zhihu.com/p/29506685
abel 的官网上在9月宣布 ES2015 / ES2016/ ES2017 等等 ES20xx 时代的 presets 通通被废弃(deprecated),取而代之的是 babel-preset-env,并且承诺它将成为“未来不会过时的(future-proof)”解决方案。另附:Analyzing JavaScript dependencies

The Search for Better Search at Reddit
https://redditblog.com/2017/09/07/the-search-for-better-search-at-reddit/
Reddit 搜索功能的发展史

[译]为提高用户体验,Yelp 是如何无损压缩图片的
http://blog.jobbole.com/112321/
各种图片压缩方法的效果

Electron: The Bad Parts
https://hackernoon.com/electron-the-bad-parts-2b710c491547
I’m a big fan of Electron and thought the following list could be very helpful for people who are new to the topic. But project managers who are evaluating different stacks and want to avoid “surprises” should benefit as well. The list presents things that are not completely clear in the beginning. Things where it’s worth to spend some extra time on evaluation before a decision and long term commitment is made.

A Rube Goldberg Machine
https://samsunginter.net/rube-goldberg-article/
An introduction to post-modern Web Development. 另附:Modern Front End. Pros and Cons.

It’s time to kill the web
https://blog.plan99.net/its-time-to-kill-the-web-974a9fe80c89
The web has grown so fat that calling it open is now pretty meaningless: you have no chance of implementing HTML5 unless you have a few billion dollars you’d like to burn. The W3C didn’t meet its users needs and is now irrelevant, so unless you work at Google or Microsoft you can’t meaningfully impact the technical direction of the web. Some of the competing platforms that were once closed opened up. And the JavaScript ecosystem is imploding under the weight of its own pointless churn.

Rethinking Inheritance
https://www.sitepen.com/blog/2017/09/19/rethinking-inheritance/
Over the past year we’ve been heads-down working hard on Dojo 2 and its component architecture. The ability to change default component behavior is essential to a widget library, and several tactics exist for doing so. After extensive battle testing of different viable approaches to component modification, we decided to once again equip ES6 inheritance as our primary method of extending component functionality. Here’s why.

How New Font Technologies Will Improve The Web
https://www.smashingmagazine.com/2017/09/new-font-technologies-improve-web/
Variable fonts and parametric fonts are tools that will undeniably revolutionize responsive web type. They will allow graphic and web designers to explore shapes and sizes on their own and to tailor typefaces to their needs. Let’s learn the ins and outs of these new tools and how to take control of our typography.

The All-New Guide to CSS Support in Email
https://www.campaignmonitor.com/blog/email-marketing/2017/09/all-new-guide-css-support-email/
What isn’t new! When we got to work on the new CSS guide, we didn’t just want to retest and update what was already there. CSS has not stood still in the last 3 years, and neither has the landscape of email clients.

Scaling Event Sourcing for Netflix Downloads, Episode 2
https://medium.com/netflix-techblog/scaling-event-sourcing-for-netflix-downloads-episode-2-ce1b54d46eec
In the first episode of this series of posts, we introduced the Netflix downloads project and the use cases that led us to consider a solution based on the event sourcing pattern. In this post, we provide an overview of the general event sourcing pattern and how we applied it to some of these key use cases.

The Top 10 Adages in Continuous Deployment
https://www.infoq.com/articles/cd-adages
On the basis of discussions at the Continuous Deployment Summit, researchers derived 10 adages about continuous-deployment practices. These adages represent a working set of approaches and beliefs that guide current practice and establish a tangible target for empirical validation.

The Future of HHVM
http://hhvm.com/blog/2017/09/18/the-future-of-hhvm.html
后续 HHVM 将会和 PHP7 分道扬镳,不再兼容语法,专注发展 Hack,你看出背后的原因了么?

The ultimate guide to writing a Go tool
https://arslan.io/2017/09/14/the-ultimate-guide-to-writing-a-go-tool/
This is a very lengthy blog post that explains every single detail of how to write such a tool and how to build it. It contains many unique details, tips & tricks and unknown Go bits.

新鲜货

Microsoft Edge Web Summit 2017 recordings are now available on Channel 9
https://blogs.windows.com/msedgedev/2017/09/20/edge-summit-2017-recordings/
视频可以下载了。附:Progressive Web Apps coming soon to the Windows Store

GitLab 10.0 Released with Auto DevOps and Group Issue Boards
https://about.gitlab.com/2017/09/22/gitlab-10-0-released/
GitLab 10.0 delivers a hands-free DevOps environment with the introduction of Auto DevOps, allowing your team to easily configure and adopt modern development practices in your workflow. Not only that, there’s new navigation and a new way of collaborating across groups.

Announcing GitHub Desktop 1.0
https://github.com/blog/2437-announcing-github-desktop-1-0
Collaborating on GitHub with the power of a GUI application just got easier! GitHub Desktop 1.0 is now available. 另附:Introducing GitHub Debug.

HTTP Immutable Responses
https://tools.ietf.org/html/rfc8246
The immutable HTTP response Cache-Control extension allows servers to identify resources that will not be updated during their freshness lifetime. This ensures that a client never needs to revalidate a cached fresh resource to be certain it has not been modified.

Chrome breaks visual viewport — again
https://www.quirksmode.org/blog/archives/2017/09/chrome_breaks_v.html
A few weeks back the most exciting viewport news of the past few years broke: Chrome 61 supports a new visual viewport API. Although this new API is an excellent idea, and even includes a zoom event in disguise, the Chrome team decided that its existence warrants breaking old and trusty properties.

Announcing CoffeeScript 2
http://coffeescript.org/announcing-coffeescript-2/
We are pleased to announce CoffeeScript 2! This new release of the CoffeeScript language and compiler aims to bring CoffeeScript into the modern JavaScript era, closing gaps in compatibility with JavaScript while preserving the clean syntax that is CoffeeScript’s hallmark.

SentinelJS
https://github.com/muicss/sentineljs
Detect new DOM nodes using CSS selectors

colors.css 3.0.0
https://github.com/mrmrs/colors
Smarter defaults for colors on the web.

Bulma - A modern CSS framework based on Flexbox
http://bulma.io/
附介绍:Get to Know Bulma-My Current Favorite CSS Framework

Dexie.js
https://github.com/dfahlander/Dexie.js
Dexie.js is a wrapper library for indexedDB - the standard database in the browser.

AR.js
https://github.com/jeromeetienne/AR.js
Efficient Augmented Reality for the Web - 60fps on mobile!

billboard.js
https://github.com/naver/billboard.js
Re-usable, easy interface JavaScript chart library based on D3 v4+.

luma.gl
https://github.com/uber/luma.gl
luma.gl’s provides efficient and easy-to-use WebGL2-based building blocks enabling high-performance GPU-based data visualizations and computations on your browser.

Godot Engine
https://github.com/godotengine/godot
Godot Engine is a feature-packed, cross-platform game engine to create 2D and 3D games from a unified interface. It provides a comprehensive set of common tools, so that users can focus on making games without having to reinvent the wheel. Games can be exported in one click to a number of platforms, including the major desktop platforms (Linux, Mac OSX, Windows) as well as mobile (Android, iOS) and web-based (HTML5) platforms.

Google - Facets - know your data
https://pair-code.github.io/facets/
The facets project contains two visualizations for understanding and analyzing machine learning datasets: Facets Overview and Facets Dive. The visualizations are implemented as Polymer web components, backed by Typescript code and can be easily embedded into Jupyter notebooks or webpages. Facets contains two robust visualizations to aid in understanding and analyzing machine learning datasets.

node-restify
https://github.com/restify/node-restify
restify is a framework, utilizing connect style middleware for building REST APIs.

nest
https://github.com/nestjs/nest
Nest is a framework for building efficient, scalable Node.js web applications. It uses modern JavaScript, is built with TypeScript and combines elements of OOP (Object Oriented Progamming), FP (Functional Programming), and FRP (Functional Reactive Programming).

Studio Log
https://github.com/javascript-studio/studio-log
Log ndjson to an output stream, format the output with emoji ✨

ExpressGateway
https://github.com/ExpressGateway/express-gateway
A microservices API Gateway built on top of ExpressJS

Formik
https://github.com/jaredpalmer/formik
Let’s face it, forms are really verbose in React. To make matters worse, most form helpers do wayyyy too much magic and often have a significant performance cost associated with them. Formik is a small library that helps you with the 3 most annoying parts: Getting values in and out of form state; Validation and error messages; Handling form submission. By colocating all of the above in one place, Formik will keep things organized–making testing, refactoring, and reasoning about your forms a breeze.

Modern JavaScript Cheatsheet
https://github.com/mbeaudru/modern-js-cheatsheet
Cheatsheet for the JavaScript knowledge you will frequently encounter in modern projects.

The Ultimate Guide to Flexbox — Learning Through Examples
https://medium.freecodecamp.org/the-ultimate-guide-to-flexbox-learning-through-examples-8c90248d4676
What’s the best way to understand Flexbox? Learn the fundamentals, then build lots of stuff. And that’s exactly what we’re going to do in this article.

码农·宇宙的故事(第29期)
http://www.ituring.com.cn/book/2537
本期《码农》将带领读者朋友一起穿越时空,追溯宇宙的发端、探究宇宙的形状、揭秘神秘的暗物质和暗能量,以及主宰宇宙万物的四种力——引力、电磁力、强力、弱力。

Computer Science a Full Bachelor Curriculum
https://mindweb.network/board/computer-science-a-full-bachelor-curriculum
This board is a collection of free online courses that will provide you with the same knowledge that you would otherwise receive by earning a full Bachelor of Science in Computer Science from one of the top technical universities in the world.

winamp2-js
https://github.com/captbaritone/winamp2-js
A reimplementation of Winamp 2.9 in HTML5 and JavaScript.

Franchise
https://github.com/hvf/franchise
Franchise is a lightweight but powerful SQL tool with a notebook interface. You can use it online at franchise.cloud.

NixOS
https://nixos.org/
NixOS is a Linux distribution with a unique approach to package and configuration management. Built on top of the Nix package manager, it is completely declarative, makes upgrading systems reliable, and has many other advantages.

Swift 4.0 Released
https://swift.org/blog/swift-4-0-released/
Swift 4 is now officially released! Swift 4 builds on the strengths of Swift 3, delivering greater robustness and stability, providing source code compatibility with Swift 3, making improvements to the standard library, and adding features like archival and serialization.

Java 9 Release Now Available!
https://blogs.oracle.com/java/java-9-release-now-available
Java 9 is a major feature release of the Java platform and the result of an industry-wide development effort involving open review, weekly builds, and extensive collaboration between Oracle engineers and members of the worldwide Java developer community via the OpenJDK Community and the JCP. 另附:Eclipse OpenJ9

产品及其它

腾讯主要创办人张志东 (Tony):谈谈互联网产品的老化
http://www.geekpark.net/news/222538
好产品是在一个历史时期,比较优雅地解决一个社会的痛点。做一个好产品很难,但开始偏离或者老化,却是很容易。第一种:自我中心的膨胀。第二种:KPI 的变形。该如何避免企业老化?第一,敬畏感,特别是创始人的敬畏感;第二,可以说真话的文化;第三,要有能发光的带头人;第四,组织再造。在互联网的行业和高科技行业,过去的成绩,容易成为未来的负担。企业在顺境时,能否有合适的机制和文化,能否保持对未来的敬畏,能否保持对产品独特价值的敏感度,也许是特别值得大家思考的地方。

打造知乎技术团队文化的12句「四字真言」
https://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=2653549032&idx=1&sn=e0b68235afbe7da27912c55f31efaa1e
团队文化划成三个方面:团队的人相信什么,知乎从创立以来,整个工程师团队最相信的是“总搞得定”这句话,在团队工作方面有很多地方能够体现出来;团队的人是不是认可正在做的事情,知乎的愿望是被知乎团队所认同的,我们在努力地帮助所有的人去分享他的知识、经验和见解;团队的工作风格是什么样的,归结为三个:开放、透明和信任。

– THE END –

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