2024年6月个人工作生活总结

发布于:2024-07-01 ⋅ 阅读:(17) ⋅ 点赞:(0)

title: 2024年6月个人工作生活总结
urlname: code-for-2024-06
tags:

  • 代码积累
  • 知识总结
    categories:
  • 我的程序代码
    date: 2024-06-30 00:00:00
    photos:
  • gallery/tech/c2.jpg

本文为 2024年6月工作生活总结。

研发编码

编码和注释

因某些需要,重拾了2019年的工程代码。断续地经过大半天时间跟踪调试和打印,理清了业务流程,原来浅薄的理解加深了,还画了泳道流程图。如果能回到过去,一定要问自己,当时为何没有画流程图,注释为何没有写多一些?当然,近年这个差习惯已经改了一些。年纪一旦上去了,思维活跃程度不如从前了。

关于应用服务配置文件及监控的记录

配置文件:

文件格式多样化,如xml、ini、yaml、json等,这几种都在实际工程中应用到。像golang解析这些格式比较方便。另外golang也有组件支持热更新配置,只是目前还没有真正使用到。至于热更新,需要根据实际情况确定,比如日志中的文件名称等可能不太好热更新,但日志等级可以做到。

监控:

最近在一个golang工程中做了统计页面的访问,如最近5分钟、当日、昨天、今日,等。对其它一些数据还做了多维度的统计。

用faketime修改容器时间

容器可用faketime调整时间。但必须用LD_PRELOAD=./libfaketime.so.1 FAKETIME="@2024-06-19 00:30:00" xxx方式执行。经测试,对如C++、Java等应用层程序有效,对于golang程序不适用,对于底层动态库不适用。faketime编译方法:

git clone https://github.com/wolfcw/libfaketime
cd libfaketime
make
make install

生成文件为src/libfaketime.so.1。使用方法见上示例。之前在容器中使用date查看日志,发现没有变化,误以为不生效,后面用程序测试才发现在程序中打印的时间的确变化了。因为在执行程序前使用了LD_PRELOAD环境变量,作用于其后的程序,而其它的命令或库,没有被影响到。

Delphi四舍五入精度问题

这个的Delphi工具又出现四舍五入不进位的精度问题了。在2021年年底时已经解决过一次,当时是在四舍五入时额外添加一个很小很小浮点数,比如0.00000001,当时的确解决了已发现的问题,为保险起见,还在另一个Golang写的工具做了相同算法,并与Delphi生成的数据做对比。这样做是因为找不到根本原因(直接解决Delphi四舍五入不进位,上峰肯定不接受),因为用不同语言写不同工具对比,以期及时发现修正。此后一直如此操作,到2022年年底,有一项数据特殊,将其忽略掉不进行对比,一年半载后,就出现了问题。原来出问题的数据为100.49999999999999,用上述方法修正后,得100.500000000,符合预期。这次出现问题的是另一计算步骤,中间过程浮点数为197.5,但做四舍五入操作却无法进位。有关部门问到原因,我解释了Delphi用银行家算法,又解释了计算步骤可能存在的问题,最后还提到当初在数据库那个表的设计上,不应使用浮点数。比如存储的数据为里程,数值为0.139公里,使用navicat查看,该项为0.1389999999999999,而有的数据为1.1440000000000000001。经对比,代码里应该使用的是一个能在网上找到的2014年写的四舍五入算法函数,如下:

function RoundClassic(R: Real): Int64; 
begin 
  Result:= Trunc(R); 
  if Frac(R) >= 0.5 then 
    Result:= Result + 1; 
end;

本次将其修改为:

function RoundClassicNew(R: Real): Int64;
begin 
  R := R + 0.0000000001;
  Result:= Trunc(R); 
  if Frac(R) >= 0.5 then 
    Result:= Result + 1; 
end;

利用diff对比差异项

场景:有一100MB的csv文件,因数据精度问题生成了2个版本,业主要求给出差异项,运维人员说内容太多,要我直接提供最终文件,由于时间紧改程序太麻烦,于是用工具对比。使用excel,未果;使用beyond compare,卡了半天,有结果了,但拷贝时少了分隔用的逗号,格式不对。最后用diff,但输出旧新两种数据,且排版不对,找了些资料,可以通过设置diff参数,仅保留出现在新文件中的差异项,达到目的。

完整脚本如下:

# 利用diff工具输出新旧文件差异项,仅输出新文件的差异项
#!/bin/bash

if [ $# != 2 ]; then
    echo "usage: $0 <old file> <new file>"
    exit 1
fi

diff --unchanged-line-format='' --old-line-format='' --new-line-format='%L' $1 $2

对注释快捷键Ctrl+/的思考

我主要使用VS Code编码,无论是C++、Golang还是Delphi,一些快捷键使用得多了,就养成习惯。比如注释的快捷键Ctrl+/。当在Qt Creator中做此操作,发现也能注释,更意外的是,在Navicat中查询SQL语句时,有些where条件暂时不使用到时,也习惯用Ctrl+/,发现也能注释掉。不知道这几个工具之间是否有默契还是相互参考,反正于我而言,是个好的事情。让用户的学习成本降低,不需要太多思考。如窗口的关闭位置,不管是桌面程序还是浏览器,我概念中是右上角的,但有些却反其道而行,不知道产品经理们是站在大众面,还是站在大众对立面。当然,也有例外,比如我设置了密码,我用明文进行提示,为避免歧义,我还添加了双引号,如请输入“250+250=?”

有的APP开屏广告,关闭窗口上下左右位置不固定,加上加了背景色,很难跳过,这是提高用户成本,提升产品广告有效时间、点击率的一个方法。

业余时间

为同时保持英语的听力和行业知识,不至于落后,这个月在B站听了一些关于架构的课程,这里记录一下地址,比如系统设计基础系统设计系列。说实话,很多知识点都知道个大概,没深入研究,而且时间也上允许,但出现难题又无法快速解决。这里的难题等级较高,如nginx如何做到故障平滑转移?ELK如何方便自定义日志搜索?等等。

B站最近出现了很多电影,能搜索到很多粤语片,在996之余,抽空看了几部清一下脑子。

生活记录

流水

六一当天正值周六,向上层说有事不去加班,全家人去了南宁市科技馆,玩了半天。

端午假期,第一天,在下雨,至下午4点,雨停了。和大锤玩一个”左拐右拐“的游戏,就是骑电驴,出门,右拐,至下一路口左拐;至下一路口右拐,依此类推。大概半个多小时,就到了近郊外的地方,但见远山长,青山绿,云雾缭绕。泥路边有南瓜苗、红薯苗,还看到葫芦棚,开着花,结着果。远处还有小路,但雨后不好走,就打道回府了。路上大锤睡了,如当年带他去玩回程睡觉那样,于是绕路慢行,回到家时,已快入夜了。

端午假期第二天,居家休息,因新功能上线,晚9点多到公司值班,守至端午当天凌晨2时,数据正常,汇报后回家,路上买粉吃。

端午假期第三天,10点多出发去江边看龙舟,后因雨回家。

差不多896了

这个月再接再厉,一周中,有5天是8点多到工位,有4天是晚上近9点下班,周六上大半天班。于是大锤作业多的时候,能写到11点半。

育儿记录

记录一些问题,一些解决办法,一些结果。

月初,大锤有个练习试卷得A,接着得了B,而全班C者只有4名,可理解大锤是倒数10名内了。大锤被骂了,但看样子没有知耻后勇,月底,搞了2个C出来。简单总结,一是写字不认真,在他妈妈强烈要求下花了几百块的书法培训班结束后,依然不成样子。二是不仔细,比如“单”的中间部分变成了“日”,“样”字右边变成“半”,“b”写成“d”,解决办法是买了个记事本,专门让大锤把错的字、拼音写上。(但是,这个也不是办法,试了两后大锤就不愿意写了。)

本月大锤练习上有形近字、同音字,我也花了点时间做了些笔记。。数学方面,找了些有趣的应用题,比如1只猫1分钟吃掉一条鱼,100只猫同时吃100条鱼要花多少时间。大锤先是回答100分钟,两人分析小半天后,才认为需要1分钟。

月底学校中考,大锤放假前2天,老师打电话给他妈妈投诉,于是我也被骂了。

家里大人的教育理念是相反的,这个比较麻烦。如:我认为普通话的发音是要准确的,但人家说别人听大锤说话还以为大锤是北方人。我认为是先学会洗衣做饭才能成长,而不是成长了就会洗衣做饭,同理学习也一样。

内心话

我以前想着要平衡好上班养家还房贷及教小孩,乃至扮好儿子、丈夫、父亲的角色,但做不好,也做不到。我对自己要求比较严格,也想打造一个好的人设。上班地点近了些,按日常出发时间,送完大锤上学,8点后就能到工位了,但不会卡到8点半。负责的工程没有专门测试人员,自己写测试程序。为方便自己远程连服务器,早早申请VPN,后面被其它很多同事使用。

对于小孩教育,我一般从长期角度考虑,因为严格要求了,也没有看到进步,而小孩骂得多又怕有心理问题。本来我也鸡娃的,但现在看,努力做到不拖后腿,老师不家访,已经不错了。虽然不能厚积薄发,但功不唐捐,相信时间的力量。这一点,在月底考虑再三,跟老师私信说了大意。


网站公告

今日签到

点亮在社区的每一天
去签到