李迟2022年12月工作生活总结
Posted 李迟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了李迟2022年12月工作生活总结相关的知识,希望对你有一定的参考价值。
本文为 2022 年 12 月工作生活总结。
研发编码
Go
一个Golang的编译脚本mybuild.sh
:
#!/bin/bash
Version="v0.0.1"
VER=""
if [ $# = 1 ] ; then
VER=$1
Version=""$VER
else
echo "not set version, using " $Version
echo "pls confirm(press enter)"
read
fi
echo "build version" $Version
# 版本和编译时间 TODO:找一个好的方法:
BuildTime=`date +'%Y-%m-%d %H:%M:%S'`
GO111MODULE=on go build -mod vendor -ldflags "-X 'webdemo/cmd.BuildTime=$BuildTime' -X 'webdemo/cmd.Version=$Version'" -o webdemo main.go
脚本中有默认版本号,在运行时,可指定版本号,如没有指定,则提示之,按回车可直接使用默认的。
Docker
构建镜像时,需要打不同的标签,——甚至需要使用不同的内网仓库 IP 地址,为方便一次性构建多个版本,使用如下脚本:
#!/bin/bash
VER=""
if [ $# = 1 ] ; then
VER=$1
else
echo "usage: " $0 "version"
echo "eg " $0 0.1.1
exit
fi
echo "building docker image for version" $VER
docker build -t latelee/webdemo:$VER -f Dockerfile .
docker tag latelee/webdemo:$VER latelee/webdemo
注1:在脚本执行中指定版本号,无须每次修改脚本文件。
注2:使用dock-compose
部署时,为了不用每次版本更新都要改镜像的版本号,将最新的版本号打标签为最新的。如最新的版本是0.3
,也是标签为0.3
的镜像,也是标签为latest
的镜像。
SQL
因工作需求,在 oracle 中添加新的列(当然,在生产环境中是有专人操作的)。在本地测试时,发现读取不了数据,后来才知道,原来 oracle 的字段名称必须是大写。否则提示标识符无效
。示例:
select a.phoneNum from UserInfo a
> ORA-00904: "A"."phoneNum": 标识符无效
如果把表名改为全大写的phoneNum
,则上述查询语句正常执行。注意,执行的SQL语句中,a.phoneNum
可以不用全大写。
删除语句示例:
delete from UserInfo where name='latelee'
delete from UserInfo where name='latelee' and id=3
根据测试,如果涉及删除,一定要加上所有的主键字段,否则会误删其它数据。
云原生开发
云原生开发并不简单,现在发现,之前的程序很难适应于容器化部署及集群的环境。比如,多副本是很常用的方式,但程序写日志时,并没有区分不同的容器,另外没有解决如何指定主机名的问题(用 docker-compose的 deploy 的话,方便部署,但不方便查日志)。比如,有些程序用 socket 连接本地进程时,直接使用127.0.0.1
的固定IP,在容器下无法正常运行。
有个程序初始化时需要连接数据库,成功后方可进行业务处理,起初设计时,当连续连接约1分钟数据不成功时,会退出程序,在容器环境中,会自动重启,因此没问题。但后来,需要在另外的非容器的环境变量使用相同的程序,一旦连不上就无法重启了,于是改成连接数据直至成功。从中可知,在开发时,考虑的事还是比较多的。
因为自己懂点 docker,把那套系统涉及的若干个程序全部容器化,起初安排了2天时间,但工作量很多,前后花了近一周时间。包括找基础镜像,改基础镜像,搭建镜像仓库,构建镜像,测试镜像,解决依赖库,部署,各应用服务运行,等等,一来那些程序本身就复杂,二来很多不是自己负责的程序,业务配置方面都不熟悉,三来在整体部署时,还在对自己的程序进行修改,一会改代码,一会升级部署,切换频繁。
工作记录
这个月比较忙,因为有项目月底上线,已经派出了大量人员,办公室就剩下几个人了。虽然我不用出差去现场调试,但也要远程协助,自己负责的模块出问题,要及时改。
这个月请假了一周,是今年2月份至今唯一的一次请长假。那天周四,因故搞到半夜2点半,周五早下班,周六又搞到半夜12点多,回去就觉得不舒服,头晕。周日发冷,虽然穿着2件外套,虽然晒着太阳,还是觉得冷。下午醒来若干个未接电话,到6点时,出发加班,叫了个外卖,搞到9点,实在顶不住了,明显感觉到已经发烧。幸好车少人少,平安回家,立马上床,一夜未能安睡,周一早上请假两天,到周二还是头晕,继续请假。周三已经感觉好了很多,可以正常办公,居家期间感觉比上班还忙,随时可能有电话来,修正了不少问题。
月底事多,时间急,自认办事还算细心,但忙中还是出错了,有些不影响上线,有些是现场发现需马上查问题改问题。事情一旦多了,难免出错,即使被呛了,也不敢说其它话,只描述事情、bug和方法。年底了,该加班就得加班,该积极还是要积极,一年过去了,兜里还是空的,需要对年终奖抱一定希望,明年要还一部分外债了。
生活记录
大锤拔牙了。当我发现时,新牙齿已经长出来了,一开始想着大锤自己能动手,但过了几天还是不行,自己又不敢强拔,去诊所找人,其实就是拿钳子大力拔,然后收费5块。
小区群里隔几天就吵一次,各种阴谋论,扯到最高法,扯到公平公正,人太复杂了,分不谁是谁非。其实我不关注哪个物业管,因为我知道,不管是什么名称,凡是带“物业”的,不会脱离物业的一般属性。我只关心物业费有没有提价,水电是否正常供应,目前小区断电是常事,前几个月发生严重的停事故,幸好我在停电后才回到小区,后来来了3车消防车,大锤大妞近距离观看,很是兴奋。
其它人的想法管不了,但家里面,凡是有点不好的事,都住严重方面说,所以像“病毒”、“细菌”、“毒 株”、“发烧”、“上火”、“火灾”、“捡垃圾”这些都是常用词。
思想方面
那次发烧,我不确定是不是被感染了,因为2天就退烧了,但前后咳嗽有十几天时间。对于生病,我从来是等闲视之,不到最后关头是不会吃药的。也不想让这个事占据自己太多时间。
业余阅读
这个月终于下决心买了本古代汉语词典,还买了些小说散文集。不过看的少。偶尔看点词典,利用分散时间记一下古文。
买了本漫画版的西游记给大锤,如果晚上不忙时,讲几回给他听,顺便认一些字。对于认字,我实施的计划是拿常用字、背过的诗词、经典的古文来教。认字过程中,组的字词或句子,都是从诗词文中来的。
业余研究
以上是关于李迟2022年12月工作生活总结的主要内容,如果未能解决你的问题,请参考以下文章