聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

FEX 技术周刊 - 2019/08/26

2019-08-26 16:35 浏览: 1695018 次 我要评论(0 条) 字号:

FEX 专区

amis 发布 1.0.1 正式版
https://github.com/baidu/amis/releases/tag/1.0.1
正式版本中去除了 react-bootstrap 依赖,并提供了 jssdk 文件,使得不会 react 的开发者也能方便使用。

深阅读

On-Device, Real-Time Hand Tracking with MediaPipe
http://ai.googleblog.com/2019/08/on-device-real-time-hand-tracking-with.html
We are announcing the release of a new approach to hand perception, which we previewed CVPR 2019 in June, implemented in MediaPipe—an open source cross platform framework for building pipelines to process perceptual data of different modalities, such as video and audio. This approach provides high-fidelity hand and finger tracking by employing machine learning (ML) to infer 21 3D keypoints of a hand from just a single frame. Whereas current state-of-the-art approaches rely primarily on powerful desktop environments for inference, our method achieves real-time performance on a mobile phone, and even scales to multiple hands. 另附:Turbo, An Improved Rainbow Colormap for Visualization

Using Native JavaScript Modules in Production Today
https://philipwalton.com/articles/using-native-javascript-modules-in-production-today/
Two years ago I wrote about a technique—now commonly referred to as the module/nomodule pattern—that allows you to write ES2015+ JavaScript and then use bundlers and transpilers to generate two versions of your codebase, one with modern syntax (loaded via <script type="module">) and one with ES5 syntax (loaded via <script nomodule>). The technique allows you to ship significantly less code to module-supporting browsers, and it’s now supported by most web frameworks and CLIs. But now, thanks to some recent advances in bundler technology, it’s possible to deploy your production code as ES2015 modules—with both static and dynamic imports—and get better performance than all non-module options currently available. In fact, this site has been using real modules in production for months.

WebAssembly Interface Types: Interoperate with All the Things!
https://hacks.mozilla.org/2019/08/webassembly-interface-types/
Today’s WebAssembly, you wouldn’t want to use it in this way. You can run WebAssembly in all of these places, but that’s not enough. Right now, WebAssembly only talks in numbers. This means the two languages can call each other’s functions. But if a function takes or returns anything besides numbers, things get complicated. It should be possible to ship a single WebAssembly module and have it run anywhere… without making life hard for either the module’s user or developer. And with a new, early-stage proposal, we’re seeing how we can make this Just Work™. So let’s take a look at how this will work. But first, let’s look at where we are today and the problems that we’re trying to solve.

Software Architecture Guide
https://martinfowler.com/architecture/
When people in the software industry talk about “architecture”, they refer to a hazily defined notion of the most important aspects of the internal design of a software system. A good architecture is important, otherwise it becomes slower and more expensive to add new capabilities in the future. This page outlines my view of software architecture and points you to more material about architecture on this site. 另附:Why Software Architects Must Be Involved in the Earliest Systems Engineering Activities.

面向对象的编程:一场万亿美元级的灾难
https://mp.weixin.qq.com/s/o4cHtmhmoXpDdF6GclNx0g
OOP被许多人认为是计算机科学界皇冠上的明珠,是编程部门的终极解决方案,可以消除我们的所有问题,是编写程序的唯一实际方式,是上天赐予我们的编程法宝……实则不是,人们开始无法忍受抽象和随意共享的可变对象组成的复杂图形。宝贵的时间和脑力耗费在了思考“抽象”和“设计模式”上,而不是解决实际问题。许多人批评面向对象编程(OOP),包括大名鼎鼎的软件工程师。就连OOP的发明者本人也猛烈炮轰现代OOP!每个软件开发人员的终极目标应该是编写可靠的代码。如果代码有缺陷且不可靠,其他一切都不重要。编写可靠代码的最佳方法又是什么?简单性。简单性是复杂性的对立面。因此,我们软件开发人员的首要职责应该是降低代码复杂性。

前端物料中台建设
https://juejin.im/post/5d5b542e6fb9a06acb3ea2b0
接上一篇的文章大BU级别的”前后端分离”实践中提出了当前的前端团队中存在一些问题以及解决思路,并且在其中详细地写出了统一视图服务的实现思路和收益。这篇文章主要写关于前端迭代及上下游协作效率我们是如何解决的。

NoahV | 百度智能运维前端框架开源了
https://mp.weixin.qq.com/s?__biz=MzUyMzA3MTY1NA==&mid=2247485193&idx=1&sn=3989d168bfa0cebc5dc02a95c999b15c
百度智能运维前端研发团队是如何在人员有限的情况下开发出完善的覆盖百度内外的各类运维管理平台呢?这主要得益于团队根据多年的实践经验推出的NoahV运维前端研发框架。下面我们就来详细介绍下NoahV框架是如何提升运维平台前端研发效率,从而帮助团队快速高效的研发运维管理平台。

SEIN.js
http://seinjs.com/
Sein致力于打造一个专业的多平台(目前已支持Web、小程序、小游戏,未来还会更多)的3D游戏开发解决方案。它提供了从简单快速开发到复杂稳健设计的各个过渡阶段,来灵活应对各个项目的需求。得益于作者对许多成熟的游戏引擎的使用与思考,本引擎借鉴了它们中很多优秀的特点,也结合了作者本人在Web前端领域的经验,加上了许多针对Web端的特别设计和优化,使其在开发效率和运行效率之间保持了平衡,并拥有不俗的扩展性和复用性。

解析 Antd Table 组件的错位和性能问题
https://mp.weixin.qq.com/s?__biz=MzAwODcwODYwMw==&mid=2247484598&idx=1&sn=a0c434792ed73263e5e2403fd207c5a1
在做活动引擎的过程中,发现 Antd 的 Table 组件会发送各种行错位,和列错位。关于行错位不是本节内容介绍的重点,本文主要介绍在启用固定列的时候(即使用fixed) 时发生的列错位 bug 以及其衍生的一系列性能问题。

Functional Programming in JavaScript: How and Why
https://blog.bitsrc.io/functional-programming-in-javascript-how-and-why-94e7a97343b
How to write ultra-modular, easily testable, easily maintainable, and highly reusable Javascript w/o React

Microfrontends — when they aren’t the answer (React, Angular, Vue etc)
https://medium.com/javascript-in-plain-english/microfrontends-when-they-arent-the-answer-react-angular-vue-etc-45dcf266f6f9
Taking a look at potential drawbacks of using Microfrontends and when it doesn’t make sense to adopt them.

Iframes are just terrible. Here’s how they could be better
https://medium.com/@bluepnume/iframes-are-just-terrible-heres-how-they-could-be-better-974b731f0fb4
In a nutshell: iframes let you build user experiences into embeddable ‘cross-domain components’, which let users interact with other sites without being redirected. There are a metric ton of awesome uses for that other than tracking and advertizing. Nothing else comes close for this purpose; and as a result, I feel we’re not using iframes to their full potential.

How to build a plugin system on the web and also sleep well at night
https://www.figma.com/blog/how-we-built-the-figma-plugin-system/
At Figma, we recently tackled one of our biggest engineering challenges yet: supporting plugins. Our plugins API enables third-party developers to run code directly inside our browser-based design tool, so teams can adapt Figma to their own workflows. They can enable accessibility checkers to measure contrast, translation apps to convert language, importers to populate designs with content, and anything else their heart desires.

How to Build Good Software
https://www.csc.gov.sg/articles/how-to-build-good-software
Software has characteristics that make it hard to build with traditional management techniques; effective development requires a different, more exploratory and iterative approach.

Lesson Learned from Queries over 1.3 Trillion Rows of Data Within Milliseconds of Response Time at Zhihu.com
https://pingcap.com/success-stories/lesson-learned-from-queries-over-1.3-trillion-rows-of-data-within-milliseconds-of-response-time-at-zhihu/
In this post, I’ll dive deep into how we managed to keep milliseconds of query response time over such a large amount of data and how TiDB, an open source MySQL-compatible NewSQL Hybrid Transactional/Analytical Processing (HTAP) database, empowered us to get real-time insights into our data. I’ll introduce why we chose TiDB, how we are using it, what we learned and best practice and some thoughts about the future.

Understanding Apache Arrow Flight
https://www.dremio.com/understanding-apache-arrow-flight/
Arrow Flight provides a high-performance wire protocol for large-volume data transfer for analytics, designed for the needs of the modern data world including cross-platform language support, infinite parallelism, high efficiency, robust security, multi-region distribution, and efficient network utilization.

Serverless on GCP
https://bravenewgeek.com/serverless-on-gcp/
GCP has a comprehensive set of compute options ranging from minimally managed VMs all the way to highly managed serverless backends. Below is the full spectrum of GCP’s compute services at the time of this writing. I’ll provide a brief overview of each of these services just to get the lay of the land. We’ll start from the highest level of abstraction and work our way down, and then we’ll hone in on the serverless solutions. 另附:Google Cloud Run Button: ‘Click-to-Deploy’ for your Git Repos.

Redesigning our systems to provide more control over Off-Facebook activity
https://engineering.fb.com/data-infrastructure/off-facebook-activity/
At F8 2018, we shared our plan to build a tool that would allow people to see the apps and websites that choose to share activity with us and to disconnect that activity from their accounts. Today we are beginning to roll out that tool, which is called Off-Facebook Activity. Building Off-Facebook Activity required an extensive redesign of the way our systems store and process this activity and new methods for disconnecting information about a person’s off-site activity from their account.

Building a universal search system for Pinterest
https://medium.com/@Pinterest_Engineering/building-a-universal-search-system-for-pinterest-e4cb03a898d4?source=rss-ef81ef829bcb——2
As the types of content on Pinterest grow, our search results must adapt as well. Pinners can use filters to narrow down to the content type they want, but we can make the experience even better by predicting the most relevant answers for them. As a solution, we’re building a system to deliver content from various verticals within one integrated search results page. Today when you search you’ll already see these different types of formats (Video, Shopping, Pinners to follow). Over time these results will become even more personalized and relevant through advancements in machine learning ranking.

Building the New Uber Freight App as Lists of Modular, Reusable Components
https://eng.uber.com/uber-freight-app/
As Uber Freight marked its second anniversary, we went back to the drawing board to redesign its app. The original carrier app was successful for owner-operators with one or two drivers, but it wasn’t optimized for larger fleets—feedback we were hearing directly from our carrier base. It let carriers find and move freight from point A to point B, but did not support multi-stop loads with multiple pick-ups and drop-offs.

YAML: probably not so great after all
https://arp242.net/yaml-config.html
Don’t get me wrong, it’s not like YAML is absolutely terrible – it’s probably better than using JSON – but it’s not exactly great either. There are some drawbacks and surprises that are not at all obvious at first, and there are a number of better alternatives such as TOML and other more specialized formats. Personally I’m not likely to use it again when I’ve got a choice.

新鲜货

Chrome Dev Summit is now open for registration!
https://blog.chromium.org/2019/08/chrome-dev-summit-is-now-open-for.html
Nov 11-12, San Francisco. Over the two days, we will focus on the latest best practices, tools and updates coming to the web platform and give developers a chance to hear directly from the Chrome product engineering teams.

GitLab 12.2 released with Directed Acyclic Graphs for Pipelines and Design Management
https://about.gitlab.com/2019/08/22/gitlab-12-2-released/
Faster, more flexible pipelines; Design Management; Cross Project Merge Request Dependencies.

The GitHub Student Developer Pack is back
https://github.blog/2019-08-20-the-github-student-developer-pack-is-back/
The GitHub Student Developer Pack is back for another school year. The program has provided over 1.5 million students the best real-world developer tools and training for free since its introduction six years ago. As the Pack continues to grow and shape the next generation of developers, we’ve continued to listen. We’re here to better understand how you’re using these tools and what’s missing that you hope to see included. Whether you’re developing your portfolio, building a new desktop app, or creating an interactive map—the Pack was built to provide you with the exact tools you need to learn.

Introducing Microsoft Edge Beta: Be one of the first to try it now
https://blogs.windows.com/windowsexperience/2019/08/20/introducing-microsoft-edge-beta-be-one-of-the-first-to-try-it-now/
Microsoft Edge is now available for all supported versions of Windows and macOS. Our goal with Microsoft Edge is to create better web compatibility with better performance for our customers while ensuring less fragmentation of the web for all web developers. Our community has been with us on this journey from the beginning and your feedback is making it possible to rapidly improve. 另附:evolt.org Browser Archive 20 Years Old.

Rails 6.0
https://weblog.rubyonrails.org/2019/8/15/Rails-6-0-final-release/
Dealing with incoming email, composing rich-text content, connecting to multiple databases, parallelizing test runs, integrating JavaScript with love, and rewriting the code loader. These are fundamental improvements to the fundamentals of working with the web and building fast and fresh applications. This is the kind of work we’ve been doing for the past fifteen years, and we’re still at it. THIS IS RAILS SIX!

Announcing NodeGUI and React NodeGUI - Build native desktop apps with Javascript and CSS
https://blog.atulr.com/nodegui-intro/
NodeGUI is an open source library for building cross platform native desktop applications with JavaScript and CSS like styling. NodeGui apps can run on Mac, Windows, and Linux from a single codebase. NodeGUI is powered by Qt5


网友评论已有0条评论, 我也要评论

发表评论

*

* (保密)

Ctrl+Enter 快捷回复