本文为 2025年1月工作生活总结。
研发编码
使用sqlite3命令行查询表数据
可以直接使用sqlite3查询数据表,不需进入命令行模式。示例如下:
sqlite3 database_name.db "SELECT * FROM table_name;"
linux shell使用read超时一例
先前有个编译脚本,使用read读取手动输入的版本号,如不想输入可按回车继续编译(此时使用默认值)。此举是为了在真正编译前让人判断是否符合需求。但在某些自动化构建情况下,无法模拟人按回车的动作,则可用超时的方法。
下面示例先设置NAME为默认值,再用read读取,并设置3秒超时,如有输入则用之,否则用默认值。
shell
#!/bin/bash
NAME="latelee"
if read -t 3 -p "input:" name
then
NAME=$name
echo "your name: $NAME"
else
echo "time out, using default name: $NAME"
fi
exit 0
输出结果
shell
$ sh mybuild.sh
input:foobar
your name: foobar
# 超时
$ sh mybuild.sh
input:time out, using default name: latelee
几个有启发的idea
这个月,观摩一个比赛,有团队提到一个解决问题的思路,个人认为不错。某目标检测场景,要检测的障碍物不是常规的物体,因而训练样本小,准确率不高。该团队先训练常规物体的检测,再对图像做某些算法,就可以得到所需结果了,这种逆向思维不错。
可能玩手机多了,年龄大了,思维退步了,我就不具备那些思考能力。如果硬要往脸上贴金,拿得出手的idea,就是最近在研究如何将自已编译修改的程序放到安装光盘镜像,并让其自动安装,如此一来,可大大减少安装适配的时间和难度。
优秀员工
下旬部门开年终总结会。先前听到过其它同事在聊谁谁谁在写发言稿,他们应该是提前知道结果了。领导宣布优秀员工时,竟然有我的名字,说实话,的确令我大吃一惊。我没什么能力和想法和别人争,我对事情的预期设置得较低。我没管过大项目,PPT也讲不流利。和其他人相比,多了份负责心和细心。如像某些重要数据,我会用多种语言编写工具,用多种手段相互对比结果。如像元旦前一晚值班,在0点钟声响起的前半小时,和同事进行double check,发现些问题,但紧急修正,并不影响到版本切换。
当然,综观去年,我搞了几个事故,原因有多种,但归根结底,还是自身水平不够。因此,今年一大任务是把自己手上的几个项目都应用上CICD,做好自动化测试。
不妄自菲薄,也不妄自尊大,老老实实干活,这是对自己的要求。
生活记录
上个月开始,对现有资金(其实没剩下多少)、未来资金和各种开销进行较长时间的评估和规划,在中旬申请了提前还款。还房贷是当前阶段的重要任务,其它事靠后。
现在回顾,当时的规划基本符合实际情况,没有太大的偏差。年终奖在我手上不到2天,就从一个银行流转到另一个银行,过眼云烟般散去了。鉴于有很多张银行卡因种原因被封和限额,不知这种快入快出的打法,会不会被银行识别到。
以后有了经验,10月份开始要控制支出,能不花钱就不花钱。家里的医保到12月底再交,利用信用卡账单期,将还款时间拉长。
育儿记录
去年只请假了2天年假,还有很多年假没得休,趁没那么忙,趁小孩放假,于是请假3天,连着周末一共5天。带大锤去了很多个公园,爬了些山,看了些湖,拍了些照片。多年以后,不知道大锤会不会想起和他爸爸坐在民歌湖边上风景的那个遥远的下午。
阅读记录
做架构设计,首先要考虑用户场景,然后推导出功能,最后才能确定数据和流程。------ 吴峰光
业余研究
为保持对所涉及相关技术的一些名词的熟悉度,也为扩展眼界,这个月额外花了点时间,看了些较杂的知识。
看了一些GCC和Clang的帖子文章,了解了一下Chris Lattner大牛的事迹。
看了一下Compass-CI,OpenEuler,OBS(open build service)构建。OBS也是一种创新的技术。