安固途径

知识来源于感觉和经验

org-mode 导出 html 不 track 进 git 版本

2023-11-21, 星期二|
软件

git 添加对 org-mode 导出的 html 类型的文件的忽略。

编辑 .gitignore, 加入 *.org.html

每一个编辑的 org-mode 的 test.org 文件,加入 EXPORT_FILE_NAME 变量

#+EXPORT_FILE_NAME: test.org.html

这样,文件 test.org 通过C-c C-e导出成 html 的文件 test.org.html 就不会被 git 加入版本控制了。

...
阅读全文

当 emacs in tmux, 如何设置 tmux 的快键捷

2023-11-03, 星期五|
windows软件

tmux 的 prefix C-b 和 emacs 的 back command c-b 冲突了怎么办?

当 emacs in tmux, 如何设置 tmux 的快捷键?

比如设置 tmux 的快捷键为 C-M-b,如下:

tmux set-option prefix C-M-b                                                                                                 

但是在 windows 应用程序中,运行这个快捷键好像会有一点问题,就是说 Ctrl 和 Meta 键没有能够同时触发。

所以可以尝试绑定一下快捷键 C-F1

tmux set-option prefix C-F1                                                                                                  

这样,在 windows 中运行快捷键 Ctrl+F1 就没有问题啦。

...
阅读全文

nextjs Script 组件的常见问题

2023-10-25, 星期三|
前端开发

有哪些问题

1. 如果脚本的执行有依赖关系

可能等待执行的脚本先于其所依赖的脚本加载完成并执行,导致错误的产生。

这种情形出现的原因在于这些脚本是后面通过 Script 动态加载的,而非刚开始就写入了 HTML 中。所以根据浏览器渲染的原理,script 加载的时间是动态的,需要控制代码来确保。

2. 如果某段 src 引入的代码加载过,那么就不会重新加载了,不会触发加载完成回调

简言之,若先后引入了同样的 src, 那么后加载的代码不会再加载一遍,并且不会触发 onLoad 回调。

而且,如果是通过 children 写入 Script, 而非通过 src 属性,这个时候没法判断两段脚本是否需要利用缓存,有可能会执行两边逻辑。所以需要通过 id 字段来区分,以避免上述情况。

为什么会出现上述情况

什么时候会出现上面的这些问题,和应用 Script 组件的场景有关系。

在 nextjs 应用中,当依赖的某个 sdk, 又需要依赖另外的下层 sdk 时就有可能出现上面的问题。比如当动态加载某个 sdk, 但是这个 sdk 需要依赖 react,而 react 也是动态加载的,就有可能出现

...
阅读全文

gitlab job 不执行怎么办

2023-10-22, 星期日|
修复软件

到组里面找到 Settings / CI/CD / Available runners

pause/resume runner 就可以了。

另外再删除几个 pipeline 记录,有可能 pipeline 日志太多了,达到了一定的限制条件。

删除的时候可能会提示

Are you sure you want to delete this pipeline? Doing so will expire all pipeline caches and delete all related objects, such as builds, logs, artifacts, and triggers. This action cannot be undone.

如果 runner 接收到了 job, 查看 runner 的运行日志,可能会有如下提示

Checking for jobs... received                       job=xxxx repo_url=http://xxx.com/xxx/xxx/xxx runner=xxx
...
阅读全文

linux 服务器磁盘满了的常见处理手段

2023-10-22, 星期日|
linux修复

关于磁盘爆炸了的常见处理手段,本文只探讨逻辑处理,不探讨物理硬件,也就是如何释放空间而不是新增更多的盘空间总量。

磁盘满了对于服务器的危害不言而喻,新的服务跑不起来,正在运行的服务执行不下去任务,只差撑爆了,反正就是各种不工作。需要释放一些容量,然后让服务能继续工作下去。最简单的办法就是删掉一些临时性的文件。

本文的写作目的,是做一个简单的记录,便于遇到类似情形时好作为参考,也会持续的更新方法。

工具

df

df 可用于查询磁盘的占用情况

sudo df -h /

du

du 可用于查看文件夹下各类文件占用磁盘的分布情况

sudo du -h /var/log/

ls

ls 可以查看文件的大小

ls -lh .

清理 apt cache

使用 apt-get clean 工具,并且查一查目录 /var/cache/apt/archives 的占用情况。

清理 log

journalctl

利用 journalctl 来设置最大允许 log,比如设置最大磁盘占用量为 500M。

sudo journalctl --vacuum-size=500M

清理 docker 相关的数据

...
阅读全文