【Python】自动解析markdown中的图片并保存
python自动化下载/上传md中图片实在是太方便了 1.起因为什么需要python来下载md里面的图片?原因很简单,那就是需要把图片保存下来,上传到第二个图床(迁移) 对于阿里云OSS来说,有两种迁移办法 使用官方的数据导出功能 使用api接口遍历oss目录下载所有图片 这两种办法都不是那么方便,所以我选择了第三种 解析本地md文件中的img url,下载图片并保存到本地 那要怎么做呢?👇 2.教程我在github找到了这个项目 👉 Deali-Axy/Markdown-Image-Parser 作者的代码写的很棒,但是README里面却少了一个重要的启动教程,那就是你需要在当前目录下创建一个files文件夹(md文件放到这里面),对应启动项里面开启的根目录 12if __name__ == '__main__': files_list = get_files_list(os.path.abspath(os.path.join('.',...
【Docker】配置wiki js
wikijs是一个在线多人协作(带git版本管理)的wiki套件 相比于其他wiki的展示功能为主,wikijs将权限管理+多人协作作为了首个要素,其支持富文本编辑器/mardown编辑器/html源码编辑 1.Docker-cli部署 在云服务器安装 https://docs.requarks.io/install/ubuntu 可以跟着官方的指令走,下面节选了最终3个创建容器的命令。 配置密钥 12345678910mkdir -p /etc/wiki## Generate DB secretopenssl rand -base64 32 > /etc/wiki/.db-secret## Create internal docker networkdocker network create wikinet## Create data volume for PostgreSQLdocker volume create pgdata 配置数据库 1234567891011docker create \ --name=db \ -e...
【C语言】可变参数列表
本篇博客让我们来认识一下C语言学习过程中往往被忽略的可变参数列表 所谓可变参数,就是一个不限定参数数量的函数,我们可以往里面传入任意个数的参数,以达成某些目的。 关联:C++11可变模板参数 1.函数123456#include <stdarg.h>void va_start(va_list ap, last);type va_arg(va_list ap, type);void va_end(va_list ap);void va_copy(va_list dest, va_list src); 1.1 va_start1void va_start(va_list ap, last_arg); ap: 这是一个 va_list 类型的对象,它用来存储通过 va_arg 获取额外参数时所必需的信息 这个函数的作用是初始化 ap 变量,它与 va_arg 和 va_end 函数一起使用。 last_arg 是最后一个传递给函数的已知的固定参数,即省略号之前的参数。 要想设置一个带可变参数的函数,函数声明是下面这样的 1void test(int...
【Linux】来写一个udp的服务端+客户端
来写一个udp的代码 1.socket编程接口123456789101112131415161718#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>// 创建 socket 文件描述符 (TCP/UDP, 客户端 + 服务器)int socket(int domain, int type, int protocol);// 绑定端口号 (TCP/UDP, 服务器) int bind(int socket, const struct sockaddr *address, socklen_t address_len);// 开始监听socket (TCP, 服务器)int listen(int socket, int backlog);// 接收请求 (TCP, 服务器)int accept(int socket, struct sockaddr* address, ...
【Linux】man什么都搜不了,No manual entry for xxx的解决方案
man什么都搜不了,No manual entry for xxx的解决方案 系统 CentOS 7.6 1.问题描述今天查手册的时候,发现man什么都查不了。不管是系统接口还是函数,都显示没有入口文档(No manual entry for) 12345678[muxue@bt-7274:~/git]$ man pthread_createNo manual entry for pthread_create[muxue@bt-7274:~/git]$ man bindNo manual entry for bind[muxue@bt-7274:~/git]$ man manNo manual entry for man[muxue@bt-7274:~/git]$ man lsNo manual entry for ls 这可得难受了,要知道,我的博客里面关于接口定义的说明,很多都是从man手册里面复制出来的。 在root下尝试了安装,并yum update更新之后,还是无法使用 于是我就去stackoverflow提了个问题 【点我】...
【Linux】CentOS7.6 升级 gcc/g++
CentOS 7.6 升级 gcc/g++的方法,不一定适用于其他linux系统 1.查看版本12g++ -vgcc -v 当前查看版本,发现是4.8.5,这已经是2015年的旧版本了,对c++11的支持不是很完善,为了方便学习和编写新版本的代码,升级一下还是可以的 如果你的系统上没有gcc/g++,则尝试用下面的方法安装 1yum install -y gcc gcc-c++ 示例 123456789101112[root@bt-7274:~]# yum install -y gcc gcc-c++Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-managerThis system is not registered with an entitlement server. You can use subscription-manager to register.Repository epel is listed...
【Vercel】教你部署imsyy/home个人主页
本篇博客教你如何部署一个自己的个人主页 项目地址:https://github.com/imsyy/home 1.fork仓库+vercel部署首先我们点击fork,将仓库复刻到自己的账户 随后进入vercel,点击dashboard-add new-project 选择你复刻的仓库 然后什么都不用改,直接deploy 等待部署成功,点击domains,在这里添加个你自己的域名+解析。否则vercel默认的域名无法直接访问 到这里就已经部署成功了,可以不用管vercel了; 克隆下我们fork的仓库,接下来就是修改配置文件! 备注,env中已有的配置在这里不提 1.1 本地预览本地预览需要我们在本地安装好node.js环境以及npm包管理器,随后安装yarn 1npm install yarn 安装完成后,进入项目所在文件夹,先执行yarn install安装依赖项。 1yarn...
【Docker】配置lsky pro兰空图床
Docker 部署 lsky pro 兰空图床的教程 1.使用Docker部署1.1 命令行命令比较简单,用下面的即可 12345docker run -d \ --name lsky \ -p 14728:80 \ -v /root/docker/lsky:/var/www/html \ halcyonazure/lsky-pro-docker:latest --name 设置容器名字为 lsky -p 设置端口隐射,容器的80端口映射给本地的14728端口 -v 设置存储映射,本地的/root/docker/lsky 映射给 /var/www/html 完成后,进入IP:14728 即可打开你的图床页面 此命令在CentOS7.2云服务器上测试有效,但在我的nas上测试无效 2023.05.17更新:最初写这篇博客的时候,使用的是旧版本的lsky容器。目前新版本的容器已经切换了内部端口为8089,所以新版本的命令如下 12345docker run -d \ --name lsky \ -p 14728:8089 \ -v...
【Python】ValueError:Sample larger than population or is negative的原因
ValueError: Sample larger than population or is negative 的原因以及解决办法 1.出现这几天重构kook-valorant-bot的代码的时候,遇到了这个问题 123456789101112131415161718Job "vip_roll_task (trigger: interval[0:01:20], next run at: 2023-01-25 19:59:21 CST)" raised an exceptionTraceback (most recent call last): File "/home/muxue/.local/lib/python3.10/site-packages/apscheduler/executors/base_py3.py", line 30, in run_coroutine_job retval = await job.func(*job.args, **job.kwargs) File...
【Linux】网络原理
本篇博客让我们一起来了解一下网络的基本原理 1.网络发展背景关于网络发展的历史背景这种东西就不多bb了,网上很容易就能找到参考资料,我的专业性欠缺,文章参考意义也不大。这里只做简单说明。 网络发展经过了如下几个模式: 独立模式:计算机之间相互独立,靠人移动数据 互联模式:多台计算机连接到一起,实现数据共享 局域网LAN:计算机数量增多,通过交换机/路由器连接到一起 广域网WAN:将相隔距离非常远的计算机连在一起 交换机是啥?简单来说就是一个有很多网口的设备,将设备插上去后(一般用的都是RJ45网线)就能相互交流信息。我们家用的WIFI路由器其实已经集成了交换机的功能! 1983年,TCP/IP协议成为ARPANET上的标准协议,人们把1983年称为互联网的诞生时间。 1.1...