关于我什么呢,我也不知道,放一些一直以来收集的骚话吧!
-
+
这个世界是一个巨大的草台班子。
+我拥有的都是侥幸啊,我失去的都是人生。
diff --git a/archives/2017/05/index.html b/archives/2017/05/index.html index a3a85aae9..99e5cfd06 100644 --- a/archives/2017/05/index.html +++ b/archives/2017/05/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2017/06/index.html b/archives/2017/06/index.html index f8902f9f7..e563fe89e 100644 --- a/archives/2017/06/index.html +++ b/archives/2017/06/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2017/07/index.html b/archives/2017/07/index.html index 19d8bc1bc..50b157725 100644 --- a/archives/2017/07/index.html +++ b/archives/2017/07/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2017/08/index.html b/archives/2017/08/index.html index b8ccde4bc..08f243af3 100644 --- a/archives/2017/08/index.html +++ b/archives/2017/08/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2017/09/index.html b/archives/2017/09/index.html index acec7fad6..dda0f7318 100644 --- a/archives/2017/09/index.html +++ b/archives/2017/09/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2017/index.html b/archives/2017/index.html index 5c2b27fbc..c72eadf28 100644 --- a/archives/2017/index.html +++ b/archives/2017/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2017/page/2/index.html b/archives/2017/page/2/index.html index 8d4db6efc..f15c0e2d1 100644 --- a/archives/2017/page/2/index.html +++ b/archives/2017/page/2/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2018/07/index.html b/archives/2018/07/index.html index 7d8b9a81e..e526e36bc 100644 --- a/archives/2018/07/index.html +++ b/archives/2018/07/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2018/09/index.html b/archives/2018/09/index.html index 39ce8865d..a484ca2e8 100644 --- a/archives/2018/09/index.html +++ b/archives/2018/09/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2018/12/index.html b/archives/2018/12/index.html index acaf13df9..4a76f36d9 100644 --- a/archives/2018/12/index.html +++ b/archives/2018/12/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2018/index.html b/archives/2018/index.html index 9b122d0c9..b4b68ca4c 100644 --- a/archives/2018/index.html +++ b/archives/2018/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2019/01/index.html b/archives/2019/01/index.html index 39c7af8b3..a3f94975f 100644 --- a/archives/2019/01/index.html +++ b/archives/2019/01/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2019/03/index.html b/archives/2019/03/index.html index 9b072c239..0b13b0218 100644 --- a/archives/2019/03/index.html +++ b/archives/2019/03/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2019/07/index.html b/archives/2019/07/index.html index ca8b59438..a6674f826 100644 --- a/archives/2019/07/index.html +++ b/archives/2019/07/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2019/12/index.html b/archives/2019/12/index.html index 0a04678e4..f47af3679 100644 --- a/archives/2019/12/index.html +++ b/archives/2019/12/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2019/index.html b/archives/2019/index.html index 9d6e14572..d7f207ffb 100644 --- a/archives/2019/index.html +++ b/archives/2019/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2020/03/index.html b/archives/2020/03/index.html index fedb0173f..56f4c136a 100644 --- a/archives/2020/03/index.html +++ b/archives/2020/03/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2020/04/index.html b/archives/2020/04/index.html index 54f6b811b..4b9cd14a2 100644 --- a/archives/2020/04/index.html +++ b/archives/2020/04/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2020/05/index.html b/archives/2020/05/index.html index ed5d0e43d..e201fead2 100644 --- a/archives/2020/05/index.html +++ b/archives/2020/05/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2020/09/index.html b/archives/2020/09/index.html index a02c28d9f..f030b5756 100644 --- a/archives/2020/09/index.html +++ b/archives/2020/09/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2020/12/index.html b/archives/2020/12/index.html index 550dc1c7a..412191625 100644 --- a/archives/2020/12/index.html +++ b/archives/2020/12/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2020/index.html b/archives/2020/index.html index dbb82db8b..20ec9f4d4 100644 --- a/archives/2020/index.html +++ b/archives/2020/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2020/page/2/index.html b/archives/2020/page/2/index.html index 31cf75d24..6c060de8b 100644 --- a/archives/2020/page/2/index.html +++ b/archives/2020/page/2/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2021/01/index.html b/archives/2021/01/index.html index 84c419777..73554c497 100644 --- a/archives/2021/01/index.html +++ b/archives/2021/01/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2021/02/index.html b/archives/2021/02/index.html index 18a1e47e9..399b98f97 100644 --- a/archives/2021/02/index.html +++ b/archives/2021/02/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2021/03/index.html b/archives/2021/03/index.html index 4d9300177..39f885702 100644 --- a/archives/2021/03/index.html +++ b/archives/2021/03/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2021/04/index.html b/archives/2021/04/index.html index ef3edc030..45415e6d8 100644 --- a/archives/2021/04/index.html +++ b/archives/2021/04/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2021/05/index.html b/archives/2021/05/index.html index 4a22612ec..0f3f7abae 100644 --- a/archives/2021/05/index.html +++ b/archives/2021/05/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2021/06/index.html b/archives/2021/06/index.html index af2a433bc..a4ef16217 100644 --- a/archives/2021/06/index.html +++ b/archives/2021/06/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2021/07/index.html b/archives/2021/07/index.html index 5063b76ef..3678f4214 100644 --- a/archives/2021/07/index.html +++ b/archives/2021/07/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2021/08/index.html b/archives/2021/08/index.html index 497faaf4e..1130dfc54 100644 --- a/archives/2021/08/index.html +++ b/archives/2021/08/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2021/09/index.html b/archives/2021/09/index.html index 33e119759..4b8fe5546 100644 --- a/archives/2021/09/index.html +++ b/archives/2021/09/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2021/index.html b/archives/2021/index.html index 1ada7c6fb..94d2d56af 100644 --- a/archives/2021/index.html +++ b/archives/2021/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2021/page/2/index.html b/archives/2021/page/2/index.html index 594d1777a..7f10d1980 100644 --- a/archives/2021/page/2/index.html +++ b/archives/2021/page/2/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2022/08/index.html b/archives/2022/08/index.html index ddf2023da..1ea6ac978 100644 --- a/archives/2022/08/index.html +++ b/archives/2022/08/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2022/11/index.html b/archives/2022/11/index.html index 1a50ab01d..c10cb980a 100644 --- a/archives/2022/11/index.html +++ b/archives/2022/11/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/2022/index.html b/archives/2022/index.html index 887bde14b..b24444296 100644 --- a/archives/2022/index.html +++ b/archives/2022/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/index.html b/archives/index.html index b1caf478f..2f9058692 100644 --- a/archives/index.html +++ b/archives/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/page/2/index.html b/archives/page/2/index.html index 89ed2df46..25e9f26fa 100644 --- a/archives/page/2/index.html +++ b/archives/page/2/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/page/3/index.html b/archives/page/3/index.html index 014327c44..c9e6d7fb9 100644 --- a/archives/page/3/index.html +++ b/archives/page/3/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/page/4/index.html b/archives/page/4/index.html index fda55e45d..af2f18b91 100644 --- a/archives/page/4/index.html +++ b/archives/page/4/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/page/5/index.html b/archives/page/5/index.html index 271d54b4f..0e19b1e11 100644 --- a/archives/page/5/index.html +++ b/archives/page/5/index.html @@ -4,7 +4,7 @@ - + diff --git a/archives/page/6/index.html b/archives/page/6/index.html index 3c4562a9e..99c776478 100644 --- a/archives/page/6/index.html +++ b/archives/page/6/index.html @@ -4,7 +4,7 @@ - + diff --git a/atom.xml b/atom.xml index afb550779..70af32d2e 100644 --- a/atom.xml +++ b/atom.xml @@ -6,7 +6,7 @@ -2023-10-11T06:10:54.569Z +2023-12-18T08:33:13.818Z https://www.aemon.top/ @@ -21,7 +21,7 @@ https://www.aemon.top/2022/11/21/%E6%A6%A8%E5%B9%B2%E8%BF%99%E5%8F%B0NAS%E7%AC%AC004%E8%AF%9D-%E5%88%AE%E5%89%8A/ 2022-11-21T03:18:17.000Z -2023-10-11T06:10:54.569Z +2023-12-18T08:33:13.818Z 这是一系列关于 NAS 的文章,系列的名称你们也看到了:「榨干这台 NAS」。我将尽可能详细的介绍 NAS 相关的知识,帮助你最大限度的发挥你的手中 NAS 的威力! @@ -50,7 +50,7 @@上一话中,讲解了硬链接功能,适合 PT 玩家们使用。那么之后就需要对下载下来的资源进行整理了。
我们在一般的视频网站中看电影或电视剧的时候,都会看到影视剧有海报,简介,分类,演职人员表等信息,那么这些信息应该怎么来呢?在我们自建的影音库中,所有的这些都需要通过「刮削」来获取。
对于一般的影视剧,通过一款叫做 TinyMediaManager 的软件即可一条龙完成刮削。
安装 TinyMediaManager
TinyMediaManager 支持 Windows、macOS、Linux 以及 Docker,对于我们基于 NAS 的使用场景来说,使用 Docker 是更为方便的。当然你也可以使用其他的版本,各个版本之间除了安装方式不同,使用方法都是一样的。
需要注意的是,TinyMediaManager 在4.0后改为了付费软件,如果没有付费将只支持刮削 50 部影视剧,所以接下来我们将使用 3.0 版本的 TinyMediaManager,放心,两个版本的刮削效果完全相同。
这里推荐使用 dzhuang/tinymediamanager:latest 镜像,能更好的支持中文。
在 unRAID 下,安装下图进行配置即可:
也可以使用命令启动:
1
2
3
4
5
6
7
8docker run -d --name='TinyMediaManager3' \
-e 'TZ'="Asia/Shanghai" \
-e 'DISPLAY_WIDTH'='1920' \
-e 'DISPLAY_HEIGHT '='1080' \
-p '5800:5800/tcp' \
-v '/mnt/user/UNRAID/media':'/media':'rw' \
-v '/mnt/user/appdata/TinyMediaManager3':'/config':'rw' \
'dzhuang/tinymediamanager:latest'运行命令后稍等片刻就安装完成了。
注意这里的
/media
映射的/mnt/user/UNRAID/media
目录即为榨干这台 NAS 第 003 话-硬链接中硬链接所存放的地方。选择你的电影硬链接和电视剧硬链接的最深的共同父目录即可。使用 TinyMediaManager
首先要注意的是:不要更新,不要更新,不要更新!
选择左侧的「电影」——「媒体库目录」,在媒体库目录中添加你的电影硬链接文件夹(注意,这里的文件夹可以一次添加多个);
选择左侧的「电影」——「刮削器」,在元数据刮削在选择 themoviedb.com ;
选择左侧的「电影」——「刮削器」——「刮削器选项」,在高级选项中设置首选语音为 大陆简体;
关闭设置框,点击左上角的「更新源」,这样你的电影都会在列表中显示,目前是未刮削状态;
右键任意一部电影,点击「搜索并刮削所选电影」,一般来说如果命名规范,那么软件能直接识别出当前电影,在搜索结果中选中后,点击右下角的「确定」即可;
如果没有搜索结果,那么在上方的输入框中输入电影的 IMDbID 并点击搜索即可,IMDbID 可以在电影的豆瓣详情页中找到;
如果有多条搜索结果,那么大概率是存在同名电影,可以通过电影的上映年份,或者依次点击左侧搜索结果,并在右侧查看电影海报来判断;
点击「确定」后,观察右下角进度条,当进度条跑完后,选中刚刚刮削的电影,右键并选择「重命名或整理所选电影」,这样 TinyMediaManager 会为电影文件重新命名。
自此,一部电影就刮削完成了。
电视剧的刮削和电影大同小异,需要注意的是,电视剧由于有多季多集的情况存在,所以需要对每一集规范命名,实际测试下来以 S01E01 的命名方法就可以准确得被 TinyMediaManager 识别,S01E01 代表的就是第一季第一集。
所以在电视剧的刮削之前,还要为电视剧文件批量重新命名,在 Linux 下可以使用 rename 命令来完成,而在 Windows 下有许多批量重命名的软件可供使用。
需要注意的点
在刮削电视剧的时候,可能有时候季数和集数不太清楚,大家可以去 https://www.themoviedb.org/ 搜索需要刮削的电视剧。在详情页中点击「查看全部季」,这样就可以看到这部剧的季结构了。根据这些来对文件重新命名即可。
]]>https://www.aemon.top/2022/08/24/%E6%A6%A8%E5%B9%B2%E8%BF%99%E5%8F%B0NAS%E7%AC%AC003%E8%AF%9D-%E7%A1%AC%E9%93%BE%E6%8E%A5/ 2022-08-24T03:56:26.000Z -2023-10-11T06:10:54.565Z +2023-12-18T08:33:13.814Z 这是一系列关于 NAS 的文章,系列的名称你们也看到了:「榨干这台 NAS」。我将尽可能详细的介绍 NAS 相关的知识,帮助你最大限度的发挥你的手中 NAS 的威力! @@ -81,9 +81,9 @@上一话中已经介绍了下载工具,想必很多人在接触 NAS 的时候也或多或少会接触到 PT 吧,今天我就来介绍一个 PT 利器:硬链接。
起因
什么是 PT 呢,大家可以自己 Google,或者之后我再来讲。在 PT 下载中,不是说你下载完就好了,而是秉承着我为人人,人人为我的精神,在下载完成后最好一直保持做种,这样在别人下载这个资源的时候,也可以有较快的速度。
但是做种的时候,有一个问题,就是下载好的文件,不能改名也不能修改目录结构。这样一来,对后期的刮削操作来说是完全不能接受的。所以我们就要用到「硬链接」。
那么什么是硬链接呢?与硬链接相对应的,还有一种软链接,软链接其实就相当于 Windows 中的快捷方式,只是一个指向源文件的文件。在我们删除源文件后,快捷方式将无法使用。而硬链接就不一样了,你同样可以像创建软链接一样创建多个硬链接。但是当你删除源文件后,硬链接还是可以正常使用,和普通文件没有区别。只有当你删除所有的源文件和硬链接后,这个文件才算是真正的被删除。并且多个硬链接和源文件只会占用一个文件的空间。
举例来说:
你下载了最新的电影
不能说的秘密2.mp4
,它存放在:Downloads/qBittorrentDownloads/media/moive/不能说的秘密/不能说的秘密2.mp4
;你就可以创建一个硬链接,在另一个文件夹下面:
media/moive/不能说的秘密2(2034)/不能说的秘密2(2034).mp4
;这时候,你可以将
Downloads/qBittorrentDownloads/media/moive/不能说的秘密/不能说的秘密2.mp4
删除,media/moive/不能说的秘密2(2034)/不能说的秘密2(2034).mp4
仍然可以使用,反过来也是一样。但是不能将两个文件同时删除;如果你创建的硬链接源文件发生了变化,你的所有硬链接同时也会将变化同步,例外的:文件名的变化将不会同步。
如何创建硬链接
简单的方法是使用
ln
命令,以上面的例子来说,只需要执行以下命令:1
ln /Downloads/qBittorrentDownloads/media/moive/不能说的秘密/不能说的秘密2.mp4 /media/moive/不能说的秘密2(2034)/不能说的秘密2(2034).mp4
就可以创建一个硬链接。
但是这样对于一个文件来说还好说,对于众多的电影来说,却是一项大工程。所以我们需要用到 hLink 这一硬链接工具。
安装 hLink
在 UNRAID 的应用市场中并没有 hLink,所以无法通过应用市场直接安装。
我们可以直接通过命令来进行安装:
1
2
3
4
5docker run -d --name hlink \
-e HLINK_HOME=$YOUR_HLINK_HOME_DIR \
-p 9090:9090 \
-v $YOUR_NAS_VOLUME_PATH:$DOCKER_VOLUME_PATH \
likun7981/hlink:latest在上方的命令中你需要将你要硬链接的源文件的目录和硬链接文件的目录的共同的父目录映射进容器。
在我的机器上,具体命令是这样的:
1
2
3
4
5docker run -d --name hlink \
-e HLINK_HOME=/share/appdata/hlink \
-p 9090:9090 \
-v /mnt/user:/share \
likun7981/hlink:latest运行命令后稍等片刻就安装完成了。
使用 hLink
前往浏览器访问「你设备的IP地址:9090」,例如:http://192.168.1.223:9090,即可进入操作页面。
首先点击「创建配置」
为配置输入一个名字,用于标记这个配置的作用,例如:Moive;
接下来就要对配置文件进行修改,可以先看一下默认的配置文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83// 重要说明路径地址都请填写 绝对路径!!!!
export default {
/**
* 源路径与目标路径的映射关系
* 例子:
* pathsMapping: {
* '/path/to/exampleSource': '/path/to/exampleDest',
* '/path/to/exampleSource2': '/path/to/exampleDest2'
* }
*/
pathsMapping: {},
/**
* 需要包含的后缀,如果与exclude同时配置,则取两者的交集
* include 留空表示包含所有文件
*
* 后缀不够用? 高阶用法: https://hlink.likun.me/other/v2.html#%E6%96%B0%E5%A2%9E%E5%8A%9F%E8%83%BD
*/
include: [
'mp4',
'flv',
'f4v',
'webm',
'm4v',
'mov',
'cpk',
'dirac',
'3gp',
'3g2',
'rm',
'rmvb',
'wmv',
'avi',
'asf',
'mpg',
'mpeg',
'mpe',
'vob',
'mkv',
'ram',
'qt',
'fli',
'flc',
'mod',
'iso',
],
/**
* 需要排除的后缀,如果与include同时配置,则取两者的交集
*
* 后缀不够用? 高阶用法: https://hlink.likun.me/other/v2.html#%E6%96%B0%E5%A2%9E%E5%8A%9F%E8%83%BD
*/
exclude: [],
/**
* @scope 该配置项 hlink 专用
* 是否保持原有目录结构,为false时则只保存一级目录结构
* 可选值: true/false
* 例子:
* - 源地址目录为:/a
* - 目标地址目录为: /d
* - 链接的文件地址为 /a/b/c/z/y/mv.mkv;
* 如果设置为true 生成的硬链地址为: /d/b/c/z/y/mv.mkv
* 如果设置为false 生成的硬链地址为:/d/y/mv.mkv
*/
keepDirStruct: true,
/**
* @scope 该配置项 hlink 专用
* 是否打开缓存,为true表示打开
* 可选值: true/false
* 打开后,每次硬链后会把对应文件存入缓存,就算下次删除硬链,也不会进行硬链
*/
openCache: false,
/**
* @scope 该配置项 hlink 专用
* 是否为独立文件创建同名文件夹,为true表示创建
* 可选值: true/false
*/
mkdirIfSingle: true,
/**
* @scope 该配置项为 hlink prune 命令专用
* 是否删除文件及所在目录,为false只会删除文件
* 可选值: true/false
*/
deleteDir: false,
}可以到看到大部分配置都已经有的了,我们只要修改部分就行。例如最重要的
pathsMapping
属性。这是时候需要注意,此时填写的路径不是当前宿主机中的路径,而是容器中的路径,你需要根据启动容器时候的目录映射参数来修改相对应的路径。例如我的启动参数中映射是:
-v /mnt/user:/share
,即在宿主机的路径/mnt/user
等于容器中的/share
,所以我原本电影(源文件)的下载路径:/mnt/user/UNRAID/downloads/qBittorrentDownloads/Media/Moive
,这时候就要改为:/share/UNRAID/downloads/qBittorrentDownloads/Media/Moive
,原本硬链接的存放位置:/mnt/user/UNRAID/media/Moive
,就要更改为:/share/UNRAID/media/Moive
。所以最后我的
pathsMapping
属性就是:1
2
3pathsMapping: {
'/share/UNRAID/downloads/qBittorrentDownloads/Media/Moive': '/share/UNRAID/media/Moive'
},然后点击「确定」;
之后点击「创建任务」
输入任务名称,任务类型选择 硬链(hlink),然后选择你刚刚创建的配置文件,最后点击「确定」;
最后在任务列表点击你刚刚点击的任务,就可以开始进行创建硬链接了。
需要注意的点
我在 榨干这台 NAS 第 002 话-下载工具 文章中有提到 qBittorrent 一些使其更好使用的配置(「工具」-「选项」-「下载」勾选「为不完整的文件添加扩展名 .!qB」),为的就是在创建硬链接的时候不将未下载完成的电影包括进去;
可以为任务设置定时任务,这样就不需要在每次有新电影时再进入 Web 页面进行手动操作了,一般来说一个小时执行一次任务即可;
我在 榨干这台 NAS 第 000 话-目录结构 中提到电影,电视剧不同类型的影音文件最好可以分文件夹保存,这时候在创建硬链接的时候就需要根据不同的分类创建不同的配置才可以,例如我就根据不同的媒体类型创建了不同的配置:
当文件夹中有文件你不想进行硬链接时,可以在
exclude
中添加规则。
参考
]]>https://www.aemon.top/2022/08/09/%E6%A6%A8%E5%B9%B2%E8%BF%99%E5%8F%B0NAS%E7%AC%AC002%E8%AF%9D-%E4%B8%8B%E8%BD%BD%E5%B7%A5%E5%85%B7/ 2022-08-09T14:03:32.000Z -2023-10-11T06:10:54.561Z +2023-12-18T08:33:13.810Z -这是一系列关于 NAS 的文章,系列的名称你们也看到了:「榨干这台 NAS」。我将尽可能详细的介绍 NAS 相关的知识,帮助你最大限度的发挥你的手中 NAS 的威力! +刚打完篮球回到家,洗完了澡,喝了点小酒,看到有朋友在前两篇文章中催更,那就趁着酒意再写一篇。
之前我们介绍了目录结构和文件浏览工具,那么,文件从哪儿来呢?最常用的办法就是下载。仔细想想,我们在 PC 上是怎么下载文件的?可以通过浏览器直接下载,也可以通过各种下载软件进行下载。那么在 NAS 上应该使用什么工具呢?接下来我将介绍一下在 NAS 上常用的下载工具。
PS:喝醉了,如果写错了什么还请见谅。
qBittorrent
说起 BT 下载,国内的大家应该第一时间会想到迅雷吧,但是迅雷并不是一个好的 BT 下载软件。一般使用的就是 qBittorrent 这款软件。
搜索
还是老样子,前往「应用『Apps』」页面搜索「qBittorrent」,选择下图所示的应用:
注意不要选错。
点击「安装『Install』」。
配置
可以看到这个容器需要配置为三个端口,一个路径和一个环境变量。
将宿主机的
8080
端口映射到容器的8080
端口,此端口为该容器的 WebUI 端口,之后可以通过此端口来访问 WebUI 界面(注意,请确定宿主机的8222
端口无其他程序占用,不然将无法启动容器,如果被占用,可以自行更换端口);将宿主机的
6881
端口映射到容器的6881
端口,此端口为 TCP 连接的端口,6881
是用于传入连接的默认端口;将宿主机的
6881
端口映射到容器的6881
端口,此端口为 UDP 连接的端口,6881
是用于传入连接的默认端口;将宿主机的
/mnt/user/UNRAID/downloads/qBittorrentDownloads
路径映射至容器的/downloads
路径,此路径为 qBittorrent 存放下载文件的路径;设置
WEBUI_PORT
环境变量,值为8080
,这个环境变量的作用为设置容器内 WebUI 的端口,不用去改变它就行,如果这里改变了,那么在第一个端口映射配置时,也要把容器内端口改为改变后的值,否则启动容器后将无法访问 WebUI 页面。
上方都是除了下载路径外都是默认配置,我们需要在默认配置的基础上进行修改:
添加两个新的端口映射,端口值可以大一些,我使用的是:
41638
,一个为 TCP 端口,一个为 UDP 端口,完成后可以移除上方两个默认的6881
端口映射;点开下方的「显示更多设置」,修改 Appdata 路径为
/mnt/user/appdata/qBittorrent
,这是 qBittorrent 所以配置信息所存放的路径;还是在「显示更多设置」中,修改
PUID
环境变量的值为0
,修改PGID
环境变量的值为0
,这样就可以以 root 用户来启动这个容器了;添加
UMASK
环境变量,值为000
。
确认无误后,点击「应用」,即可启动容器。
附上 unRAID 下的启动命令:
1
/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='qBittorrent' --net='bridge' -e TZ="Asia/Shanghai" -e HOST_OS="Unraid" -e HOST_HOSTNAME="Tower" -e HOST_CONTAINERNAME="qBittorrent" -e 'WEBUI_PORT'='8080' -e 'PUID'='0' -e 'PGID'='0' -e 'UMASK'='000' -l net.unraid.docker.managed=dockerman -l net.unraid.docker.webui='http://[IP]:[PORT:8080]' -l net.unraid.docker.icon='https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/qbittorrent-logo.png' -p '8080:8080/tcp' -p '41638:41638/tcp' -p '41638:41638/udp' -v '/mnt/user/UNRAID/downloads/qBittorrentDownloads':'/downloads':'rw' -v '/mnt/user/appdata/qbittorrent':'/config':'rw' 'linuxserver/qbittorrent'
使用
打开浏览器,访问 http://192.168.1.223:8080(注意,如果你在上述配置中修改过端口,请访问相应的端口,而 IP 地址则是你的 NAS 的 IP 地址),即可前往 qBittorrent 的操作页面。
默认的用户名为:
admin
,默认为密码为:adminadmin
。修改密码
登录后的第一件事,请前往「工具」-「选项」-「Web UI」-「验证」修改你的密码。
一些使其更好使用的配置
「工具」-「选项」-「Web UI」-「语言」修改语言为简体中文;
「工具」-「选项」-「连接」-「监听端口」将其设置为之前启动容器时所配置传入连接端口,即刚刚设置的
41638
,强烈建议选择随机端口,而不是和我的一样,这么做的原因是,首先一部分 PT 站会禁用默认的6881
~6999
端口。所以尽量不要选择这些范围内的端口;其次某些运营商会对 BT 流量进行封禁,如果很多人使用相同的端口的话,则会增大被运营商发现 的概率;「工具」-「选项」-「下载」勾选「为不完整的文件添加扩展名 .!qB」,这样做可以方便之后设置硬链接;
「工具」-「选项」-「高级」-「libtorrent 相关」将「校验时内存使用扩增量」修改大一些,我设置成了
512
,这样可以提高校验速度,提升之后辅种效率;「工具」-「选项」-「BitTorrent」勾选「自动添加以下 tracker 到新的 torrent」,并在下方输入框中填入https://cdn.jsdelivr.net/gh/ngosang/trackerslist@master/trackers_all.txt中的内容,此处设置的作用的是为了获得更多的供种者,此操作能有效提高下载速度,建议每隔一段时间就更新一下 tracker 列表,更多 tracker 列表可以查看 https://github.com/ngosang/trackerslist 和 https://github.com/XIU2/TrackersListCollection。
「工具」-「选项」-「BitTorrent」取消勾选「Torrent 排队」,这一步是为了多任务同时下载与上传,BT 的本质就是我为人人,人人为我,你的下载即是别人的上传,所以请最好不要限制你的上传,在不影响使用的情况下提供最多的上传;
更多详细配置可以查看 https://www.jianshu.com/p/ac70172767ed,此文讲得十分详细。
分类
qBittorrent 与其他下载工具相比的优势之一在于他有强大的分类和标签机制。在左侧的边栏可以看到分类和便签管理模块。
我们可以通过鼠标右键任意分类来添加新的分类:
然后填入分类名称和保存路径,可以为不同的分类设置不同的路径,例如 Moive 分类,保存路径
/downloads/Media/Moive
、TV series 分类,保存路径/downloads/Media/TV series
,大家可以按照我在第000话中的 Media 目录配置来建立相关的分类。这会为之后的硬链接提供很大的方便。最后在新建任务时候,就能选择已经设定的分类了。当然对于已有的任务对一个或多个任务右键即可在「分类」栏中选择相应的分类。
标签
其实有分类就已经完全足够了,标签和分类区别是:
标签无法设置保存路径;
一个任务可以拥有多个标签,但是只能拥有一个分类。
大家可以根据实际需求来使用。例如有些任务的名称名字比较奇怪,不好第一时间辨别,就可以使用标签来标记一下。又或者可以按照电影或电视剧的国家,上映年份来设置标签。
Linux 下的安装
以下操作均建立在系统已经安装 Docker 的基础之上。
拉取 Docker 镜像
1
docker pull linuxserver/qbittorrent:latest
启动容器
1
2
3
4
5
6
7
8
9
10
11docker run \
-v '/mnt/user/UNRAID/downloads/qBittorrentDownloads':'/downloads' \
-v '/mnt/user/appdata/qbittorrent':'/config' \
-p '8080:8080/tcp' \
-p '41638:41638/tcp' \
-p '41638:41638/udp' \
-e 'WEBUI_PORT'='8080' \
-e 'PUID'='0' \
-e 'PGID'='0' \
-e 'UMASK'='000' \
linuxserver/qbittorrent:latest
Aria2
除了专门用于 BT 下载的软件之外,还要推荐的是 Aria2 这个工具。它被认为从该软件的下载效率和可用性来看是 Linux 下最好用的下载管理器之一。Aria2 不仅支持 BitTorrent,还能够从各种来源多路检索所请求的文件。包括 HTTP,HTTPS,FTP 和 BitTorrent 协议。
搜索
前往「应用『Apps』」页面搜索「aria2」,选择下图所示的应用:
点击「安装『Install』」。
配置
Aira2 的配置看起来比较多,但是大多数使用默认配置即可,我讲一下重点的几个配置:
RPC_SECRET
环境变量,这个值就是之后对 Aira2 进行管理的密码,设置一个不那么简单的密码即可;将宿主机的
/mnt/user/UNRAID/downloads/aria2Download
路径映射至容器的/downloads
路径,此路径为 Aria2 存放下载文件的路径;将宿主机的
/mnt/user/appdata/aria2-pro
路径映射至容器的/config
路径,此路径为 Aria2 存放下载文件的路径;RPC_PORT
是对 Aira2 进行管理的端口,默认即可;余下几个端口使用默认配置即可,这里的
Listen Port
的作用和上方 qBittorrent 的传入连接的端口是相同的。但是在有 qBittorrent 的情况一般就不用 Aria2 来进行 BT 下载了,所以这边也就没有必要改动了,使用默认就可以;
确认无误后,点击「应用」,即可启动容器。
附上 unRAID 下的启动命令:
1
/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='Aria2-Pro' --net='bridge' -e TZ="Asia/Shanghai" -e HOST_OS="Unraid" -e HOST_HOSTNAME="Tower" -e HOST_CONTAINERNAME="Aria2-Pro" -e 'RPC_SECRET'='这里填写你的密码' -e 'IPV6_MODE'='true' -e 'RPC_PORT'='6800' -e 'LISTEN_PORT'='6888' -l net.unraid.docker.managed=dockerman -l net.unraid.docker.webui='http://ariang.mayswind.net/latest/' -l net.unraid.docker.icon='https://raw.githubusercontent.com/justin-himself/unraid-templates/master/icons/AriaNg.ico' -p '6800:6800/tcp' -p '6888:6888/tcp' -p '6888:6888/udp' -v '/mnt/user/UNRAID/downloads/aria2Download':'/downloads':'rw' -v '/mnt/user/appdata/aria2-pro':'/config':'rw' 'p3terx/aria2-pro'
使用
与 qBittorrent 不同,Aria2 容器本身没有提供 WebUI。我们需要通过 AriaNg 这一工具来对 Aria2 进行管理。
打开浏览器,访问 http://ariang.mayswind.net/latest;
点击左侧边栏的「AriaNg设置」;
选择第二个标签页「RPC(ariang.mayswind.net)」;
输入 Aria2 RPC 别名,用于区分多个 RPC,例如「家中 NAS」、「公司服务器」;
输入 Aria2 RPC 地址,将默认的
,修改为你的 NAS 的 IP 地址即可,端口号则为默认的 6800
,如果你在配置容器时修改过RPC_PORT
,那么这里需要改为修改后的端口号;Aria2 RPC 协议选择 「Http」;
Aria2 RPC Http 请求方法选择「POST」;
Aria2 RPC 密钥则为容器配置时填写的
RPC_SECRET
的值;确认无误后,重新刷新本页面即可。
如果配置的没有问题,那么在左侧边栏的 Aria2 状态处则会显示绿色的已连接,则代表已经成功连接到你的 Aria2 服务。那么你就可以此页面添加下载任务并下载了。
参考
]]>这是一系列关于 NAS 的文章,系列的名称你们也看到了:「榨干这台 NAS」。我将尽可能详细的介绍 NAS 相关的知识,帮助你最大限度的发挥你的手中 NAS 的威力! 刚打完篮球回到家,洗完了澡,喝了点小酒,看到有朋友在前两篇文章中催更,那就趁着酒意再写一篇。
之前我们介绍了目录结构和文件浏览工具,那么,文件从哪儿来呢?最常用的办法就是下载。仔细想想,我们在 PC 上是怎么下载文件的?可以通过浏览器直接下载,也可以通过各种下载软件进行下载。那么在 NAS 上应该使用什么工具呢?接下来我将介绍一下在 NAS 上常用的下载工具。
PS:喝醉了,如果写错了什么还请见谅。
qBittorrent
说起 BT 下载,国内的大家应该第一时间会想到迅雷吧,但是迅雷并不是一个好的 BT 下载软件。一般使用的就是 qBittorrent 这款软件。
搜索
还是老样子,前往「应用『Apps』」页面搜索「qBittorrent」,选择下图所示的应用:
注意不要选错。
点击「安装『Install』」。
配置
可以看到这个容器需要配置为三个端口,一个路径和一个环境变量。
将宿主机的
8080
端口映射到容器的8080
端口,此端口为该容器的 WebUI 端口,之后可以通过此端口来访问 WebUI 界面(注意,请确定宿主机的8222
端口无其他程序占用,不然将无法启动容器,如果被占用,可以自行更换端口);将宿主机的
6881
端口映射到容器的6881
端口,此端口为 TCP 连接的端口,6881
是用于传入连接的默认端口;将宿主机的
6881
端口映射到容器的6881
端口,此端口为 UDP 连接的端口,6881
是用于传入连接的默认端口;将宿主机的
/mnt/user/UNRAID/downloads/qBittorrentDownloads
路径映射至容器的/downloads
路径,此路径为 qBittorrent 存放下载文件的路径;设置
WEBUI_PORT
环境变量,值为8080
,这个环境变量的作用为设置容器内 WebUI 的端口,不用去改变它就行,如果这里改变了,那么在第一个端口映射配置时,也要把容器内端口改为改变后的值,否则启动容器后将无法访问 WebUI 页面。
上方都是除了下载路径外都是默认配置,我们需要在默认配置的基础上进行修改:
添加两个新的端口映射,端口值可以大一些,我使用的是:
41638
,一个为 TCP 端口,一个为 UDP 端口,完成后可以移除上方两个默认的6881
端口映射;点开下方的「显示更多设置」,修改 Appdata 路径为
/mnt/user/appdata/qBittorrent
,这是 qBittorrent 所以配置信息所存放的路径;还是在「显示更多设置」中,修改
PUID
环境变量的值为0
,修改PGID
环境变量的值为0
,这样就可以以 root 用户来启动这个容器了;添加
UMASK
环境变量,值为000
。
确认无误后,点击「应用」,即可启动容器。
附上 unRAID 下的启动命令:
1
/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='qBittorrent' --net='bridge' -e TZ="Asia/Shanghai" -e HOST_OS="Unraid" -e HOST_HOSTNAME="Tower" -e HOST_CONTAINERNAME="qBittorrent" -e 'WEBUI_PORT'='8080' -e 'PUID'='0' -e 'PGID'='0' -e 'UMASK'='000' -l net.unraid.docker.managed=dockerman -l net.unraid.docker.webui='http://[IP]:[PORT:8080]' -l net.unraid.docker.icon='https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/qbittorrent-logo.png' -p '8080:8080/tcp' -p '41638:41638/tcp' -p '41638:41638/udp' -v '/mnt/user/UNRAID/downloads/qBittorrentDownloads':'/downloads':'rw' -v '/mnt/user/appdata/qbittorrent':'/config':'rw' 'linuxserver/qbittorrent'
使用
打开浏览器,访问 http://192.168.1.223:8080(注意,如果你在上述配置中修改过端口,请访问相应的端口,而 IP 地址则是你的 NAS 的 IP 地址),即可前往 qBittorrent 的操作页面。
默认的用户名为:
admin
,默认为密码为:adminadmin
。修改密码
登录后的第一件事,请前往「工具」-「选项」-「Web UI」-「验证」修改你的密码。
一些使其更好使用的配置
「工具」-「选项」-「Web UI」-「语言」修改语言为简体中文;
「工具」-「选项」-「连接」-「监听端口」将其设置为之前启动容器时所配置传入连接端口,即刚刚设置的
41638
,强烈建议选择随机端口,而不是和我的一样,这么做的原因是,首先一部分 PT 站会禁用默认的6881
~6999
端口。所以尽量不要选择这些范围内的端口;其次某些运营商会对 BT 流量进行封禁,如果很多人使用相同的端口的话,则会增大被运营商发现 的概率;「工具」-「选项」-「下载」勾选「为不完整的文件添加扩展名 .!qB」,这样做可以方便之后设置硬链接;
「工具」-「选项」-「高级」-「libtorrent 相关」将「校验时内存使用扩增量」修改大一些,我设置成了
512
,这样可以提高校验速度,提升之后辅种效率;「工具」-「选项」-「BitTorrent」勾选「自动添加以下 tracker 到新的 torrent」,并在下方输入框中填入https://cdn.jsdelivr.net/gh/ngosang/trackerslist@master/trackers_all.txt中的内容,此处设置的作用的是为了获得更多的供种者,此操作能有效提高下载速度,建议每隔一段时间就更新一下 tracker 列表,更多 tracker 列表可以查看 https://github.com/ngosang/trackerslist 和 https://github.com/XIU2/TrackersListCollection。
「工具」-「选项」-「BitTorrent」取消勾选「Torrent 排队」,这一步是为了多任务同时下载与上传,BT 的本质就是我为人人,人人为我,你的下载即是别人的上传,所以请最好不要限制你的上传,在不影响使用的情况下提供最多的上传;
更多详细配置可以查看 https://www.jianshu.com/p/ac70172767ed,此文讲得十分详细。
分类
qBittorrent 与其他下载工具相比的优势之一在于他有强大的分类和标签机制。在左侧的边栏可以看到分类和便签管理模块。
我们可以通过鼠标右键任意分类来添加新的分类:
然后填入分类名称和保存路径,可以为不同的分类设置不同的路径,例如 Moive 分类,保存路径
/downloads/Media/Moive
、TV series 分类,保存路径/downloads/Media/TV series
,大家可以按照我在第000话中的 Media 目录配置来建立相关的分类。这会为之后的硬链接提供很大的方便。最后在新建任务时候,就能选择已经设定的分类了。当然对于已有的任务对一个或多个任务右键即可在「分类」栏中选择相应的分类。
标签
其实有分类就已经完全足够了,标签和分类区别是:
标签无法设置保存路径;
一个任务可以拥有多个标签,但是只能拥有一个分类。
大家可以根据实际需求来使用。例如有些任务的名称名字比较奇怪,不好第一时间辨别,就可以使用标签来标记一下。又或者可以按照电影或电视剧的国家,上映年份来设置标签。
Linux 下的安装
以下操作均建立在系统已经安装 Docker 的基础之上。
拉取 Docker 镜像
1
docker pull linuxserver/qbittorrent:latest
启动容器
1
2
3
4
5
6
7
8
9
10
11docker run \
-v '/mnt/user/UNRAID/downloads/qBittorrentDownloads':'/downloads' \
-v '/mnt/user/appdata/qbittorrent':'/config' \
-p '8080:8080/tcp' \
-p '41638:41638/tcp' \
-p '41638:41638/udp' \
-e 'WEBUI_PORT'='8080' \
-e 'PUID'='0' \
-e 'PGID'='0' \
-e 'UMASK'='000' \
linuxserver/qbittorrent:latest
Aria2
除了专门用于 BT 下载的软件之外,还要推荐的是 Aria2 这个工具。它被认为从该软件的下载效率和可用性来看是 Linux 下最好用的下载管理器之一。Aria2 不仅支持 BitTorrent,还能够从各种来源多路检索所请求的文件。包括 HTTP,HTTPS,FTP 和 BitTorrent 协议。
搜索
前往「应用『Apps』」页面搜索「aria2」,选择下图所示的应用:
点击「安装『Install』」。
配置
Aira2 的配置看起来比较多,但是大多数使用默认配置即可,我讲一下重点的几个配置:
RPC_SECRET
环境变量,这个值就是之后对 Aira2 进行管理的密码,设置一个不那么简单的密码即可;将宿主机的
/mnt/user/UNRAID/downloads/aria2Download
路径映射至容器的/downloads
路径,此路径为 Aria2 存放下载文件的路径;将宿主机的
/mnt/user/appdata/aria2-pro
路径映射至容器的/config
路径,此路径为 Aria2 存放下载文件的路径;RPC_PORT
是对 Aira2 进行管理的端口,默认即可;余下几个端口使用默认配置即可,这里的
Listen Port
的作用和上方 qBittorrent 的传入连接的端口是相同的。但是在有 qBittorrent 的情况一般就不用 Aria2 来进行 BT 下载了,所以这边也就没有必要改动了,使用默认就可以;
确认无误后,点击「应用」,即可启动容器。
附上 unRAID 下的启动命令:
1
/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='Aria2-Pro' --net='bridge' -e TZ="Asia/Shanghai" -e HOST_OS="Unraid" -e HOST_HOSTNAME="Tower" -e HOST_CONTAINERNAME="Aria2-Pro" -e 'RPC_SECRET'='这里填写你的密码' -e 'IPV6_MODE'='true' -e 'RPC_PORT'='6800' -e 'LISTEN_PORT'='6888' -l net.unraid.docker.managed=dockerman -l net.unraid.docker.webui='http://ariang.mayswind.net/latest/' -l net.unraid.docker.icon='https://raw.githubusercontent.com/justin-himself/unraid-templates/master/icons/AriaNg.ico' -p '6800:6800/tcp' -p '6888:6888/tcp' -p '6888:6888/udp' -v '/mnt/user/UNRAID/downloads/aria2Download':'/downloads':'rw' -v '/mnt/user/appdata/aria2-pro':'/config':'rw' 'p3terx/aria2-pro'
使用
与 qBittorrent 不同,Aria2 容器本身没有提供 WebUI。我们需要通过 AriaNg 这一工具来对 Aria2 进行管理。
打开浏览器,访问 http://ariang.mayswind.net/latest;
点击左侧边栏的「AriaNg设置」;
选择第二个标签页「RPC(ariang.mayswind.net)」;
输入 Aria2 RPC 别名,用于区分多个 RPC,例如「家中 NAS」、「公司服务器」;
输入 Aria2 RPC 地址,将默认的
,修改为你的 NAS 的 IP 地址即可,端口号则为默认的 6800
,如果你在配置容器时修改过RPC_PORT
,那么这里需要改为修改后的端口号;Aria2 RPC 协议选择 「Http」;
Aria2 RPC Http 请求方法选择「POST」;
Aria2 RPC 密钥则为容器配置时填写的
RPC_SECRET
的值;确认无误后,重新刷新本页面即可。
如果配置的没有问题,那么在左侧边栏的 Aria2 状态处则会显示绿色的已连接,则代表已经成功连接到你的 Aria2 服务。那么你就可以此页面添加下载任务并下载了。
参考
]]>@@ -114,7 +114,7 @@ https://www.aemon.top/2022/08/08/%E6%A6%A8%E5%B9%B2%E8%BF%99%E5%8F%B0NAS%E7%AC%AC001%E8%AF%9D-%E6%96%87%E4%BB%B6%E6%B5%8F%E8%A7%88%E5%99%A8%EF%BC%88FileBrowser%EF%BC%89/ 2022-08-08T08:08:44.000Z -2023-10-11T06:10:54.561Z +2023-12-18T08:33:13.806Z 这是一系列关于 NAS 的文章,系列的名称你们也看到了:「榨干这台 NAS」。我将尽可能详细的介绍 NAS 相关的知识,帮助你最大限度的发挥你的手中 NAS 的威力! @@ -143,7 +143,7 @@在上一话中我们介绍了目录结构,那么应该如何编辑这些目录和文件呢?最最原始的方式就是使用命令来执行这些操作。但是这对于一部分不熟悉 Linux 系统的人来说,会显得有些困难。所以,这一话,我将介绍一个软件,可以用于 NAS 的文件浏览。如果你是群晖或威联通用户,那么其系统自带的软件就应该能满足大部分需求了,所以可以跳过这一话。
PS:接下来的操作将在 unRAID(6.10.2) 系统上进行。
PSS: 当然对于非 unRAID 系统的用户,我也会演示一下在 Linux 系统下应该如何进行安装。
unRAID 下的安装和使用
搜索
前往「应用『Apps』」页面搜索「FileBrowser」,选择下图所示的应用:
点击「安装『Install』」,即图中「Actions」按钮所在位置(因为我已经安装过这个软件,所以不会显示「Install」按钮了)。
配置
然后依照上图所示填写。
主要是配置了两个路径和一个端口:
将宿主机的
/
路径映射至容器的/srv
路径,此路径为你需要进行文件管理的路径;将宿主机的
/mnt/user/appdata/filebrowser/
路径映射至容器的/db/
路径,此路径为此容器的配置数据库路径,你之后所设置的用户名密码等个性配置信息都将存储在这里;将宿主机的
8222
端口映射到容器的80
端口,此端口为该容器的 WebUI 端口,之后可以通过此端口来访问 WebUI 界面(注意,请确定宿主机的8222
端口无其他程序占用,不然将无法启动容器,如果被占用,可以自行更换端口)。
点击应用,即可启动容器。如果你的配置无误,那么在等待片刻后,容器将会自动启动,接下来就可以使用了。
附上 unRAID 下的启动命令:
1
/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker run -d --name='FileBrowser' --net='bridge' -e TZ="Asia/Shanghai" -e HOST_OS="Unraid" -e HOST_HOSTNAME="Tower" -e HOST_CONTAINERNAME="FileBrowser" -l net.unraid.docker.managed=dockerman -l net.unraid.docker.webui='http://[IP]:[PORT:8222]/files/' -l net.unraid.docker.icon='https://github.com/maschhoff/docker/raw/master/filebrowser/35781395.png' -p '8222:80/tcp' -v '/':'/srv':'rw' -v '/mnt/user/appdata/filebrowser/':'/db/':'rw' 'filebrowser/filebrowser' -d /db/database.db
使用
打开浏览器,访问 http://192.168.1.223:8222(注意,如果你在上述配置中修改过端口,请访问相应的端口,而 IP 地址则是你的 NAS 的 IP 地址),即可前往 File Browser 的操作页面。
默认的用户名为:
admin
,默认为密码为:admin
。修改密码
登录后的第一件事,请前往「设置」-「个人设置」页面修改你的密码。
一些使其更好使用的配置
在「设置」-「个人设置」中将语言修改为中文;
在「设置」-「个人设置」中取消勾选「不显示隐藏文件」,这样你就能看到隐藏的文件和文件夹了;
在「设置」-「个人设置」中取消勾选「使用单击来打开文件和目录」,这样可以更加符合 Windows 资源管理器的操作逻辑,同时也可以使用 ctrl 和 shift 来进行多选操作了;
由于在安装容器的时候设置了管理目录为宿主机的
/
路径,所以每次访问 WebUI 默认路径都是此路径,要想更换默认路径的话,软件并没有相应的设置,但是我们可以曲线救国,首先去到我们想默认显示的路径下。例如:/mnt/user/appdata/
,然后我们只要将当前页面(http://192.168.1.223:8222/files/mnt/user/appdata/)添加到浏览器的书签,这样以后就可以通过这个书签来访问此路径了。同样的,我们可以为不同的目录设置不同的书签,从而达到快捷访问的目的。
Linux 下的安装
以下操作均建立在系统已经安装 Docker 的基础之上。
拉取 Docker 镜像
1
docker pull filebrowser/filebrowser:latest
启动容器
1
2
3
4
5
6docker run \
-v '/':'/srv' \
-v '/mnt/user/appdata/filebrowser/':'/db/' \
-p '8222:80/tcp' \
filebrowser/filebrowser:latest \
-d /db/database.db
参考
]]>https://www.aemon.top/2022/08/08/%E6%A6%A8%E5%B9%B2%E8%BF%99%E5%8F%B0NAS%E7%AC%AC000%E8%AF%9D-%E7%9B%AE%E5%BD%95%E7%BB%93%E6%9E%84/ 2022-08-08T07:14:00.000Z -2023-10-11T06:10:54.561Z +2023-12-18T08:33:13.806Z 这是一系列关于 NAS 的文章,系列的名称你们也看到了:「榨干这台 NAS」。我将尽可能详细的介绍 NAS 相关的知识,帮助你最大限度的发挥你的手中 NAS 的威力! @@ -168,7 +168,7 @@关于第一话,按照一般的文章套路来说,都是介绍一下 NAS 是什么,能用来做什么。但是我觉得能看到这篇文章的人,一般也不再需要科普这些内容。对了,此系列教程全部是软件向的,如果你需要自己组装一台 NAS,那么这系列的文章你可以先收藏,等组装完了再来看。话说回来,本文将向大家介绍一下我是如果规划我的文件目录结构的。
文件目录结构的构建,将对后续所有的容器搭建起到十分关键的影响,说他是万事之根本也不为过,不光是 NAS,你的 PC,你的程序项目,一个考虑周到且一目了然的目录结构,将极大方便你的后续工作。
PS:本文不但是 NAS 的文件目录,而且是这系列文章的目录结构。
PPS:关于文件夹的命名规则,全小写(
ofcourseistillloveyou
),全大写(OFCOURSEISTILLLOVEYOU
),大驼峰(OfCourseIStillLoveYou
),小驼峰(ofCourseIStillLoveYou
),下划线连接(of_course_i_still_love_you
),连接号连接(of-course-i-still-love-you
)都随你心意,只要你能做到一下几点:「统一、容易辨识、尽量不要空格,尽量只使用英文、数字、连接号和下划线」。系列相关文章:
root(根目录)
这里的 root 指的是你的 NAS 中存放你大部分个人文件的最顶层目录,而不是 Linux 系统中的
/
目录。从这里开始,我们就要对你的文件进行分类。
1
2
3
4
5
6
7
8
9
10𝐫𝐨𝐨𝐭
├── backup
├── books
├── code
├── data
├── downloads
├── manga
├── media
├── music
└── picturesmedia(媒体)
存放你大多数媒体文件的地方。
肯定有一部分人想要有一台 NAS 的初衷是想搭建一个自己的家庭媒体中心。而这个文件夹就是家庭媒体中心的关键。你的电视剧,电影,小电影,行车记录仪,各类自媒体的视频存档,都可以放在这个文件夹下面。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17root
├── backup
├── books
├── code
├── data
├── downloads
├── manga
├── 𝐦𝐞𝐝𝐢𝐚
│ ├── av
│ ├── bilibili
│ ├── h
│ ├── moive
│ ├── tv_series
│ ├── teslacam
│ └── youtube
├── music
└── picturesmoive(电影)
存放你正经电影的地方。
此目录下应该只存放被刮削后的电影,每部电影应该拥有自己的单独子文件夹,子文件夹中存放电影、字幕、nfo文件和海报图片。电影(moive)文件夹的目录将在后续的文章中进行详细介绍。
tv_series(电视剧集)
存放你各类电视剧集的地方。
你的动漫,美剧,韩剧,
抗日神剧等都应该存放在这里。和电影(moive)文件夹相同,每部电视剧集应该拥有自己的单独子文件夹,子文件夹中存放电视剧集、字幕、nfo文件和海报图片。电视剧集(tv_series)文件夹的目录将在后续的文章中进行详细介绍。av(不正经电影)存放小姐姐的地方。
你的小姐姐们都住在这里,这里的文件命名也有相应的规则,具体规则以及相关的工具,也会在后续文章中介绍。
h(不正经视频)
一些没有
番号部队番号的小姐姐,将会放在这里。youtube
YouTube 的视频存档将存放在此处。后续将会介绍用于下载 YouTube 视频的工具。
bilibili
同 YouTube。
TeslaCam(特斯拉汽车行车记录视频以及哨兵录像)
特斯拉汽车行车记录录像将会存放在此处。后续将会介绍用于合并和查看行车记录仪的工具。
pictures(照片)
NAS 的另一个作用就是作为家庭相册,你的手机,相机拍摄的照片和视都将存储在此处,在这里,分类的方式多种多样,可以按照设备分类、按照日期分类、按照事件分类请以你觉得方便的形式进行分类,这些都不太会影响后续的家庭相册的建立。但是请尽量做到容易辨识。
关于家庭相册的建立,后续的文章也将会进行介绍。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22root
├── backup
├── books
├── code
├── data
├── downloads
├── manga
├── media
├── music
└── 𝐩𝐢𝐜𝐭𝐮𝐫𝐞𝐬
├── iPhone_7
│ └── 2022
│ └── 08
├── Nikon_D5600
│ └── 20220808_重庆行
├── iCloud
│ └── bot960528gmailcom
│ └── 2022
│ └── 08
│ └── 08
├── Qzone
└── other接下来介绍几种分类方式:
iPhone_7(按照设备)
此处将存放你的 iPhone 7 拍摄的照片和视频。
2022(年份)
此处将存放你的 iPhone 7 于 2022 年所拍摄的照片和视频。
08(月份)
此处将存放你的 iPhone 7 于 2022 年 8 月所拍摄的照片和视频。
Nikon_D5600(按照设备)
此处将存放你的 Nikon D5600 拍摄的照片和视频。
20220808重庆行(时间旅行)
此处将存放你的 Nikon D5600 在 2022 年 8 月 8 日于重庆旅行时拍摄的照片和视频。
iCloud(按照备份方式)
此处将存放从 iCloud 下载的照片和视频。关于自动从 iCloud 定时下载照片的方法,后续将进行介绍。
Qzone(按照照片来源)
此处将存放你在 QQ 空间的
黑历史照片。关于 QQ 空间相册、说说的下载备份方法,后续将进行介绍。other(其他)
此处将存放一些你
懒的分类无法分类的照片。downloads(下载)
下载,也是 NAS 的主要任务之一,你的所有下载任务以及下载的文件,应该都存放在此处。
关于下载的分类,我的规则是按照下载器的种类进行分类。当然,在各类下载器内部,希望大家也能做好文件的分类。
各类下载器的安装和配置,今后也将会有相应的介绍。
系列相关文章:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16root
├── backup
├── books
├── code
├── data
├── 𝐝𝐨𝐰𝐧𝐥𝐨𝐚𝐝𝐬
│ ├── aria2Downloads
│ ├── emuleDownloads
│ ├── farmDownloads
│ ├── qBittorrentDownloads
│ ├── thunderDownloads
│ └── transmissionDownloads
├── manga
├── media
├── music
└── picturesaria2Download(aria2 下载目录)
此处将存放由 aria2 下载的文件。
emuleDownloads(emule 下载目录)
此处将存放由 emule 下载的文件。
qBittorrentDownloads(qBittorrent 下载目录)
此处将存放由 qBittorrent 下载的文件。
transmissionDownloads(transmission 下载目录)
此处将存放由 transmission 下载的文件。
code(代码)
如果你是一个程序员,那么 NAS 还能成为你的代码仓库,当你在 NAS 上部署你的 git 服务时,其中的数据就可以存储在这里。如果你只将此文件夹作为你的工作目录的话(例如通过 ssh 连接到此服务器进行编码),那么你可以按照代码类型或者编程语言进行分类。
1
2
3
4
5
6
7
8
9
10
11
12
13
14root
├── backup
├── books
├── 𝐜𝐨𝐝𝐞
│ ├── script
│ ├── project
│ ├── java
│ └── python
├── data
├── downloads
├── manga
├── media
├── music
└── picturesscript(按照类型)
此处将存放你的各类脚本。
project(按照类型)
此处将存放你的各个项目。
java(按照编程语言)
此处将存放你使用 java 编写的代码。
python(按照编程语言)
此处将存放你使用 python 编写的代码。
backup(备份)
备份,这是数据保存中必不可少的一环,如果你的数据很宝贵。请务必进行备份。后续我将为大家介绍应该如何备份你的数据。
备份文件夹的命名可以简单些,你只要区分这是什么软件或数据的备份即可,所以你可以使用软件或数据名称加backup,作为你的文件名。
关于备份,希望能做到以下几点:
记录备份文件的备份时间;
定时备份;
压缩后并加密,减少占用空间的同时并保证备份文件的安全;
3-2-1 备份原则,至少制作三份备份,将备份分别存放在两种不同的存储媒介中,至少存放一份在异地。
请大家务必重视备份的重要性,不然等到数据丢失的时候,是无论如何也无法挽救的。
1
2
3
4
5
6
7
8
9
10
11
12root
├── 𝐛𝐚𝐜𝐤𝐮𝐩
│ ├── bitwarden_backup
│ └── wechat_backup
├── books
├── code
├── data
├── downloads
├── manga
├── media
├── music
└── pictureswechat_backup(微信备份)
这里用于存放你的微信备份。
bitwarden_backup
这里用于存放你的 BitWarden 备份。
music(音乐)
此处用于存放你的音乐。音乐的分类就比较简单,可以先按歌手进行分类,然后再安装专辑分类即可。
1
2
3
4
5
6
7
8
9
10
11
12root
├── backup
├── books
├── code
├── data
├── downloads
├── manga
├── media
├── 𝐦𝐮𝐬𝐢𝐜
│ └── 周杰伦
│ └── 叶惠美
└── pictures周杰伦
此处用于存放周杰伦的音乐。
叶惠美
此处用于存放周杰伦的叶惠美专辑的歌曲。
books(电子书)
此处用于存放你的电子书,可以按照书籍的类型来分类,如:小说、文献、教科等等,这边将不再进行举例。。后续也将会介绍如果搭建你的电子书仓库。
1
2
3
4
5
6
7
8
9
10root
├── backup
├── 𝐛𝐨𝐨𝐤𝐬
├── code
├── data
├── downloads
├── manga
├── media
├── music
└── picturesmanga(漫画)
此处用于存放的漫画。后续也将会介绍如果搭建你的漫画仓库。
1
2
3
4
5
6
7
8
9
10root
├── backup
├── books
├── code
├── data
├── downloads
├── 𝐦𝐚𝐧𝐠𝐚
├── media
├── music
└── picturesdata(数据)
数据是一个宽泛的词,其实上述所有的分类,都可以将其划进数据目录,所以这个目录的目的就是为了存放那些无法被上述目录所包含的数据。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16root
├── backup
├── books
├── code
├── 𝐝𝐚𝐭𝐚
│ ├── document
│ └── ISO
│ ├── Windows
│ ├── Ubuntu
│ ├── Adobe
│ └── JetBrains
├── downloads
├── manga
├── media
├── music
└── picturesISO
用于存放你下载的各类系统镜像和各类软件的安装文件。
Windows
用于存放 Windows 系统安装镜像。
Ubuntu
用于存放 Ubuntu 系统安装镜像。
Adobe
用于存放 Adobe 软件安装程序。
JetBrains
用于存放 JetBrains 软件安装程序。
document(文档)
用于存放你的工作生活文档。分类按照你的实际需求来就行,没有一种特定方法。
只要能遵循分类原则,就可以建立出易于管理和使用的目录。
end
如果你刚开始使用 NAS,那么建议你可以按照这篇文章的介绍,来建立你的目录结构。如果你已经使用 NAS 很长一段时间,上面已经存储了许多数据,那么我还是建议你最好能够慢慢的,分块的整理一下你的 NAS,这将对今后的使用起到极大的帮助!
如果大家对目录结构有什么好的建议或意见,也可以在下面留言,我们可以一起讨论,如果有好的想法,我会第一时间对文章进行完善。
]]>https://www.aemon.top/2021/09/29/%E7%85%8E%E8%9B%8B%E4%BF%9D%E9%99%A9%E5%B0%8F%E8%AF%BE%E5%A0%82/ 2021-09-29T02:40:29.000Z -2023-10-11T06:10:54.573Z +2023-12-18T08:33:13.818Z 蛋友 阿Lam: @@ -197,7 +197,7 @@因为看到部分蛋友有保险困扰。我又刚好是这行的,所以做了个小科普。
转载自:煎蛋保险小课堂
有哪些保险?
保险的种类称作险种,按缴费方式分,可以分为社会保险(强制交)和商业保险(自愿购买)。
社会保险(社保)
城镇职工五险一金中的五险:养老保险、医疗保险、工伤保险、失业保险、生育保险;
城市少儿医保;
城镇居民医疗保险/乡镇居民的新型农村合作医疗(新农合)。
社保是国家福利,是最基础的保障,商保可以没有,但社保必须在手。
医保是社保中的一个类别,具体指五险中的医疗保险、城市少儿医保、城镇居民医疗保险、新农合。四者不能重复报销,所以在公司交了五险一金的,在老家就不用浪费钱交新农合了。
城市少儿医保是给小孩子办的,有本市户口的,出生就可以办;没本市户口的,要等上幼儿园/小学后才能统一办;没本市户口的家庭,可以先给孩子在老家交个新农合,平时在城市门诊治疗是没法报销了,但住院治疗要花大钱时可以申请异地报销。
有社保的人在买部分商保时,比没社保的要便宜
商业保险
商业保险按保险标的(对象)分为人身险和财产险。
人身险就是保人的寿命和健康的,财产险就是保人的房车等财产的,其中的代表就是车险。
人身险里有四大类险种,分别是寿险、重疾险、医疗险、意外险。其中重疾险和医疗险都属于健康险。
寿险(保死,狗带了就赔一大笔钱);
健康险(保生,生病了就赔钱或报销医疗费);
重疾险;
医疗险:百万医疗险、防癌医疗险、小额医疗险。
意外险(保非疾病导致的生和死,比如被车撞了,狗带了就赔钱,没带就报销医疗费。但如果是因癌症等疾病引起的,那带不带都不赔)。
课外小姿势
团险
公司团险不是一个具体的险种,而是一种承保方式,我们平常办商保都是个人给个人买,团险则是一个团体给它的成员统一购买。
像有些公司 HR 招人时喊的「六险一金」,多的那个险就一般是商业团险,具体险种一般是意外险、医疗险,成本大概是 100 块/人年。「我买了保险」
重疾险的理赔动不动就是几十万,所以审核会很严格,会查你的诊断报告、病例书等,所以在看一些你不知道是什么病的时候,记得提醒医生:「我买了保险!」
然后有经验的医生都能 get 到,病例就尽量不会写影响理赔的内容了。
自由职业怎么交社保
挂在朋友或专门的公司去正常交职工五险一金,但这个有法律风险,不提倡;
在当地社保局以灵活就业人员身份,去申请缴纳职工医保和养老保险;
在户口所在地的社保局交居民医疗保险和居民养老保险。
社会保险有什么用?
养老保险
退休后发养老金。
工伤保险
因公受伤时,报销医疗费。
失业保险
职工被辞退后无业,或农村户口辞职后无业时,可以领取失业保险金。
生育保险
产妇在生育前后可以领取生育津贴、报销检查费、接生费、手术费等费用。
职工医疗保险、少儿保险、新农合、城镇居民医疗保险
看病时报销医疗费。
注意
凡是报销类的社保,要求治疗项目和药物必须在国家医保目录内,才可以报销。简称社保范围内用药。范围外的,不予报销。
国家医保目录见链接:国家医保局、人力资源社会保障部印发2019年国家医保谈判准入药品名单
有人就问了,那我记不住怎么办?
那就在问诊时对医生说一句:「医生你好,麻烦尽量开社保范围内用药哈~」。
要是医生说他也记不住,那你就得好好寻思一下你找的是什么医生了。
商业保险有什么用?
寿险
寿险·分类
寿险按保障期限,可以分为定期寿险和终身寿险。定寿便宜,预算有限就先买来用着;终身寿险贵,适合预算足,想留笔钱给子女,及「我不管!反正我花了钱就要有得赔!」的人。
寿险·赔付条件
那很明显啦,寿险是自己挂了,给家属拿钱的。
寿险·适合人群
- 家庭支柱
- 成年的独生子女
比如一家老小靠着张三吃饭,但张三突然挂了,有寿险,那家里人就有几十万赔偿傍身;
没赔偿,那家里人就要守着没还完的房贷吃土了。还有像我这种单身狗,很怕哪天突然狗带了,我妈没人照顾,所以我就给自己买了份保到 60 岁的定寿。
寿险·常见坑
小孩子没必要买寿险
给孩子买保险,是为了在孩子生病时有钱治。但寿险是人没了才能拿的,孩子都没了要这钱做什么?所以每次看到有些代理人逮着朋友刚生孩子就让买寿险,我!就!很!烦!
重疾险
大部分人说的大病保险,就是重疾险和百万医疗险(下详)。
重疾险·分类
按保障期限,可以分为定期重疾险和终身重疾险,定期重疾险比终身重疾险便宜很多,男性 20 岁买 50 万保额,保到 60 岁只要两千左右,保到 70 岁是三四千,保终身要七八千。但我国男性平均寿命 70 岁,女性 73……
按赔付条件,可以分为消费型重疾险和返还型重疾险。返还型重疾险是个坑,坑到有部分保司把「返还」给打成了敏感词,让我想批判都只能叫做「那个保险」,搞得像搞黄色一样。
重疾险·赔付条件
确诊即赔(部分疾病需达到合同约定条件),提前给付。
被保人一旦确诊保单约定的某种疾病,或达到合同约定条件,就提前赔付相应保额。这段话有点长,所以很多代理人图省事(或本身就是坏),省略了「达到合同约定条件」,简写为「确诊即赔」,但这是不规范的,所以就惹出了很多麻烦!
首先,普通人、临床医学、保险医学,这三者对「重疾」的定义是不一样的。
保险里的重疾是针对那些病情严重、治疗花费巨大、不易治愈的疾病。像心脏支架手术。人老了或太胖后,心脏血管就会硬化堵塞,管道变窄,这时候就可以在血管切个口子,放个支架进去,把血管撑大来,让它能正常工作。是物理+精神双重意义上的「开心」~
- 普通人:都要动到心脏了,常威你还说不是重疾?
- 临床医学:全麻都不用,局部麻醉就可以做,不算小手术,要经验丰富的医生才能做,但也不算什么大 case;
- 保险医学:国产支架 8000 块,进口支架 1 万块,手术完就可以下床,1 天就能出院,1 周就能生活自理。要是这样都能拿 50 万重疾理赔,那患癌症的不要面子的啊?!
再举个被最多人 diss「苛刻的急性心肌梗塞」,这是一个标准的急性心肌梗塞的重疾条款定义。
煎蛋保险小课堂
客户:医生都说我是急性心肌梗塞咯!合同里也说了保急性心肌梗塞的啊,为什么你不赔?!
理赔专员:先生您好,合同里有说明急性心肌梗塞要满足至少 3 个条件才算重疾,才可以赔的。
客户:医生说了不算,你们说才算?你们这是要重新定义急性心肌梗塞吗?
理赔专员:先生,我们合同里有规……
客户:保险都是大屁眼子!
理赔专员:……(屁眼子好累)
很多代理人在解释时,都只会复读「这是合同规定的」。但规定了什么,难道我们就不认字吗?
换我听了这种解释,我也会觉得保险是大屁眼子,但是为什么会要这样规定呢?这里借鉴一个车险里的玻璃险来参考,车的挡风玻璃出现轻微裂痕但又不影响正常使用时,为了避免车主拿到理赔后不更换玻璃,甚至在裂痕扩大后二次申请赔偿,所以会和车主协商,对玻璃进行扩损,用小锤锤砸到玻璃确保用不了,才能理赔。
回到重疾定义也是一样的,就算是感冒也分轻感冒和重感冒、流感致死,重疾也是需要确定这个病到达了「重」的程度才能按重疾理赔。
我们再回顾一下知识要点:保险里的重疾是针对那些病情严重、治疗花费巨大、不易治愈的疾病,都没到那么严重呢,保险公司赔的话也很委屈,而且 25 种重大疾病的重疾定义是由国家银保监会统一规定的,保险公司动不了手脚。
重疾险·适合人群
除了老人外的人。
重疾险的价格是越年轻买就越便宜:0 岁小宝宝买定期重疾的抄底价是 500 左右/年。60 岁大宝宝买,就要奔近 10000 元/年去了,交的钱和赔的钱都要持平了。
另外重疾险对被保人的健康状况有要求,像高血压、有肺结节的人群很难投保,或者需要加费,甚至直接被拒保。因此买到了重疾险的人,就相当于获得了保险公司的「检疫合格认证」:此人身体 OK,请大家放心食用。
但对于那种什么「能买保险代表你有福气」的论调……我通常会回一句「对呀~能吃屎还代表您牙口好呢」。
医疗险
医疗险·分类
医疗险常见的有百万医疗险、防癌医疗险和小额医疗险。
百万医疗险
300+/年,是为治大病用的,不管是因为意外、癌症或其他疾病原因都可以报销(违法犯罪的除外!),通常有 1 万免赔额,所以基本也就住院才能用得到了,额度最高可以报销上百万。
防癌医疗险
300~1000/年,是百万医疗险的精简版,只保因癌症导致的治疗,是专门给买不了百万医疗险提供的备胎。
小额医疗险
500~600/年,是日常看小病用的,免赔额从零到几百不等,额度通常在两三万内,是百万医疗险的补充。
医疗险·赔付条件
医疗险都是报销型,花多少,报多少。
这里要注意一点:医疗险通常会要求社保范围内用药。部分产品可以报销非社保用药、门诊治疗,但价格也会相对比较贵,可以按需选择。
很多人搞不懂医疗险和重疾险的区别,这里简单类比一下:
百万医疗险:报销型,需要治疗完成后拿着票据去报销。像个会计小姐姐:「发生医疗支出了?OK,拿发票来,我报销。」
重疾险:提前给付型,确诊即赔(部分需要达到理赔条件)。像个土豪朋友:「发生重大疾病了?OK,给个账号,我给你打钱」
百万医疗险通常搭配重疾险使用,如果实在要 2 选 1 的话,我会先选百万医疗险。
医疗险·适合人群
百万医疗险:适合10岁以上所有能买的人买
百万医疗险是最体现保险本质的险种,但也是对被保人健康要求最严格的险种,老人、三高等人群通常是买不了的了。
不管是男是女,是20岁还是40岁,一年200多,就能换到最高100万的医疗费用报销。
但8岁以下的宝宝理赔率比较高,会受到针对,价格会跳到900多。这时候就不推荐给孩子配医疗险了,可以换成惠民保+意外险。防癌医疗险:适合买不了百万医疗险的老人和三高患者买
防癌险对健康要求会比百万医疗险宽松,所以老人和三高可以退而求其次,买一份防癌险,来保障最高发的癌症疾病。
小额医疗险:不推荐购买
小额医疗险使用的频率高,理赔率就高,所以保费也跟着贵,贵还是小事,最怕的是医疗险理赔多了,会被保险公司认为这人健康有问题,影响到后面买保险和理赔,所以综合考虑,不推荐购买。
意外险
意外险·分类
按保障范围可以分为综合意外险和交通工具意外险、猝死险等专项意外险。
部分意外险只保身故和全残,不保意外伤害医疗。这种一般还是长期型意外险,又贵又坑。还有部分打着综合意外险名号的产品,却只保交通工具引起的意外,像落水、被狗咬这种就不赔,这点需要看清楚。
意外险·理赔条件
意外险的理赔有一个基础定义:所受到的伤害必须是外来的、突发的、非本意的、非疾病的,才会赔。
比如吃鱼时被刺卡喉了,这叫外来的突发的,可以赔。但坐姿不端导致腰椎间盘突出,这种就不是外来的,还属于疾病,不赔。张三出门被车撞了,这叫非本意的,可以赔。但要是张三看到车来了赶紧撞上去,没撞伤的叫碰瓷,撞伤了的叫骗保,不但不赔还要接受来自警察叔叔的惩罚。
意外险·适合人群
普通人
普通人买意外险主要看意外伤害医疗额度,买的时候需要注意3大点:是否可以用于门诊医疗;是否可以报销社保范围外医疗;如果有住院津贴的话,那就更是加分项。
老人、孩子
老人腿脚不便,容易摔碰,小孩子太好动,而且容易发生烫伤、鱼刺卡喉这种小意外,所以这两者都推荐购买。
空中飞人、出差达人
说起来让人心塞,但这两类人要注意看身故/伤残额度……
伤残这里有个坑,伤残等级最低是 10 级,最高是 1 级,有些意外险只赔全残(1、2级),不赔伤残。
交通工具赔付这里也有个要注意的点:有些意外险只赔公共交通工具,像高铁、公交、地铁、出租车。但是网约车这种私人运营的交通工具,到底属不属于「公共」,法律没定性,所以部分保司也没更新,容易引起纠纷,买的时候多问一嘴。
]]>https://www.aemon.top/2021/09/22/whatisthisthing-15/ 2021-09-22T03:00:20.000Z -2023-10-11T06:10:54.021Z +2023-12-18T08:33:13.330Z What is this thing 是 reddit 上的一个社区(community),上面时不时会有人发一些没见过的玩意来提问。 @@ -222,7 +222,7 @@一起来看看吧!
窗上的怪圈
Q: These strange dust patterns keep showing up on screens of my apartment windows.
这些奇怪的灰尘图案不断出现在我公寓窗户的窗纱上。
A: Previous tenant smoked w a fan in the window. I’ve seen this so many times turning over apartments for work.
That mark is going to keep coming back until you wash the entire window screen.
I suggest removing the screen and washing it in the tub with a good dish soap.前任房客在窗户上用风扇吸烟。我为工作而经常换公寓,见过很多次这样的情况。
在你清洗整个窗纱之前,这个印记会不断出现。
我建议把窗纱拆下来,在浴缸里用好的洗洁精清洗。
OK 绷
Q: This was in my bandaid wrapper instead of a bandaid. Almost rubbery. Solid construction, not sticky, same on opposite side.
这是在我的创可贴包装中发现的,而不是创可贴。几乎像橡胶一样。结构牢固,没有粘性,反面也一样。
A: Looks like a manufacturing error where that may be the start, or end, of a production run. Either that or a golden ticket to see Billy Blanca at the band aid factory.
看起来是一个制造错误,这可能是生产的开始,或结束。要么就是一张去创可贴工厂见比利·布兰卡的金票。
金属圆柱体
Q: I saw this in a theater, what it this piece of metal ? (8 years questioning myself. Please help)
我在剧院里看到这个,这块金属是什么?(一个困扰我 8 年的问题,请帮帮我)
A: Solved ! It seems it’s a light but school didn’t pay for this option.
解决了! 这似乎是一盏灯,但这是选配的,学校没有买。
小便池
Q: What is this toilet’s purpose? No additional details available.
这个厕所的用途是什么?没有其他细节。
A urinal for women: https://deabath.com/product/1950s-vintage-standard-female-urinal-prop-rental/
Here we have a 1950’s Standard “Sanistand” Female urinal. Strangely enough, these weren’t terribly popular, but Standard did make them between the mid-1950’s up through the early 1960’s.
女用小便池:https://deabath.com/product/1950s-vintage-standard-female-urinal-prop-rental/
我们这里有一个1950年代的标准「Sanistand」女式小便池。奇怪的是,这些小便池并不十分流行,但标准公司在 20 世纪 50 年代中期至 60 年代初期间确实生产了这些小便池。
紧急
Q: Large, white container found on flatbed on the highway in Midwest US. Says “Urgent” on the label.
在美国中西部高速公路的平板车上发现的大型白色集装箱,标签上写着「紧急」。
A: It’s a shipping container for a General Electric CF34 Turbofan Engine, commonly fitted to Embraer and Bombardier Jets.
It’ll be urgent because there will be an Aircraft sat on the ground waiting for it (AOG).这是一个装着通用电气CF34涡轮风扇发动机的运输集装箱,通常安装在巴西航空工业公司和庞巴迪飞机上。
它很紧急,因为会有一架飞机在地面上等着它(AOG)。
(译者注:AOG 应该是 Aircraft on ground,表示问题严重到足以阻止飞机飞行。)
混凝土箱
Q: Large concrete containers with slab lid. Completely enclosed. Being buried together. Hundreds.
大型混凝土容器,带板状盖子。完全封闭的。被埋在一起。数以百计。
A: Spread out along a roadway makes me think they’re used for storm water retention and they will be drilled for pipe connections once they are buried
沿着道路铺开,让我觉得它们是用来保留雨水的,一旦被掩埋,它们将被钻进管道连接。
https://www.reddit.com/r/whatisthisthing/comments/pf8foh/large_concrete_containers_with_slab_lid/
白色团块
Q: White blob in a bottled vitamin water
瓶装维生素水中的白色团块。
A: Looks like a fungal colony to me. Source: microbiologist.
对我来说看起来像一个真菌菌落。 来源:微生物学家。
https://www.reddit.com/r/whatisthisthing/comments/pif0ye/white_blob_in_a_bottled_vitamin_water/
]]>https://www.aemon.top/2021/08/21/whatisthisthing-14/ 2021-08-21T05:33:31.000Z -2023-10-11T06:10:53.985Z +2023-12-18T08:33:13.298Z What is this thing 是 reddit 上的一个社区(community),上面时不时会有人发一些没见过的玩意来提问。 @@ -247,7 +247,7 @@一起来看看吧!
保鲜膜
Q: What is this cling film type stuff on Tom Daley’s arms, and what’s it for?
汤姆·戴利手臂上的这种粘膜式的东西是什么,它有什么用?
A: Cling filmed ice packs.
保鲜膜冰袋。
液体背心
Q: What are these vest with liquid pouches worn by olympic sailors for? Worn by Dutch sailors Bekkering and Duetz during a post race interview.
奥运帆船运动员穿的这种带液体袋的背心是干什么用的?荷兰运动员贝克林和杜茨在赛后接受采访时穿的衣服。
A: They are cooling vests.
它们是冷却背心。
九个钉子
Q: What are these pegs at the end of my bed used for? We thought they were for shoes, but there are 9 of them.
我床尾的这些钉子是干什么用的?我们以为是放鞋的,但其实有 9 个。
A: Anchor points for rope play?
玩绳子时候用的锚点?
笼子
Q: Just bought a lake home and found three of these in the water next to the pier. Criss-Cross stack of corrugated pipes wrapped in plastic netting all weight down by bricks.
刚买了一个湖边的房子,在码头旁边的水里发现了三个这样的东西。纵横交错的波纹管堆叠,用塑料网包裹,都是用砖头压住的。
A: It is a fish crib. It is a device to give baby fish a place to hide from the big boys. They also make for some good fishing as the lunckers will hang around hoping for a few little ones to come out.
它是一个鱼床。它是一种给小鱼提供躲避大鱼的地方的装置。它们也是一好的捕鱼方式,因为小鱼会在周围徘徊,希望有几个小鱼出来。
茶棍
Q: Wife ordered rolls of thank you stickers on ebay. This came instead. Already called for return. What are they? Green cylindrical rolls of what smell like green tea? I’m a big tea drinker and that’s what I think.
妻子在 eBay 上订购了几卷感谢贴纸。结果却送来了这个。已经打电话要求退货了。这些是什么?绿色的圆柱形卷筒,闻起来像绿茶?作为一个喜欢喝茶的人,我是这么想的。
A: They kind of look like plant fertilizer sticks
它们看起来有点像植物肥料棒。
可口可乐
Q: What is this thing on the bar counter at work? It is made of metal and hollow.
工作的酒吧柜台上的这个东西是什么?它是由金属制成的,是空心的。
A: It’s an old fashioned countertop bottle opener, I’ve seen loads of these in old pubs. The bottles are opened from the other side.
这是一种老式的台面开瓶器,我在老酒馆里见过很多这种开瓶器。瓶子从另一侧打开。
量子芯片
Q: New bra I bought online has a “microchip” inside of it. Looks pretty fake to me but can’t pinpoint what is it exactly and why such lengths to have it inside the hems like this.
我在网上买的新文胸里面有一个「微芯片」。在我看来很假,但不知道它到底是什么,也不知道为什么要把它放在这样的褶边里。
A: Google says the Chinese text says ‘quantum computer’. I think this is just a marketing gag, without function.
谷歌说上面的中文是「量子芯片」。我认为这只是一个营销噱头,没有任何作用。
]]>https://www.aemon.top/2021/08/03/How-to-hack-your-Tesla/ 2021-08-03T11:33:42.000Z -2023-10-11T06:10:53.517Z +2023-12-18T08:33:12.902Z 正题之前,先说一些半题外话: @@ -274,7 +274,7 @@提车到现在已经三个多月了,我对 Model 3 的感受就是好开。不过我是基本上没开过油车的。所以我不能说比油车好开多少,毕竟我驾照也是五年前学的,我已经忘了教练车开起来是什么感觉了。
买车的时候,正是刹车问题最沸沸扬扬的时候,不被影响是不可能的,不过还是抱着一颗支持人类太空计划的心选择了特斯拉(SpaceX 天下第一)。那时候也要很多朋友半调侃的提起这个问题,我都是笑着说:「是的啊,刹车根本没用,每次都是开门直接脚刹」。你要是问我有没有遇到刹车失灵的情况,说实话,到目前为止我都没踩过几脚刹车,单踏板模式太爽了。
Tesla App
特斯拉有个官方的 App,下载后登录 Tesla 账号后就可以对车子进行控制,例如:空调、车窗、前后备箱、闪灯、鸣笛等等,甚至可以控制车子前进后退(极其缓慢的),方便在超挤的车位中进出。
虽然这个 APP 控制功能强大,但是可以查看的信息却是少得可怜,只能查看车辆的当前位置、当前电量、当前温度、总里程。基本上再没有其他信息了。
但其实这些信息,车辆都会进行记录,只是 APP 没有展示出来。特斯拉方面已经设计了一整套完善的车机接口,APP 只是调取了部分接口而已。你问我为什么特斯拉不开放?我也不知道,毕竟它做得到车内安装了 14 个喇叭却只启用 8 个;后排座椅硬件上支持座椅加热,却不开放后排座椅加热的开关。
TeslaMate
国外已经有大神通过反向特斯拉的 App,取得了很多尚未开放的接口,我要介绍的就是其中一个叫做 TeslaMate 的项目。
它做到了通过调取 Tesla 的接口来获取更多的数据,并将其整合成图表,以实现例如:终身驾驶地图、驾驶效率报告、充电报告、电池退化统计等等等等。
其中最吸引我的就是终身驾驶地图这一功能,苹果手机的相册拥有地图功能,可以通过照片的拍摄地点来记录你所到过的地方,所以我每到一个新地方就会拍些照片,就好像游戏中打卡一样。我是那种喜欢记录过去的人,这功能简直直击我的心坎。不多说,就但这一个功能,我也要把它搭起来。
搭建
搭在哪
TeslaMate 的文档是这么说的:
A Machine that’s always on, so TeslaMate can continually fetch data.
一台永远在线的机器,这样 TeslaMate 才能不断得获取数据。
那么现在我就有几个选择:
- 自己的台式电脑;
- 云服务器;
- 树莓派。
开始是想安装在台式机上的,但是自从我上次由于 24 小时开机挖 ETH 导致电脑无故蓝屏后,我就不太敢长时间让它开机了。
其次是云服务器,这其实是最好的选择,永远在线(前提是💰足够),并且支持外网访问,这样你在世界各地都能看到自己的车辆数据,那没选择它的原因呢?就是因为💰不够。
最后就是树莓派了,选它的原因就是不想再看它吃灰了。而且之后配合公网 IP,以及 DDNS,也能实现和云服务器一样的效果。比起云服务器有个优点是,数据都是存在我自己的设备上,相对来说安全一些。所以就决定部署在树莓派上了。
怎么搭
首先需要在树莓派上安装 Docker,当然如果部署在台式电脑或者云服务器上,也都是要安装 Docker 的。
Docker 在树莓派上的安装步骤如下:
安装 Docker
1
curl -sSL https://get.docker.com | sh
为
pi
用户添加权限以运行 Docker 命令1
sudo usermod -aG docker pi
之后重启一下,或者使用 sudo 来运行下一步的命令。
测试 Docker 是否安装成功
1
docker run hello-world
十分重要!安装正确的依赖项
1
sudo apt-get install -y libffi-dev libssl-dev
1
sudo apt-get install -y python3 python3-pip
1
sudo apt-get remove python-configparser
-
1
sudo pip3 -v install docker-compose
这样,准备工作就完成了。接下来开始安装 TeslaMate:
新建一个名为
docker-compose.yml
的文件,内容如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57version: "3"
services:
teslamate:
image: teslamate/teslamate:latest
restart: always
environment:
- DATABASE_USER=teslamate
- DATABASE_PASS=secret
- DATABASE_NAME=teslamate
- DATABASE_HOST=database
- MQTT_HOST=mosquitto
ports:
- 4000:4000
volumes:
- ./import:/opt/app/import
cap_drop:
- all
database:
image: postgres:13
restart: always
environment:
- POSTGRES_USER=teslamate
- POSTGRES_PASSWORD=secret
- POSTGRES_DB=teslamate
volumes:
- teslamate-db:/var/lib/postgresql/data
grafana:
image: teslamate/grafana:latest
restart: always
environment:
- DATABASE_USER=teslamate
- DATABASE_PASS=secret
- DATABASE_NAME=teslamate
- DATABASE_HOST=database
ports:
- 3000:3000
volumes:
- teslamate-grafana-data:/var/lib/grafana
mosquitto:
image: eclipse-mosquitto:2
restart: always
command: mosquitto -c /mosquitto-no-auth.conf
ports:
- 1883:1883
volumes:
- mosquitto-conf:/mosquitto/config
- mosquitto-data:/mosquitto/data
volumes:
teslamate-db:
teslamate-grafana-data:
mosquitto-conf:
mosquitto-data:使用
docker-compose up
命令启动 docker 容器,如果要在后台运行,可以添加-d
参数:1
docker-compose up -d
好了,至此,属于你自己的 TeslaMate 已经搭建完成了。没错,由于 docker 的存在,搭建的过程还是很简单的。
使用
在部署完成后,我们可以访问:http://192.168.2.121:4000 这个网址。
这边的 IP 地址是我的树莓派的局域网 IP 地址,如果你使用的是云服务器,那就替换成云服务器的公网 IP 地址,并且要去控制台的安全策略组开放 4000 端口以及下面的 3000 端口。如果你是在台式电脑上部署的,那和树莓派一样,替换成你的台式机局域网 IP 地址就行了,或者可以使用
127.0.0.1
这个 IP 来访问。进入后,使用你的特斯拉账号来进行登录,不出意外的话,你应该可以看到如下页面:
之后,你就可以访问 http://192.168.2.121:3000 来访问 Grafana 仪表盘,Grafana 是一个跨平台、开源的数据可视化网络应用程序平台。它可以将 TeslaMate 中数据库的数据通过可视化图表的方式展示出来。
驾驶细节(Drive Details)
例如你可以看到你每次行程的驾驶细节(Drive Details)
驾驶统计(Drive Stats)
你的总历程数,你的总驾驶次数,你的总耗电量,你的预计每月里程,预计每年里程
驾驶记录(Drives)
你的每一段行程的记录:起始位置,耗时,里程,开始电量,结束电量,温度,平均速度,耗电量:
充电统计(Charging Stats)
可以查看你充电的统计(Charging Stats),例如每次充电的时间,是交流还是直流,你在各个地点充电的统计信息
充电记录(Charges)
你的每一次充电的记录:时间,充电位置,充电时长,话费,增加的里程
亏电记录(Vampire Drain)
每次驻车时的亏电记录
更新记录(Updates)
每次系统更新的记录:更新开始时间,更新结束时间,系统版本
预计里程(Projected Range)
你的车辆电池预计里程和总里程数以及时间的关系:
最后
需要注意几点:
每一步操作前,务必知道自己在做什么;
上面提供的安装方法,仅仅当在自己的家庭网络中部署时才推荐,如果想要将其暴露在互联网上(例如我提到的安装在云服务器上),请查看官方的高级指南;
如果希望长久的使用,还是需要定时备份,备份的方法,请查看这里;
此项目只能展示你部署之后车辆的信息,你部署之前的信息是无法获取到的;
所有因为此文章,进行操作并导致车辆变砖的情况,本人概不负责;请理性看待这一篇文章,这并不是一篇教授你如何入侵的教程,学会了这些你也不能启停其他特斯拉车主的车,也不能使他们的刹车失灵。
参考
]]>https://www.aemon.top/2021/07/22/whatisthisthing-13/ 2021-07-22T05:18:55.000Z -2023-10-11T06:10:53.945Z +2023-12-18T08:33:13.262Z What is this thing 是 reddit 上的一个社区(community),上面时不时会有人发一些没见过的玩意来提问。 @@ -299,7 +299,7 @@一起来看看吧!
大铁球
Q: Found this digging around the mouth of a major Caribbean harbor (on my property). Did this come out of a cannon?
在加勒比海的一个主要港口(在我的地皮上)附近挖掘出了这个东西。这是从大炮里射出来的吗?
A: 100% a cannonball.
100% 是个炮弹。
泡沫
Q: What is this bubbling out of the ground in my yard? Purplish metallic gooey inside. Keeps bubbling even if I dig a thin layer down with a shovel.
我院子里的地面上冒出的是什么东西?里面有紫红色的金属粘稠物。即使我用铲子挖下薄薄的一层,也会一直冒泡。
A: Looks kind of like expanding foam insulation? There is a purple kind that is the same shade. Is it dripping from a roof above?
看起来有点像膨胀泡沫绝缘材料?有一种紫色的,也是同样的颜色。它是从上面的屋顶滴下来的吗?
OP: No structure within 20 feet. It is quite literally bubbling up from the ground
原题主:20 英尺内没有建筑。它确实是从地面上冒出来的。
A: Do you see any large trucks in the vicinity that could be pumping something? It sure looks like injected foam in the way it gets a toughened skin around a soft interior.
Like this, but on a grander scale.你是否看到附近有任何大型卡车,可能在抽水?从它在柔软的内部周围形成坚硬的表皮的方式来看,它看起来确实像注入的泡沫。
像这样,但规模更大。
OP: The construction here is mainly finished except for a retention pond down the street. Haven’t noticed any houses nearby getting work done on the ground or having something pumped.
原题主:除了街边的一个蓄水池,这里的建筑主要已经完工。我没有注意到附近有任何房子在地面上施工,或者有什么东西被抽走了。
A: Well, due to the purple color and behavior of it bubbling up from the ground my next guess is that a contractor disposed of a large cannister of spray foam insulation into the fill that made up your lawn. The recent rains caused settling which caused the cannister to get punctured.
This is certainly possible. I have found all kinds of shit in construction fill in housing developments. Disposed of concrete forms, lumber scraps, paint cans, spray cans, beer bottles/cans etc…
Edit: OP you must dig to China to reveal the source of the mystery!嗯,由于它的紫色和从地面冒出的行为,我的进一步猜测是,一个承包商将一大罐喷涂泡沫绝缘材料扔进了构成你的草坪的填料中。最近的降雨造成了沉降,导致罐子被刺破。
这当然是可能的。我曾在住宅区的建筑填料中发现各种垃圾。处理过的混凝土模板、木材废料、油漆罐、喷雾罐、啤酒瓶/罐等等。
编辑:题主你必须挖到中国去,才能揭开神秘的源头!
饼干
Q: What are these strands/threads coming out of my crackers?
从我的饼干里出来的这些丝线/线是什么?
A: I work in food manufacturing. This is 100% frayed edges of the conveyors that take the crackers through the sheeting process before being transferred to the oven band.
Contact the manufacturer with the codes and date on the box. It will help them in their investigation, and you will most likely get some free stuff.我从事于食品制造业工作。这 100% 是传送带的边缘磨损产物,这些传送带将饼干在传送到烤炉带之前通过片状加工。
请与制造商联系,提供盒子上的代码和日期。这将有助于他们的调查,而且你很可能会得到一些免费的奖励。
ATM
Q: What are these 2 metal studs on the side of this atm?
这个 ATM 机侧面的两个金属螺柱是什么?
A: Pretty sure they put those on there to stop this from happening.
很明显,他们把这些放在那里是为了阻止这种情况发生。
金属架子
Q: Found in our new house on the top landing bannister rail. Seems like it’s meant to hold something but not sure what it is?
在我们的新房子里顶楼的栏杆上发现的。看起来它是用来装东西的,但不知道是什么东西?
A: Appears to be a 3M Command hair dryer holder. Though given the location, perhaps previous owners were using it for something else (what I have no idea)
看起来是一个 3M 公司的吹风机支架。但是考虑到在这个位置,也许以前的主人用它来做别的事情(我不知道是什么)。
https://www.reddit.com/r/whatisthisthing/comments/ofigao/found_in_our_new_house_on_the_top_landing/
绒毛
Q: Found inside a musical instrument, it is the size of a big grape but there aren’t any holes big enough for it to have fallen inside.
在一个乐器里面发现的,它有一个大葡萄那么大,但没有任何足够大的孔洞让它掉到里面。
A: They have these in violins. They call them the mouse. It’s just years and years of fluff and detritus. If they get repaired the repairer will put ‘the mouse’ back into the violin for good luck. It could be something like that.
小提琴里也有。他们称之为「老鼠」。这只是年复一年的绒毛和碎屑。如果它们被修理好了,修理者会把「老鼠」放回小提琴里,以获得好运气。这可能是类似的东西。
紫烟
Q: I know this isnt exactly an object but was hoping you guys could still help me out. What is this purple smoke?
我知道这称不上是一个物体,但希望你们仍然可以帮助我。这个紫烟是什么?
A: If it’s a trash-to-ethanol refinery/plant there’s a good chance they got a load of iodine-rich hospital waste.
如果这是一家将垃圾转化为乙醇的炼油厂,他们很有可能得到了大量富含碘的医院废物。
]]>https://www.aemon.top/2021/06/30/emoji-%E8%83%8C%E5%90%8E%E7%9A%84%E6%95%85%E4%BA%8B/ 2021-06-30T09:23:19.000Z -2023-10-11T06:10:53.713Z +2023-12-18T08:33:13.066Z 偶然间看到的一篇文章,讲了三只🐒的故事,突发奇想想要写这么篇文章。 @@ -322,7 +322,7 @@🙈🙉🙊
这三只🐵,应该是常用的 emoji 表情,可是你知道他们背后的意思么?
首先这三个 emoji 表情分别叫做🙈(非礼勿视),🙉(非礼勿听),🙊(非礼勿言)。它们被叫做「三猿」,又叫做「三不猴」,是指三个分别用双手遮住眼睛、耳朵与嘴巴的猴子雕像,而在世界其他地方则被称为 Three wise monkeys,显示了名为「不见、不闻、不言」(日语:見ざる、聞かざる、言わざる)之睿智的三个秘密。
各个国家都有关于三猿的来源:
🇨🇳,出自《论语》:「非礼勿视、非礼勿听、非礼勿言、非礼勿动」;
🇰🇵,朝鲜半岛上对婚前女性告诫说:「见到了也当作没看到,听到了也要当作没听到,想要说也不能说。」;
🇮🇳:印度的圣雄甘地经常以三猿之像来传达「不见恶事,不听恶词,不说恶言」的教导;
🇺🇸:美国的教会学校等处也用三猿来教导学生不要看猥亵的事物,不要听与性相关的谣传,不要说虚假与下流的言词;
🇯🇵:日文「见ざる、闻かざる、言わざる」为日本8世纪的腔调,是用来翻译天台宗的“不见、不闻、不言”的传说。
下面是一些关于三猿的雕刻作品:
另外,游戏《只狼》中,在金刚山仙峰寺幻境中的见闻言三猿,也就是这三只猴子。一般的 Boss 需要用刀剑正面对决,而这一关的目的是为了抓到这三个猿猴。见猿的眼神很敏锐,远远看到到主角的存在就会迅速逃跑;闻猿的耳朵很灵敏,远远听到主角的脚步声就会迅速逃跑;言猿的脖子上挂着一个铜锣,发现玩家后会敲锣发出声响让周围的猴子都逃掉。
🔰
这是个用得比较少的 emoji,🇨🇳基本上见不到,我唯一见到的一次是微商拿它做文字的点缀符号。
这其实是🇯🇵的新手上路标志。就和🇨🇳的黄色实习标志一样,在🇯🇵叫做初心運転者標識(しょしんうんてんしゃひょうしき)。
根据🇯🇵《道路交通法》第71条之五的第一项规定,驾驶人在初取得“第一类普通汽车”(普通自動車一種)的驾驶执照之后,必需在车辆前后高度40至120公分的范围内,贴上此标志,至少一年。未贴此标志者若遭查获,会遭违规记点的处分。此规定的目的在于保护道路驾驶经验尚不足的新手驾驶及其周围的车辆,降低交通事故。但并未明文规定一年后是否仍可贴此标志。
🕴
「浮在地面上的西装男」,一个西装革履,戴着帽子和墨镜,但是却浮在半空,在地面投射阴影,看似飘浮在空中的男士。他是谁?鬼怪?外星人?神秘来客?这其实是参考 The Specials 乐队 2014 年的歌曲 Ghost Town 封面上的人形惊叹号,一般用于表示人形幽灵或有特异功能的人。
👨🎤
男歌手,在设计的 emoji 中,👨🎤的原型是「史上最伟大摇滚艺人」——英国 歌手大卫·鲍伊(David Bowie)。
这富有个性的面部彩绘造型来源于他的第六张专辑 《Aladdin Sane》。
🌊
浪,这也是一个比较常见 emoji。它的来源就是日本浮世绘画家葛饰北斋的著名木刻版画——《神奈川冲浪里》。
]]>https://www.aemon.top/2021/06/22/whatisthisthing-12/ 2021-06-22T02:08:46.000Z -2023-10-11T06:10:53.877Z +2023-12-18T08:33:13.206Z What is this thing 是 reddit 上的一个社区(community),上面时不时会有人发一些没见过的玩意来提问。 @@ -347,7 +347,7 @@一起来看看吧!
壳
Q: Found this glass like tube “shell” washed up on a beach in North Caroline, any idea what it is?
这个像玻璃管一样的「贝壳」被冲上了卡洛琳北部的海滩,你知道这是什么吗?
A: Stingray teeth
赤魟的牙齿。
浮木
Q: Driftwood with metal plaque found on the Mississippi river bank.
在密西西比河岸发现的带金属牌的浮木。
A: Looks like a piece from a bedhead. I think the sheath of wheat is a xtian symbol about reaping what you sow and of death and renewal. Something along those lines. Wheat has been used on double (marital) beds for centuries, including the bedhead and upright posts. They’re also used on chairs in a literal or a stylised way and represent prosperity in relation to the ‘reap what you sow’ type of symbolism.
看起来像是床头的一部分。我认为麦子的鞘是一个关于一分耕耘一分收获,死亡和重生的基督教象征。差不多就是这些意思。几个世纪以来,小麦一直被用在双人床上,包括床头和立柱。它们也以字面或风格化的方式用在椅子上,并代表与「一分耕耘一分收获」类型的象征意义有关的繁荣。
https://www.reddit.com/r/whatisthisthing/comments/nyo0ok/driftwood_with_metal_plaque_found_on_the/
浴缸
Q: Full tub with deep front half. USA. Listing calls it a mailman tub. Google results in Rule 34.
一个前半部分很深的浴缸,位置是在美国。听说叫做邮递员浴缸,谷歌搜索结果会有色情内容。
A: Probably for washing your feet.
可能就是用来洗脚的。
A: I was thinking feet as well. After all, mailmen have sore feet.
我也在想应该是用来洗脚的,毕竟邮递员的脚很疼。
金属片
Q: Found these soft metal objects while metal detecting under a pier at low tide.
退潮时在码头下进行金属探测时发现了这些软金属片。
A: Saw a similar post a few weeks back and I don’t remember what religion but I’m pretty sure they’re good luck/prayer charms that are tossed in the water on purpose. They’re cheaply buyable and have no significance once they hit the water so you can keep them without upsetting anyone, but no, they aren’t ancient.
几周前看到一个类似的帖子,我不记得是什么宗教,但我很确定它们是故意扔到水里的好运或者祈祷符。它们很廉价,随随便便就能买到,而且一旦扔到水就没有任何意义,所以你可以留着它们而不用担心得罪其他人,但不,它们并不古老。
https://www.reddit.com/r/whatisthisthing/comments/nmlb5v/found_these_soft_metal_objects_while_metal/
STOP
Q: Variable stop sign in Illinois
伊利诺伊州的可变停车标志。
There wouldn’t be another road coming in at a shallow angle to the left of this, would there?
These are blinders, typically used so the sign can old be read from a narrow angle. They’re also called directional shields. You’ll see them on traffic lights a lot more often.
https://www.tapconet.com/product/blinder-for-stop-sign这条路的左边是不是还有另一条以很小的角度并入的路?
这些是遮罩,通常用于标识可以从一个狭窄的角度阅读。它们也被称为方向屏蔽。你会经常在交通灯上看到它们。
https://www.tapconet.com/product/blinder-for-stop-sign
https://www.reddit.com/r/whatisthisthing/comments/nw0ysg/variable_stop_sign_in_illinois/
小东西
Q: A small plastic and metal device, found in the card slot of an ATM
一种小型的塑料和金属装置,在自动取款机的卡槽中发现。
A: Looks like a Lebanese loop to me used in atm fraud, I won’t explain how just tell bank.
在我看来,这是一个用于 ATM 诈骗的黎巴嫩圈。 我不会说明这怎么用,你只需要告诉银行这件事就行了。
石头
Q: 6” Tall, 4” Wide, Feels Metal-ish, Found in the Colorado foothills.
6 英寸高,4 英寸宽,感觉像金属,发现于科罗拉多山麓。
Looks like an iron nodule. Natural concentration of iron.
See here https://sites.wustl.edu/meteoritesite/items/concretions/#:~:text=Hematite%20nodules%20are%20often%20formed,a%20wide%20variety%20of%20shapes.
P.S. I have a degree in geology
P.S. again. Went to sleep when this had like 7 likes. Thanks for the awards and I totally love this flocculation of geologists.
P.P.S. First Reddit gold!!! Thanks kind stranger!!看起来像铁结核。天然聚合的铁。
P.S. 我有地质学学位。
再一次 P.S. 当我睡觉的时候有 7 个赞,谢谢你们的支持,我很高兴出来那么多地质学家作答。
P.P.S. 第一次收到 Reddit gold!!!谢谢陌生人!
https://www.reddit.com/r/whatisthisthing/comments/nnesqq/6_tall_4_wide_feels_metalish_found_in_the/
]]>https://www.aemon.top/2021/06/20/a-puzzle-a-day/ 2021-06-20T06:44:31.000Z -2023-10-11T06:10:53.533Z +2023-12-18T08:33:12.914Z 在煎蛋上看到了这个 puzzle,立马上淘宝买了一份。有点难度,希望可以坚持打卡一年! @@ -370,7 +370,7 @@正文内容通过以下代码生成:
May
18th May
28th May
June
20th June
21st June
22nd June
23rd June
24th June
25th June
26th June
27th June
28th June
29th June
30th June
July
1st July
2nd July
3rd July
4th July
5th July
6th July
7th July
8th July
9th July
10th July
11th July
12th July
13th July
14th July
15th July
16th July
17th July
18th July
19th July
20th July
21st July
22nd July
23rd July
24th July
25th July
26th July
27th July
28th July
29th July
30th July
31th July
August
1st August
2nd August
3rd August
4th August
5th August
6th August
7th August
8th August
9th August
10th August
11th August
12th August
13th August
14th August
15th August
16th August
17th August
18th August
19th August
20th August
21st August
22nd August
23rd August
24th August
25th August
26th August
27th August
28th August
29th August
30th August
31th August
September
1st September
2nd September
3rd September
4th September
5th September
6th September
7th September
8th September
9th September
10th September
11th September
12th September
13th September
14th September
15th September
16th September
17th September
18th September
19th September
20th September
21st September
22nd September
23rd September
24th September
25th September
26th September
27th September
28th September
29th September
30th September
October
1st October
2nd October
3rd October
4th October
5th October
6th October
7th October
8th October
9th October
10th October
]]>https://www.aemon.top/2021/06/17/nvm-use-not-working/ 2021-06-17T03:47:14.000Z -2023-10-11T06:10:53.749Z +2023-12-18T08:33:13.098Z 问题 @@ -399,7 +399,7 @@今天启动项目的时候发现报错了,提示说 node-sass 的版本不适用当前版本的 node。node-sass 官网有一张表格,记录着 node-sass 和 node 的对应版本:
NodeJS Supported node-sass version Node Module Node 16 6.0+ 93 Node 15 5.0+ 88 Node 14 4.14+ 83 Node 13 4.13+, <5.0 79 Node 12 4.12+ 72 Node 11 4.10+, <5.0 67 Node 10 4.9+, <6.0 64 Node 8 4.5.3+, <5.0 57 Node <8 <5.0 <57 我使用的 node-sass 版本为:
1
"node-sass": "^4.12.0"
我记得我的 node 版本应该是
v14.16.0
,应该不会有问题啊。解决?
但是试了几次
npm run serve
,都是报错,于是我只好查看了一下我的 node 版本:1
2> node --version
v16.3.0v16.3.0
???我明明是
v14.16.0
啊,怎么变成v16.3.0
了?我想起前几天好像是用nvm
安装了一个当前最新的版本,可能那时候安装好没切换回来吧,于是我:1
2> nvm use v14.16.0
Now using node v14.16.0 (npm v7.15.1)大问题
ok!easy,于是我愉快的
npm run serve
,靠!怎么还是报错?我再次查看了一下我的 node 版本:
1
2> node --version
v16.3.0怎么没切过去?出了什么问题?
上网查了好多资料,大多数都让我卸载 nvm 和 node 重新安装的。但是我不想把我的环境搞得一团糟,所以我一直在搜索有没有其他的的解决方案。
终于我看到一个方案是:看看有没有安装除了 nvm 安装的其他 node。
于是:
1
which -a node
果然,除了 nvm 下的 node,还有 homebrew 也有个 node。之后我又确认了一下:
1
brew list
确实,列表中有 node。之后我看了我的
history
,因为我记得我没有用 homebrew 安装过 node,翻了一遍,确实没有,虽然很好奇,但是我还是准备动手删了它!1
brew uninstall node
但是却提示:
Error: Refusing to uninstall /opt/homebrew/Cellar/node/16.3.0
because it is required by yarn, which is currently installed.yarn?原来是你!我终于想到昨天下午为了搭建一个新项目的环境,我安装了 yarn,由于它是依赖于 node 的,所以 homebrew 顺便帮我安装了 node。知道了原因,接下来就好办了。
解决
首先卸载 yarn:
1
brew uninstall yarn
然后卸载 node:
1
brew uninstall node
之后再重新安装 yarn 并加上忽略依赖项参数:
1
brew install yarn --ignore-dependencies
至此,nvm 和 yarn 终于能和谐共处啦🎉!
参考
]]>https://www.aemon.top/2021/05/22/whatisthisthing-11/ 2021-05-22T02:28:18.000Z -2023-10-11T06:10:53.801Z +2023-12-18T08:33:13.142Z What is this thing 是 reddit 上的一个社区(community),上面时不时会有人发一些没见过的玩意来提问。 @@ -424,7 +424,7 @@一起来看看吧!
白色的大脑
Q: Found this on the side of the road in my neighborhood. Thought it was a brain, then dissected it and now I have no idea. Lots of small lobes, fuzzy inside, rubbery? My shoe for size reference.
在我家附近的路边发现了这个。我以为它是一个大脑,然后解剖了它,现在我不知道了。有很多小叶子,里面是模糊的,是橡胶的?我的鞋子是用来参考尺寸的。
A: Is that a shit?!
那是坨屎吗?
Q: Solved. I’m an idiot who dissected dog poop
(题主):解决了。我是一个解剖狗屎的白痴。
https://www.reddit.com/r/whatisthisthing/comments/nb4z70/found_this_on_the_side_of_the_road_in_my/
好多锁
Q: This is a on gate blocking road access to some cell towers. Why so many locks, and how would someone even open it?
这是一扇大门,挡住了通往一些手机塔的道路。为什么有这么多的锁,他们该怎么打开它?
Q: You can open the gate by unlocking only one padlock. The way it’s designed means that multiple people can use the gate, and if one person loses their keys, only their padlock needs replaced. As opposed to one padlock with many keys, you’d need to give tons of people the new key.
你只需解开一个挂锁就可以打开大门。它的设计方式意味着多人可以使用这扇门,如果一个人丢了钥匙,只有他的挂锁需要更换。相对于一个挂锁有很多钥匙,你需要给所有人新的钥匙。
马其顿的亚历山大三世
Q: Im waiting for the bank to open and they have this card facing the street. What is it used for?
我在等待银行开门,他们把这张卡面向街道。它是用来做什么的?
A: Former bank employee here. It’s definitely a safety signal. We switched ours quarterly and it is to let other employees know that it is all clear to open. Typically we had 2 employees “open” the branch while the rest waited in the parking lot or across the street for “all clear.” The openers go in, turn off alarm, search the building and check everything then set the signal.
我是前银行雇员。这绝对是一个安全信号。我们每季度更换一次信号,是为了让其他员工知道可以开门了。通常情况下,我们有两名员工”打开“分行,而其他员工在停车场或街对面等待“一切正常”。开门人进去,关闭警报,搜索大楼并检查一切,然后设置信号。
水龙头
Q: Found this in my bathroom in Germany…
在我德国的浴室里发现了这个……
A: It looks like they are meters that show how much hot and cold water has been used. I don’t know why your meter it that way.
看起来它们是显示已使用多少热水和冷水的仪表,我不知道为什么你的水表是这样的。
https://www.reddit.com/r/whatisthisthing/comments/my6wyq/found_this_in_my_bathroom_in_germany/
小水槽
Q: WITT? An unusually shaped sink possibly in a corridoor, spotted in a property listing on an older house. Looks quite narrow, probably too small for washing boots.
这是个嘛?在一栋老房子的房产清单中,发现了一个可能位于走廊的形状异常的水槽。看起来很窄,对于洗靴子来说可能太小了。
A: It’s called a butlers sink, or cleaners sink. It’s used for cleaning, filling buckets, emptying out waste so housekeeping can wash down surfaces without wandering through the house.
它被称为管家水槽,或清洁工水槽。它用于清洁,装水桶,倒掉废物,这样家政人员就可以清理外部,而不用在房子里乱转。
针头
Q: Found on my driveway. The RCMP arrested my neighbour last night; could it be related to that?
在我的车道上发现的。加拿大皇家骑警昨晚逮捕了我的邻居,这可能与此有关吗?
A: Yup, a taser dart
是的,一个泰瑟枪的飞镖。
(译者注:说起泰瑟枪突然想到之前有看过 The Slow Mo Guys 的一期被泰瑟枪击中的慢镜头视频,还蛮有意思的。)
https://www.reddit.com/r/whatisthisthing/comments/n166j5/found_on_my_driveway_the_rcmp_arrested_my/
勺子
Q: Small scoop with alligator clip as the handle. Found it cleaning out the kitchen.
用鳄鱼夹作为手柄的小勺子。在清理厨房的时候发现了它。
A: Coffee scoop with bag clip for coffee bag…
带有咖啡袋夹的咖啡勺…
]]>https://www.aemon.top/2021/05/18/%E5%BE%AE%E6%B3%A2%E7%82%89%E7%AE%80%E6%98%93%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/ 2021-05-18T01:19:41.000Z -2023-10-11T06:10:54.557Z +2023-12-18T08:33:13.806Z 「不要盯着微波炉看,会有辐射。」小时候,总是会听到大人对我这么说。说实话这句话影响了我蛮久一段时间,我甚至会在启动微波炉后跑到另一家房间来避免「辐射」。 @@ -449,7 +449,7 @@前段时间,我开始自己带饭到公司做为午餐,我妈每天给我准备了不同的菜。在用微波炉加热饭菜的时候我就遇到了很多问题,例如有时候加热出来的饭菜会一部分热,一部分不热;例如加热时我应不应该加盖;什么样的器皿可以放入微波炉加热?
为了知道这些问题的答案,我想先弄懂微波炉的原理是什么?我觉得只要知道事物的基本原理,那么上面这些问题也就迎刃而解了。
微波炉的原理
食物中存在的电极性分子会在微波的震荡下旋转,从而产生热量。
什么是电极性分子呢?简单来说如果分子中的电荷分布不均匀,那么它就是电极性分子。
水(H2O)——就是一种电极性分子。
什么又是微波呢?微波和红外线、可见光、X 射线一样,都是一种电磁波。它的频率范围大概在 300MHz 至 300GHz 之间,对应的波长则为 1m 至 1mm之间。微波有三种特性:穿透、吸收和反射。对于玻璃、塑料和瓷器,微波几乎是穿越而不被吸收。对于水和食物等就会吸收微波而使自身发热。而对金属类东西,则会反射微波。
结合微波的这三种特性,我们就能初步理解微波的设计以及使用方法。
微波炉的设计与使用
首先用于加热的器皿可以使用玻璃、塑料和瓷器这些不会吸收的材质,这样在加热完成后器皿的温度只有加热后的食物于其接触传递来的热量。但如果加热的食物带汤,那么器皿的温度还是会很高的,还是得戴手套去取。
其次是被加热的食物含水量越多,那么加热的效率就会越高,这样将就可以大致的估计需要加热的时间了。需要注意的是,如果加热的是高脂肪低水份的食物,那么其加热速度会比高水分的食物更加快,需要减少其加热的时间。
最后是微波炉的金属壳可以很好的隔绝微波,并使其在腔内不停得反射增大微波使用效率。
微波炉的一些特点
相比与一般从外向里的加热方式,微波这是内外同时加热,所以不太会出现外边熟了里面还没熟的情况。
由于微波会在腔内通过金属壁进行反射,通常这种情况下就会出现驻波,这就导致了被加热的食物在波传播的方向上,会出现一段热一段不太热的情况,而且这个两处的距离和微波的波长有关,简单来说,相邻两处较热区域之间的距离约等于微波的波长的一半,知道了波长,我们就可以算出微波炉微波的频率了。
也因为上面这种情况,微波炉大多带一个玻璃转盘,通过旋转食物,来规避上面这种间断加热的问题。
微波炉的一些 Tips
加热带壳和带皮的食物时,需要将其戳破或去皮,否则会因内部水分蒸发导致内部压力增加而爆裂。
加热液体时应避免单独入微波炉加热,要放置搅拌棒等以助热能释放。没有杂质的蒸馏水加热后尤其不应立即取出,因温度可能已经超过沸点但仍然不沸腾汽化,一旦受到扰动则会暴沸灼伤。一般家用自来水因为其中含有少许杂质,单独加热也会沸腾。
带壳蛋不论生熟都不应微波加热。去壳生蛋须刺破蛋黄,否则高温加热时也会爆裂喷溅;去壳熟蛋因蛋白紧密包覆,蛋黄依然有可能爆裂,需切开加热。
参考链接
]]>https://www.aemon.top/2021/04/22/whatisthisthing-10/ 2021-04-22T08:41:59.000Z -2023-10-11T06:10:53.765Z +2023-12-18T08:33:13.110Z What is this thing 是 reddit 上的一个社区(community),上面时不时会有人发一些没见过的玩意来提问。 @@ -474,7 +474,7 @@一起来看看吧!
奇怪的戒指
Q: What is this ring my Uber driver would randomly click?
我的优步司机会随机按的戒指是个什么东西?
A: Hes praying, thats a counter
他在祷告,那是个计数器。
(译者注:应该是叫电子念珠吧,我爸有一个。)
信号枪
Q: strange weapon i found in a german news clip about the turkish coup.
我在一则关于土耳其政变的德国新闻里发现了奇怪的武器。
A: Drone killer. It sends a strong and very directional radio frequency signal to jam the receíver on the drone to cause it to crash.
无人机的杀手。它会发送一个很强的定向无线电频率信号干扰无人机上的接收器使其坠毁。
金属盒子
Q: Found in a garden. Metallic object that closes in on itself
在花园里发现的可以合上的金属物件。
A: Looks like a Hindu ritual box. It is missing the middle piece that would sit in that central hole.
See some for sale here:
https://www.exoticindiaart.com/sculptures/Ritual/box/看起来像印度教的礼盒。它缺少了位于中间洞的部分。
这里有卖:
https://www.exoticindiaart.com/sculptures/Ritual/box/
痕迹
Q: What’s the long-lasting trail behind this boat?
这艘船后面长长的痕迹是什么?
A: The disturbed water hasn’t mixed back into surrounding water very quick and the sun is reflecting off the different surface waves amplifying the difference.
被搅乱的水并没有很快地混入周围的水中,太阳从不同的表面波反射回来,放大了这种差异。
绿光
Q: staying at an air b&b, why does the vent have a green light inside it?
住在爱彼迎的旅馆里,为什么通风口会发出绿色的光?
A: It’s likely could be a UV-C sterilization lamp. Kills germs/viruses as they pass by. Also can help prevent mold and whatnot building up on the coil.
可能是紫外线消毒灯。杀死照射到的细菌或病毒。也可以防止霉菌和其他的些什么不在管道中生成。
模具
Q: Found metal detecting in a Minnesota park where other objects around 1860s have been pulled.
在明尼苏达公园发现的金属物件,一同被发现的还有一些十九世纪六十年代的物体。
A: Mold for casting lead soldiers?
铸造铅士兵的模具?
A: Exactly. It’s half the mold. I had the same set as a kid.
楼上说的完全正确,这只是模具的一半,我小时候有一套和这一样的。
A: Man how times have changed. You were playing with molten lead now kids are Tik toking or whatever it is
大人,时代变了,你小时候在玩铅铸模型,现在的小孩都在玩抖音什么的。
披萨机
Q: What is this spur on the back of my pizza slicer?
我披萨切片机后面的刺是什么?
A: Ravioli maybe? Like pizza cutters are also used to cut pasta.
也许是用来切意大利饺的? 像这样的披萨切片机也会用来切意大利面。
(译者注:意大利饺长这样。)
一大堆试管
Q: Old school chem set maybe? Found in Abandoned building with no info on it.
也许是旧学校的化学教具?在废弃的建筑里发现的,没有任何信息。
A: Googling some of the names seems to point to a collection of homeopathic garbage.
谷歌了一些名字之后似乎指向了一堆号称顺势疗法的垃圾。
(译者注:这一块专业知识不太懂,如果有大佬麻烦科普一下!)
(译者再注:多谢 淡乱君 、 ooooo 、 大海里的一粒阿莫西林 科普!)
奇怪的容器
Q: What would be shipped in this strange shaped container?
这个奇怪的容器里面装的是什么?
A: Had a hunch, and it’s a ( human or equine) sperm shipping container. We’ve had one of these on here before, which are used to ship bull sperm.
我有预感,它是一个(人类或马)精子运输容器。我们之前在这上面有一个,用来运送公牛精子的。
]]>https://www.aemon.top/2021/04/08/%E9%9D%92%E6%97%85/ 2021-04-08T16:50:40.000Z -2023-10-11T06:10:54.573Z +2023-12-18T08:33:13.818Z 在出发前就已经想好要做一个沙发客,或者住青年旅舍。说实话从来没有一个人去旅行过,过去都是和朋友家人一起住快捷酒店。这次一个人出来,住青旅的第一个目的是为了省钱,毕竟比起快捷酒店来说,青旅一天只需要几十元,便宜了一半不止。其二,由于是一个人的原因,我想着住青旅说不定就遇到志同道合的朋友,可以一起旅行。 @@ -497,7 +497,7 @@写下这些文字的时候,是我到武汉的第一晚。之前我的行程是厦门-深圳-长沙,算上武汉一共是四家青旅,分别是厦门的国际青年旅舍、深圳的侨城旅友国际青年旅舍、长沙的天鹅之旅国际青年旅舍五一广场店以及武汉的享趣国际青年旅舍。其中有三家是YHA的(除了长沙的不是)。
厦门国际青年旅舍
厦门国际青年旅舍是我住的第一家青旅,位置还行。离各个景点都很近,交通也比较方便,就是离机场有点远。它在一个小山坡上,我第一次找的时候走了一段上坡的小路才到的,为什么说是第一次呢?因为后来我才发现那是后门。公共区域的环境还好,有间玻璃房,里边有很多油画(后来才发现这里还进行油画教学)。有一只狗狗,名叫 tuōtuō 或 tātā,有些记不清了,是条很听话的大狗狗。我把在八市买的手撕鸡都给他吃了,吃的很开心。
我住的是四人间,两张上下铺的床位,我睡的下铺,算上我是一共睡了三个人。原本我以为来住青旅的都是学生或者像我这样的旅游的人,但是其中一位是工作出差的,还有一位呢,我也不太清楚是做什么的。也没去问过,但是他每天的活动就是起床,然后去楼下玻璃房打 Switch。
我在青旅手洗衣服的时候,感觉又回到了高中时候。
总之,厦门国际青年旅舍作为我的第一家青旅,体验还是很不错的。除了它位于山上,蚊子很多。
然后价格也还可以接受,我是四月底的时候去的,一晚是 45 元,住了三晚之后由于清明假期的原因,一晚贵了 10 元。我一共住了四晚,总共是 190 元。
噢,对了,我住的那间的空调是坏的,不过那些天也不算热,晚上洗完澡基本上就不太会出汗了。
深圳侨城旅友国际青年旅舍
我本以为深圳会有很多的 YHA 青旅,但是我在官网上搜索的时候只有这么一家。所以就直接选了这家。
这家的位置其实还算不错的,周边有趣的店很多。但是不好的是宾馆离地铁口比较远,不背着行李还好,如果背着全部行李,还是有点吃不消的。
说点和青旅无关的,深圳不是个旅游城市,果然还是适合打工人的城市。很多景点我根本不想去,吃的东西也没什么,甚至有一晚的晚餐我是在全家吃的泡面和维他柠檬茶(维他柠檬茶真好喝啊)。
这家青旅是偏贵的,一晚是 80 元,还是我有 YHA 会员的情况(会员便宜了 5 元)。我住的三人间,本来选的是下铺,但是前台说,他们的下铺可能有点矮,担心我睡下铺会太压抑。我看网上的图其实觉得还好,可能是和网上的图片的拍摄视角有关系吧。于是我就听取了前台的意见,换成了上铺。但是我实际到房间看的时候,其实看起来也还好,没有会感到压抑这么夸张。其实第一晚过后,我有想过去和前台说一下,帮我换成下铺,因为我感觉爬上爬下实在是太麻烦了。但是后来由于太懒,还是睡了三天上铺。房间偏小,只放了一张高低铺和一张双人床。卫生间是在房间外面的,一个楼层公用一间卫生间和一间淋浴间(两间是分开的)。
前台有只小猫猫,很好撸。
深圳那几天的天气我觉得是刚刚好的,只是两个室友比较怕热,每天 22 度空调,导致我晚上只能卷着被子睡。
长沙天鹅之旅国际青年旅舍五一广场店
这是四家中唯一不是 YHA 的青旅。还是我在到了长沙站后手机上现找的。
天鹅之旅的位置可以说是非常不错,我基本上每天都是步行,根本没怎么坐交通工具。因此遗憾的错过了长沙的公交车水平。
价格是 62 元一晚,住的六人间。三张上下铺,我选的下铺。这家青旅的位于商业大楼的顶层(29 层),等电梯比较慢。然后住客都是偏年轻一点,学生偏多。大多数的人都是夜猫子,每次都是凌晨了就开始活跃起来了,例如狼人杀,都是在凌晨一两天开始在群里组队了。也会有很多人去楼下的酒吧夜店玩个通宵。我一直觉得自己还很年轻,但是在住在这里的这几天,我发现自己其实已经没有那么年轻了。
青旅的浴室是公共浴室,不过是带有隔间的,很小,也就一平米左右,密封性很好,好到墙上会有「注意洗浴时间,以免缺氧」的标语。大家都是夜猫子,晚点洗澡也不太会打搅到其他人。
有一点不好的是洗衣房特别小,并且洗衣晒衣都是在一间屋子。里面密密麻麻都挂满了衣服,甚至防盗窗上面也是。再结合长沙那几天的阴雨天气,我就没指望的我的衣服会干。但是我还是心存侥幸的把用完的速干浴巾晾在那里,不出所料的,没有干。离开长沙的前一个晚上,我用了四次每次四十分钟的烘干机,折腾到凌晨两点多,衣服还都是半干状态的。
武汉享趣国际青年旅舍
这家青旅是我重点要提的,这一家才有些我心目中青旅的感觉。说实话,地理位置不算特别好,最近的地铁站需要乘公交两站路。前后左右都是老旧的居民楼,半夜太吵闹会被邻居阿姨苛责。青旅的老板叫虎哥,应该是武汉本地人,年龄应该在五十左右吧,老板娘是广州人。我刚到的时候,两人一直在自己测血压,后来才知道是因为要打新冠疫苗,血压过了 150 毫米汞柱,医院那边不让打。
我到的当天,入住,四人间,两张木制上下铺,一天是 37 元。有独立卫生间(四人公用),座式马桶(甚至还有马桶圈清洁剂),电吹风,除了一间房四张床,其他都和普通的快捷酒店差不多。之后我去户部巷了,被各种网红小吃坑了 70 元。回来后,刚到大厅门口,虎哥就叫住了我:「就差你一个了。」说实话,这是我住过三家青旅,第一次有人找过说话(噢,厦门还有个外国小哥被蚊子咬得不行,找我借了驱蚊水)。
我说:「什么?」
虎哥说:「狼人杀呀!」
虽说我听过狼人杀,也知道大致的规则,但是我从来没有玩过一把狼人杀。心想,闲着也是闲着,那就来嘛!
就这样,之后的我,一发不可收拾,每天就想着到晚上的时候能玩狼人杀。大家都是天南地北来武汉的游客,互相都不认识,有玩过上万把的老手,也有我这样一把没玩过的新手。我就懵懵懂懂开始了我的第一把狼人杀。一开始我觉得狼人杀应该是很无聊的游戏,大家全凭一张嘴,会有什么意思呢?可是才一把,我就完全上头,虽然一开始并不知道应该怎么发言,都是直接滑水过的。但是玩了几把过后,懂得了大部分规则和术语之后,就彻底沦陷了。脑子了无时不刻不在推理,每个人发言的时候我都会盯着ta看,看看自己能不能看出对方有说谎的迹象,感觉自己像个侦探。
我一共在武汉住了五晚,有三晚都在狼人杀,其中有一天玩到了早上五点半,由于狼人杀需要大脑一直思考,越到后来,大家的脑子就越迷糊,最后实在是撑不住了,就都回屋睡觉了。
对了,青旅还有好多宠物,有一条叫做「皮蛋」的牧羊犬,有三只猫,一只英短蓝猫,大部分时间都在笼子里,还有两只,一只是橘猫,一只是黑猫,叫做「享享」和「趣趣」,都是可爱的毛茸朋友。
青旅的客人不止有我这样的游客,也有来附近考试的考生,也有来武汉出差的人(那天就有几位是阿里巴巴的员工来武汉培训),也有学生,还有来武汉寻找旧时味道的人——一位来自新疆的大叔。从零星的对话中,我了解到,大叔原本是武汉人,在文革期间被打成右派,之后又得了癌症,然后去了新疆。一别武汉就是几十年。现在,他已经将儿子,抚养成人,自己也击败了癌症,已经开始了自己的养老生活。他想到了自己的家乡武汉,所以就独自一人来武汉,准备寻找一些小时候的记忆。他吃到热干面时落泪,并说「再也不吃热干面了,吃一次哭一次」。他也说「吃了这么多大菜,都没有小时候的味道了」。
最后一晚,我买了些鸭脖卤味,另一位客人借用了虎哥的厨房,做了两道菜,我们几个坐下边喝边吃边聊。我也是第一次把自己的烦恼说给陌生人听,我甚至不知道大家叫什么名字。萍水相逢,可能在彼此的生命中,这是我们一起吃的第一顿饭也是最后一顿。但是大家都没想这么多,聊到最后,大家说的还都是身体健康,只要人还在,什么都有可能。
第二天一早,我就走了,起身回家,昨晚做菜的老哥也起了大早,他要带昨天认识的女生去游武汉。虎哥的血压也降了下来,吃了片降压药准备去打第二针疫苗了。
]]>https://www.aemon.top/2021/03/22/whatisthisthing-9/ 2021-03-22T04:18:00.000Z -2023-10-11T06:10:54.461Z +2023-12-18T08:33:13.718Z What is this thing 是 reddit 上的一个社区(community),上面时不时会有人发一些没见过的玩意来提问。 @@ -522,7 +522,7 @@一起来看看吧!
飞机零件
Q: Any guesses as to what this plane part is? Fell out of the sky in Colorado when that United engine failed.
大家能猜一下这是飞机哪部分吗?因为联合航空的飞机引擎故障的时候这东西正好从科罗拉多的天空坠落。
A: I think that’s a vape pen dude.
我想这就是个电子烟,兄弟。
奇怪的草地
Q: What would cause my friends lawn to look like this after the snow melted.
是什么原因导致我朋友的草地在雪融化之后变成了这副样子?
A: That’s some major vole activity. They look a lot like mice, but tend to be very active under winter snows and like tunneling.
这是田鼠的主要活动轨迹。它们看起来很像老鼠,但是它们往往在冬天的雪下非常活跃,喜欢挖隧道。
金属球
Q: Metal sphere with russian writing found on a Bahama beach.
巴哈马海滩上发现的带有俄罗斯文字的金属球。
A: Its a pneumatic accumulator tank of engine control system of Soyuz rocket. Somebody point it here in comments. http://joyreactor.cc/post/3388576#comment15651851
它是联盟号火箭发动机控制系统的气动蓄能器油箱。有人在这条评论里面提到了它。http://joyreactor.cc/post/3388576#comment15651851
emmm
Q: Saw this bulldozer with a giant spike on the front in a meme. Is this a weird forklift? Why does it only have 1 spike then? Is this possibly to push around a very specific type of equipment?
我在表情包里看到一辆前面有个大钉子的推土机。这是一台奇怪的叉车吗?为什么只有一个凸出来的钉子呢?这可能是为了推动一种特定类型物体的设备吗?
A: We have one similar to that at work. The spike is a little bigger and longer, but we use it for moving steel coils around the coil yard.
我们公司也有一个类似的。钉子稍大一些,也稍长一些,但我们用它来在卷厂周围移动钢卷。
矿洞
Q: Found while trail running. What are these things? There’s rotten wood that goes along it that looks cut/altered by man. Would it be for making a flat surface to easily maneuver the mine?
在越野跑时发现。这些是什么东西?沿路有腐烂的木头,看起来像是被人砍过/改造过的。是为了制造一个平坦的地面来方便地操纵矿井吗?
A: It’s a collapsed wood-stave pipeline, it may have been for dewatering the mine.
这是一条坍塌的木板管道,可能是用来给矿井排水的。
折叠门
Q: Door with a hinged section a quarter through horizontally?
在这扇门的四分之一处为什么会安装有铰链?
A: So it can fold around the corner when it’s open, and not stick out into the room
这样的话当它打开的时候,它可以折叠到角落里,而不会伸到房间里。
两个勺子
Q: WITT: Two spoons attached to a wooden handle at the thrift store?
在旧货店发现的一个木柄上绑着两个勺子,这是个嘛?
A: It’s a musical instrument literally called “spoons”. Used as percussion by clacking the spoons together. I’ll see if I can find an example of them being played.
它是一种乐器,名字就叫「勺子」,用勺子和勺子敲击。我看看能不能找到一个他们在玩的例子。
]]>https://www.aemon.top/2021/03/16/Premiere-Pro-%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/ 2021-03-16T07:09:47.000Z -2023-10-11T06:10:53.529Z +2023-12-18T08:33:12.910Z 本文将采用问答的形式来记录学习 Premiere Pro 中遇到的问题。 diff --git a/categories/C/index.html b/categories/C/index.html index 5987508a0..61da4a924 100644 --- a/categories/C/index.html +++ b/categories/C/index.html @@ -4,7 +4,7 @@ - + diff --git "a/categories/C/\350\275\254\350\275\275/index.html" "b/categories/C/\350\275\254\350\275\275/index.html" index aff64db6b..f84c700ab 100644 --- "a/categories/C/\350\275\254\350\275\275/index.html" +++ "b/categories/C/\350\275\254\350\275\275/index.html" @@ -4,7 +4,7 @@ - + diff --git a/categories/GitHub/index.html b/categories/GitHub/index.html index fbb4b5206..1d6553a3b 100644 --- a/categories/GitHub/index.html +++ b/categories/GitHub/index.html @@ -4,7 +4,7 @@ - + diff --git a/categories/JavaScript/index.html b/categories/JavaScript/index.html index 28faa25f5..666f6a4ef 100644 --- a/categories/JavaScript/index.html +++ b/categories/JavaScript/index.html @@ -4,7 +4,7 @@ - + diff --git a/categories/Linux/index.html b/categories/Linux/index.html index 7c04d6fcf..858100ce2 100644 --- a/categories/Linux/index.html +++ b/categories/Linux/index.html @@ -4,7 +4,7 @@ - + diff --git "a/categories/Linux/\346\240\221\350\216\223\346\264\276/index.html" "b/categories/Linux/\346\240\221\350\216\223\346\264\276/index.html" index 9f95f6902..7a54fd6eb 100644 --- "a/categories/Linux/\346\240\221\350\216\223\346\264\276/index.html" +++ "b/categories/Linux/\346\240\221\350\216\223\346\264\276/index.html" @@ -4,7 +4,7 @@ - + diff --git a/categories/Premiere-Pro/index.html b/categories/Premiere-Pro/index.html index 368ece909..990abf630 100644 --- a/categories/Premiere-Pro/index.html +++ b/categories/Premiere-Pro/index.html @@ -4,7 +4,7 @@ - + diff --git a/categories/Tesla/index.html b/categories/Tesla/index.html index 05d0011e4..7d96284ab 100644 --- a/categories/Tesla/index.html +++ b/categories/Tesla/index.html @@ -4,7 +4,7 @@ - + diff --git a/categories/Visual-Studio-Code/index.html b/categories/Visual-Studio-Code/index.html index 43f3ea3f7..f5b8ab7f9 100644 --- a/categories/Visual-Studio-Code/index.html +++ b/categories/Visual-Studio-Code/index.html @@ -4,7 +4,7 @@ - + diff --git "a/categories/WEB-\345\211\215\347\253\257/index.html" "b/categories/WEB-\345\211\215\347\253\257/index.html" index d73b36092..9e22844e4 100644 --- "a/categories/WEB-\345\211\215\347\253\257/index.html" +++ "b/categories/WEB-\345\211\215\347\253\257/index.html" @@ -4,7 +4,7 @@ - + diff --git a/categories/What-is-this-thing/index.html b/categories/What-is-this-thing/index.html index f10fd1488..02a500b5e 100644 --- a/categories/What-is-this-thing/index.html +++ b/categories/What-is-this-thing/index.html @@ -4,7 +4,7 @@ - + diff --git a/categories/What-is-this-thing/page/2/index.html b/categories/What-is-this-thing/page/2/index.html index d112f0bfe..65669e831 100644 --- a/categories/What-is-this-thing/page/2/index.html +++ b/categories/What-is-this-thing/page/2/index.html @@ -4,7 +4,7 @@ - + diff --git a/categories/index.html b/categories/index.html index 38a7a8a21..1b505e85c 100644 --- a/categories/index.html +++ b/categories/index.html @@ -4,7 +4,7 @@ - + @@ -28,7 +28,7 @@ - + diff --git a/categories/puzzle/index.html b/categories/puzzle/index.html index 9521e5780..93b55883f 100644 --- a/categories/puzzle/index.html +++ b/categories/puzzle/index.html @@ -4,7 +4,7 @@ - + diff --git "a/categories/\344\271\246\346\221\230/index.html" "b/categories/\344\271\246\346\221\230/index.html" index 8828e0cae..3dc97d0d1 100644 --- "a/categories/\344\271\246\346\221\230/index.html" +++ "b/categories/\344\271\246\346\221\230/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/categories/\344\272\213\347\211\251\345\216\237\347\220\206/index.html" "b/categories/\344\272\213\347\211\251\345\216\237\347\220\206/index.html" index 06a52549a..60cc79083 100644 --- "a/categories/\344\272\213\347\211\251\345\216\237\347\220\206/index.html" +++ "b/categories/\344\272\213\347\211\251\345\216\237\347\220\206/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/categories/\345\245\207\346\212\200\346\267\253\345\267\247/index.html" "b/categories/\345\245\207\346\212\200\346\267\253\345\267\247/index.html" index ff7dc8f88..cfc762bd4 100644 --- "a/categories/\345\245\207\346\212\200\346\267\253\345\267\247/index.html" +++ "b/categories/\345\245\207\346\212\200\346\267\253\345\267\247/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/categories/\345\260\217\347\250\213\345\272\217/index.html" "b/categories/\345\260\217\347\250\213\345\272\217/index.html" index ddc959f6d..d92414bc8 100644 --- "a/categories/\345\260\217\347\250\213\345\272\217/index.html" +++ "b/categories/\345\260\217\347\250\213\345\272\217/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/categories/\346\246\250\345\271\262\350\277\231\345\217\260-NAS/index.html" "b/categories/\346\246\250\345\271\262\350\277\231\345\217\260-NAS/index.html" index a199c39dd..8f1354933 100644 --- "a/categories/\346\246\250\345\271\262\350\277\231\345\217\260-NAS/index.html" +++ "b/categories/\346\246\250\345\271\262\350\277\231\345\217\260-NAS/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/categories/\347\247\221\345\271\273/index.html" "b/categories/\347\247\221\345\271\273/index.html" index d140b4359..2261264a1 100644 --- "a/categories/\347\247\221\345\271\273/index.html" +++ "b/categories/\347\247\221\345\271\273/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/categories/\347\247\221\345\271\273/\350\275\254\350\275\275/index.html" "b/categories/\347\247\221\345\271\273/\350\275\254\350\275\275/index.html" index 6b7241e63..76a8ec1ec 100644 --- "a/categories/\347\247\221\345\271\273/\350\275\254\350\275\275/index.html" +++ "b/categories/\347\247\221\345\271\273/\350\275\254\350\275\275/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/categories/\347\277\273\350\257\221/index.html" "b/categories/\347\277\273\350\257\221/index.html" index bec192049..505548467 100644 --- "a/categories/\347\277\273\350\257\221/index.html" +++ "b/categories/\347\277\273\350\257\221/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/categories/\350\213\261\350\257\255/index.html" "b/categories/\350\213\261\350\257\255/index.html" index e571d68de..e3ede63db 100644 --- "a/categories/\350\213\261\350\257\255/index.html" +++ "b/categories/\350\213\261\350\257\255/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/categories/\350\231\232\346\213\237\344\270\273\346\234\272/index.html" "b/categories/\350\231\232\346\213\237\344\270\273\346\234\272/index.html" index 10d8bf3aa..97f133db7 100644 --- "a/categories/\350\231\232\346\213\237\344\270\273\346\234\272/index.html" +++ "b/categories/\350\231\232\346\213\237\344\270\273\346\234\272/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/categories/\350\256\260\344\272\213/index.html" "b/categories/\350\256\260\344\272\213/index.html" index 38c5dee38..15b4d824f 100644 --- "a/categories/\350\256\260\344\272\213/index.html" +++ "b/categories/\350\256\260\344\272\213/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/categories/\350\256\276\350\256\241\346\250\241\345\274\217/index.html" "b/categories/\350\256\276\350\256\241\346\250\241\345\274\217/index.html" index 85bf9f706..a0ce289fa 100644 --- "a/categories/\350\256\276\350\256\241\346\250\241\345\274\217/index.html" +++ "b/categories/\350\256\276\350\256\241\346\250\241\345\274\217/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/categories/\350\266\243\351\227\273/index.html" "b/categories/\350\266\243\351\227\273/index.html" index c5d6e6576..604409a23 100644 --- "a/categories/\350\266\243\351\227\273/index.html" +++ "b/categories/\350\266\243\351\227\273/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/categories/\350\275\254\350\275\275/index.html" "b/categories/\350\275\254\350\275\275/index.html" index 74ca9289d..8e0fbdc62 100644 --- "a/categories/\350\275\254\350\275\275/index.html" +++ "b/categories/\350\275\254\350\275\275/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/categories/\351\235\242\350\257\225/index.html" "b/categories/\351\235\242\350\257\225/index.html" index 67a3f0fa4..827562f65 100644 --- "a/categories/\351\235\242\350\257\225/index.html" +++ "b/categories/\351\235\242\350\257\225/index.html" @@ -4,7 +4,7 @@ - + diff --git a/css/main.css b/css/main.css index 770d4cc39..84b402542 100644 --- a/css/main.css +++ b/css/main.css @@ -1311,7 +1311,7 @@ pre .javascript .function { } .links-of-author a::before, .links-of-author span.exturl::before { - background: #e09f36; + background: #6bff22; border-radius: 50%; content: ' '; display: inline-block; diff --git a/index.html b/index.html index 6a3ce832e..cb78e590b 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ - + @@ -231,7 +231,7 @@目前正在学习过程中,等日后条目多了,将会进行分类。
导入的图片素材分辨率和项目分辨率不一致,该怎么修改图片大小?
将图片素材拖入视频轨道;
单击轨道中的相应素材;
在「源」窗口中单击「效果控件」标签页;
调整在「运动」效果下的「缩放」属性大小,即可同步调整素材大小了;
点击「缩放」标签即可在「节目」窗口显示图片大小变换框,可以直接用鼠标进行操作。
音频如何调整声音大小?
将声音素材拖入视频轨道;
单击轨道中的相应素材;
在「源」窗口中单击「效果控件」标签页;
调整在「音量」效果下的「级别」属性大小,即可调整素材的音量大小了。
如何将视频定格若干秒?
「仅拖动视频」到序列;
在序列中,右键单击视频线前面的「fx」,选择「时间重映射」->「速度」;
拖动时间线到需要定格的画面;
在「源」窗口中单击「效果控件」标签页;
左键单击「视频」->「时间重映射」->「速度」->「添加/移除关键帧」来添加关键帧;
按住「Ctrl」+「Alt」用鼠标左键长按关键帧右侧标记并拖动需要定格的时长;
「仅拖动音频」到序列(这样做是为了将图像和声音分离,不然的话定格之后音画将不同步);
使用「剃刀工具」在关键帧处将音频拆分为两段;
使用「选择工具」将后半段移动至定格结束后的位置。
公司重构系统,我被分配到了用户管理模块,在做到权限的时候发现之前的权限管理是用一个长的字符串来存储所有权限的,例如:
+ ++5101110
ABCDEFG上面的
+7
位数字分别对应下面的7
个权限,除了第一位为权限等级(分为 1 至 5 档)外,其他的都是是否拥有该权限的状态(1 代表拥有该权限,0 代表没有该权限)。 这样的做法虽然看似简单,但在代码编写中会麻烦很多,特别是当权限种类数量很多的时候。所以,在查阅资料后,我决定使用枚举和按位运算来控制用户权限(点题),在向 leader 请示后,开始改造。原理
首先要把原有的权限拆分为两部分,一部分是第一位的权限等级,另一部分是各个权限状态,需要改造的主要是各个权限状态。 为了简化步骤,我把权限数量缩小为
+6
个,实际有15
个(并且未来还可能增加),具体是这样的: 一个六个权限,分别用 0 和 1 来表示有或没有对应的权限:+17
FEDCBA
010001B如上,代表用户拥有
+A
权限和E
权限,同理可得如果有 一个用户拥有B
权限、C
权限和D
权限,那我们就可以这样计算:+2 | 4 | 8 = 14
000010B
000100B
| 001000B
---------
001110B然后我们就可以用
+001110
来代表用户所拥有的权限了。 当我们需要添加权限的时候,我们就可以用按位或(|
)来计算,比如我们要为上面的001110B
来添加一个 F 权限(100000B
):+001110B | 100000B = 101110B
14 | 32 = 45而且就算用户已经有了需要添加的权限,再进行按位或的运算也是没有问题的:
++45 | 32 = 45
101110B | 100000B = 101110B当我们需要移除权限的时候,我们就要用到与非运算(
+&
和~
):+45 & ~32 = 14
101110B & ~100000B = 001110B同样的,就算用户本来没有这个权限,在移除权限时也不会有问题:
++14 & ~32 = 14
001110B & ~100000B = 001110B当我们需要判断一个用户是否拥有权限的时候,可以用用户的权限来与(
+&
)要判断的权限,当结果还是判断的权限时,则代表用户有这个权限:+45 & 32 = 32
101110B & 100000B = 100000B编码
首先列出所有的权限的枚举:
++/// <summary>
/// 权限集枚举
/// </summary>
public enum RightsSet
{
/// <summary>
/// A 权限
/// </summary>
ARights = 1,
/// <summary>
/// B 权限
/// </summary>
BRights = 2,
/// <summary>
/// C 权限
/// </summary>
CRights = 4,
/// <summary>
/// D 权限
/// </summary>
DRights = 8,
/// <summary>
/// E 权限
/// </summary>
ERights = 16,
/// <summary>
/// F 权限
/// </summary>
FRights = 32
}注意,枚举的值一定要是
+2
的 N 次幂形式。 然后是三个与权限相关个公共静态方法:+/// <summary>
/// 判断是否拥有一个权限
/// </summary>
/// <param name="userRights">用户原有的权限</param>
/// <param name="newRights">需要判断的权限</param>
/// <returns>是否拥有一个权限</returns>
public static Boolean hasRights(RightsSet userRights, RightsSet newRights)
{
return (userRights & newRights) == newRights;
}
/// <summary>
/// 添加一个权限
/// </summary>
/// <param name="userRights">用户原有的权限</param>
/// <param name="newRights">需要添加的权限</param>
/// <returns>用户的新权限</returns>
public static RightsSet addRights(RightsSet userRights, RightsSet newRights)
{
return userRights | newRights;
}
/// <summary>
/// 删除一个权限
/// </summary>
/// <param name="userRights">用户原有的权限</param>
/// <param name="newRights">需要删除的权限</param>
/// <returns>用户的新权限</returns>
public static RightsSet deleteRights(RightsSet userRights, RightsSet newRights)
{
return userRights & ~newRights;
}最后
位运算是最基础的计算机运算,各个语言的用法不会有太大的变化,所以不管是什么语言应该都是可以实现的; 在数据库中我们只需要存储
+]]> +RightsSet
的值就可以代表各种权限的组合结果了; 在数据库操作中,如果我们要对某一类的权限进行处理时,也不需要像以前一样进行复杂的字符串处理了; 并且位运算作为基础的计算机运算的速度是非常快的,各种数据库也都支持位运算; 而在代码编写中,我们只需要使用权限的名称(类似于上方代码中的枚举标志符ARights
、BRights
)来进行操作,而不用记忆各个权限对应的数值; 当在前端进行权限更改等操作时,我们也可以直接在前端计算好RightsSet
的值,再传给后台,反过来前台显示也是一样;+ +C# +依赖注入那些事儿 /2017/09/15/those-stories-of-dependency-injection/ @@ -1594,37 +1625,6 @@转载 - 使用枚举和按位运算来控制用户权限 -/2018/12/07/use-enumeration-and-bitwise-operations-to-control-user-permissions/ -起因 -公司重构系统,我被分配到了用户管理模块,在做到权限的时候发现之前的权限管理是用一个长的字符串来存储所有权限的,例如:
- --5101110
ABCDEFG上面的
-7
位数字分别对应下面的7
个权限,除了第一位为权限等级(分为 1 至 5 档)外,其他的都是是否拥有该权限的状态(1 代表拥有该权限,0 代表没有该权限)。 这样的做法虽然看似简单,但在代码编写中会麻烦很多,特别是当权限种类数量很多的时候。所以,在查阅资料后,我决定使用枚举和按位运算来控制用户权限(点题),在向 leader 请示后,开始改造。原理
首先要把原有的权限拆分为两部分,一部分是第一位的权限等级,另一部分是各个权限状态,需要改造的主要是各个权限状态。 为了简化步骤,我把权限数量缩小为
-6
个,实际有15
个(并且未来还可能增加),具体是这样的: 一个六个权限,分别用 0 和 1 来表示有或没有对应的权限:-17
FEDCBA
010001B如上,代表用户拥有
-A
权限和E
权限,同理可得如果有 一个用户拥有B
权限、C
权限和D
权限,那我们就可以这样计算:-2 | 4 | 8 = 14
000010B
000100B
| 001000B
---------
001110B然后我们就可以用
-001110
来代表用户所拥有的权限了。 当我们需要添加权限的时候,我们就可以用按位或(|
)来计算,比如我们要为上面的001110B
来添加一个 F 权限(100000B
):-001110B | 100000B = 101110B
14 | 32 = 45而且就算用户已经有了需要添加的权限,再进行按位或的运算也是没有问题的:
--45 | 32 = 45
101110B | 100000B = 101110B当我们需要移除权限的时候,我们就要用到与非运算(
-&
和~
):-45 & ~32 = 14
101110B & ~100000B = 001110B同样的,就算用户本来没有这个权限,在移除权限时也不会有问题:
--14 & ~32 = 14
001110B & ~100000B = 001110B当我们需要判断一个用户是否拥有权限的时候,可以用用户的权限来与(
-&
)要判断的权限,当结果还是判断的权限时,则代表用户有这个权限:-45 & 32 = 32
101110B & 100000B = 100000B编码
首先列出所有的权限的枚举:
--/// <summary>
/// 权限集枚举
/// </summary>
public enum RightsSet
{
/// <summary>
/// A 权限
/// </summary>
ARights = 1,
/// <summary>
/// B 权限
/// </summary>
BRights = 2,
/// <summary>
/// C 权限
/// </summary>
CRights = 4,
/// <summary>
/// D 权限
/// </summary>
DRights = 8,
/// <summary>
/// E 权限
/// </summary>
ERights = 16,
/// <summary>
/// F 权限
/// </summary>
FRights = 32
}注意,枚举的值一定要是
-2
的 N 次幂形式。 然后是三个与权限相关个公共静态方法:-/// <summary>
/// 判断是否拥有一个权限
/// </summary>
/// <param name="userRights">用户原有的权限</param>
/// <param name="newRights">需要判断的权限</param>
/// <returns>是否拥有一个权限</returns>
public static Boolean hasRights(RightsSet userRights, RightsSet newRights)
{
return (userRights & newRights) == newRights;
}
/// <summary>
/// 添加一个权限
/// </summary>
/// <param name="userRights">用户原有的权限</param>
/// <param name="newRights">需要添加的权限</param>
/// <returns>用户的新权限</returns>
public static RightsSet addRights(RightsSet userRights, RightsSet newRights)
{
return userRights | newRights;
}
/// <summary>
/// 删除一个权限
/// </summary>
/// <param name="userRights">用户原有的权限</param>
/// <param name="newRights">需要删除的权限</param>
/// <returns>用户的新权限</returns>
public static RightsSet deleteRights(RightsSet userRights, RightsSet newRights)
{
return userRights & ~newRights;
}最后
位运算是最基础的计算机运算,各个语言的用法不会有太大的变化,所以不管是什么语言应该都是可以实现的; 在数据库中我们只需要存储
-]]>RightsSet
的值就可以代表各种权限的组合结果了; 在数据库操作中,如果我们要对某一类的权限进行处理时,也不需要像以前一样进行复杂的字符串处理了; 并且位运算作为基础的计算机运算的速度是非常快的,各种数据库也都支持位运算; 而在代码编写中,我们只需要使用权限的名称(类似于上方代码中的枚举标志符ARights
、BRights
)来进行操作,而不用记忆各个权限对应的数值; 当在前端进行权限更改等操作时,我们也可以直接在前端计算好RightsSet
的值,再传给后台,反过来前台显示也是一样;- -C# -使用 raspberry 配合 frp 来进行远程开机 /2018/07/19/use-raspberry-with-frp-for-remote-boot/ @@ -3742,6 +3742,53 @@爱,死亡和机器人 + 如何在 Spotify 听没有版权的歌 +/2020/04/10/%E5%A6%82%E4%BD%95%E5%9C%A8-Spotify-%E5%90%AC%E6%B2%A1%E6%9C%89%E7%89%88%E6%9D%83%E7%9A%84%E6%AD%8C/ +转到 Spotify 好久了,当初是因为音乐版权的原因到 Spotify 的。用了一段时间免费版的,发现还行,就上了车。 + + +但是渐渐的发现,外国的月亮也没有很圆,还是有些歌是找不到的。不知道是不是所在区域的原因(我是美区)。但是如果是这个原因,我想我也不会因为个别歌曲去频繁换区。
+之前在网易云,如果有些歌曲没有版权,那么可以在音乐云盘中上传那些歌,这样就可以缓存到各个终端去听了。
+曾经有人夸赞过这个功能:「想出音乐云盘的产品经理真是个天才」。
+在 Spotify 中也是有类似的功能的,只是没有很显式的标注出来。
+程序版本
PC 端
1.1.29.592.gf0779179(Windows 10 10.0.18363)
+手机端
8.5.52.935(IOS 13.4)
+步骤
没有特别标注的,默认在 PC 端操作。
+添加本地文件夹
在 Spotify 也是能听本地音乐的,具体方法如下:
+设置(Settings)-本地文件(Local Files)-添加源(ADD A SOURCE)
+然后选择你存放本地音频文件的文件夹。
+播放本地音乐
在侧边栏你的音乐库(YOUR LIBRARY)选择本地文件(Local Files);
+这时候你只要右键需要同步的歌曲,选择添加到播放列表(Add to Playlist),然后选择一个播放列表(Playlist)就可以了。之后你就能在各个终端听了。
+ + +但是,如果这时候你想要给这首歌打上赞(Like),加入到已按赞的歌曲(Liked Songs)却是不行。
+而我一般上下班听歌的时候,都是直接播放已按赞的歌曲(Liked Songs),每过一段时间就备份一次,清空列表重新选歌。
+那么该如何将本地的歌曲加入到已按赞的歌曲(Liked Songs)呢?
+这时你需要播放你这首歌曲。
+打开手机 APP
因为 Spotify 只允许一个终端播放,所以你的 APP 会跳出这个提示:
+ + +点击继续,然后打开播放页:
+ + +这时你会发现在手机 APP 上是有心形按钮的,你只需要点击一下,虽然点击之后,在当前界面没有显示标记为赞。
+但是,当你去到已按赞的歌曲(Liked Songs),就能看到这首歌了。
+ + +一般我都是将所有的歌曲下载的。
+这时在所有的终端就都可以听这首歌了。
+最后
要注意的是,在 Spotify 中,歌曲下载后也是无法离线播放的。在播放前 Spotify 应该会有一个验证的过程,验证通过后才能播放下载的歌曲。
+另外还有一个比较头疼的是,每次你的 Spotify Premium 到期后,所有已经下载的歌曲就被删除,下次再开通 Spotify Premium 需要重新下载,比较费时间。
+所以,尽量在到期前对 Spotify Premium 进行续费,不要使其存在空档期。
+]]>+ +奇技淫巧 ++ +奇技淫巧 +Spotify +在微信中使用 ToDoList /2020/03/13/%E5%9C%A8%E5%BE%AE%E4%BF%A1%E4%B8%AD%E4%BD%BF%E7%94%A8ToDoList/ @@ -3792,50 +3839,45 @@- 如何在 Spotify 听没有版权的歌 -/2020/04/10/%E5%A6%82%E4%BD%95%E5%9C%A8-Spotify-%E5%90%AC%E6%B2%A1%E6%9C%89%E7%89%88%E6%9D%83%E7%9A%84%E6%AD%8C/ -转到 Spotify 好久了,当初是因为音乐版权的原因到 Spotify 的。用了一段时间免费版的,发现还行,就上了车。 - - 但是渐渐的发现,外国的月亮也没有很圆,还是有些歌是找不到的。不知道是不是所在区域的原因(我是美区)。但是如果是这个原因,我想我也不会因为个别歌曲去频繁换区。
-之前在网易云,如果有些歌曲没有版权,那么可以在音乐云盘中上传那些歌,这样就可以缓存到各个终端去听了。
-曾经有人夸赞过这个功能:「想出音乐云盘的产品经理真是个天才」。
-在 Spotify 中也是有类似的功能的,只是没有很显式的标注出来。
-程序版本
PC 端
1.1.29.592.gf0779179(Windows 10 10.0.18363)
-手机端
8.5.52.935(IOS 13.4)
-步骤
没有特别标注的,默认在 PC 端操作。
-添加本地文件夹
在 Spotify 也是能听本地音乐的,具体方法如下:
-设置(Settings)-本地文件(Local Files)-添加源(ADD A SOURCE)
-然后选择你存放本地音频文件的文件夹。
-播放本地音乐
在侧边栏你的音乐库(YOUR LIBRARY)选择本地文件(Local Files);
-这时候你只要右键需要同步的歌曲,选择添加到播放列表(Add to Playlist),然后选择一个播放列表(Playlist)就可以了。之后你就能在各个终端听了。
- - -但是,如果这时候你想要给这首歌打上赞(Like),加入到已按赞的歌曲(Liked Songs)却是不行。
-而我一般上下班听歌的时候,都是直接播放已按赞的歌曲(Liked Songs),每过一段时间就备份一次,清空列表重新选歌。
-那么该如何将本地的歌曲加入到已按赞的歌曲(Liked Songs)呢?
-这时你需要播放你这首歌曲。
-打开手机 APP
因为 Spotify 只允许一个终端播放,所以你的 APP 会跳出这个提示:
- - -点击继续,然后打开播放页:
- - -这时你会发现在手机 APP 上是有心形按钮的,你只需要点击一下,虽然点击之后,在当前界面没有显示标记为赞。
-但是,当你去到已按赞的歌曲(Liked Songs),就能看到这首歌了。
- - -一般我都是将所有的歌曲下载的。
-这时在所有的终端就都可以听这首歌了。
-最后
要注意的是,在 Spotify 中,歌曲下载后也是无法离线播放的。在播放前 Spotify 应该会有一个验证的过程,验证通过后才能播放下载的歌曲。
-另外还有一个比较头疼的是,每次你的 Spotify Premium 到期后,所有已经下载的歌曲就被删除,下次再开通 Spotify Premium 需要重新下载,比较费时间。
-所以,尽量在到期前对 Spotify Premium 进行续费,不要使其存在空档期。
+微波炉简易使用指南 +/2021/05/18/%E5%BE%AE%E6%B3%A2%E7%82%89%E7%AE%80%E6%98%93%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/ +「不要盯着微波炉看,会有辐射。」小时候,总是会听到大人对我这么说。说实话这句话影响了我蛮久一段时间,我甚至会在启动微波炉后跑到另一家房间来避免「辐射」。 + 前段时间,我开始自己带饭到公司做为午餐,我妈每天给我准备了不同的菜。在用微波炉加热饭菜的时候我就遇到了很多问题,例如有时候加热出来的饭菜会一部分热,一部分不热;例如加热时我应不应该加盖;什么样的器皿可以放入微波炉加热?
+为了知道这些问题的答案,我想先弄懂微波炉的原理是什么?我觉得只要知道事物的基本原理,那么上面这些问题也就迎刃而解了。
+微波炉的原理
食物中存在的电极性分子会在微波的震荡下旋转,从而产生热量。
+什么是电极性分子呢?简单来说如果分子中的电荷分布不均匀,那么它就是电极性分子。
+水(H2O)——就是一种电极性分子。
+什么又是微波呢?微波和红外线、可见光、X 射线一样,都是一种电磁波。它的频率范围大概在 300MHz 至 300GHz 之间,对应的波长则为 1m 至 1mm之间。微波有三种特性:穿透、吸收和反射。对于玻璃、塑料和瓷器,微波几乎是穿越而不被吸收。对于水和食物等就会吸收微波而使自身发热。而对金属类东西,则会反射微波。
+结合微波的这三种特性,我们就能初步理解微波的设计以及使用方法。
+微波炉的设计与使用
首先用于加热的器皿可以使用玻璃、塑料和瓷器这些不会吸收的材质,这样在加热完成后器皿的温度只有加热后的食物于其接触传递来的热量。但如果加热的食物带汤,那么器皿的温度还是会很高的,还是得戴手套去取。
+其次是被加热的食物含水量越多,那么加热的效率就会越高,这样将就可以大致的估计需要加热的时间了。需要注意的是,如果加热的是高脂肪低水份的食物,那么其加热速度会比高水分的食物更加快,需要减少其加热的时间。
+最后是微波炉的金属壳可以很好的隔绝微波,并使其在腔内不停得反射增大微波使用效率。
+微波炉的一些特点
相比与一般从外向里的加热方式,微波这是内外同时加热,所以不太会出现外边熟了里面还没熟的情况。
+由于微波会在腔内通过金属壁进行反射,通常这种情况下就会出现驻波,这就导致了被加热的食物在波传播的方向上,会出现一段热一段不太热的情况,而且这个两处的距离和微波的波长有关,简单来说,相邻两处较热区域之间的距离约等于微波的波长的一半,知道了波长,我们就可以算出微波炉微波的频率了。
+也因为上面这种情况,微波炉大多带一个玻璃转盘,通过旋转食物,来规避上面这种间断加热的问题。
+微波炉的一些 Tips
-
+
加热带壳和带皮的食物时,需要将其戳破或去皮,否则会因内部水分蒸发导致内部压力增加而爆裂。
+
+加热液体时应避免单独入微波炉加热,要放置搅拌棒等以助热能释放。没有杂质的蒸馏水加热后尤其不应立即取出,因温度可能已经超过沸点但仍然不沸腾汽化,一旦受到扰动则会暴沸灼伤。一般家用自来水因为其中含有少许杂质,单独加热也会沸腾。
+
+带壳蛋不论生熟都不应微波加热。去壳生蛋须刺破蛋黄,否则高温加热时也会爆裂喷溅;去壳熟蛋因蛋白紧密包覆,蛋黄依然有可能爆裂,需切开加热。
+
+
参考链接
]]>- 奇技淫巧 +事物原理 - 奇技淫巧 -Spotify +微波炉 +常识 @@ -3900,48 +3942,6 @@ -博客 - 微波炉简易使用指南 -/2021/05/18/%E5%BE%AE%E6%B3%A2%E7%82%89%E7%AE%80%E6%98%93%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/ -「不要盯着微波炉看,会有辐射。」小时候,总是会听到大人对我这么说。说实话这句话影响了我蛮久一段时间,我甚至会在启动微波炉后跑到另一家房间来避免「辐射」。 - -前段时间,我开始自己带饭到公司做为午餐,我妈每天给我准备了不同的菜。在用微波炉加热饭菜的时候我就遇到了很多问题,例如有时候加热出来的饭菜会一部分热,一部分不热;例如加热时我应不应该加盖;什么样的器皿可以放入微波炉加热?
-为了知道这些问题的答案,我想先弄懂微波炉的原理是什么?我觉得只要知道事物的基本原理,那么上面这些问题也就迎刃而解了。
-微波炉的原理
食物中存在的电极性分子会在微波的震荡下旋转,从而产生热量。
-什么是电极性分子呢?简单来说如果分子中的电荷分布不均匀,那么它就是电极性分子。
-水(H2O)——就是一种电极性分子。
-什么又是微波呢?微波和红外线、可见光、X 射线一样,都是一种电磁波。它的频率范围大概在 300MHz 至 300GHz 之间,对应的波长则为 1m 至 1mm之间。微波有三种特性:穿透、吸收和反射。对于玻璃、塑料和瓷器,微波几乎是穿越而不被吸收。对于水和食物等就会吸收微波而使自身发热。而对金属类东西,则会反射微波。
-结合微波的这三种特性,我们就能初步理解微波的设计以及使用方法。
-微波炉的设计与使用
首先用于加热的器皿可以使用玻璃、塑料和瓷器这些不会吸收的材质,这样在加热完成后器皿的温度只有加热后的食物于其接触传递来的热量。但如果加热的食物带汤,那么器皿的温度还是会很高的,还是得戴手套去取。
-其次是被加热的食物含水量越多,那么加热的效率就会越高,这样将就可以大致的估计需要加热的时间了。需要注意的是,如果加热的是高脂肪低水份的食物,那么其加热速度会比高水分的食物更加快,需要减少其加热的时间。
-最后是微波炉的金属壳可以很好的隔绝微波,并使其在腔内不停得反射增大微波使用效率。
-微波炉的一些特点
相比与一般从外向里的加热方式,微波这是内外同时加热,所以不太会出现外边熟了里面还没熟的情况。
-由于微波会在腔内通过金属壁进行反射,通常这种情况下就会出现驻波,这就导致了被加热的食物在波传播的方向上,会出现一段热一段不太热的情况,而且这个两处的距离和微波的波长有关,简单来说,相邻两处较热区域之间的距离约等于微波的波长的一半,知道了波长,我们就可以算出微波炉微波的频率了。
-也因为上面这种情况,微波炉大多带一个玻璃转盘,通过旋转食物,来规避上面这种间断加热的问题。
-微波炉的一些 Tips
-
-
加热带壳和带皮的食物时,需要将其戳破或去皮,否则会因内部水分蒸发导致内部压力增加而爆裂。
-
-加热液体时应避免单独入微波炉加热,要放置搅拌棒等以助热能释放。没有杂质的蒸馏水加热后尤其不应立即取出,因温度可能已经超过沸点但仍然不沸腾汽化,一旦受到扰动则会暴沸灼伤。一般家用自来水因为其中含有少许杂质,单独加热也会沸腾。
-
-带壳蛋不论生熟都不应微波加热。去壳生蛋须刺破蛋黄,否则高温加热时也会爆裂喷溅;去壳熟蛋因蛋白紧密包覆,蛋黄依然有可能爆裂,需切开加热。
-
-
参考链接
-]]>- -事物原理 -- -微波炉 -常识 -《悲惨世界》 /2019/12/10/%E6%82%B2%E6%83%A8%E4%B8%96%E7%95%8C/ @@ -4232,7 +4232,7 @@「工具」-「选项」-「高级」-「libtorrent 相关」将「校验时内存使用扩增量」修改大一些,我设置成了
512
,这样可以提高校验速度,提升之后辅种效率;
-「工具」-「选项」-「BitTorrent」勾选「自动添加以下 tracker 到新的 torrent」,并在下方输入框中填入https://cdn.jsdelivr.net/gh/ngosang/trackerslist@master/trackers_all.txt中的内容,此处设置的作用的是为了获得更多的供种者,此操作能有效提高下载速度,建议每隔一段时间就更新一下 tracker 列表,更多 tracker 列表可以查看 https://github.com/ngosang/trackerslist 和 https://github.com/XIU2/TrackersListCollection。
+「工具」-「选项」-「BitTorrent」勾选「自动添加以下 tracker 到新的 torrent」,并在下方输入框中填入https://cdn.jsdelivr.net/gh/ngosang/trackerslist@master/trackers_all.txt中的内容,此处设置的作用的是为了获得更多的供种者,此操作能有效提高下载速度,建议每隔一段时间就更新一下 tracker 列表,更多 tracker 列表可以查看 https://github.com/ngosang/trackerslist 和 https://github.com/XIU2/TrackersListCollection。
「工具」-「选项」-「BitTorrent」取消勾选「Torrent 排队」,这一步是为了多任务同时下载与上传,BT 的本质就是我为人人,人人为我,你的下载即是别人的上传,所以请最好不要限制你的上传,在不影响使用的情况下提供最多的上传;
@@ -5600,6 +5600,8 @@
这个世界是一个巨大的草台班子。
+我拥有的都是侥幸啊,我失去的都是人生。
diff --git a/tags/ASF/index.html b/tags/ASF/index.html index 906b024b0..fb5631006 100644 --- a/tags/ASF/index.html +++ b/tags/ASF/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/Abstract-Factory-Pattern/index.html b/tags/Abstract-Factory-Pattern/index.html index 93ce19341..8d43bb282 100644 --- a/tags/Abstract-Factory-Pattern/index.html +++ b/tags/Abstract-Factory-Pattern/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/ArchiSteamFarm/index.html b/tags/ArchiSteamFarm/index.html index 7f587cc9c..a2da67a44 100644 --- a/tags/ArchiSteamFarm/index.html +++ b/tags/ArchiSteamFarm/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/Aria2/index.html b/tags/Aria2/index.html index 94f20cd8d..7d5b1f3b6 100644 --- a/tags/Aria2/index.html +++ b/tags/Aria2/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/C/index.html b/tags/C/index.html index 98c5a15d5..cf5dea7d2 100644 --- a/tags/C/index.html +++ b/tags/C/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/CSS/index.html b/tags/CSS/index.html index 1dd822d92..9ed0384b5 100644 --- a/tags/CSS/index.html +++ b/tags/CSS/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/Docker/index.html b/tags/Docker/index.html index ac1bc5604..2f505c2d2 100644 --- a/tags/Docker/index.html +++ b/tags/Docker/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/ECMAScript-6/index.html b/tags/ECMAScript-6/index.html index d1997b9f5..2d9432fdc 100644 --- a/tags/ECMAScript-6/index.html +++ b/tags/ECMAScript-6/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/Factory-Method-Pattern/index.html b/tags/Factory-Method-Pattern/index.html index deeaa6e49..e6b1c3c99 100644 --- a/tags/Factory-Method-Pattern/index.html +++ b/tags/Factory-Method-Pattern/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/File-Browser/index.html b/tags/File-Browser/index.html index a2358b8a0..6518ecf5c 100644 --- a/tags/File-Browser/index.html +++ b/tags/File-Browser/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/JavaScript/index.html b/tags/JavaScript/index.html index b568a7ba0..52ca3bbbe 100644 --- a/tags/JavaScript/index.html +++ b/tags/JavaScript/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/Linux/index.html b/tags/Linux/index.html index bf69ac4d1..ba3a3576d 100644 --- a/tags/Linux/index.html +++ b/tags/Linux/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/Love-Death-amp-Robots/index.html b/tags/Love-Death-amp-Robots/index.html index 93c8b9459..3793d3c56 100644 --- a/tags/Love-Death-amp-Robots/index.html +++ b/tags/Love-Death-amp-Robots/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/NAS/index.html b/tags/NAS/index.html index 7bbb7bf85..b830f8f1d 100644 --- a/tags/NAS/index.html +++ b/tags/NAS/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/PT/index.html b/tags/PT/index.html index ffea363b1..fbeb60951 100644 --- a/tags/PT/index.html +++ b/tags/PT/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/Premiere-Pro/index.html b/tags/Premiere-Pro/index.html index ba251944c..05c73f486 100644 --- a/tags/Premiere-Pro/index.html +++ b/tags/Premiere-Pro/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/RESTful/index.html b/tags/RESTful/index.html index 6a39e8bc8..c44d857d1 100644 --- a/tags/RESTful/index.html +++ b/tags/RESTful/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/Simple-Factory-Pattern/index.html b/tags/Simple-Factory-Pattern/index.html index 7dd27c357..476a63b41 100644 --- a/tags/Simple-Factory-Pattern/index.html +++ b/tags/Simple-Factory-Pattern/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/Singleton-Pattern/index.html b/tags/Singleton-Pattern/index.html index 8c330ce76..7f0df00f7 100644 --- a/tags/Singleton-Pattern/index.html +++ b/tags/Singleton-Pattern/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/Spotify/index.html b/tags/Spotify/index.html index b22ce077c..d083aadec 100644 --- a/tags/Spotify/index.html +++ b/tags/Spotify/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/Steam/index.html b/tags/Steam/index.html index d295b31ed..fab80010a 100644 --- a/tags/Steam/index.html +++ b/tags/Steam/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/Tesla/index.html b/tags/Tesla/index.html index 14da5d059..908bb8dc5 100644 --- a/tags/Tesla/index.html +++ b/tags/Tesla/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/TinyMediaManager/index.html b/tags/TinyMediaManager/index.html index 8f3ae6d87..28fcf23f9 100644 --- a/tags/TinyMediaManager/index.html +++ b/tags/TinyMediaManager/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/Vim/index.html b/tags/Vim/index.html index 888d8f0c1..faba2d1a7 100644 --- a/tags/Vim/index.html +++ b/tags/Vim/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/Visual-Studio-Code/index.html b/tags/Visual-Studio-Code/index.html index 35ede905a..06f706ab3 100644 --- a/tags/Visual-Studio-Code/index.html +++ b/tags/Visual-Studio-Code/index.html @@ -4,7 +4,7 @@ - + diff --git "a/tags/WEB\345\211\215\347\253\257/index.html" "b/tags/WEB\345\211\215\347\253\257/index.html" index 74c690726..2c70dc6ed 100644 --- "a/tags/WEB\345\211\215\347\253\257/index.html" +++ "b/tags/WEB\345\211\215\347\253\257/index.html" @@ -4,7 +4,7 @@ - + diff --git a/tags/WeChat/index.html b/tags/WeChat/index.html index 582e693a6..8f1ee2242 100644 --- a/tags/WeChat/index.html +++ b/tags/WeChat/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/What-is-this-thing/index.html b/tags/What-is-this-thing/index.html index ae0be2f4e..1cf2ff8ee 100644 --- a/tags/What-is-this-thing/index.html +++ b/tags/What-is-this-thing/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/What-is-this-thing/page/2/index.html b/tags/What-is-this-thing/page/2/index.html index 6b22a9efe..5abfeb87b 100644 --- a/tags/What-is-this-thing/page/2/index.html +++ b/tags/What-is-this-thing/page/2/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/Zima-Blue/index.html b/tags/Zima-Blue/index.html index 7ff426c08..436b882f9 100644 --- a/tags/Zima-Blue/index.html +++ b/tags/Zima-Blue/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/emoji/index.html b/tags/emoji/index.html index af0f88fd3..354e9c05b 100644 --- a/tags/emoji/index.html +++ b/tags/emoji/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/hLink/index.html b/tags/hLink/index.html index 32f7898af..fa4cdd009 100644 --- a/tags/hLink/index.html +++ b/tags/hLink/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/homebrew/index.html b/tags/homebrew/index.html index 471d93e37..7da20d66c 100644 --- a/tags/homebrew/index.html +++ b/tags/homebrew/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/index.html b/tags/index.html index 6121554dc..f86c5c56b 100644 --- a/tags/index.html +++ b/tags/index.html @@ -4,7 +4,7 @@ - + @@ -28,7 +28,7 @@ - + diff --git a/tags/node/index.html b/tags/node/index.html index a9f93e387..b4e054872 100644 --- a/tags/node/index.html +++ b/tags/node/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/nvm/index.html b/tags/nvm/index.html index 20645d11b..90c0202ee 100644 --- a/tags/nvm/index.html +++ b/tags/nvm/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/puzzle/index.html b/tags/puzzle/index.html index 4b58a33ff..c3027bec2 100644 --- a/tags/puzzle/index.html +++ b/tags/puzzle/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/qBittorrent/index.html b/tags/qBittorrent/index.html index 274af6de0..57a082afc 100644 --- a/tags/qBittorrent/index.html +++ b/tags/qBittorrent/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/unRAID/index.html b/tags/unRAID/index.html index 85564b590..689fafcc9 100644 --- a/tags/unRAID/index.html +++ b/tags/unRAID/index.html @@ -4,7 +4,7 @@ - + diff --git a/tags/yarn/index.html b/tags/yarn/index.html index 3127441c6..77d0879cf 100644 --- a/tags/yarn/index.html +++ b/tags/yarn/index.html @@ -4,7 +4,7 @@ - + diff --git "a/tags/\344\276\235\350\265\226\346\263\250\345\205\245/index.html" "b/tags/\344\276\235\350\265\226\346\263\250\345\205\245/index.html" index c06acc3bc..39aca32f8 100644 --- "a/tags/\344\276\235\350\265\226\346\263\250\345\205\245/index.html" +++ "b/tags/\344\276\235\350\265\226\346\263\250\345\205\245/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\344\277\235\351\231\251/index.html" "b/tags/\344\277\235\351\231\251/index.html" index 441622f52..f56c01460 100644 --- "a/tags/\344\277\235\351\231\251/index.html" +++ "b/tags/\344\277\235\351\231\251/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\345\215\225\344\276\213\346\250\241\345\274\217/index.html" "b/tags/\345\215\225\344\276\213\346\250\241\345\274\217/index.html" index 0fde8edf3..d8d0de14f 100644 --- "a/tags/\345\215\225\344\276\213\346\250\241\345\274\217/index.html" +++ "b/tags/\345\215\225\344\276\213\346\250\241\345\274\217/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\345\215\232\345\256\242/index.html" "b/tags/\345\215\232\345\256\242/index.html" index 3177d562a..cff47febb 100644 --- "a/tags/\345\215\232\345\256\242/index.html" +++ "b/tags/\345\215\232\345\256\242/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\345\226\234\345\212\240\344\270\200/index.html" "b/tags/\345\226\234\345\212\240\344\270\200/index.html" index c08ff5206..e85c6b102 100644 --- "a/tags/\345\226\234\345\212\240\344\270\200/index.html" +++ "b/tags/\345\226\234\345\212\240\344\270\200/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\345\245\207\346\212\200\346\267\253\345\267\247/index.html" "b/tags/\345\245\207\346\212\200\346\267\253\345\267\247/index.html" index 5e188063c..6b9133123 100644 --- "a/tags/\345\245\207\346\212\200\346\267\253\345\267\247/index.html" +++ "b/tags/\345\245\207\346\212\200\346\267\253\345\267\247/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\345\267\245\345\216\202\346\226\271\346\263\225\346\250\241\345\274\217/index.html" "b/tags/\345\267\245\345\216\202\346\226\271\346\263\225\346\250\241\345\274\217/index.html" index 2b3954254..79d2f420b 100644 --- "a/tags/\345\267\245\345\216\202\346\226\271\346\263\225\346\250\241\345\274\217/index.html" +++ "b/tags/\345\267\245\345\216\202\346\226\271\346\263\225\346\250\241\345\274\217/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\345\270\270\350\257\206/index.html" "b/tags/\345\270\270\350\257\206/index.html" index 5b8b4295d..6c2247289 100644 --- "a/tags/\345\270\270\350\257\206/index.html" +++ "b/tags/\345\270\270\350\257\206/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\345\276\256\344\277\241/index.html" "b/tags/\345\276\256\344\277\241/index.html" index 0ba4a0855..49a2e254a 100644 --- "a/tags/\345\276\256\344\277\241/index.html" +++ "b/tags/\345\276\256\344\277\241/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\345\276\256\346\263\242\347\202\211/index.html" "b/tags/\345\276\256\346\263\242\347\202\211/index.html" index 096b63758..cb8cd73a3 100644 --- "a/tags/\345\276\256\346\263\242\347\202\211/index.html" +++ "b/tags/\345\276\256\346\263\242\347\202\211/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\346\212\275\350\261\241\345\267\245\345\216\202\346\250\241\345\274\217/index.html" "b/tags/\346\212\275\350\261\241\345\267\245\345\216\202\346\250\241\345\274\217/index.html" index 77e91550c..f4f2f3c2f 100644 --- "a/tags/\346\212\275\350\261\241\345\267\245\345\216\202\346\250\241\345\274\217/index.html" +++ "b/tags/\346\212\275\350\261\241\345\267\245\345\216\202\346\250\241\345\274\217/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\346\214\202\345\215\241/index.html" "b/tags/\346\214\202\345\215\241/index.html" index cdf91d8ec..5f4c89abb 100644 --- "a/tags/\346\214\202\345\215\241/index.html" +++ "b/tags/\346\214\202\345\215\241/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\346\227\205\350\241\214/index.html" "b/tags/\346\227\205\350\241\214/index.html" index 2aa99a487..d110b4119 100644 --- "a/tags/\346\227\205\350\241\214/index.html" +++ "b/tags/\346\227\205\350\241\214/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\346\240\221\350\216\223\346\264\276/index.html" "b/tags/\346\240\221\350\216\223\346\264\276/index.html" index c6f071485..bc27e5c3a 100644 --- "a/tags/\346\240\221\350\216\223\346\264\276/index.html" +++ "b/tags/\346\240\221\350\216\223\346\264\276/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\347\210\261\357\274\214\346\255\273\344\272\241\345\222\214\346\234\272\345\231\250\344\272\272/index.html" "b/tags/\347\210\261\357\274\214\346\255\273\344\272\241\345\222\214\346\234\272\345\231\250\344\272\272/index.html" index 079b7fa1c..339238222 100644 --- "a/tags/\347\210\261\357\274\214\346\255\273\344\272\241\345\222\214\346\234\272\345\231\250\344\272\272/index.html" +++ "b/tags/\347\210\261\357\274\214\346\255\273\344\272\241\345\222\214\346\234\272\345\231\250\344\272\272/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/index.html" "b/tags/\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/index.html" index 4896b44da..5f760b4ec 100644 --- "a/tags/\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/index.html" +++ "b/tags/\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\347\277\273\350\257\221/index.html" "b/tags/\347\277\273\350\257\221/index.html" index 7ccfdcda9..6e0d573cd 100644 --- "a/tags/\347\277\273\350\257\221/index.html" +++ "b/tags/\347\277\273\350\257\221/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\347\277\273\350\257\221/page/2/index.html" "b/tags/\347\277\273\350\257\221/page/2/index.html" index 24830bd22..f8ca25569 100644 --- "a/tags/\347\277\273\350\257\221/page/2/index.html" +++ "b/tags/\347\277\273\350\257\221/page/2/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\350\213\261\350\257\255/index.html" "b/tags/\350\213\261\350\257\255/index.html" index 9af3e2b0a..18449967c 100644 --- "a/tags/\350\213\261\350\257\255/index.html" +++ "b/tags/\350\213\261\350\257\255/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\350\231\232\346\213\237\344\270\273\346\234\272/index.html" "b/tags/\350\231\232\346\213\237\344\270\273\346\234\272/index.html" index a45ae1fa9..38155bb2e 100644 --- "a/tags/\350\231\232\346\213\237\344\270\273\346\234\272/index.html" +++ "b/tags/\350\231\232\346\213\237\344\270\273\346\234\272/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\350\256\276\350\256\241\346\250\241\345\274\217/index.html" "b/tags/\350\256\276\350\256\241\346\250\241\345\274\217/index.html" index c7738a143..860e6577a 100644 --- "a/tags/\350\256\276\350\256\241\346\250\241\345\274\217/index.html" +++ "b/tags/\350\256\276\350\256\241\346\250\241\345\274\217/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\350\266\243\351\227\273/index.html" "b/tags/\350\266\243\351\227\273/index.html" index 4e730aedf..935d2a39c 100644 --- "a/tags/\350\266\243\351\227\273/index.html" +++ "b/tags/\350\266\243\351\227\273/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\350\275\254\350\275\275/index.html" "b/tags/\350\275\254\350\275\275/index.html" index b30d69294..b56f3d9b4 100644 --- "a/tags/\350\275\254\350\275\275/index.html" +++ "b/tags/\350\275\254\350\275\275/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\351\230\205\350\257\273/index.html" "b/tags/\351\230\205\350\257\273/index.html" index 04c2061bc..20d623b0a 100644 --- "a/tags/\351\230\205\350\257\273/index.html" +++ "b/tags/\351\230\205\350\257\273/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\351\230\277\351\207\214\344\272\221/index.html" "b/tags/\351\230\277\351\207\214\344\272\221/index.html" index df5736773..9aa0b5c81 100644 --- "a/tags/\351\230\277\351\207\214\344\272\221/index.html" +++ "b/tags/\351\230\277\351\207\214\344\272\221/index.html" @@ -4,7 +4,7 @@ - + diff --git "a/tags/\351\235\242\350\257\225/index.html" "b/tags/\351\235\242\350\257\225/index.html" index 83fc9ed93..71eec1598 100644 --- "a/tags/\351\235\242\350\257\225/index.html" +++ "b/tags/\351\235\242\350\257\225/index.html" @@ -4,7 +4,7 @@ - +
-
+