saber酱的抱枕

生于忧患,死于安乐

09/23
13:34
软件

Chrome 扩展下载文件时,不能使用的字符

Windows 中有一些字符不能做文件名:

\ / : ? " < > * |

但是 Chrome 的下载 api 里,有更多的字符不能做文件名,否则下载会失败。这些字符里大多是控制字符。

Chrome 扩展下载文件时,不能使用的字符可以建立一个正则表达式,对文件名进行替换:

// 不安全的字符,是 Chrome 和 Windows 不允许做文件名的字符
const notSafeString = `[\u0001-\u001f\u007f-\u009f\u00ad\u0600-\u0605\u061c\u06dd\u070f\u08e2\u180e\u200b-\u200f\u202a-\u202e\u2060-\u2064\u2066-\u206f\ufdd0-\ufdef\ufeff\ufff9-\ufffb\ufffe\uffff\\\/:\?"<>\*\|~]`
const safeFileName = new RegExp(notSafeString, 'g') // 安全的文件名

这些字符是 Reinford 测试出来的,测试结果的文件:
链接: https://pan.baidu.com/s/1y8AVKGmasV1ZYiCErwc1Zg 提取码: q41v

此外,还有一些情况要处理。

1. Chrome 不允许文件夹和文件名的开头、结尾使用点 .
2. 路径首尾不允许有空格。
3. 路径中出现多个斜线会报错,如 download//a.jpg

Chrome 扩展下载文件时,不能使用的字符

09/17
14:18
软件

Nginx 配置 http 跳转到 https

当用户用 http 网址访问网站时,我希望可以自动跳转到 https。在 Nginx 里,可以在该网站的配置文件里用 301 跳转到 https。目前测试了两种方法都有效。

第一种方法,把 80 和 443 端口的监听分开,然后在 80 里直接 301 跳转:

server {
	listen  80;
	server_name pixiv.download;
	return 301 https://$server_name$request_uri;
}

server {
	listen 443 ssl;
	server_name pixiv.download;
	#其余内容省略
}

Read More →

Nginx 配置 http 跳转到 https

07/23
11:11
软件

Babel 将 js 变量名转换为驼峰命名风格

我想修改之前的代码,把 js 变量名转换为驼峰命名风格,如下:

// 原有代码的变量名是下划线方式
let test_name = ''
test_name = document.querySelector('.test_name')
// 修改成驼峰命名
let testName = '';
testName = document.querySelector('.test_name');

因为要修改的文件内容繁杂,变量名很多,手动修改不能接受,此外我还担心手动替换会影响到不该改的地方(如字符串里),所以我想找一个工具来自动转换,这样就方便多了。
Read More →

Babel 将 js 变量名转换为驼峰命名风格

07/21
17:09
软件

ESlint 使用 Standard 代码风格

今天我想让 Eslint 使用 Standard 代码风格来检查 JavaScript 代码,又折腾了许久。

其实弄明白了就简单了,安装这些依赖的 npm 包:

npm install -g standard eslint eslint-config-standard eslint-plugin-standard eslint-plugin-promise eslint-plugin-import eslint-plugin-node

如果不想全局安装,你也可以把 -g 改为 -D 进行本地安装。

安装完之后,在 .eslintrc 配置文件的 extend 规则里添加 standard,如:

{
  "extends": ["standard"]
}

重启项目,如果 ESlint 没有报错信息,应该就可以使用 Standard 规则检查代码了。
Read More →

ESlint 使用 Standard 代码风格

07/5
17:23
软件

Debian 安装 PHP 的 curl 扩展

刚才,有网友告诉我本站的音乐页面不能播放音乐,我检查了一下,发现有个 php 文件报错:

Call to undefined function curl_init()

curl 我还是很眼熟的,于是打开 php.ini 看了看,原来我安装时候忘记开启了这个扩展:

;extension=php_curl.dll

去掉注释,然后重启 php 服务,我心想大功告成了,可是没想到依然报错。于是我继续搜索,找到了原因。
Read More →

Debian 安装 PHP 的 curl 扩展

06/19
14:02
软件

VS Code 远程开发 Remote Development 教程

在服务器上用 vim 改代码感觉很蛋疼,我想起前些时候看到 VS Code 支持了远程开发(WSL、Linux、Docker),所以就进行了一番尝试,感觉挺好。

我本机是 Windows 10,服务器是 Debian x9。下面记录下我的操作过程。

1.安装 Remote Development 扩展:

VS Code 远程开发 Remote Development 教程
Read More →

VS Code 远程开发 Remote Development 教程

06/13
14:50
软件

使用 Shadowsocks(R) 做代理服务器

Shadowsocks(R) 是很流行的翻墙软件,但是我们翻墙后,有些软件并不会自动从 Shadowsocks(R) 翻墙,需要我们进行设置。

举个例子,我有一台服务器的 ip 被国内屏蔽了,xshell 无法远程登陆上去。

使用 Shadowsocks(R) 做代理服务器

xshell是可以设置代理服务器的,那么如何让它把Shadowsocks(R)作为代理服务器呢?

配置步骤如下:
Read More →

使用 Shadowsocks(R) 做代理服务器