IT技术精华 聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长 2019-06-25 IT技术精华 14593 FEX 技术周刊 - 2019/06/17 深阅读

From design patterns to category theory
Design Patterns was a great effort in 1994, and I’ve personally benefited from it. The catalogue was an attempt to discover good abstractions. What’s a good abstraction? As already quoted, it’s a model that amplifies the essentials, etcetera. I think a good abstraction should also be intuitive. What’s the most intuitive abstractions ever? Mathematics.

Micro Frontends
Good frontend development is hard. Scaling frontend development so that many teams can work simultaneously on a large and complex product is even harder. In this article we’ll describe a recent trend of breaking up frontend monoliths into many smaller, more manageable pieces, and how this architecture can increase the effectiveness and efficiency of teams working on frontend code. As well as talking about the various benefits and costs, we’ll cover some of the implementation options that are available, and we’ll dive deep into a full example application that demonstrates the technique.

Why tools like Flutter need to succeed
Flutter started as an experiment to see what Chrome would look like as a development ecosystem without the technical debt accumulated over the years. It was carefully constructed based on the past learnings of several minds that spent the better parts of their careers contributing to the web platform. These engineers are passionate about both the tools and the community that they are building. 另附:How Much Does It Cost to Develop a React Native Mobile App?The Power of the Flutter’s Transform and GestureDetector Widgets.

The future of React, unfolding with Suspense
This won’t be just another article on how to write Hooks, but rather what to expect in the future of React! If you have never heard of Hooks, or any other new API in React, this article will be a great start to get you excited about the future.

我叫死月,我在蚂蚁写 Node.js
前两天,我因为知乎上一个中二魂满满的问题《为什么强如『死月』在阿里也只有 P6?》而躺枪。没错,我就是故事里的男主角。本来一开始我还没当一回事,但自从 Winter、贺老、狼叔等人回了这个问题之后,就一发不可收拾。本来我不是很想回答这个问题的,毕竟是天外飞锅,但是后来想想,借这个机会自我批判一番也挺好,看看是否能“洗刷”一下自己“网红”的名头。其实我对“网红”还是略有排斥的,一个是本身我就是一个小透明,另一个总觉得现如今意义上“网红”总归不是一个很好的褒义词。于是,搞了篇文章,在批判之余,我也为自己正个名。

Jeecg-Boot:基于代码生成器的 Java 快速开发平台
Jeecg-Boot 是一款基于代码生成器的智能开发平台!采用前后端分离架构:SpringBoot、Mybatis、Shiro、JWT、Vue & Ant Design。强大的代码生成器让前端和后台代码一键生成,不需要写任何代码,保持 jeecg 一贯的强大,绝对是全栈开发福音!!JeecgBoot 在提高 UI 能力的同时,降低了前后分离的开发成本,JeecgBoot 还独创在线开发模式(No 代码概念),一系列在线智能开发:在线配置表单、在线配置报表、在线图表设计、在线设计流程等等。

Taro 1.3 :全面支持 JSX 语法和 HOOKS
Taro 1.3 的特性包括但不限于:支持快应用和 QQ 小程序的开发;全面支持 JSX 语法和 React Hooks;大幅提高 H5 性能和可用性;Taro Doctor.

在9102年终于有了一份属于 CSS状态的报告。对,这是CSS发展20多年以来第一份属于自己的状态报告。大家的印象中可能只有JavaScript相关的状态报告,对于CSS的状态报告并无了解(那是以前没有)。正如报告开篇所说,在Web开发家族中,JavaScript更似一位愤怒、叛逆的少年,每年都会经历一个新阶段。而CSS却一直以来更似一位勤奋好学,举止得体的少年,他总是保持礼貌,从不草率的做出任何决定。

Drawing Realistic Clouds with SVG and CSS
For this article, we will focus on learning to use these SVG filters to get spectacular results. We don’t need to delve too deeply into what is happening behind the scenes algorithmically, much in the way an artist isn’t required know the molecular structure of paint to render a stunning landscape.

Styling In Modern Web Apps
In this article, we welcome you to take a detailed dive into the different ways of organizing styling in modern applications which often have complex interfaces and design patterns. Let’s walk through BEM, preprocessors, CSS-in-JS and even design systems to find out what works best for you.

Video Upload Latency Improvements at Instagram
In June 2013 Instagram introduced video uploads. At the time the system was simple. To ingest video and make it available for playback, we had the Instagram app upload the entire video file to the server once the client had finished recording it. Then we would transcode the video to a controlled set of video versions of different qualities to make sure the video file was playable on as many devices as possible. Once all the video versions were available, we “published” the video and made it available for viewing.

A Look Back At WWDC 2019
Now the dust has settled here’s a look back at a the “mind-blowing week for Apple platform developers”, and a look ahead at the future for software development.

When should you be using Web Workers?
You should always use Web Workers. And in our current landscape of frameworks it’s virtually impossible.

The reduce ({…spread}) anti-pattern
reduce …spread belongs to a different complexity class than the optimal solutions, which is bad.javascript engines will probably never optimize this code.if you’re using reduce …spread for reasons of immutability, you should copy once or use immutable helper libraries.

Observable’s not JavaScript
At first glance, Observable appears to be vanilla JavaScript. This is intentional: by building on the native language of the web, Observable is more familiar and you can use the libraries you know and love, such as D3, Three, and TensorFlow. Yet for dataflow, Observable needed to change JavaScript in a few ways.

Software below the poverty line
I decided to collect data from OpenCollective and GitHub, and take a more scientific sample of the situation. The results I found were shocking: there were two clearly sustainable open source projects, but the majority (more than 80%) of projects that we usually consider sustainable are actually receiving income below industry standards or even below the poverty threshold.

Five Things You Can Do with Serverless
Serverless is like CrossFit: The first rule is to never stop talking about it. In this episode, Eduardo Laureano from the Azure Functions team brings you five things you can do with Serverless that you might not realize are even possible. Also, Burke wears a sweater vest and Eduardo insinuates that there is a better candy than Goo Goo Clusters. The nerve.

RSocket: Solving Real-World Architectural Challenges
Ondrej Lehecka of Facebook, Robert Roeser of Netifi, and Andy Shi of Alibaba explain the use cases for RSocket within their companies, as well as how it can be used by enterprises to simplify the way they build and operate cloud-native applications.

You (probably) don’t need ReCAPTCHA
Google’s ReCAPTCHA is often the first tool that many webmasters reach for when confronted with the need to stop spam and automated malicious traffic from harming their services. In this post I explain several reasons why ReCAPTCHA is usually not the best solution to use for this purpose, as it is often unnecessary, inconveniences users, and subjects users to intensive tracking and fingerprinting that they are not able to opt-out of. Several alternative solutions to ReCAPTCHA for various threat models are presented as well as best practices for implementing captchas in general.

Lerner — using RL agents for test case scheduling
The Partner Device Ecosystem organization in Netflix is responsible for ensuring successful integration and testing of the Netflix application on all partner devices. Netflix engineers run a series of tests and benchmarks to validate the device across multiple dimensions including compatibility of the device with the Netflix SDK, device performance, audio-video playback quality, license handling, encryption and security. All this leads to a plethora of test cases, most of them automated, that need to be executed to validate the functionality of a device running Netflix.

From Jupyter Notebook to Fully Scalable Model—Now a Reality
When we work in Jupyter Notebook—an open-source project tool used for creating and sharing documents that contain live code snippets, visualizations, and markdown text—we are reminded how easy it is to use our API to deploy a machine learning model from within a notebook.

The Wolfram Function Repository: Launching an Open Platform for Extending the Wolfram Language
The Wolfram Function Repository is something that’s made possible by the unique nature of the Wolfram Language as not just a programming language, but a full-scale computational language. In a traditional programming language, adding significant new functionality typically involves building whole libraries, which may or may not work together.

A bird’s eye view of Go
I provide a very high-level overview of what Go-the-language means vs. Go-the-ecosystem vs. Go-an-implementation. I also try to provide specific references to what documentation is most useful for what purpose. See the bottom-most section for that. 另附:GoJay.


Practical Deep Learning for Coders, v3
This site covers the new 2019 deep learning course. 另附:MATLAB–Python–Julia cheatsheet.

Desktop Neo - Rethinking the desktop interface for productivity
The desktop computer hasn’t changed much in the last 30 years. It’s still built on windows, folders and mouse input. But we have changed. We now use smartphones and tablets most of the time, since they are much easier to use. The traditional desktop computer is struggling to adapt the simple interfaces of mobile devices while also keeping its focus on productivity. With people switching to mobile devices for mundane tasks, we have the opportunity to rethink the desktop computer with a focus on getting professional work done.

Introducing Matrix 1.0 and the Foundation
Matrix is an open source project that publishes the Matrix open standard for secure, decentralised, real-time communication, and its Apache licensed reference implementations. Maintained by the non-profit Foundation, we aim to create an open platform which is as independent, vibrant and evolving as the Web itself… but for communication. 另附:IPFS, Again.

Introducing the new HTML element - welcome <clippy>!
Me and my colleagues at Microsoft have decided that the world needs more Clippy - the adorable animated paperclip. To help with that, we’re bringing a new feature to Edge 6.0. Web Developers can now use <clippy> to call up an animated virtual assistant.

Create 3D games with friends, no experience required
What if creating games could be as easy and fun as playing them? What if you could enter a virtual world with your friends and build a game together in real time? Our team within Area 120, Google’s workshop for experimental projects, took on this challenge. Our prototype is called Game Builder, and it is free on Steam for PC and Mac. 另附:Level Design Patterns in 2D Games.

Opera GX Gaming Browser
Opera GX is a special version of the Opera browser built specifically to complement gaming. The browser includes unique features to help you get the most out of both gaming and browsing.

What’s New in Nuxt JS 2.8.0
All the good-to-know new features in version 2.8.0 of Nuxt JS, with examples.

CKEditor 5 v12.2.0 with mobile-friendly comments mode
We are happy to announce the release of CKEditor 5 v12.2.0. This time we focused on bug fixes and improvements to existing rich-text editor features. We also worked on the contextual balloon functionality in order to provide inline annotations for comments and suggestions as well as a mechanism to easily navigate between the balloons.

react-redux 7.1 Released: It Now Supports Hooks
After much discussion, we’ve decided these Hook things are probably going to stick around, so we might as well add some. 另附:React DnD: Utilities to Create Drag and Drop Interfaces support hooks

React Images
A mobile-friendly, highly customizable, carousel component for displaying media in ReactJS.

React Hot Loader 4.11.0
Tweak React Components in Real Time.

chessboard.js is a JavaScript chessboard component.

urql v1.1.0 – Server-side Rendering Support!
A highly customizable and versatile GraphQL client for React.

CLI that generates beautiful files.

VuePress 1.x
Vue-powered Static Site Generator.

Pika’s mission is to make modern JavaScript more accessible by making it easier to find, publish, install, and use modern packages on npm. The Pika CDN was built to serve the 60,000+ npm packages written in ES Module (ESM) syntax. This module syntax runs natively in the browser, so you can build for the web without a bundler.

List of (Advanced) JavaScript Questions
A long list of (advanced) JavaScript questions, and their explanations.

Awesome Node
Delightful Node.js packages and resources.

Lightweight Charts
Financial lightweight charts built with HTML5 canvas.

React-Leaflet provides an abstraction of Leaflet as React components. Leaflet is an open-source JavaScript library for mobile-friendly interactive maps.

cube.js Open Source Analytics Framework
A complete open source analytics solution: visualization agnostic frontend SDKs and API backed by analytical server infrastructure.

Luna – A WYSIWYG language for data processing
Luna is also a powerful data flow modeling whiteboard, allowing you to literally draw components and the way data flows between them. However, instead of being hard coded, components in Luna are simply nested data flow graphs. You can enter into any component or into its subcomponents to move seamlessly from high through to low levels of abstraction at will. You can move all the way down, from a painting canvas to its underlying bitwise operations.


Meet the new Dropbox
We’re unveiling the new Dropbox. It’s the Dropbox you know and love, but better. It’s a single workspace to organize your content, connect your tools, and bring everyone together, wherever you are. The first thing you’ll notice is an all-new Dropbox desktop app that we’re introducing today through our early access program. It’s more than an app, though—it’s a completely new experience.

A Content Strategist’s Guide to Using Tone in Products
What you say matters, and how you say it can make all the difference.

A Recipe for Designing Animations—Without Sacrificing Performance
For a redesign of the Google Chrome homepage, I took on the challenge of producing high-quality animations without contributing to latency。



Always Own Your Platform
The original dream of the web is dying. Facebook, Google, Twitter, Medium, and YouTube entice us to give them our creative work. They control what gets amplified and what gets monetized. A few conference rooms in Silicon Valley dictate our online culture. It’s time to take it back.

How to Be Great? Just Be Good, Repeatably
Over the years, we’ve all encountered our fair share of successes and failures. As I’ve acquired more of both under my name, I’ve started to contemplate which experiences were truly “great” and why.

本文作者Eugene Wei是亚马逊战略部门的首位分析师。他认为,战略规划中最重要的就是提前找到并消灭所谓的隐形天花板。本文分析了亚马逊,Facebook,Snapchat,Instagram, Twitter等巨头的天花板与化解之道。详尽缜密,值得深思。原本最核心的优势,到某个节点上却变成了最大的阻碍。有些受限于产品本身,有些却输给了时代。消灭一个天花板,解锁新一轮增长。永远有下一个天花板,但强者永不止步……附:打破天花板的绝佳案例 - 微软,夺回王位

互联网人口红利持续衰减;非洲、中东或是“新大陆”;电商增幅放缓,但仍侵蚀实体零售份额… 另附:艾瑞:2019年中国企业级SaaS行业研究报告.

Google Maps的故事
去年,我读完了Bill Kilday回忆Google Maps前世今生的《Never Lost Again》,觉得这本书相比各种“精益创业”的教材毫不逊色,而且更引人入胜。说它好看,主要是因为真实。正是因为这本书好看,又没有中文版,所以当时我写了一系列“Google Maps的故事”,许多读者反馈还算不错。今天,中信出版社已经出版了《Never Lost Again》的中文版《谷歌方法》。 另附:谷歌能做出10亿月活的产品,不是爆款网文教的

对数据可视化有兴趣的可以阅读由 AntV 带来的 墨者修齐 2019-06-17·几何原本、Time Curve、皇氏星图、高维数据可视化

IT技术精华 2019-06-17 16:06:08
14590 FEX 技术周刊 - 2019/06/10 业界会议

WWDC 2019

VueConf 2019
附:State Of Vue


Rethinking Visual Programming with Go
This is a blog version of the talk I gave at GopherCon Europe 2019 (Canary Islands Edition), where I shared my thoughts on why Visual Programming Languages have failed and revealed for the first time my experiment on visualizing Go code. I could dive in straight into the project, but I do believe to truly appreciate it, I have to explain the thought line behind it first. It starts with an almost existential frustration of working with code as a text.

The economics of package management
An essay version of C J Silverio’s talk from JSConfEUwatch. She was ousted as CTO of npm, Inc. last year but is back with a history of the JavaScript package ecosystem, a discussion of who really ‘owns’ it, and a suggestion for a new way forward oriented around Entropic, a new, agnostic, federated package registry.

Best practices for building a large scale react application
This article describes the steps to building a large scale React application. While making a Single Page App with React, it is very easy for your code-base to become unorganized. This makes the app hard to debug and even harder to update or to extend the codebase. There are many good libraries in the React ecosystem that can be used to manage certain aspects of the app, this article covers some of them in depth. Other than that, it lists some good practices to follow from the beginning of the project if you have scalability in mind. With that being said let’s head to the first step - how to plan ahead of time.


前端开发人员和技术人员的数量逐年增加,而整个生态系统渴望实现标准化。新技术和工具的出现已经改变了游戏规则。可以肯定地说,总体趋势将是 UI 标准化、基于组件的模块化和组合,这将影响从样式到测试甚至状态管理的所有方面,并在总体上实现更好的模块化。

Self-Host Your Static Assets
One of the quickest wins—and one of the first things I recommend my clients do—to make websites faster can at first seem counter-intuitive: you should self-host all of your static assets, forgoing others’ CDNs/infrastructure. In this short and hopefully very straightforward post, I want to outline the disadvantages of hosting your static assets ‘off-site’, and the overwhelming benefits of hosting them on your own origin.

The Future of Web Animation
In terms of animation on the web, we’re just getting started.

Types and Tests
The problem Mark proposed in his blog is a simple function: rndselect(n,list). It returns a list of n elements randomly selected from the input list. He walked through his strategy for developing this in Haskell, using types, QuickCheck, and after-the-fact tests.

Making our Android Studio Apps Reactive with UI Components & Redux
Our current player UI in the Netflix Android app is using our first iteration of this componentization architecture. We took the opportunity with building Prodicle to improve upon what we learned with the Player UI, and build the app from scratch using Redux, Components, and 100% Kotlin.

Introducing TensorNetwork, an Open Source Library for Efficient Tensor Calculations
TensorNetwork uses TensorFlow as a backend and is optimized for GPU processing, which can enable speedups of up to 100x when compared to work on a CPU. We introduce TensorNetwork in a series of papers, the first of which presents the new library and its API, and provides an overview of tensor networks for a non-physics audience. In our second paper we focus on a particular use case in physics, demonstrating the speedup that one gets using GPUs.

Efficient, reliable cluster management at scale with Tupperware
Since we first deployed Tupperware in 2011, our infrastructure has expanded from one data center to a fleet of 15 geo-distributed data center locations. Over the same time period, Tupperware has evolved significantly to keep pace with our growth. We are sharing several areas in which Tupperware advances the state of the art for cluster management, including seamless support for stateful services, a single control plane across data centers, and the ability to shift capacity among services in real time. We will also share some of the lessons we have learned as we have grown the system to its current state.

13 Tips for Writing a Technical Book
I spent the last year and a half writing my first technical book for O’Reilly (Programming TypeScript). I’d never written a technical book before. In fact, prior to the 300-page book, the longest thing I’d written was a 20-something-page paper in college. The rest of this post is a brief laundry list of tips for writing your own technical book.


Highlights from Git 2.22
The open source Git project just released Git 2.22 with features and bug fixes brought to you from over 74 contributors, 18 of them new. Here’s our look at some of the most exciting features and changes introduced since Git 2.21.

What’s New in Chrome 75 for Developers
Pete Le Page highlights changes in the next stable version of Chrome, with the most exciting things being a way to create lower latency canvases and sharing files with the Web Share API.

Flutter culture and how to preserve it
A big part of what makes Flutter so delightful and productive is its community. We really want this to continue, and so we thought we’d share some of our observations about the current culture, and some ideas on how to preserve it.

Learnings in Web Development: Design Patterns, Elm, and Progressive Enhancement
Uber’s Destination:Web meetup series, ongoing since 2017, invites experts to discuss and demonstrate the latest techniques and technologies for building responsive, functional web applications. From web design to JavaScript to Node.js, Destination:Web features topics to keep every web engineer current.

It’s time for the compatibility opt-in preview of Ivy!
We’re looking for developers willing to give new things a try (with a few rough edges) and who want to share their experiences with us. If you are interested, you should follow the steps below and let us know what issues you run into.

Why We’re Relicensing CockroachDB.
Citing the ‘realities of building open source software’, the creators of CockroachDB have relicensed it from Apache to the ‘Business Source License’ which prevents anyone (e.g. Amazon/AWS) from offering CockroachDB as a service without buying a license (a problem that has befallen both Elasticsearch and MongoDB this year).

How the npm Security Team Foiled a Criminal Plot
Several months ago, the event-stream package was compromised in an attempt to attack people’s cryptocurrency wallets and the potential loot proved too tempting to the latest set of crooks who have been thwarted by the npm, Inc. security team. 另附:npm passes the 1 millionth package milestone! What can we learn?

History of Node.js on a Timeline
We’ve been publishing articles on Node.js for over 5 years now, so we thought it’d be interesting to look back at what exactly happened to Node.js so far, from the point where it was born until Today. In case we missed something significant, please let us know in the comments section! This is the history of Node.js on a timeline, from 2009 until now (June, 2019).

GitLab API NodeJS library with full support of all the Gitlab API services.

AVA 2.0
AVA helps you get it done. AVA is a test runner for Node.js with a concise API, detailed error output, embrace of new language features and process isolation that let you write tests more effectively.

The smallest, simplest and fastest JavaScript pixel-level image comparison library, originally created to compare screenshots in tests. Features accurate anti-aliased pixels detection and perceptual color difference metrics.

Scene.js is an JavaScript & CSS timeline-based animation library.

libcurl bindings for node.

Actix web is a simple, pragmatic and extremely fast web framework for Rust.

Open Source Game Clones
This site tries to gather open-source remakes of great old games in one place. If you think that something is missing from the list - please go to our GitHub repository and create an issue or even a pull request!

EspoTek Labrador
The EspoTek Labrador is an open-source board that converts your PC, Raspberry Pi or Android Smartphone and into a full-featured electronics lab bench, complete with oscilloscope, signal generator and more.


UX Writing: Side Effects May Vary
Becoming a UX writer has been life-changing in many ways: I’ve had the pleasure of meeting a diverse set of smart, creative, and talented innovators, I’ve shaped products that impact literally billions of people, and I go to work each day happy to be there. But I didn’t realize taking the job would have unintended consequences. Read on to learn the wild ways that becoming a UX writer may impact your life. 另附:14 Rules of UX Writing.

Apple’s WWDC19 Keynote for Mobile Designers
另附:iPadOS and 8 changes it brings – UX Planet

Apple Design Awards 所优选出来的9个APP,每一个都代表着设计和产品发展的趋势,这些趋势在这个充分竞争的市场中,都有着足够的力道创造改变。无论是结合机器学习和镜头捕捉的 HomeCourt ,还是利用超声波检测器的 Butterfly iQ,它们都代表了技术活用的趋势;Asphalt 9 是体验层次丰富度的代表,而Thumper 则证明了高度垂直、一致的体验有多令人难忘;Ordia 和 ELOH 两款游戏让游戏本身重新回归愉悦和放松,而The Gardens Between 则告诉我们游戏这件事情,有更多的可能性。

“ 字要大!用大红!” 他花了5年终于解决这一设计难题!å
“别跟坟前上吊一样”“字要大”“用大红色” 这些需求跟设计审美之间的矛盾,该怎么解决?得到APP现有的视觉风格是如何形成的?学生的在校设计作品跟实际工作相差多远?今天这篇文章告诉你,得到APP设计师李岩是如何解决的这些问题的。


Stanford engineers make editing video as easy as editing text
A new algorithm allows video editors to modify talking head videos as if they were editing text – copying, pasting, or adding and deleting words.





IT技术精华 2019-06-10 16:06:07
14589 FEX 技术周刊 - 2019/05/13 立即购买:淘宝网]]> IT技术精华 2019-06-03 21:06:20 14588 FEX 技术周刊 - 2019/05/20 立即购买:淘宝网]]> IT技术精华 2019-06-03 21:06:15 14587 FEX 技术周刊 - 2019/05/27 立即购买:淘宝网]]> IT技术精华 2019-06-03 21:06:12 14586 FEX 技术周刊 - 2019/06/03 立即购买:淘宝网]]> IT技术精华 2019-06-03 21:06:05