FEX 技术周刊 - 2019/06/03
Is High Quality Software Worth the Cost?
A common debate in software development projects is between spending time on improving the quality of the software versus concentrating on releasing more valuable features. Usually the pressure to deliver functionality dominates the discussion, leading many developers to complain that they don’t have time to work on architecture and code quality. Although most of my writing is aimed at professional software developers, for this article I’m not going to assume any knowledge of the mechanics of software development. My hope is that this is an article that can be valuable to anyone involved with thinking about software efforts, particularly those, such as business leaders, that act as customers of software development teams.
Why I’m still using jQuery in 2019
I’m not married to jQuery, and I’ll happily use a “jQuery light” which patches over the JS API with something more palatable. YMNJQ recommends bonzo and $dom, and several others for AJAX and such, but many seem unmaintained. Besides, everyone already knows jQuery. Why replace it with something else unless there’s a compelling reason to?
Version 8 of Angular — Smaller bundles, CLI APIs, and alignment with the ecosystem
This is a major release spanning the entire platform, including the framework, Angular Material, and the CLI with synchronized major versions. This release improves application startup time on modern browsers, provides new APIs for tapping into the CLI, and aligns Angular to the ecosystem and more web standards.
Ant Design 4.0 进行时！
Ant Design 于 17 年 12 月发布 3.0 以来，已经经历了 16 个月的时间。在此期间，我们修复了海量 Bug、以及增加大量新功能（更新日志）。我们也发布了 Ant Design Pro 4.0。支持了 TypeScript、区块以及对布局进行抽象。与此同时，我们也在思考下一步是什么，如何才能使 Ant Design 走的更远，我们预计在今年 Q4 发布 Ant Design 4.0 版本。以下是关于 4.0 的详细计划，当然这仍在计划中。正式发布时可能会有调整。
前端开发 20 年变迁史
The CSS background-image property as an anti-pattern
The CSS background-image property allowed us to do some amazing things, but in most cases, it’s time to leave it behind.
Your first performance budget with Lighthouse
At Google I/O this year, the Lighthouse team announced support for performance budgets that can be integrated with Lighthouse. We can now define a simple performance budget in a JSON file, which will be tested as part of the lighthouse audit!
The dangerous folly of “Software as a Service”
Comes the word that Saleforce.com has announced a ban on its customers selling “military-style rifles”. The reason this ban has teeth is that the company provides “software as a service”; that is, the software you run is a client for servers that the provider owns and operates. If the provider decides it doesn’t want your business, you probably have no real recourse. OK, you could sue for tortious interference in business relationships, but that’s chancy and anyway you didn’t want to be in a lawsuit, you wanted to conduct your business.
The SaaS CTO Security Checklist
Security shouldn’t feel like a chore. This second edition of the SaaS CTO Security Checklist provides actionable security best practices for CTOs or developers. Select your startup stage and use these rules to improve your security!
Building Facebook’s service encryption infrastructure
We previously explained how we implement Transport Layer Security (TLS) on the public internet, including our Fizz library and our pilot project for DNS over TLS. In this post, we’ll talk about how we migrated our encryption infrastructure in data centers from the Kerberos authentication protocol to TLS. Optimizing for operability and performance, while still satisfying the right security model for each service, required navigating difficult trade-offs. By sharing our experiences, we hope to show how we think about our encryption infrastructure and help others as they think through their own implementation.
Simplifying event-driven architectures with the latest updates to Event Grid
Event-driven architectures are increasingly replacing and outpacing less dynamic polling-based systems, bringing the benefits of serverless computing to IoT scenarios, data processing tasks or infrastructure automation jobs. As the natural evolution of microservices, companies all over the world are taking an event-driven approach to create new experiences in existing applications or bring those applications to the cloud, building more powerful and complex scenarios every day. Today, we’re incredibly excited to announce a series of updates to Event Grid that will power higher performance and more advanced event-driven applications in the cloud.
Exploring Domain-Driven Design at CircleCI
My team at CircleCI, which focuses on plans and payments, has gone through many organizational changes over the last year as we’ve grown.One thing that has helped us maintain a sense of consistency throughout these changes is to adopt a different approach to writing software: Domain-Driven Design, also known as DDD.
Our not-so-magic journey scaling low latency, multi-region services on AWS
Atlassian went “all in” on AWS in 2016 and they continue to be our preferred cloud provider. The extent of that migration was covered from a high-level in this article. But what we didn’t cover in that piece was the number of services we needed to modify or build to be stateless.
A Look at MetricsDB: A Time Series Database for Storing Metrics at Twitter
Twitter’s time series ingestion service is handling 83 million metrics a second and to scale into the future, they had to seek a new approach. MetricsDB, which went live in 2017, gives an overall cost reduction of 10x and latency by 5x compared to traditional key value stores.
Researching AI and Machine Learning for the Future of Low-Code
In this article, I want to talk through the unique research challenges presented by AI/ML, particularly when you’re dealing with code. Additionally, I’ll cover why our investment in internal research teams and collaborations with institutions like Carnegie Mellon University are so important to developing truly capable machine-learning-powered AI development assistants.
Displaying a sponsor button in your repository
You can add a sponsor button in your repository to increase the visibility of funding options for your open source project. Anyone with admin permissions can enable a sponsor button in a repository.
W3C and the WHATWG signed an agreement to collaborate on a single version of HTML and DOM
Motivated by the belief that having two distinct HTML and DOM specifications claiming to be normative is generally harmful for the community, and the mutual desire to bring the work back together.
Celebrating Node.js Turning 10 Years Old
Node.js project is ten years old this week, and a few people have been celebrating on Twitter and, as here, on YouTube.
Announcing Microsoft Web Template Studio
We are excited to announce an early release of Microsoft Web Template Studio, a cross-platform extension for Visual Studio Code that simplifies and accelerates creating new full-stack web applications. Web Template Studio addresses a top community ask from developer surveys and 1-1 conversations with developers: Make it easy to create a new cloud-based web app. Web Template Studio uses a dev-friendly wizard to generate your application and provide a ReadMe.md to give you step by step instructions to get up and developing in no time. Best of all, Web Template Studio is open source on GitHub.
Announcing TypeScript 3.5
Type-checking speed-ups; The Omit helper type, Smarter union type checking; Higher order type inference from generic constructors…
Quickly integrate file upload in your web app using the Chooser
CKEditor 4 - Integrate WYSIWYG editor with React
<CKEditor /> JSX tag.
Introducing Lightning Web Components Open Source
private package development with npm Orgs
Normalizes nested JSON according to a schema.
Puppeteer recorder is a Chrome extension that records your browser interactions and generates a Puppeteer script.
A renderless and extendable rich-text editor for Vue.js.
Flat, simple, responsive and hackable Color-Picker library. No dependencies, no jQuery. Compatible with all CSS Frameworks e.g. Bootstrap, Materialize. Supports alpha channel, rgba, hsla, hsva and more!
Zdog - Round, flat, designer-friendly
pseudo-3D engine for canvas & SVG. View complete documentation and live demos at zzz.dog.
Go library to run WebAssembly binaries
Wasmer is a Go library for executing WebAssembly binaries. 另附：How to make a tic-tac-toe bot with WebAssembly for Go.
Compiling C to WebAssembly without Emscripten
A compiler is just a part of Emscripten. What if we stripped away all the bells and whistles and used just the compiler?
Core Go Developers Respond to Queries Over Who Go Really ‘Belongs’ To
Russ Cox’s response: There are certainly senses in which Go is Google’s language: it was created at Google, Google continues to fund most of the development, and a few people at Google are the final deciders about the language itself. But I disagree with the “not ours:” I think Go is also the Go community’s language.
Fluent: Design Behind the Design
How our Fluent Design System focuses innovation on evolving principles and real-world customer needs.
Daily Ethical Design
As designers, we’re optimists by nature. We see the world as a set of problems that we can solve systematically and creatively if only we try hard enough. We intend well. However, merely having the intention to do good is not going to be enough. Our mindset comes with the pitfall of (dis)missing potential disastrous consequences, especially under pressure of daily constraints. That’s why we need to regularly, systematically take a step back and consider the future impact of our work. My hope is that the practical, structural mindset to ethics introduced in this article will help us agree on a higher standard for design.
Should Chatbots Replace Forms On Mobile?
Have you noticed that contact forms are disappearing? Have you also noticed that many websites are replacing their forms with chatbots? Let’s explore what is happening to forms on the mobile web and why chatbots may or may not be a suitable replacement for them.
Rethinking a calendar
Improving the user experience for calendar apps.
GDPR After One Year: Costs and Unintended Consequences
GDPR is officially one year old. How have the first 12 months gone? As you can see from the mix of data and anecdotes below, it appears that compliance costs have been astronomical; individual “data rights” have led to unintended consequences; “privacy protection” seems to have undermined market competition; and there have been large unseen — but not unmeasurable! — costs in forgone startup investment. So, all-in-all, about what we expected.
湖畔大学阿里 CEO 张勇：找人的核心，就看2点
说到数据和智能，玩得最六的肯定是巨头 BAT，在过去漫长的时光里，我们好像没听说 BAT 深度切入教育领域，这是为个啥？在我看来，原因很简单：教育和医疗，无论在哪个国家都不是纯市场化的行业。国家不会要求公立学校自负盈亏，教育局和高校也不会用“钱生钱”的逻辑来投资软硬件建设。说白了，教育行业就不是个适合“捞金”的地方。所以，巨头如果要进入教育，不仅要舍得花钱，也不仅要有技术，更重要的也许是反商业逻辑的勇气、决心和情怀。今天的主角是腾讯。2019年5月22日，腾讯高调宣布整合教育品牌，集结了队伍进军教育主战场。在马化腾高喊的“科技向善”愿景上，又撒上了一层追光。另附：网易有道的决心：“All In K12”，掷注大班课、未来十年将会是AI影响教育的十年、松鼠 AI 周伟：站在教育本质，重新思考技术的未来.
对数据可视化有兴趣的可以阅读由 AntV 带来的 墨者修齐 2019-06-03·中美贸易战对抗、可视化降维算法、麦卡托投影的视觉误导
– THE END –