2024年5月个人工作生活总结

发布于:2024-06-04 ⋅ 阅读:(51) ⋅ 点赞:(0)

本文为 2024年5月工作生活总结。

研发编码

golang 多个defer函数执行顺序

golang 函数中如有多个defer,倒序执行。示例代码:

func foo() {
	defer func() {
		fmt.Println("111")
	}()
	defer func() {
		fmt.Println("2222")
	}()

	defer func() {
		fmt.Println("3333")
	}()
}

执行结果:

3333
2222
111

同理,如有多个函数,亦是倒序执行。

docker-compose使用环境变量文件

在与docker-compose.yaml文件同一目录下创建.env环境变量文件,示例如下:

$ cat .env 
MY_VERSION=1.0
MY_NAME=latelee

可以在docker-compose.yaml文件中使用环境变量,示例如下:

  ll-name:
    image: latelee/busybox:${MY_VERSION:-latest}
    container_name: ll-name
    hostname: ll-name
    restart: always
    volumes:
      - ./config/config.yaml:/work/config/config.yaml
    environment:
      - MY_NEW_NAME=${MY_NAME}

latelee/busybox:${MY_VERSION:-latest}指定了镜像版本,如果.env文件定义了MY_VERSION则用之,否则用默认的latest版本。同时,通过environment指令将.env文件的环境变量传递到容器中,重新设置为MY_NEW_NAME。启动并进入容器,查看:

[root@ll-name /]# env
HOSTNAME=ll-name
MY_NEW_NAME=latelee

如果有多个环境变量,用上述方法稍显麻烦,可以直接将环境变量文件传递至容器中,使用env_file指令即可。示例如下:

  ll-name:
    image: latelee/busybox:${MY_VERSION:-latest}
    container_name: ll-name
    hostname: ll-name
    restart: always
    volumes:
      - ./config/config.yaml:/work/config/config.yaml
    environment:
      - MY_NEW_NAME=${MY_NAME}
    env_file:
      - .env
      - other_file

可指定多个环境变量文件。另外,environment作用范围优先级高于env_file的范围。如果2者环境变量相同,则只保留前者定义的。

经测试,修改docker-compose.yaml、修改env_file指定的文件,执行docker-compose up -d 可以重启创建容器。

用faketime修改容器时间

容器可用faketime调整时间。但必须用LD_PRELOAD=./libfaketime.so.1 FAKETIME="@2024-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。

生活记录

差不多896了

因为时间紧,任务重,人员少,从中旬开始,要求开发团队晚上8点半下班,周末要上一天班。由于我是按以前的时间作息,早上6点半就得起来了,因此上班打卡时间基本在8点左右,而晚上一般9点才下班,这半个月来,比996还猛一些。由于之前经常在家加班,所以在公司加班后,回家后非必要不加班。

育儿记录

这个月技术方面没有研究,不工作时,又不想动脑。下班回到家,就听到2个小朋友在打闹,直到晚上11点才停止。大锤他妈妈看不惯我辅导作业,让我给200块钱补贴辅导费用。我纠正个别发音又引来讽刺。当年我刚到大学时,别人很难听懂我说的话。因此我才严格要求小孩的发音,原先已经没口音了,现在发音又差了很多,不知是故意为之,还是其它原因。

大锤作业依然多,老师都是在群里布置,包括听写和组词。但查看去年至今的记录,小程序里的状态是“待批改”状态。老师后来说,作业是自愿写的,这下又把问题抛回给家长了。


网站公告

今日签到

点亮在社区的每一天
去签到