saber酱的抱枕

生于忧患,死于安乐

11/10
22:43
软件

购买和安装 Office 365

购买和安装 Office 365

从我开始使用 Windows 10 之后,我很喜欢 OneDrive。但是它免费的 5GB 有点尴尬,放小文件绰绰有余,放大文件基本没法放。所以我经常会想把它扩容——这需要购买 Office 365 付费版本。今天临近双十一,我又没有什么想买的东西(佛系死宅),索性给 OneDrive 扩容吧,把所有文件都放上去好了。

Office 365 个人版官网售价 ¥398/年,但是国内的正版购买渠道会更便宜。我这次找到了数码荔枝,发个淘宝链接: Office 365 个人家庭版。标价 219 元,找客服领取 20 元优惠券,相当于 199,原价的一半,可以说是很划算了。

买了之后我就去安装,但是踩了不少坑,花了很久才搞好。记录一下步骤。
Read More →

购买和安装 Office 365

09/27
17:25
软件

正确认识虚拟内存

Windows 虚拟内存

有些人(或者很大一部分?)觉得虚拟内存的作用是当物理内存不够用的时候,临时保存数据,腾出内存空间所用。又因为读写硬盘比较慢,进而觉得如果操作系统去读写虚拟内存,会拖慢电脑速度。所以当他们觉得自己的内存足够时,就会去关掉 Windows 的虚拟内存。

很惭愧我以前也这么想过,但是关掉虚拟内存之后,有些程序启动时会报错“内存不足”,即使物理内存够用也是一样。事情似乎有些不对劲了。那么事实到底是怎样的呢?今天我看了《操作系统概念》,才纠正了自己的一些错误想法。
Read More →

正确认识虚拟内存

09/25
16:51
软件

做了一个练习 Vue 的记事本网站

一个 Vue 制作的记事本网站

xz-note
https://note.pixiv.download/

可以实用,当然功能比较少。第一次加载比较慢。(因为服务器是海外的,平时也会慢一些)

功能上做了对笔记的增删改查、设置 tag。可以注册用户,使用注册邮箱接收验证码。

安全性上,传输使用 https,密码做了加盐和慢 hash 处理,保证安全性。SQL 查询做了参数化处理,应该可以防止 SQL 注入吧。认证模式采用 jsonwebtoken(JWT),过期时间一小时。

这个网站是我自己第一次用 Nodejs 搭建后台,并上线的网站,积累了一些经验(然后过一个月就忘光

GitHub 地址:
https://github.com/xuejianxianzun/xz-note-vue

做了一个练习 Vue 的记事本网站

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 代码风格