KalosAner Blog

欢迎大家讨论和批评!
「山穷水复疑无路,柳暗花明又一村。」

在C语言中运行 dpkg 出现 install ok unpacked 的问题

问题: 在 C 语言中使用 system(“dpkg -i xxx.deb”) 安装软件包时软件包卡在 install ok unpacked 状态。 原因: 程序运行在 Linux 上,后台运行,执行 system(“dpkg -i xxx.deb”) 终端已经被关闭,标准流(0,1,2)中 1 和 2 指向的“文件”(类似 /dev/pts/9,其实是个伪终端)显示 deleted。大...

MacOS 上 Iterm2 分屏切换

command + t:新建窗口 command + w:关闭窗口 command + d:垂直分屏 command + shift + t:水平分屏 command + ] or conmand + [:最近使用的分屏切换 command + 数字:切换标签页 command + 方向键:按方向切换标签页 shift + command + s:保存当前窗口快照 command + alt...

Linux 上启动脚本有时候查不到进程

问题: 在 Linux 上写的 shell 死循环脚本然后通过 ./a.sh & 启动之后,通过 ps aux | grep a.sh查不到进程号。 解决方法 在脚本的最头上添加 #!/bin/bash,脚本会根据这个找到默认的 sh 执行器,并在之后还可以在 ps aux | grep a.sh 查找到这个进程。

软件开发经验

在一线做了十年的开发,经历了网易、百度、腾讯研究院、MIG 等几个地方,陆续做过 3D 游戏、2D 页游、浏览器、移动端翻译 app 等。 积累了一些感悟。必然有依然幼稚的地方,就当抛砖引玉,聊为笑谈。 一、对于团队而言,流程太重要了 行军打仗,你需要一个向导;如果没有向导,你需要一个地图;如果没有地图,至少要学习李广,找一匹识途的老马;如果你连老马也没有,那最好可以三个臭皮匠好好讨论...

打包 deb 时需要注意的东西

在打包 .deb 包时,文件名、路径、元数据的大小写和下划线需严格遵守规则,否则可能导致安装失败或冲突。以下是关键注意事项: 1. 包命名规则(control 文件) 只允许小写字母:包名必须全小写(如 my-package),禁止大写(如 My-Package ❌)。 允许字符:小写字母(a-z)、数字(0-9)、加号(+)、连字符(-)、点(.)。 禁止下划线:包名...

Neovim 配置出错

问题 使用 Neovim 0.11 配置 treesitter 时总是报错如下,安装 Lunarvim 同样如此。 Error in decoration provider “win” (ns=nvim.treesitter.highlighter): Error executing lua: …2/share/nvim/runtime/lua/vim/treesitter/language...

在 ubuntu 上打包安装 deb 遇到的问题

环境:ubuntu aarch64 文件结构 打包需要按照格式放置文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 myapp/ ├── usr/ │ └── bin/ │ └── myapp # 可执行文件 └── DEBIAN/ │ ├── control │ ├── postinst │ ├── postrm │ ├──...

ssh -T git@github.com 失败

问题: windows 系统,浏览器可以访问 github.com,但是 ssh -T git@github.com 失败。 解决: 在 ~/.ssh 下添加 config 文件,写入 1 2 3 4 Host github.com Hostname ssh.github.com Port 443 User git 并且确保 ~/.ssh 里边没有 known_hosts 文件。...

在cmd、powershell 或者 terminal 中提升权限

如何在命令框中使用命令把自己的权限从用户提升到管理员? 参考官网的方法,重新打开一个带有管理员权限的窗口。 如果想打开 powershell 命令:Start-Process -Verb runAs powershell 如果想打开 cmd 命令:powershell Start-Process -Verb RunAs cmd 如果想打开 windows terminal 命令:powe...

Effective C++ 和 More Effective C++ 总结

Effective C++ 视 C++ 为一个语言联邦(C、Object-Oriented C++、Template C++、STL) 宁可以编译器替换预处理器(尽量以 const、enum、inline 替换 #define) 尽可能使用 const 确定对象被使用前已先被初始化(构造时赋值(copy 构造函数)比 default 构造后赋值(copy assignme...