Promise.allSettled polyfill

Promise.allSettled = (promises) => { const wrappedPromises = promises.map(p => Promise.resolve(p) .then( val => ({ status: 'fulfilled', value: val }), err => ({ status: 'rejected', reason: err »

Promise.any implementation

Promise.any() - MDN Promise.any() 接收一个Promise可迭代对象,只要其中的一个 promise 成功,就返回那个已经成功的 promise 。如果可迭代对象中没有一个 promise 成功(即所有的 promises 都失败/拒绝),就返回一个失败的 promise 和AggregateError类型的实例,它是 Error 的一个子类,用于把单一的错误集合在一起。 »

Certbot 为证书添加新域名

在 Let's Encrypt 支持通配符证书之前,我们启用 https 的证书主要有两种: 单域名证书:证书仅包含一个主机。 所以我们需要为每个域名申请证书,并按过期时间更新证书; 多域(SAN)证书:在多域名SSL证书里,注册时第一个域名被默为主域名,而其他域名被视为是 SAN 域名(Let’s Encrypt 限制是 20)。 前者不易维护,所以一般都会使用 »

为 create-react-app 项目启用 StandardJS

create-react-app 因为其零配置的特性备受开发者欢迎,但开发者无法自定义配置。比如我喜欢用 JavaScript Standard Style 代码检查工具,却没法替换 cra 中的 eslint。虽然可以用 eslint-config-standard 将 standard 作为插件配置到 eslint 中,但 ESLINT 自定义配置在 cra 项目中并没有被启用,因此我们需要先启用 ESLINT »

设计练习 005.AI 散点画笔制作炫彩烟花

成品 效果还可以,是吧?下面我们来看一下制作过程。 关键步骤 1. 绘制炫彩渐变线 用矩形工具画几个线条,颜色则可以通过 Adobe Color Themes 的色盘来选择: 相似色 使用色轮中相邻的颜色。相似颜色通常很好调和,并且视觉感受也很协调舒服。 选择好相似色后,可以点击 "Add to Swatches" 将颜色添加到色板当中: 这样,我们就可以快速地通过两侧与中间这三个颜色来为线条设置渐变填充了: 2. »