Python使用dotenv来管理环境变量
管理环境变量是一件比较麻烦的事情,好在 python 有 python-dotenv 可以帮助我们来简化这个操作 安装直接 pip 来安装就好 使用创建.env 文件,记得添加到.gitignore 里面 .env 文件内容为键值对形式 shell 脚本怎么使用.env 文件
笔记本电脑CPU性能被锁定在0.78GHz的原因及解决方案
家里的旧笔记本电脑使用电池正常工作,但是插上电源就锁频率 800MHz,非常的卡,Google 了一下,总结如下。 出现这种情况的原因 可能是由于供电不好,比如充电器非原装,或者散热不行系统会自动降低 cpu 频率来保证系统稳定。 一劳永逸的解决方案 使用原装的充电器 定期清理笔记本电脑灰尘 看看 bios 里面有没有相关的设置 BD PROCHOT,把它关掉,或者升级 bios 试试看看。 Windows 系统怎么解决Just download throttlestop and Disable BD PROCHOT and Turbo不过每次重启都需要重新设置一下官网下载地址:https://www.techpowerup.com/download/techpowerup-throttlestop/ Ubuntu 系统怎么解决 上面的 0123 需要和 CPU 核心数对应需要每次开机都运行一遍(需要 ROOT 权限)
使用typora更好更快地写hugo博客
hugo 是一个静态博客生成工具,自己有自己的文件组织方式,所以导致的结果就是使用 typora 不能正常显示图片,插入图片也不能放在正确的位置上。typora 已经成为收费软件了,有能力请支持正版,或者使用旧版本 最后一个Typora免费版0.11.18 图片管理 按照图示设置后,即可正常显示图片,复制粘贴图片也能复制到正确的位置,设置完成后,发现 markdown 的 frontmatter 增加了 2 行: 意思是将图片放在 static 的 img 目录里。每次都在 markdown 文件添加上这两行即可,那么有没有办法自动添加呢? 当然有~ 编辑 hugo 目录下的 archetypes/default.md,这个文件是默认创建的模版。在里面添加上上述内容。 自动生成分类 不想让所有的 markdown 文件都在一个文件夹内,比如想按文件夹分类,A 文件夹内的文章发布后就是在 A 分类下。 可以将 archetypes/default.md 里面的 categories 修改成 以后创建新文章的时候就可以自动生成分类了。
编译安装Redis记录
下载解压 编译编译需要 gcc 安装 启动 通过 systemd 管理vim /usr/lib/systemd/system/redis.service
Linux平台文本编辑器vim
常用快捷键 快捷键 说明 i 在当前光标之前插入 a 在当前光标之后插入 I 在当前行 最前面插入 o 在下方新建一行, 然后插入 O 在上方新建一行, 然后插入 G 跳到最后面 gg 跳到最前面 $ 跳到行尾 ^ 跳到行首 v 多选 ctrl v 块选 V 行选 yy 复制一行 p 在光标后粘贴 P 在光标前粘贴 dd 截切一行 e 多选模式下 向后一个单词 b 多选模式下 向前一个单词 d^ 删除到行首 d$ 删除到行尾 D 删除到行尾 替换文本 匹配删除删除包含特定字符的行 删除以#开头的注释 删除空行 删除#后面的行 删除不匹配的行 patton 里面可以是正则表达式,比如说 ^10.104 每一行最后添加一个字符 用 sudo 打开 命令模式 配置文件 全局配置文件 /etc/vim/vimrc当前用户配置文件 ~/.vimrc 鼠标模式 Vim7.1 使用鼠标时会默认进入虚拟选中模式 (visual mode),就好像通过 v 选中...
vagrant常见报错解决方案
vagrant 是一款虚拟机管理工具,可以通过代码来控制虚拟机的状态,帮助提升开发效率 提示 umount: /mnt: not mounted 出现这种情况一般是由于安装了 vagrant-vbguest 插件, 但是这个插件并不能自动帮助我们安装 vbguest这种情况可能是由于内核版本比较低导致的 方案 1: 升级内核 vagrantfile 增加一行 方案 2: 降级 vagrant-vbguest 报错网段不在 nat 网段里面vagrantfile 添加 virtualbox__intnet 参数 常见报错 Stderr: VBoxManage: error: Could not find the VirtualBox Remote Desktop Extension library需要安装 LibVNCServer-devel
使用expect来解决命令交互问题
linux 里面很多命令都是需要人为交互的,对于做成脚本来说,有点不合适了,比如通过密码连接 SSH 必须要在控制台输入密码(安全起见还是用 rsa key),expect 是预期的意思,它可以实现我们预期的结果。 安装 解释器使用 expect 这种方式由于解释器使用了 expect,所以只能使用有限的命令,不是很推荐 执行结果赋予变量 解释器使用 bash 假设 certbot 不支持非交互使用 直接使用 expect 命令 这种和切换解释器类似, 类比于 ./test.sh 和 bash test.sh 的关系。 vim test.sh 一些例子🌰自动登录带两步验证码的跳板机手动登录的方式: 使用脚本自动登录,效果如下图: 脚本做了: 自动输入密码 自动输入两步验证码(谷歌验证器 6 位数字动态密码) totp.py 获取验证码的脚本 这个脚本需要接收一个参数,参数为 TOTP Seed,也就是二维码解析出来的内容。 登录脚本:
搭建NFS服务
k8s 集群需要存储,本地测试环境懒得搞些复杂的,开始回忆回忆入门时学的 nfs 的搭建,记录下吧,方便查看 搭建服务器Ubuntu和DebianCentOS和Fedora 重启服务 Ubuntu和DebianCentOS 7CentOS 9 或 RHEL 9 搭建客户端Ubuntu和DebianCentOS和Fedora
Docker不支持中文解决方案
ubuntu 官方镜像默认的字符集支持 C, C.UTF-8, and POSIX 查看容器使用的字符集 要使容器内进程可以打开中文文件,需要将 locale 设置成 C.UTF-8 即可 修改 Dockerfile,添加 ENV 重新构建,运行,再次查看 locale 如果想让容器内可以正常显示中文(应该没人想这么干吧),需要先安装 locale 然后将 locale 设置成 zh_CN.UTF-8 修改 Dockerfile,添加 然后就可以完美显示中文了
使用python控制windows鼠标和键盘
python 在 windows 下操作键盘鼠标(有点类似于按键精灵),可以使用 PyUserInput 模块,PyUserInput 依赖 pywin32 和 pyHook 模块。pyautogui 感觉很不错,可以实现 PyUserInput 的所有功能,并且可以根据提供的截图来进行图像识别。 PyUserInput安装 PyUserInputPyUserInput 模块安装前需要安装 pywin32 和 pyHook 模块pip install pywin32 pyHook 模块可从这里下载,需要下载对应版本的 whl 文件http://www.lfd.uci.edu/~gohlke/pythonlibs/安装: pip install xxx.whl PyUserInput 模块官网: https://github.com/PyUserInput/PyUserInput 这个模块官方已经不维护了,目前来看 python3.7+win11 还可以用,后续有需要的同学可以看看 Pynput 使用 PyUserInput pyautogui官网文档:https://p...


