JS周刊#422 - 采访 TensorFlow.js 产品经理;Babel 7.3 发布;Jest 24 发布;未来的 JavaScript

未来的 JavaScript:我们还遗漏了什么?

我们已经阅读过 ES2018ES2019 的新功能,看起来 JavaScript 正在以良好的步伐向前发展,但 Axel 博士提出新的问题。我们是否还有所遗漏?

Dr. Axel Rauschmayer

Google Play Store 现在开放 Progressive Web Apps 分发

Android Chrome 72 提供了可信网络活动功能,这表示着,你现在可以在 Google Play Store 中分发 PWA - 移动开发周刊

Maximiliano Firtman

快速和简单直接的修复 JavaScript 应用程序错误

一目了然地识别出那些影响用户的错误。按事件计数或受影响用户数,对错误进行排序,以查找出最经常出现或影响大部分用户的那些错误。通过自动诊断收集,快速找到错误的根本原因。免费使用。

Bugsnag 赞助

FlexSearch.js:一个全文本搜索库

在多词匹配和语音转换等功能的支持上,声称优于所有同类产品。支持浏览器和 Node.js。

Nextapps GmbH

Jest 24 发布:JS 测试框架

自上一次主要版本发布以来,已经过去了 8 个月,这是一次大的版本更新,内置 TypeScript 支持,改进了 assertion messages(断言消息),修复了烦人的 console.log 错误,并且获得了一个 全新网址

Simen Bekkhus

Bower 中发现严重级别安全漏洞

Bower 是一个流行的 web package 管理器,容易受到存档提取(archive extractions)攻击,如果你仍在使用 Bower,请升级到 1.8.8 版本

Liran Tal (Snyk)

📣 A Note..

If you don't always make it to the end of an issue, make this week an exception as we've interviewed Sandeep Gupta, the product manager of TensorFlow.js , an increasingly important part of the JavaScript ecosystem in the machine learning space.

📘 教程和见解

使用 ES6 删除数组重复项

使用 Set, filterreduce 三种方式,从数组中过滤掉重复项,并且只返回去重值。

Samantha Ming

使用 async/await 改进代码可读性

Ben McCormick

类型驱动开发:使用 TypeScript 中的类型替代测试驱动开发

单元测试很棒。但是在 TypeScript 项目中,可以用显式类型定义替代许多单元测试。

Andy Peterson

保护并加速你的云存储

使用 Cloudflare Workers 缓存内容,并且仍然使用 HMAC 和 JSON Web Tokens 阻止不必要的访问。

Cloudflare Workers 赞助

Node.js 中的 Object.assign 与 object spread operator(对象扩展运算符)

对象扩展运算符 {...obj} 类似于 Object.assign(),你应该如何选择?

Valeri Karpov

什么是 tree shaking 以及它是如何工作的?

Ire 非常擅长以任何人都能理解的方式解释概念。

Ire Aderinokun

使用 ONNX.js 构建一个图像识别应用程序

ONNX.js 是一个由 Microsoft 提供的 JavaScript 库,用于在浏览器和 Node.js 中运行 ONNX (Open Neural Network Exchange - 开放神经网络交换) 模型

Zain Sajjad

在 Angular 中创建容器和展示组件

Latish Sehgal

加入 TC39 一年多:14 个月从一无所知到联合主席

如果你有兴趣了解 TC39 背后收集 JavaScript 标准和进行讨论的方式,你会喜欢这个故事。

Aki Rose (Braintree)

🔧 代码和工具

Babel 7.3.0 发布

支持功能包括正则表达式的命名捕获组、私有实例访问器和 智能管道操作符

Nicolò Ribaudo

比起使用 Breakpoints 或 console.log,更快速的调试代码方式

Wallaby 会在测试中捕获错误,并在输入时在编辑器中显示表达式的结果。

Wallaby.js 赞助

Finance.js:一个常用财务计算库

涉及分期偿还、复合利息、投资回报率等几个方面。

Essam Brady-Jobory

TypeScript 3.3 发布

比起以往发布版本,这次改动小很多,没有任何突破性的变化。

Microsoft

Relay:用于构建数据驱动的 React 应用程序的框架

第 2 版 ​​刚发布,现在使用的是新 Context API 而不是旧的。也可以升级到 React 16。

Facebook

Readability.js:从 HTML 文档中提取可读内容

一个独立版本的库,用于为 Firefox Reader View 提供支持。

Mozilla

通过 per titile encoding 和 3-pass encoding 提高视频质量

Bitmovin 赞助

Nuxt.js 2.4:Vue.js 应用程序的服务器端渲染框架

2.4 加入 smart prefetching(智能预取),TypeScript 支持(似乎成为一种潮流!)等等。此外,还采用了一份正规的发布时间表。

Chopin, Chopin, et al.

一个声明式的 Vue.js 动画库

一个基于声明式 Vue 模板语言,包装了 Velocity.js 的动画库。

Brian Rosamilia

The Lounge:一个现代的、自托管的、基于 Web 的 IRC 客户端

版本 3 是一个包含大量更新的主要版本。

The Lounge

💬 A Q&A with…

the author of Product Manager for TensorFlow.js at Google

TensorFlow is an open-source machine learning framework (and dataflow programming in general) developed at Google that has seen a burst in popularity recently.

TensorFlow.js , released less than a year ago, brings the power of TensorFlow to JavaScript developers keen to do things like in-browser machine learning (though Node is also supported), and we caught up with its product manager to find out a little more about it:

How do you see TensorFlow.js opening up new opportunities versus the more established Python and C TensorFlow worlds?

In the browser, TensorFlow.js offers unique opportunities by taking advantage of the interactive user experience, sensors such as webcam, microphones, GPS, etc, and the ability to offer rich, real-time visualization experiences. See some fun demos here . For enterprises using Node.js, building ML solutions using TensorFlow.js means that the same teams working on their backend infrastructure can also integrate ML pipelines directly without having to stand-up separate Python-based data-science teams.

What's the most interesting use of TensorFlow.js you've seen so far?

We are continuously surprised by novel and interesting use cases of TensorFlow.js. Several examples are listed here in our gallery page. We love projects like Creatability and Handsfree.js , which allow you to make more accessible and handsfree interfaces and experiences for the Web and open incredible new opportunities. With server-side TensorFlow.js, Magenta Studio has built several amazing music generation plug-ins using powerful ML techniques.

While machine learning is perhaps the most noteworthy use case for TensorFlow, what interesting uses for TensorFlow.js do you see outside of that space?

At a low level, TensorFlow.js is fundamentally a math and linear algebra library so it enables non-ML numerical and computational uses. A great example is the work done by Uber in building their Manifold application. Although Manifold is a tool for Uber's ML visualizations, they are using TensorFlow.js for its extremely fast numerical computations in JavaScript.

But we are still in the early days of large scale data science in JavaScript. To make TensorFlow.js a widely-used general-purpose computational library, a lot of other numerical functionality would be needed in JS - similar to the rich data analysis toolset that exists in the Python world eg. Numpy, Pandas, matplotlib, etc.

Sandeep Gupta is the product manager of TensorFlow and TensorFlow.js .


🔗 访问链接