ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

2026年9月个人工作生活总结

2026年9月个人工作生活总结 本文为 2026年9月工作生活总结。研发编码GitLab CI/CD变量屏蔽机制与字符限制说明最近继续研究GitLab CI/CD 多平台编译问题为方便起见我修改了git的密码但是发现在GitLab无法克隆仓库经查才知道原来我设置的环境变量有些字符是不支持的术语叫变量屏蔽Masking。由于GitLab自动化构建会输出日志而为了防止信息泄露会把敏感值替换为[MASKED]但该功能基于正则匹配实现因此对变量值有字符集限制——、:和\这三个字符不被支持用于屏蔽——而我的密码就包含了实际上我设置时页面就提示了This variable will not be masked只是我不愿相信。为兼顾安全性与功能解决方法很简单就是在所有的变量中不使用那3个字符。git修正提交的作者信息问题由于笔者管理有多个仓库某天不小心将作者信息设置成全局的有些仓库的作者出错因此需要修正但原始提交的文件、提交日志等不修改这种情况下就可以用下面的命令解决了git commit --amend --authorLate Lee gotnone --no-edit git push --force-with-lease origin master一个oracle变量绑定的问题现场测试发现某系统某功能查询数据不正常。经查发现是Oracle查询语句报错。错误信息是ORA-01840: input value not long enough for date format。查了半天才解决问题。该系统是用c编写的调用 Oracle 的 OCI 接口为了做优化查询语句使用绑定变量的方法但没有深刻领悟到其位置编号必须与 SQL 文本中参数首次出现的顺序一致。因此导致出错。原来OCI 是按参数在 SQL 中首次出现的位置来分配绑定槽位的而不是按参数名称的数字编号。例如如果 SQL 中参数出现的顺序是:1、:3、:2那么绑定位置 1 对应:1绑定位置 2 对应:3绑定位置 3 对应:2。如果代码仍然按1:1、2:2、3:3的顺序绑定就会导致参数错位——本该传给某个参数的变量就被绑定到了另一个参数上。本次遇到的问题就是因为变量位置错了时间变量变成其它值长度不正确。解决方法很简单让 SQL 中参数的出现顺序与代码的绑定顺序保持一致。最直接的方式是调整 SQL 中条件子句的书写顺序使参数按:1、:2、:3依次出现这样代码中的setString(1, ...)、setInt(2, ...)、setString(3, ...)就能自然对应。另一种方式是在绑定前打印日志确认参数值和长度或使用按名称绑定的接口避免顺序依赖。通用示例如下-- 调整前参数顺序混乱:1 → :3 → :2 SELECT col_a, col_b FROM table_name WHERE field_a :1 AND event_time TO_DATE(:3, yyyy-mm-dd hh24:mi:ss) AND field_b :2 AND status_flag 0; -- 调整后参数顺序自然:1 → :2 → :3 SELECT col_a, col_b FROM table_name WHERE field_a :1 AND field_b :2 AND event_time TO_DATE(:3, yyyy-mm-dd hh24:mi:ss) AND status_flag 0;C变量赋值如下// 绑定代码保持简洁清晰 pStmt-setString(1, valueA); // :1 第一个参数 pStmt-setInt(2, valueB); // :2 第二个参数 pStmt-setString(3, valueC); // :3 第三个参数这样既避免了参数错位也让代码逻辑一目了然。一些解决问题理念的问题最近不断有一个感受工作这么久我一直对自己要求高但近来被一些问题困扰总会被其他人刷新认知但自己又不想那样也不是标榜自己清高。某问题涉及数据库涉及多人问有关的人经典的回复是算法是A提供的库是B提供我不清楚。不过不同的人在单位的作用不同而且权重不同。像我就得战战兢兢兢兢业业夜不成寐如临深渊如履薄冰如露亦如电。AI开发运维工具用AI写的工具现在已无能力自己再添加代码了因为代码量太多了各层级又深虽不够简洁但起码能用等发现问题时再由AI修改。等功能基本定版后再换个AI优化一下。本月完成如下功能增加常用工具箱如常用编码字典、加密解密算法、md5等摘要算法、JSON格式化、二维码生成解码等等。研发常用工具比如将竖线隔开的数字拆分并计算总各先前只能用notepad换行再用excel计算麻烦。比如一长串约100字段的sql语句拆分字段和值一一对应再放到表格里展示出来方便观察哪个字段的哪个值是否符合预期先前只能将字段和值分别用nodepad换行再数数来对照着看麻烦。添加客户端功能可与服务端通信上传客户端所在主机信息。使用sqlite3保存一些配置项可即时修改使用包括主题色、logo、菜单等可以根据需求设置/伪装成不同的系统再利用容器环境变量可以在同一目录运行多个容器方便管理。切换了AI coding工具本月因策略调整不再使用codebuddy而是使用qoder。这里记录使用的经验。1、如使用同一套模型解决问题的思路基本相同其思考的方式也相同。2、不同的描述方法或问题反馈得到的结果天差地别。作为不熟悉UI布局和设计的我觉得让AI调整页面组件十分麻烦我就因为一个时间组件的宽度问题搞了很久然后放弃。3、不管codebuddy或qoder其内核还是vscode我习惯用vscode及其快捷方式。但是使用qoder IDE时我需要快速定位文件快捷键为CtrlE但却切换到另一个qoder的questions界面。找了一些方法做了调整恢复原来功能。方法按 CtrlShiftP 打开命令面板输入 Open Keyboard Shortcuts (JSON) 并选择 首选项: 打开键盘快捷方式 JSON修改ctrle的绑定{ key: ctrle, command: workbench.action.quickOpen }搞坏一台服务器老话说常在河边走哪能不湿鞋。这不老马失前蹄我用了十几年的Linux平生第一次把一台服务器的bin目录删除掉先前那些搞坏虚拟机都是小儿科了。起因很简单某测试服务器一般使用root登陆我在工程目录有bin目录我需要删除旧的文件但敲命令时变成rm /bin/ -rf然后就没然后了。后续有问了多个AI均回复无法恢复建议重装。考虑到数据较多找相关部门管理云平台的人咨询回复是没有镜像备份要找厂家才能确定数据盘在哪个位置且不能保证解决问题。有备用测试服务器个人的工程提交到git镜像文件有备份重新编译运行即可。有的同事的docker构建脚本只在那台服务器有因此无法恢复但可以基于现有的已经提交仓库的镜像做新镜像。加急部署一些个人的和其它同事的服务程序没有影响测试。内疚了小半天现在已经看开了不是生产环境不是什么大事。生活记录体检记录上个月体检这个月出报告情况有变坏的趋势。今年多了脂肪肝而血压依然高体重依然和去年相同。公司的体检是以40岁为区分前后是不同的套餐。有趣且尴尬的是我体检时刚好处于差不多四十惑不惑的年纪。体检表单是39但在医院的系统里无法正常登记因此系统只认整年亦即我是40岁两者不一致。于是由2位工作人员花5分多钟研究和调整她们的沟通过程中多次重复我是劳务外包不是劳务派遣不对则无法调整。幸运的是我去得较早排队的人不同也没有很尴尬。做CT时与之前所有的体检不同这次是躺着的像电影里那样在一个圆形仪器扫描头部不时有语音提示何时呼气、吸气。因为不同科目地点不同有的排长队有的科室8点半才上班最终花了近2个小时完成体检。由于这一个月来都吃得清淡因此吃营养餐只有碎肉粉时我特意加了辣椒蒜米。体检结果不太好除了老三高老问题之外肺部还有若干微小结节。一年一度的体检在这个月落下帷幕了又要想明年的指标怎能达标问题了。某英语朗读打卡APP重置某英语朗读打卡APP老师用其来布置朗读作业这个月遇到一个尴尬问题。该APP只支持5台常用设备我主力手机算一台而平板屏幕又算一台平板性能差换一台备用手机算一台。已经算3台了加了辅导老师的就够数了。老师反馈不能再登陆了犹豫再三打了APP的客服电话而客服的电话不能复制不能直接拨打手输之后根据语音提示转人工等待10分钟后接通一说问题客服马上响应立刻明白不到5秒就清除设备列表了。于是大锤又能在辅导班朗读英语了我又可以超过9点再下班了。历史上的今月去年记录了大锤不干家务的事一年过去了还是老样子。老师节前老师在群里发手工活要写贺卡给老师而且要求不能出现老师名字和姓氏。花了小半天时间陪大锤做当然主要是他自己搞。去年抢火车票回家过中秋今年开车回家过中秋平安归家平安归来。
返回列表