李迟2022年11月工作生活总结(代码片段)

李迟 李迟     2023-02-18     683

关键词:

本文为 2022 年 11 月工作生活总结。

研发编码

Go

研究了一些结构体、json相关的东西,感觉挺方便的,有空单独写出来。

Docker

使用 alphine 构建的一个应用服务镜像,其中有一解压zip文件功能

sh ./config/extract.sh ./data/website/
Archive:  /tmp/website/static.zip
unzip: short read

$ unzip FP_MU_REQ_45_20221017230403001.zip 
Archive:  FP_MU_REQ_45_20221017230403001.zip
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of FP_MU_REQ_45_20221017230403001.zip or
        FP_MU_REQ_45_20221017230403001.zip.zip, and cannot find FP_MU_REQ_45_20221017230403001.zip.ZIP, period.
        
$ file FP_MU_REQ_45_20221017230403001.zip 
FP_MU_REQ_45_20221017230403001.zip: Zip archive data, at least v1.0 to extract

一开始以为参数写的不完整,后来发现,是上传的zip文件不完整。

虚拟机的 docker 没有开机自启动,本来以为不太影响使用,无奈电脑性能一般,虚拟机不能老开着,一旦开机,又得手动启动 docker 服务,于是找了命令使其开机自启动:

检查是否开机启动
systemctl is-enabled docker.service
开机自启动
systemctl enable docker.service
启动
systemctl start docker.service

MySQL

查询某个表中小于某一列的最大值的数据:

select * from BlackVersion where versionID < (select t from (select max(versionID) t from BlackVersion))

select * from BlackVersion where type = 0 and versionID < (select t from (select max(versionID) t from BlackVersion where type=0))

工作记录

文档

周五领导找,要求写个文档,关于某个模块的算法及不同场景的结果示例,周一需上交。于是周末深入分析源码并整理出详细的流程。领导一看不行,太技术了,于是在领导指导下写了篇向领导层看的文档。做技术久了,写出来的东西层次不够。

云原生

说实话,至今我对云原生也没有很明确的概念,看了些资料,提到了 docker、容器、仓库、DevOps、K8S及相关周边的产品,相对较遥远。最近正在开发一个 web 服务程序,用 golang 实现,该服务特点是程序化,参数化,在实验室测试时,需要部署若干套不同的服务,实际上就是使用不同配置文件,二进制程序完全相同,这时 docker 的优势就发挥出来了。经分析,配置文件有2种类型,一是固定的,即相同环境的所有服务都使用相同的参数,比如固定的请求URL;另一是根据服务的不同而变化的,比如端口号,服务ID号等。后来优化,变化的参数,除了配置文件外,还额外使用环境变量来传递参数,参数优先级:默认<配置文件<环境变量。通过 docker传递参数,能快速部署应用服务。

生活记录

买书

趁双十一,买了前四史及资治通鉴,史记买了全本的以及三家注的版本,三全版太贵买不起,古文啃啃也还行,大不了上网找白话本对比,其它的史书也如此打算。即使这样,凑了些诗词、围城等书,也花了好几百大洋。由此开始了入书坑之路。
这些书都是大部头,我从未想过要专门花时间去精读,研究。买来主要是在小孩面前装样子。另外当成资料来查阅,比如B站的历史视频,比如借的书籍,有时有史料原始出处,则可以查阅(以此作为切入点阅读)。

经罗师傅提醒,去了几次某文化园淘书。大锤坚持买的2块石头花了20块,而买的那本出版了二十多年的史记,才10块钱。也买了些绘本给大锤大妞看,基本上是按厚薄来区分价格,很划算。计划在那里淘一些古典名著,词典等,只是要花时间,不过幸好离菜市场不远,既不耽误家庭的粮食,也可以找到我的精神粮食,是挺好的。

思想方面

福祸无常

上半年在i茅台平台中了一瓶虎茅,转手赚了600块,然乐极生悲,过了两天,电动车电瓶被偷,花了700块买新的,合计亏100块。然否极泰来,这个月又中了一瓶,转手赚了400块,补了部分购书的费用。

这几年人品是不行了,感觉做什么事都不符合大锤他妈的要求,可能不是针对某个事,而是针对某个人。一点小事就能起火,比如我没把大锤书包脏衣服拿出来,早上大锤水杯没有水,等。我也只能低头不语,因为一开口就是火并了,2个小孩慢慢长大懂事了,我想避免,但避免不了。以前觉得可气,现在觉得即可怜又可笑。因此宁可加班,但加班和买菜又冲突了。也因此想看历史,想想历史的天空,历史的沧桑,在历史长河中,那些事都不是事,如此一来,顿时不觉得洗碗是件苦差了。

业余阅读

看了小部分史记,只限于了字面的阅读,或者说当成故事来看,还没到感悟那一步。但由此学了些其它的知识,如经史子集分类、古书注解、注音(反切、叶音)等,感觉打开了新世界。回顾今年,从美学、文学理论切换到历史,有一定的跨度,也有一定的联系。我没有刻意花时间,也没有制定目标,因为每天通勤要2个小时,这个时间不用白不用。在写代码之余,了解些与之完全无关但又有所裨益的知识,我觉得是挺好的。

(注:新加阅读章节,以督促自己。写点感悟或抄几句话,随意而写,不限字数)

业余研究

李迟2022年12月工作生活总结(代码片段)

本文为2022年12月工作生活总结。研发编码Go一个Golang的编译脚本mybuild.sh:#!/bin/bashVersion="v0.0.1"VER=""if[$#=1];thenVER=$1Version=""$VERelseecho"notsetversion,using 查看详情

李迟2022年12月工作生活总结(代码片段)

本文为2022年12月工作生活总结。研发编码Go一个Golang的编译脚本mybuild.sh:#!/bin/bashVersion="v0.0.1"VER=""if[$#=1];thenVER=$1Version=""$VERelseecho"notsetversion,using 查看详情

李迟2022年11月工作生活总结(代码片段)

本文为2022年11月工作生活总结。研发编码Go研究了一些结构体、json相关的东西,感觉挺方便的,有空单独写出来。Docker使用alphine构建的一个应用服务镜像,其中有一解压zip文件功能sh./config/extract.sh./data/website/Archive:/tm... 查看详情

李迟2022年10月工作生活总结(代码片段)

本文为2022年10月工作生活总结。研发编码Go判断interface是否为空判断interface类型是否为空,不能直接使用==nil来判断(用之无效),需先用reflect.ValueOf判断为指针类型,再使用IsNil函数判断,如下:... 查看详情

李迟2022年10月工作生活总结(代码片段)

本文为2022年10月工作生活总结。研发编码Go判断interface是否为空判断interface类型是否为空,不能直接使用==nil来判断(用之无效),需先用reflect.ValueOf判断为指针类型,再使用IsNil函数判断,如下:... 查看详情

李迟2022年6月工作生活总结(代码片段)

本文为2022年6月工作生活总结。研发编码前端需求:某输入框自动补全,带有中文名称,但后端只处理数字,需解析出数字并序列化。如将梧州岑溪001改为001,但页面依然显示前者。解析函数如下:functionde... 查看详情

李迟2022年6月工作生活总结(代码片段)

本文为2022年6月工作生活总结。研发编码前端需求:某输入框自动补全,带有中文名称,但后端只处理数字,需解析出数字并序列化。如将梧州岑溪001改为001,但页面依然显示前者。解析函数如下:functionde... 查看详情

李迟2022年6月工作生活总结(代码片段)

本文为2022年6月工作生活总结。研发编码前端需求:某输入框自动补全,带有中文名称,但后端只处理数字,需解析出数字并序列化。如将梧州岑溪001改为001,但页面依然显示前者。解析函数如下:functionde... 查看详情

李迟2022年9月工作生活总结(代码片段)

本文为2022年9月工作生活总结。研发编码Java调试时发现在Java函数体代码中途使用return返回,其后的代码会报错,提示:java:无法访问的语句不知何故。只好用if(1==0)...这样的形式来达到目的。Go协程及同步相关Go... 查看详情

李迟2022年9月工作生活总结(代码片段)

本文为2022年9月工作生活总结。研发编码Java调试时发现在Java函数体代码中途使用return返回,其后的代码会报错,提示:java:无法访问的语句不知何故。只好用if(1==0)...这样的形式来达到目的。Go协程及同步相关Go... 查看详情

李迟2022年9月工作生活总结(代码片段)

本文为2022年9月工作生活总结。研发编码Java调试时发现在Java函数体代码中途使用return返回,其后的代码会报错,提示:java:无法访问的语句不知何故。只好用if(1==0)...这样的形式来达到目的。Go协程及同步相关Go... 查看详情

李迟2022年8月工作生活总结(代码片段)

本文为2022年8月工作生活总结。研发编码Java接手了一个Java工程事务(注:不是接手工程),在其中添加一个模块。不知为何领导会找到我,或者是没有负责项目的原故,作为十分珍惜工作的人,不敢拒... 查看详情

李迟2022年12月工作生活总结(代码片段)

本文为2022年12月工作生活总结。研发编码Go一个Golang的编译脚本mybuild.sh:#!/bin/bashVersion="v0.0.1"VER=""if[$#=1];thenVER=$1Version=""$VERelseecho"notsetversion,using"$Versionecho"plsconfirm(pressenter)"readfiec... 查看详情

李迟2023年01月工作生活总结(代码片段)

本文为2023年1月工作生活总结。研发编码Linux测试机器端口连通性有多种方法。下面演示的,前者是不开放端口,后者是开放的。ssh命令$ssh-v-p9001localhostdebug1:connecttoaddress127.0.0.1port9001:Connectionrefusedssh:connecttohostlocalhostport900... 查看详情

李迟2022年4月工作生活总结

本文为2022年4月工作生活总结。研发编码Linux无其它思考业主要求做的事则一定要做,这是态度问题,但需要把风险点提前说清楚。工作记录无生活记录下旬开始,大锤发烧咳嗽持续了5天左右,先是发烧2天,... 查看详情

李迟2022年3月工作生活总结

本文为2022年3月工作生活总结。研发编码Linux研究了应用程序和动态库环境变量传递问题。编码其它无前后端在golang中渲染html页面,将部分信息处理后再显示到页面,比如系统信息和系统运行时长。在ajax中直接用串行化... 查看详情

李迟2022年5月工作生活总结(代码片段)

本文为2022年5月工作生活总结。研发编码Linux查看gcc支持的默认宏定义(以不同平台的linux系统为例):$gcc-E-dM-</dev/null重要的:#define__unix__1#defineunix1#define__unix1#define__linux1#define__linux__1#definelinux1#define__INT32_MAX__214... 查看详情

李迟2023年01月工作生活总结(代码片段)

本文为2023年1月工作生活总结。研发编码Linux测试机器端口连通性有多种方法。下面演示的,前者是不开放端口,后者是开放的。ssh命令$ssh-v-p9001localhostdebug1:connecttoaddress127.0.0.1port9001:Connectionrefusedssh:connecttohostlocalhostport900... 查看详情