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 »

阿里云和腾讯云默认封禁 25 端口

昨天用 Ghost 创建了一个新的博客,在发邮件邀请 team members 时,发现邮件总是收不到。 在查看 Ghost log 时发现: 可用 ghost ls 和 ghost log <blog name> 查看 WARN Error sending »

为 PS CC 2018 安装 Imagenomic Portraiture 3.0.2

一、下载附件 PortraiturePS3027.zip - 百度云,密码:ui23 二、解压,并关闭 PS 要确保 PhotoShop 完全关掉 三、安装 PortraiturePS3027 安装时会有授权提示,输入密码确认即可。 四、打开破解补丁 Portraiture 3 (3027) [k] »

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

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

设计练习 004.AI 艺术画笔仿京东618字体效果

在 2017 年京东 618 购物节活动海报中,「东618」这几个字的艺术字体很非常漂亮,今天咱就略微仿一下他的字体效果。 关键步骤 用钢笔以「纺锤型」描边宽度配置画若干条线,配以不同的颜色和层级关系,如下图: 选中并编组这些线,新建「艺术画笔」,「艺术画笔选项」默认即可: 用钢笔(P)工具随意画一个曲线,应用我们新添加的艺术画笔: 成品 emmmm....和「 »

设计练习 003.不用插件,制作美漫风格海报

今天我们在不使用 PS 插件的基础上,制作美漫风格的海报。 工具 Adobe Photoshop CC 2018 成品 关键点 原图复制为两个图层,并转为智能对象,不转智能对象是无法调整滤镜的混合选项的。 图层1 滤镜库-艺术效果-海报边缘(不透明度:70%) 滤镜库-艺术效果-木刻(不透明度:50%) 滤镜-像素化-彩色半调(混合模式:柔光),可以让图像产生 RGB »

设计练习 002.打造人物 & 风景结合的文艺风照片

今天我们用两个风景图搭配霉霉的写真照,合成文艺风格的照片。 工具 Adobe Photoshop CC 2018 成品 素材 泰勒·斯威夫特大公告特写 - From carib101.com 印度尼西亚的海岸,巴厘岛,乌鲁瓦图寺 加拿大,梦莲湖 - From flickr.com 人物、风景、 »

设计练习 001.泼墨风格人物海报

工具 Adobe Photoshop CC 2018 Adobe Illustrator CC 2018 概述 Daft Punk 海报,来自 6AM 水彩素材 成品 人物、泼墨及水彩素材下载-百度云: { "link": "https://pan.baidu.com/s/1cyMvD0" »

libpng12.so.0: cannot open shared object file

报错 在 CentOS 上进行 webpack 构建时,经常会遇到这个错误: Error: /var/lib/jenkins/workspace/foobar/node_modules/pngquant-bin/vendor/pngquant: error while loading shared libraries: libpng12.so.0: »

用 nginx 来反向代理 macOS 80 端口

前言 我们在做 web 服务开发时,经常会遇到需要测试的需求,需要完全模拟线上的环境,如 80 端口。但局限于 macOS 限制非 root 用户不能监听 1024 以下的端口(Windows 用户表示很淡定 😎),网上多数教程是使用 pfctl 做端口转发。这个方法重启后还得重新执行命令,有些麻烦,而且没有用 nginx 转发灵活性高, »

100 行实现一个搜索选择组件

前言 前一阵子遇到了个需求:商户与其账户是一对多的,因此需要分两个表(商户 & 账户),先创建商家再为其创建账户,账户创建需要商家的 id。 对于这类需求,之前一直用 Modal、Table 和 Button 组合的 antd 自定义表单控件来完成: 可仔细一想,以后商户量特别大怎么办,难道要一页一页人工去找么?不行,至少得在表格上加个搜索,但这样组件过于复杂,不利于复用 »

有关 Linux Swap

前言 Linux 将物理内存划分为内存页(分页)。交换是将一页内存数据复制到硬盘中的预设空间(交换区),用以释放该页内存。物理内存和交换区的总大小便是虚拟内存可用总量。 —— All about Linux swap space 看到上述有关交换区的概念大家可能会有些混淆,这里简单介绍一下。 虚拟内存(Virtual memory) 虚拟内存是一种内存管理技术,它把程序使用的内存地址(虚拟地址)映射为计算机内存中的物理地址。虚拟内存有几个优点: 解放应用程序,使其不需要管理共享的内存空间; 内存隔离, »