引子
做赏金程序员已经有一年时间了,在一个个赏金任务的督促下,对大学所学的信号与系统、数字信号处理、电路分析等学科有了更深的理解,对图像处理的水平也得到了进一步的磨砺。
回顾这一年,我逐渐发现了知识整理的重要性,常见的Matlab函数,重要的图像处理方法,退火、蚁群、遗传算法,这些都是在赏金任务中高频出现的热点。由于刚入行时不熟悉知识点的积累,往往面对相同的问题,需要反复查找相同的资料,浪费了许多时间。半年前接触的Markdown。这才发现之前没有养成开发记笔记的习惯,主要是因为使用Word时,往往注意力都放在了文档的格式上面,反而忽视了写作与记录本身。
方案选择
Markdown最大的不足就是无法内嵌图片,常见的解决方案是Github+jsDelivr CDN加速访问。试用了一段时间后发现了一下问题:
- 上传图片后的短暂时间(1小时-2天)内,jsDelivr不缓存图片,在无法打开Github网站的环境会导致图片失效。
- 每次上传图片都会产生提交记录,且删除上传的图片不方便,故对强迫症不友好。
- 使用该方法违背了Github和jsDelivr的初衷,最终有重蹈Gitee覆辙的可能。
不使用Github的解决方案有两个:
- 阿里云对象存储oss 存储成本9元(40G空间1年)流量费用另计
- 群晖自建图床
最终还是决定使用群晖,理由是
- 已有公网IP和DDNS服务,上行速率30M,搭建图床的同时也可以当私有云使用,给客户分享文件更方便,可以释放笔记本存储空间。
- 数据存储在本地,且可以与百度网盘定期同步,费用可控。
- 固态硬盘读取损耗几乎可以忽略。
搭建过程
- 创建文件夹 /www/pictureBed
![截屏2022-09-13 22.17.12](https://i-blog.csdnimg.cn/blog_migrate/294d2368c70c539fae2728a736f88a85.png)
- 安装并配置web station,在网络服务门户新增一个虚拟主机。
![webStation](https://i-blog.csdnimg.cn/blog_migrate/16df69b4d7cead62cb29ba2f1373df57.png)
虚拟主机的配置如下,端口自行拟定,这里写5541,只开发https访问。
![13_虚拟主机](https://i-blog.csdnimg.cn/blog_migrate/7273a94c37bf4484b5ccf9fe17f2825f.png)
- 配置FTP服务,图片上传需要用到。
![13_FTP服务](https://i-blog.csdnimg.cn/blog_migrate/81ec9054fceffc9d482f30f7fa9caf6b.png)
建议使用默认的FTP服务端口21,否则局域网内可能触发被动FTP端口访问,导致无法链接服务器,同时建议如果启动SFTP一定要更改默认的端口号,否则会有安全问题。
![13_端口被扫描](https://i-blog.csdnimg.cn/blog_migrate/c58db29b4b63b74c223bef3f6be9bbaa.png)
同样的,为了避免安全问题,可以在高级设置中修改根目录至www文件夹,并创建权限受限的用户,同时配置强密码。
![权限管理](https://i-blog.csdnimg.cn/blog_migrate/8dad4bf9b2da3e0b708d68ed1fc51c83.png)
- 现在,尝试使用用户wwwUser和FTP服务,上传一张me.png图片至/www/pictureBed/me.png,如果配置正确,访问以下链接即可看到这张图片。
https://******.***:5541/me.png
“******.***”为你的域名
- 配置Picgo和Typora。
- 下载Picgo和ftp-uploader插件。<img src="https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/46080a704c1344c699ea547ff79fa320~tplv-k3u1fbpfcp-zoom-1.image" alt="picgo" style="zoom:67%;" />
-
编写配置文件config.json,放到你认为合适的目录,推荐 ~/.picgo/config.json。
{ "pictureBed": { "url": "https://******.***:5541/", "path": "/{year}/{month}/{day}_{fullName}", "uploadPath": "/pictureBed/{year}/{month}/{day}_{fullName}", "host": "******.***", "port": 21, "username": "wwwUser", "password": "@@@@@@@@@@@" } }
******.***为你的域名 @@@@@@@@@@@为你的wwwUser用户的密码
-
填写FTP上传设置,配置文件路径推荐 /Users/######/.picgo/config.json,######为你的用户名。
![截屏2022-09-13 22.55.00](https://i-blog.csdnimg.cn/blog_migrate/5157f0a7374d9e1ceb763be21e8c96d6.png)
-
配置Typora。
- 完成,通过点击验证图片上传选项测试上传。经测试,掘金对直接复制Markdown源码转码正常,但CSDN存在转存失败的问题。
仍存在的问题
CSDN无法正确处理文件名为中文的图片,会报错外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传。
临时的解决方式是采用上传图片。
<img src="*****" alt="Typora" style="zoom:100%;" />