漯河做网站优化,莱芜在线电话,asp.net网站开发项...,网站建设招聘岗位title: 2024年6月个人工作生活总结 urlname: code-for-2024-06 tags:
代码积累知识总结 categories:我的程序代码 date: 2024-06-30 00:00:00 photos:gallery/tech/c2.jpg 本文为 2024年6月工作生活总结。 研发编码
编码和注释
因某些需要#xff0c;重拾了2019年的工程代码…
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 FAKETIME2024-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/bashif [ $# ! 2 ]; thenecho usage: $0 old file new fileexit 1
fidiff --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/发现也能注释掉。不知道这几个工具之间是否有默契还是相互参考反正于我而言是个好的事情。让用户的学习成本降低不需要太多思考。如窗口的关闭位置不管是桌面程序还是浏览器我概念中是右上角的但有些却反其道而行不知道产品经理们是站在大众面还是站在大众对立面。当然也有例外比如我设置了密码我用明文进行提示为避免歧义我还添加了双引号如请输入“250250?”。
有的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后面被其它很多同事使用。
对于小孩教育我一般从长期角度考虑因为严格要求了也没有看到进步而小孩骂得多又怕有心理问题。本来我也鸡娃的但现在看努力做到不拖后腿老师不家访已经不错了。虽然不能厚积薄发但功不唐捐相信时间的力量。这一点在月底考虑再三跟老师私信说了大意。