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 年变迁史
在这将近20年的前端发展史中,我们经历了从最早的纯静态页面,到JavaScript跨时代的诞生;从PC端到移动端;从依赖后端到前端可自由打包开发;从早期的网景Navigator浏览器到现在各家浏览器百花齐放……我们经历了前端的洪荒时代、Prototype时代、jQuery时代 、后jQuery时期、三大框架割据时代,这其中均是由国外开发者主导,直到如今的小程序时代,才是中国开发者独创的。



The CSS background-image property as an anti-pattern
The CSS back­ground-image prop­er­ty allowed us to do some amaz­ing things, but in most cas­es, 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
The Dropbox Chooser is an easy-to-implement, pre-built component that allows users to access their Dropbox files from within your app. Simply include our JavaScript snippet to add a file-browsing UI and handle authentication to a users’ Dropbox account. This post will cover the three simple steps to add the Dropbox Chooser to your website or application.

CKEditor 4 - Integrate WYSIWYG editor with React
We are happy to announce the release of the native integration of CKEditor 4, a full-featured WYSIWYG editor, with React, one of the most popular JavaScript frameworks. The CKEditor 4 React integration is already available on npm. It allows you to implement CKEditor 4 as a React component, using the <CKEditor /> JSX tag.

Introducing Lightning Web Components Open Source
A few months ago, we introduced Lightning Web Components, a new JavaScript framework that leverages the web standards breakthroughs of the last five years. Today, we are excited to announce the open sourcing of the Lightning Web Components framework, allowing developers to contribute to the roadmap and to use the same framework whether they are building applications on Salesforce or on any other platform. 附:译文.

private package development with npm Orgs
Most of you probably download packages from the public npm registry on a regular basis. Some of you might even publish packages for others to use. Did you know that npm provides tools for collaborative development as well? With npm Orgs, you get the npm developer experience you love while adding the ability to collaborate on private packages across one or more teams. 另附:Verdaccio - a free open source javascript package proxy registry.

Parse CSV with JavaScript
Papa Parse is the fastest in-browser CSV (or delimited text) parser for JavaScript. It is reliable and correct according to RFC 4180, and it comes with these features: Easy to use, Parse CSV files directly (local or over the network)…

Normalizes nested JSON according to a schema.

Puppeteer recorder
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!

MQTT.js is a client library for the MQTT protocol, written in JavaScript for node.js and the browser.

A language and specification for turning JavaScript functions into typed HTTP APIs.

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·中美贸易战对抗、可视化降维算法、麦卡托投影的视觉误导


- 百度数据可视化
- 百度智能建站