KalosAner Blog

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

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...

pytorch 安装卡在 98%

Conda创建虚拟环境并安装Pytorch 一、引言 在 Windows 下使用 vscode 的命令行安装 pytorch 时经常卡在 98%。 二、解决 具体原因没一直尝试,最终解决方法就是: 打开 Windows Power Shell(管理员),然后打开 VPN 再安装。 下面是我使用的命令,安装带有 cuda 的 pytorch。 1 conda install py...

共识算法 Raft

一、前言 共识算法的目的是确保集群内的任意节点在某种状态转换上保持一致。 相比于 Paxos,Raft 最大的特性就是易于理解。为了达到这个目标,Raft 主要做了两方面的事情: 1、问题分解:把共识算法分为三个子问题,分别是领导者选举(leader election)、日志复制(log replication)、安全性(safety) 2、状态简化:对算法做出一些限制,减少状态数量...