FEX 技术周刊 - 2019/12/02
2019.12.02 - React过誉了吗
When your dependencies break your software, wouldn’t you like them to fix it?
We at Allianz Global Digital Factory (GDF) use the tooling of Angular to keep our ecosystem in sync. Our main asset is our user interface (UI) component library, that enables teams in Allianz to use ready made UI components for building their apps. The main techniques we use are Schematics and ng update. This is something already well established when using Angular itself (e.g., KLM story). Here we want to share our journey of utilizing such a tool stack for our Allianz ecosystem.
The Benefits of Orthogonal React Components
A key principle of a good design is the isolation of the logic that most likely will change: making it orthogonal. This makes your whole system flexible and adaptable to change or new features requirements. If the orthogonal principle is overlooked, you risk creating components that are tightly coupled and dependent. A slight change in one place might unexpectedly echo in another place, increasing the cost of change, maintenance and creating new features.
Storybook for design
How to integrate your favorite design tools with Storybook.
微前端架构旨在解决单体应用在一个相对长的时间跨度下，由于参与的人员、团队的增加，从一个普通应用演变成一个巨石应用(Frontend Monolith)，随之而来的应用不可维护的问题。这类问题在企业级 Web 应用中尤为常见。另附：使用 Angular 打造微前端架构的 ToB 企业级应用。
Reactive Programming in a Modern Web Application
Learn how asynchronous code is handled in modern web apps and the different philosophies used to manage it — from callbacks and promises to RxJS
React Native vs Flutter: A comparison from real project experience perspective
How React native is different from Flutter besides the basics, with actual facts for people that don’t know which one to start with!
Copying code from Stack Overflow? You might paste security vulnerabilities, to
We know that Stack Overflow is a daily part of a lot of developers’ lives. I’ve heard from multiple people that they come here daily (if not more often) to get answers to their questions. Sometimes the answer to a question about code comes as a chunk of code. And sometimes that code makes it into production applications because it answered the question perfectly. A group of researchers investigated these code snippets to see how secure they were, and if the security flaws that they introduced remained vulnerable in the project. Ashkan Sami, Associate Professor at Shiraz University, Foutse Khomh, Associate Professor at Polytechnique Montréal, and Gias Uddin, now Senior Data Scientist at the Bank of Canada, researched C++ code snippets on Stack Overflow to answer this exact question.
Egnyte Architecture: Lessons Learned In Building And Scaling A Multi Petabyte Content Platform
Egnyte is a secure Content Collaboration and Data Governance platform, founded in 2007 when Google drive wasn’t born and AWS S3 was cost-prohibitive. Our only option was to roll up our sleeves and build basic cloud file system components such as object store ourselves. Over time, costs for S3 and GCS became reasonable and with Egnyte’s storage plugin architecture, our customers can now bring in any storage backend of their choice. To help our customers manage ongoing data explosion, we have designed many of the core components over the last few years. In this article, I will share the current architecture and some of the lessons we learned scaling it along with some of the things we are looking to improve upon in the near future.
5 Things I love about Strapi, a Node.js headless CMS
One year ago I started sto develop the backend for the website you’re currently browsing on. I’ve tried different approaches, different technologies and even different programming languages. Then I started to look for a CMS that could help me to integrate a number of feature with ease… but I couldn’t find a CMS that satisfied me at all. Then I discovered Strapi, an amazing open source headless CMS that had everything I was looking for.
CCSM: Scalable statistical anomaly detection to resolve app crashes faster
We employ rigorous code review and testing processes, but, as with any system, software bugs still sometimes slip through and may even cause our apps to crash. Resolving these crashes and other reliability issues in a timely manner is a top priority. To help us respond as quickly as possible, we have been creating a collection of services that use machine learning (ML) to aid engineers in diagnosing and resolving software reliability and performance issues. As part of this collection, we recently implemented continuous contrast set mining (CCSM), an anomaly-detection framework that uses contrast set mining (CSM) techniques to locate statistically “interesting” (defined by several statistical properties) sets of features in groups.
Discovering Continuous Automation With Request Mirroring
Because eBay’s item page updates frequently, and because it depends on hundreds of libraries and services, discovering the unknowns and automating testing for all use-case combinations from production calls for a different approach to testing.
Astrophotography with Night Sight on Pixel Phones
This year’s version of Night Sight pushes the boundaries of low-light photography with phone cameras. By allowing exposures up to 4 minutes on Pixel 4, and 1 minute on Pixel 3 and 3a, the latest version makes it possible to take sharp and clear pictures of the stars in the night sky or of nighttime landscapes without any artificial light.
Machine Learning on Encrypted Data Without Decrypting It
Recent breakthroughs in cryptography have made it practical to perform computation on data without ever decrypting it. In our example, the user would send encrypted data (e.g. images) to the cloud API, which would run the machine learning model and then return the encrypted answer. Nowhere was the user data decrypted and in particular the cloud provider does not have access to either the orignal image nor is it able to decrypt the prediction it computed. How is this possible? Let’s find out by building a machine learning service for handwriting recognition of encrypted images (from the MNIST dataset).
Choosing Go at American Express
Selecting a new programming language is an important decision for any organization. In this article, I’m going to walk through some of the reasons American Express elected to use Go within our payment and rewards systems. 另附：From Java to Golang, the journey of the nexuzhealth team by Dylan Meeus, After 20 years of using Java to support the largest hospital network in Belgium, the decision was made to replace this system using a new technology stack.
An Overview of Cryptography
Does increased security provide comfort to paranoid people? Or does security provide some very basic protections that we are naive to believe that we don’t need? During this time when the Internet provides essential communication between literally billions of people and is used as a tool for commerce, social interaction, and the exchange of an increasing amount of personal information, security has become a tremendously important issue for every user to deal with. This paper has two major purposes. The first is to define some of the terms and concepts behind basic cryptographic methods, and to offer a way to compare the myriad cryptographic schemes in use today. The second is to provide some real examples of cryptography in use today.
How does a video codec work
A hands-on introduction to video technology: image, video, codec (av1, vp9, h265) and more (ffmpeg encoding).
Is There A Future Beyond Writing Great Code?
Many developers get to a point in their careers in which they’ve achieved many of their goals and wonder about the future. Although some are confident continuing down the same road, others might feel the urge to explore different options in which their skills can be used to have a broader impact on the projects we work on and the teams we work with. I explored some of the different directions we can take and the complementary skills that can help us throughout our journey.
An Engineering Team where Everyone is a Leade
When I moved from engineering to engineering management, I wanted to build a team where everyone can be a leader - and an owner. This post is a summary of the approach and tools I’ve used to build an engineering team, where everyone is a leader - including sharing of the project management expectations Google Docs guide that my team uses. It’s also a reflection on the pain points that came with this approach. I can’t advocate for how universally this approach could work. However, based on my results, it is something I suggest engineering leaders - especially frontline managers - consider as an option.
How to build a startup engineering team
Advice for when you’re starting from scratch and designing for growth.
Status update on Web Games technologies
The creation of a games activity at W3C, to gather continuous feedback on Web technologies from the games community, track identified needs and steer standardization efforts, is still being investigated.
In 2018 this survey helped us do just that, by collecting data from over 20,000 developers to identify current and upcoming trends. This year, we’re asking for your help once more to find out which libraries developers want to learn next, which have the best satisfaction ratings, and much more.
ESLint v6.7.0 released
We just pushed ESLint v6.7.0, which is a minor release upgrade of ESLint. This release adds some new features and fixes several bugs found in the previous release.
Bootstrap 4 has a new update with a handful of feature changes. We’ve had quite the lengthy pull request to add responsive containers—big thanks to the developers who contribute to Bootstrap for sticking with it and helping us along the way. Nearly all new features will be carried forward into Bootstrap 5, so feel free to start using them now. 另附：Introducing Bootstrap Icons.
A dead simple library to screenshot test React components.
JSONCrush - Compress JSON into URL friendly strings
This simple system allows for excellent compression of uri encoded JSON strings using the JSCrush algorithm.
Describe your diagrams with a simple text language and automatically generate an image you can export.
An Introduction to the Picture-in-Picture Web API
Picture-in-Picture made its first appearance on the web in the Safari browser with the release of macOS Sierra in 2016. It made it possible for a user to pop a video out into a small floating window that stays above all others, so that they can keep watching while doing other things. It’s an idea that came from TV, where, for example, you might want to keep watching your Popular Sporting Event even as you browse the guide or even other channels.
Announcing Scala.js 1.0.0-RC1
We are thrilled to announce the release of Scala.js 1.0.0-RC1! This release candidate is intended for testing purposes by as many users as possible, and as a synchronization point with library authors so that they can start upgrading in preparation for the final release. If no critical issue is found until the end of January 2020, this RC will become the final release.
Dockerized (postgres + nginx + golang + react) starter kit. Only implements basic user signup, session management, and a toy post type to demonstrate basic CRUD. PNGR is not a CMS.
Computer Architecture - Fall 2019
Computer architecture is the science and art of selecting and interconnecting hardware components to create a computer that meets functional, performance and cost goals. This course introduces the basic hardware structure of a modern programmable computer, including the basic laws underlying performance evaluation.
Eternal Terminal - Remote terminal for the busy and impatient
Eternal Terminal (ET) is a remote shell that automatically reconnects without interrupting the session.
Sweet Home 3D - Draw floor plans and arrange furniture freely
Sweet Home 3D is a free interior design application that helps you draw the plan of your house, arrange furniture on it and visit the results in 3D. 另附：Home Assistant - Open source home automation that puts local control and privacy first.
CoScreen - Remote Collaboration Reimagined
CoScreen™ turns your secondary display into your joint team desktop. Share windows via drag & drop, collaborate remotely via mouse & keyboard, each user gets their own mouse pointer.
Fauna - The database built for serverless, featuring native GraphQL
Add a full-featured global datastore to your apps in minutes. Access effortlessly from the browser and from mobile. Never again worry about data correctness, capacity, redundancy, latency, and availability.
SQL, Java Top List of Most In-Demand Tech Skills
But Python, now at number three, and AWS, at number six, are coming on fast, says job search firm Indeed.
How to annotate literally everything
Comprehensive overview of existing tools, strategies and thoughts on interacting with your data.
Meet the 84-year-old Japanese app developer who inspired Tim Cook
Masako Wakamiya says it’s never too late to learn about IT and finance. 另附：DevKids: An inside look at the kids of DevFest.
UX Guidelines for Ecommerce Product Pages
Summary: Customers shopping online rely on product pages to decide what to buy. Help them by answering questions, enabling comparison, providing reviews, and facilitating the purchase process. 另附：Adaptive Design and Ecommerce UX: How They Work Together to Boost Conversions.
The future of work will be far less frightening when there’s more women in AI
Imagine a world in which AI researchers, visionaries, venture capitalists, and startup founders are predominantly female.
The Higher Ground – A Guide to Design Ethics
As designers, we want our work to help, not hinder. In an effort to protect the people we design for, we invoke labels. We name things “good” or “bad” and let our worldview guide design decisions. Our intentions are good, but our method is myopic. We need a systematic approach to help us examine both our design choices and their underlying motives—an ethical approach.
Fibery.io - Yet another collaboration tool
Platform that adapts and grows with your company:
- Build your own workspace: Create connected no-code Apps that adapt and grow with your company.
- Freedom to work your way: Create your own collaboration tool with no code.
- Create to connect: Build your own workspace with no code to replace isolated tools and bring everyone together.
计算机专业，几十年没有发展，核心就是基础的数学理论没有看清楚，很多事是几何理论没有看清楚。有的理论得到了飞速发展，是因为终于有一个几何理论取得了突破，将现代数学的这个思想方法引入到这个理论里面。从小处说，计算机非常好玩、非常强有力，甚至可以说计算机能改变世界。数学非常优美、非常深刻，如果能领悟到其中一些原理，作为凡夫俗子，这是最切实可行的方法让我们可以真正体会到宇宙的真理，得到宇宙永恒的精神。哪怕我们了解一些皮毛，也能够更多地理解宇宙的真谛，这是多么深奥的一个话题。几何是自然界的语言，最深刻的几何原理，也是人类最能审美的一个方向。所以，越深刻的几何原理，人类通过直觉越容易领会到。今天这里，我们不讲数学公式，所有东西都用艺术，或者是其他比较浅显的方式来讲解。另附：A Programmer’s Introduction to Mathematics.
对数据可视化有兴趣的可以阅读由 AntV 带来的 墨者修齐 2019-12-02·三维宇宙星系、薪水与职业、urban-layers - 城市层
– THE END –