日常随想
· 阅读需 6 分钟
这里用于记录一些日常感想、零散的想法以及一些小的备忘录,避免它们散落在不同的页面中。
这里用于记录一些日常感想、零散的想法以及一些小的备忘录,避免它们散落在不同的页面中。
在 Ubuntu Docker 容器中启用并自定义 Core Dump 的生成路径,涉及容器内部配置和宿主机内核设置两个层面。
这是因为 Core Dump 的处理是由宿主机内核(Kernel)控制的,容器只是共享了宿主机的内核。
在日常开发工作中,命令行工具是提高效率的重要手段。近年来,随着AI技术的发展,涌现出了许多优秀的 AI 驱动的 CLI 工具,极大地提升了终端下的开发体验。
在 Git 中遇到“文件看起来内容一样,但 Git 提示有差异”是非常常见的情况。这通常是因为文件内部发生了肉眼看不见的元数据或不可见字符的改变。
不希望 Git 追踪文件权限的修改(在 Windows 环境下通常不需要追踪),可以关闭文件权限检查:
git config core.filemode false
注意:建议只在当前项目下关闭,不要加
--global,以免影响需要追踪权限的脚本项目
通过配置 Git 或 .gitattributes 文件来统一团队的换行符规范。
git config --global core.autocrlf true(提交时自动转为 LF,检出时转为 CRLF)git config --global core.autocrlf input(提交时转为 LF,检出时不转换)每次我在写完代码,要向服务器提交时,经常会忘记提交前确认自己或其他同时是否提交过,而直接执行提交。如果之前确实有人提交,而我又没有同步,那么就会出现如下报错:
10月3日凌晨,匆匆回到深圳。到7号现在还是晃不过神来,感觉20天跟做梦一样。一路上还是遗憾太多。准备感觉好像做了,又好像没做,一直在赶路。
使用Boost.Beast实现http服务器时,一直没有一个好的方式解决路由的问题。Boost.URL的发布给了一个比较好的实现方案。
最开始是直接使用硬编码来实现的:
void handleRequest(const boost::beast::http::request<boost::beast::http::string_body> &request) {
if(request.target()=="/public") {
// do something
} else if(request.target()=="/login") {
// do something
} else if(request.target()=="/about") {
// do something
}
}
这是最简单粗暴的方式,当然缺点有很多。扩展性差,不易于维护,会出现代码文件爆炸的情况。