hz_work
KgdYsg
这个作者很懒,什么都没留下…
展开
-
职场人的核弹
职场人的核弹每个职场人都应该有属于自己的“核弹”,之所以称为核弹,说明威力巨大,但不轻易使用。之前有个同学就建议我每年都要刷一下简历,其实我很赞同这个做法,并且也想过,但就是没有实施过。原因不外乎以下几点:自己懒惰,不愿意更新简历过去一年工作也不知道自己能更新简历啥没有看机会的想法同学大概今年因为手上有了合适的 offer,工作也更有底气了,遇到 SB 也就不惯着,直接 RUN 了 = =当然主要是在哪打工不是打工,有一个更有吸引力薪资待遇的工作,为什么不去呢?成年人嘛,挣钱不寒酸~那原创 2022-04-06 05:12:48 · 274 阅读 · 0 评论 -
内层循环改变了外层循环变量的bug
上周维护一个模块时,发现代码逻辑有个 bug,在内层循环改变了外层循环变量导致的,简化一下如下代码。for(int i = 0; i < k1; i++){ // do something... for(i = 0; i < k2; i++) { //do other thing } // 在这使用 i 的值,原意是想用从 i = 0 ~ k1 的值,但实际上只会用到 i = k}所以即使要使用 i 之类的做循环,也在 for原创 2021-05-31 10:46:45 · 340 阅读 · 0 评论 -
鞭尸——记录一个低级失误,未对函数返回值做判断
某程序(K) pkill 后靠后台程序自动吊起,发现对接程序未能连接,报 connect refused。使用 netstat -apn | grep K 查看 K 监听的端口,发现 K 监听的端口并不是预期设计的端口。查看代码,K 在收到 pkill 的信号(SIGTERM 15)后,直接退出主循环,未对正在处理的连接做 close 操作。K 在重启后未对 socket bind 函数做返回值判断//伪代码如:int getSock(short port){ int s = socket()原创 2020-06-11 02:35:22 · 201 阅读 · 0 评论 -
/usr/lib64/libssl.so.10: no version information anailable
运行某程序,发现报错,ldd 看了下依赖的库有哪些,其中报:/usr/lib64/libssl.so.10: no version information anailable也就是这个 libssl.so.10 找不到适合的版本。回想一下我做了什么?编译了一个动态库,放到 /usr/project/bin 目录下,为了让我的程序能用上这个动态库,得打开 /etc/ld.so.conf,把 /...原创 2019-03-06 20:29:17 · 1481 阅读 · 0 评论 -
Linux防火墙未关闭踩的坑—— No route to host
网络服务很多时候和Linux防火墙都有着很多的关系,经常因为没有关闭Linux防火墙而导致一些奇葩问题的出现。现有两台服务器 S1 和 S2,在 S1 上部署程序 P1,在 S2 上部署 P2,发现 P1,P2 连接报错,日志只有很简单的 connect S2_IP fail!试了下在 S1 上部署 P1,P2。能直接连接上。最后为了找到问题,又找了个服务器 S3,在 S3 上同时部署 P1...原创 2018-11-27 16:01:01 · 38804 阅读 · 0 评论 -
记录一个小bug
上周五发现的一个小bug简单记录一下,没画图可能讲的不清楚大概是这样的,消息处理流程中有一线程把数据(一个结构体S)的指针(P)放到一个FIFO(就是一个队列中),然后另一个线程会从FIFO中取数据。因为是大量的数据处理,消息日志不能用来打印每一次入FIFO,出FIFO的情况(会直接写爆日志),所以是采用统计的方式来记录处理流程。统计值包括进入FIFO的数据的包数(每一个结构体存储一个解析...原创 2018-11-19 22:05:35 · 161 阅读 · 0 评论 -
日志写爆后引发的一个潜在Bug
这周遇到一个有点意思的bug,记录一下,以示效仿。由于是公司内网环境下的,所以只能用拙劣的文字来做个记录。在开发的一个程序,因为在测试中,打开了debug日志,然后50M一个的日志文件大概10s就刷爆了。(插入一个题外话,关于大日志的问题,最近看了一篇文章:Linux下日志文件过大解决方案,有兴趣可以看一下)我司的日志系统大概是这样的写满足50M,就重命名为xxx_1.log,再写满50M,就有...原创 2018-10-19 19:58:21 · 236 阅读 · 0 评论 -
领导的艺术
周一一早上就被领导灌满“鸡汤”非常怀疑他是怎么做到技术达人&灌鸡汤大师的总结一下:成年人选择最重要 & 时间最重要原创 2018-10-16 19:55:08 · 149 阅读 · 0 评论 -
一次误操作的后果
有ABCDEF六台语音机,其中AD是信令机,原有逻辑是:A(ABC) D(DEF) ,也就是A信令是通过ABC发送给后台的。上次修改程序(同时需要公共配置文件),先用B语音机做了试验,发现没有太大的问题后,在全部机器上修改配置文件。然后同事把B的配置,拷到了ACDEF上,做了替换(还好做了备份),然后重启我修改的程序,正常运行没有问题。昨天,突然A挂了,重启了别的程序,发现都跑的不对劲...原创 2018-04-12 11:48:26 · 410 阅读 · 0 评论 -
修改代码心得1
最近为了新加一个功能,决定修改配置文件。此配置文件为多模块共同使用的,所以领导让我修改的时候多加小心,别改完了别的模块跑不起来了。然而悲剧还是发生了,当我信心满满地改完后,发现其它模块必须重新编译,才能正常运行。究其原因,是因为在某配置(称为A)中,原配置写死了A一共只有X项,如果要改成X+1项,别的模块如果不升级就不能正常运行。(因为原来的写法写死了A如果读的项不等于X就return 0...原创 2018-03-21 17:35:50 · 398 阅读 · 0 评论