摘要: 装饰器的技巧: def task(desc): def decorator(f): TASKS[f.__name__] = desc def wrap(user, *args, **kwargs): return f(*args, **kwargs) return wrap return decor 阅读全文
posted @ 2024-09-29 17:45 写bug的民工 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 示例: bash test.sh 组合按键ctrl+Z暂停 bg %1 disown %1 exit 参考: 耗时很长的程序忘加nohup就运行了怎么办? - ipid君的回答 - 知乎 https://www.zhihu.com/question/586298694/answer/29916478 阅读全文
posted @ 2024-08-05 15:58 写bug的民工 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 由于我用的电脑是mac book,有时会遇到换个无线网后无法连接vpn的问题,提示路由不可达的问题,然后查看路由项发现还存在之前的路由。 所以只能先清理路由缓存,再重连无线网解决: 查看路由表信息 sudo route -nr 清空路由表 sudo route flush mac路由操作参考操作链接 阅读全文
posted @ 2024-05-18 10:35 写bug的民工 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 看了这个文章,对于现在的我是有借鉴意义的,有空的时候再读一遍 https://liw.fi/40/ 阅读全文
posted @ 2024-03-14 14:48 写bug的民工 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 在我们将编译器从g++迁移到clang++的过程中,遇到一个问题,有个工具程序只要一运行就会出现core dump问题,并且用gdb调试core文件也无法获得任何有用的堆栈信息。 通过不断尝试,发现只有在clang++使用-O2编译时得到的程序才会发生这个问题,使用clang++ -O0或者g++编 阅读全文
posted @ 2024-03-06 23:01 写bug的民工 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 今天在使用git的时候突然想到一个问题,我们在提交MR时,仓库管理员合并我们的提交时,新增的merge提交是否会包含修改内容? 所以做了个实验,步骤如下: 创建branch_a和branch_b两个分支, 在branch_a分支的a.txt最后增加一行:add a,增加后并提交;在branch_b分 阅读全文
posted @ 2024-03-05 10:37 写bug的民工 阅读(21) 评论(0) 推荐(0) 编辑
摘要: valgrind是一个构建动态分析程序的工具集框架,它有一套功能强大的工具集合,包括debug、profiling等,其中最重要和常用的是内存泄漏检测工具memcheck 下载: wget https://sourceware.org/pub/valgrind/valgrind-3.22.0.tar 阅读全文
posted @ 2024-02-03 17:29 写bug的民工 阅读(240) 评论(0) 推荐(0) 编辑
摘要: awk命令指定非可见的ASCII作为记录分隔符和列分隔符,输出每一条记录: awk -v FS=$'\x20' -v RS=$'\x1e' '{print $0}' 数据文件名 $'\x20'是ascii码为32的字符,$'\x1e'是ascii码为31的字符 阅读全文
posted @ 2023-11-28 10:13 写bug的民工 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 参考文章:https://juejin.cn/post/7078530622527897631 模板是C++的泛型编程机制,这种机制可以最大程度复用代码并且不会增加运行时开销 模板分为函数模板和类模板 函数模板 函数模板是对函数的参数进行泛型化,传递给模板函数的类型实参可以是类,也可以是整型值,还可 阅读全文
posted @ 2023-10-18 16:43 写bug的民工 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 排查字符集问题时,有的时候发生乱码不知道如何生成的字符,此时就需要通过字节序列来判断该字符是什么。 已知utf8字节序列时,转换为unicode或者gb18030字节序列: >>> a = b'\xef\xbc\xa1' # 此时a是一个bytes对象 >>> b = a.decode("utf8" 阅读全文
posted @ 2023-10-12 12:28 写bug的民工 阅读(45) 评论(0) 推荐(0) 编辑