关于我
-
来自南部的一个小城市,个性不张扬,讨厌随波逐流。
那年今日
💬 分享 很早之前试过很多记账app,都没办法坚持下来,很大的原因就是每笔消费都手动记录太琐碎,而且对于我来说必要性不是特别大。因此自己设计了一个周期性的记账表格,这样能看到每个周期自己的所有账...
📝 每日记录 今晚才知道Tim和小鱼离婚了,吃惊到下巴要掉下来。我是最近一年才开始关注「影视飓风」的。看到Tim和小鱼结婚相关的视频最早是一期介绍装修后房子的,当时我就在羡慕。后来又看了一期度蜜...
📝 每日记录 「自我觉察」今天晚上在写一篇“读后感”,写了1小时左右发现自己进入了“状态”了,从而发现进入状态的重要性。之前可能觉得“进入状态”只是一个形容词,而今天发现它确实是做好事情的一个...
你的显示器分辨率是多少呀?
📝 每日记录 五一假期结束了。这可能是这几年最为放松的假期,前两年每个假期都会或多或少忙工作上的事情,这次假期里没有打开看过一次工作上相关的内容,真的很满足了!假期回家了,爸妈和姐姐都回来了。吃...
💼 工作记录
这段代码是有隐患的,但是却比较难发现。因为如果这个数组中最后一位不是
\0
结束符,构造string的过程中就会一直按照地址递增访问内存直到找到结束符为止,这个过程会导致内存异常访问等问题但在真实环境中,可能不一定会导致崩溃,因为当我们new[body_len] 申请一段内存的时候,由于内存对齐以及操作系统的差异性,分配的大小会大于申请的大小,因此在body_len 位置的内存很可能就是结束符。 C++Tips
1:
std::unique_ptr<char[]> response_body(new char[body_len + 1]); // 分配空间 这种非常重要 且常见
memcpy(response_body.get(), origin_response_body.c_str(), body_len + 1); // 拷贝完整字符串
2:动态分配 在设计、开发阶段是要被严格管控的, 至少做到1、在详细设计阶段就要体现在文档里。2、边界检查 3、测试覆盖
好像发的不对,检查了下,基本没有临时的动态分配、
我这里简化了,memcpy的逻辑是另一个函数的事情,函数参数就是char*,所以外部必须传入一个分配好空间的字符指针进去
这个是sdk的代码,个人觉得c++项目而且没有那么高的性能要求下,尽量可以不用char*指针,同时这个sdk内部保存的就是string,但是函数参数是char*导致string->char*->string 这样诡异的逻辑出现
📝 每日记录 「自我觉察」
今天晚上在写一篇“读后感”,写了1小时左右发现自己进入了“状态”了,从而发现进入状态的重要性。
之前可能觉得“进入状态”只是一个形容词,而今天发现它确实是做好事情的一个具体的步骤。
这里列举目前想到的一些条件:
💬 随便聊聊 最近很火的 AI 认为 9.11 > 9.8 我的第一反应居然和AI一样... 可能是版本号看多了吧
💬 随便聊聊 看到一个评论很有意思:“至少我从来没听说过有人死前还会想着,这辈子没有赚更多的钱没有为当年的公司做更多的牛马之事。”
💼 工作记录
最近的两个需求尝试以 “面向测试开发”来开发。所谓“面向测试开发”,或者“测试驱动开发”,我理解就是先去写UT,先去在UT里面写好调用的函数和预期的接口。每写一个EXPECT,对应去实现类的功能,这样写完UT,功能也开发完成了,保证了模块的质量。
通过这种方式发现写代码的阻力更小一些。之前写代码脑子里可能混杂多个接口的设计想法,通过UT,每次只增加一个新的case,实现该case,能够“小步快走”,会更不容易出错。
这对项目代码质量是有比较大的要求的,如果是一个新的独立模块,还好一些,可以从零开始写UT,如果这个模块有依赖外部模块,需要mock或者外部模块也具有可测性。
如果是在已有的功能模块里新增新的功能,这就要求已有模块可测性非常强才行。历史的很多代码都没有UT,这也是困难之一吧。
💼 工作记录
“当你排除一切不可能的情况,剩下的,不管多难以置信,那都是事实。”
工作中排查bug的时候很像是侦探🕵️寻找真相。简单的bug可能很快从代码review就能发现,比如空指针等。这周遇到了一个bug ,简单来说,
线上的问题是在A操作过程中,出现了B操作,导致后续C操作的时候直接崩溃。所以线上会有概率非常小的情况下崩溃。
这里写代码的时候没有考虑到这个异步过程,同时B操作或者C操作中应该增加判断,如果A操作后,就是空操作。
💬 分享 vscode一直使用的都是深色主题。最近上午显示器因为光线太亮了,黑色看不太清,改用了浅色主题「Solarized Light」,不刺眼,而且颜色很柔和浅黄色,很喜欢,推荐!
💬 随便聊聊 “学习的最佳效率,是抽空 做事的最好状态是兼职” 多多视频看到的一句话,甚是觉得有理。很多时候都在想,不上班就好了,就可以干嘛干嘛了,但实际上真不上班了,又会有经济上的负担,因此,在上班基础上,抽空做事未尝不是一种办法
需要有一个前提,能抽空
🍃 handsome主题 增加了一个引用说说的功能:
牙疼的时候才想起早干嘛不勤刷牙,生病时候才想起早不锻炼身体,不合理饮食了,快死的时候才想起早干...
但没有增加反向引用,因为如果一个页面中每条说说都去查询反向列表,sql 查询可能有些耗时
期待v10.0
佬,新版在盒子模型的基础上加个整体宽度选项呗,默认、窄、宽。现在的版本在笔记本15寸1080p上还可以,但在27寸4k显示器上就有点宽
你的显示器分辨率是多少呀?
目前就是4k 3840*2160 缩放 175%
会考虑的
🍃 handsome主题 增加了一个有趣功能,在文章下方会显示反向引用和引用的列表