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

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

研发编码

docker-compose外部网络配置

高版本的docker-compose有些语法变化。

使用如下方式声明外部网络:

version: '3.8'services:ll-busybox:
...networks:my-net:ipv4_address: 172.100.1.1
networks:my-net:external:name: "my-net"

提示警告如下:

WARN[0000] network my-net: network.external.name is deprecated. Please set network.name with external: true 

修改如下,警告消失:

version: '3.8'services:ll-busybox:
...networks:my-net:ipv4_address: 172.100.1.1
networks:my-net:external: truename: "my-net"

git配置不正确导致程序加载动态库出错

某程序,在同事电脑上始终无法运行,动态库加载失败。经调试,发现是配置文件格式不正确,导致动态库路径出错加载失败。程序使用的配置文件为ini文件,其中有一字段指定了动态库目录,这个ini文件须以Linux风格结尾,但同事在windows系统下载远程仓库,这个文件以Windows风格结尾,因此出错了。

将git的autocrlf参数改为false即可。

最终解决办法是在程序呀兼容。使用了getline函数读取配置文件的一行数据,读取数据后,对换行答进行判断:

    std::string str;std::ifstream ifs1;ifs1.open(“foo.ini”);while(getline(ifs1, str)){if ((int)str.size() == 0 || str.at(0) == '[' || str.at(0) == ';' || str.at(0) == '#') continue;// 如果是\r\n结尾,去掉\rif (str.back() == '\r') {str.pop_back();}}

排查问题经验

排查的问题多了,慢慢积累经验,也会扩宽分析问题的眼界。不同人当然有不同的分析方法。比如出现数据没及时更新问题,有的想到是客户端程序问题。如果全局考虑,可能有几方面:该段时间数据本来就没有(就不存在更新);数据服务器程序有问题;数据客户端有问题;客户端连服务器网络有问题,等等。

服务器被攻击

一个平淡的日子,临下班,计划着明天继续优化自研工具代码,接收反馈,服务器被攻击了,原因是有弱密码。重装系统,重装服务的事又落到自己身上了。其实有些应用服务是别人同事做的,有些服务是是共用的,但不知怎么,变成我维护的了。

Linux 命令

在命令行中,可以直接转换进制:

$ printf "%x\n" 100
--> 64

国产化Kylin操作系统脚本改造

国产化的适配工作,之前只完成了程序代码级别的,配套的脚本没有改造完,kylin系统与原先的系统不同,shell脚本表现不同。举例如下:

字符串相等判断:

一台centos机子正常的:
foobar=$1
if [ "$foobar" == "/home/latelee" ]
then...
fi

出错提示:

unexpected operator

判断字符串,不用==,而是用=,改造:

foobar=$1
if [ "$foobar"X = "/home/latelee"X ]   // 同上会提示:unexpected operator
then...
fi

按次数循环:

for ((i=10;i>0;i--))
do
....
done

出错:

Bad for loop variable

改造:

for i in seq 10
do
....
done

完善工具提示语

有一个自研的工具,用于检测数据库的各项数据是否符合规则要求。由于检测项较多,且全部用英文打印日志,使用者可能忽略一些潜在问题,考虑再三,决定将错误信息全部改为中文输出。

调整Go与C++交互格式

之前的Go+C++工程中,两者交互的内容是按行存储的,扩展和解析不方便,经考虑,决定使用json格式。原先以为C++中组装json复杂,且用到第三方库,后来发现,C++只需组装即可,不需解析,因为直接用sprintf按字段组装数据即可,Go获取数据后,直接用结构体方式解析即可,十分方便。

生活记录

这个月有几个应酬,还好不是每次都要喝酒。据说今年组织架构又要做调整,拆分和整合了一些部门,其实底下人的事没什么变化。我更关注的是外包人数。目前部门有近20个外包,我要从中突围,如果再调整,基数又变大了,而且据说转正要集团级大领导审核,而且据说大领导经常有人打招呼。话说念念不忘,必有回响,我得的回响都不太如意。夜宵摊上,同事说转正和能力没关系,靠运气。回家路上,想到我运气一向不怎么好,冷风吹酒醒,我的梦也该醒了。

育儿记录

由于去年还有年假,由于去年忙没有休,于是请假2天,连着周末一共4天,可惜下雨,无法去哪里玩,早晚接送大锤大妞上学放学。

这个月有很多天是非常冷的,大锤班上有同学(可能生病)没去,也因为天冷,大锤妈不想让他去上学,因为有其它同学没去,我的看法是还有其它同学去学校,不能不去。

月底,大锤大妞都放假了,大锤的作业和上学时一样,还加了参加公益活动的社会实践,我一直到大学才真正去外地打工做实践。

阅读记录

《黑客伦理与信息时代的精神》,linus写的序:

有三件事对生活是有意义的,它们是生活中所有事情的动机——包括你做的所有事和任何一个生命体会做的事:第一是生存,第二是社会秩序,第三是娱乐。生活中所有的事都遵循着这个顺序,娱乐之后就再无其他。所以从某种意义上说,生活的意义就是要你达到第三个阶段。一旦达到了第三个阶段,这辈子你就算成功了。但是你得先超越前两个阶段。

PS:linus 在 Linux 内核源码中使用了他和他三个女儿的生日作为reboot参数值。

心得:很多年前,我写代码并开源,其实就为了娱乐,那时是为了在生存的同时找点其它事做而已。当然,现在也是为了生存,只是很少有闲心研究代码。

借了一本名言的书,把自己认为好的句子,抄在记事本子上,一是在大锤写作业时不玩手机,二是以后让他背。后面计划再买了本子,把人文历史常识抄下来,时不时让大锤背。

业余研究

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/660241.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在linux(centos)上运行C语言文件

📙 作者简介 :RO-BERRY 📗 学习方向:致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 📒 日后方向 : 偏向于CPP开发以及大数据方向,欢迎各位关注,谢谢各位的支持 目录 1.下载gcc2.创建C语言…

软件价值2-贪吃蛇游戏

贪吃蛇游戏虽然很多,不过它可以作为软件创作的开端,用python来实现,然后dist成windows系统可执行文件。 import pygame import sys import random# 初始化 pygame.init()# 游戏设置 width, height 640, 480 cell_size 20 snake_speed 15# …

SpringBoot 整合多数据源的事务问题

代码 先贴代码:核心就是:Spring给我们提供的一个类 AbstractRoutingDataSource,然后我们再写一个切面来切换数据源,肯定要有一个地方存储key还要保证上下文都可用,所以我们使用 ThreadLocal 来存储数据源的key pom.xml…

【笔记】计算文件夹的大小

目标:遍历文件夹,计算文件夹下包含文件和文件夹的大小。将这些结果存入python自带的数据库。 用大模型帮我设计并实现。 Step1 创建一个测试用的目录结构 创建目录结构如下所示: TestDirectory/ │ ├── EmptyFolder/ │ ├── SmallF…

结合创新!11种多尺度特征融合方法,附论文和代码

随着深度学习和计算机视觉技术的快速发展,多尺度特征融合已经成为一个备受关注的、不断探索的研究方向,它通过捕捉不同尺度和层次上的特征信息,提高对图像和视频内容的理解能力,为图像处理、计算机视觉和深度学习等领域的应用提供…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之DatePicker组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之DatePicker组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、DatePicker组件 日期选择器组件,用于根据指定日期范围创建日期滑…

Delphi TStringList常用的方法和属性

Delphi TStringList 是一个常用的字符串列表类,用于存储和操作字符串列表。以下是一些常用的方法和属性: 方法: Add:向列表末尾添加一个字符串。Insert:在指定位置插入一个字符串。Delete:删除指定位置的…

字符串操作函数1

1.strcpy使用 使用这个函数我们可以进行字符串拷贝。它有两个参数&#xff0c;第一个参数是指向目标空间&#xff0c;第二个参数是指向需要拷贝的字符串。返回值为拷贝完成后指向的字符串首地址。头文件为<string.h> 演示如下&#xff1a; 注意&#xff1a; • 源字符…

TensorFlow2实战-系列教程4:数据增强

&#x1f9e1;&#x1f49b;&#x1f49a;TensorFlow2实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Jupyter Notebook中进行 本篇文章配套的代码资源已经上传 猫狗识别1 数据增强 猫狗识别2------数据增强 猫狗识别3------迁移学习 对于图像数据…

RS485自动收发电路震荡的问题

电路 设计初衷 电源5V 选择5V的原因&#xff0c;差分2.5V比1.5V可以提高传输能力 TTL输入 3.3V电平满足需求 TTL输出 4.5V了&#xff0c;MCU是3.3V平台 这样就分为两种情况 MCU接收端可以容忍5V输入 MCU接收端不可以容忍5V输入&#xff0c;就要进行电压转换&#xff0c;我这里使…

MacOS X 中 OpenGL 环境搭建 Makefile的方式

1&#xff0c;预备环境 安装 brew&#xff1a; /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 安装glfw&#xff1a; brew install glfw 安装glew&#xff1a; brew install glew 2.编译 下载源代码…

Linux内核--设备驱动(一)驱动的结构介绍

目录 一、引言 二、I/O架构 三、字符设备基本构成 ------>3.1、cdev ------>3.2、char_device_struct ------>3.3、cdev_map 四、打开字符设备 ------>4.1、加载 ------>4.2、创建文件设备 ------>4.3、打开字符设备 ------>4.4、写入字符设备…

本地搭建Plex私人影音网站并结合内网穿透实现公网远程访问

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【数据库】mysql触发器使用

题目&#xff1a; 创建职工表以及职工工资表职工表字段&#xff1a;工号&#xff0c;姓名&#xff0c;性别&#xff0c;年龄工资表字段&#xff1a;编号自增&#xff0c;职工工号&#xff0c;基础工资10000通过触发器实现&#xff1a;对职工进行添加时 工资表中也要体现当前职…

Google Play 内购实现

接上一次苹果内购记录-CSDN博客&#xff0c;我又接了一把 Google Play 内购。 Google Play 内购实现 - 掘金 (juejin.cn) 吐槽一下CSDN的编辑器&#xff0c;对多图Markdown来说体验可太差了&#xff0c;去掘金看吧 &#xff08;其实就是懒&#xff0c;不想手动上传所有图&am…

docker下,容器无法启动,要删除里面的文件

第一步&#xff1a;进入docker cd /var/lib/docker 第二步&#xff1a;查找&#xff0c;我这里是拼音分词器 find ./ -name py 第三步&#xff1a;得到路径 第四步&#xff1a;删除或复制或移动&#xff0c;我这里是删除py文件夹 rm -rf ./over那一串 第五步&#xff1a;想干…

D2025——双通道音频功率放大电路,外接元件少, 通道分离性好,3V 的低压下可正常使用

D2025 为立体声音频功率放大集成电路&#xff0c;适用于各类袖珍或便携式立体声 收录机中作功率放放大器。 D2025 采用 DIP16 封装形式。 主要特点&#xff1a;  适用于立体声或 BTL 工作模式  外接元件少  通道分离性好  电源电压范围宽&#xff08;3V~12V…

【JavaEE spring】SpringBoot 统一功能处理

SpringBoot 统一功能处理 1. 拦截器1.1 拦截器快速⼊⻔1.2 拦截器详解1.2.1 拦截路径1.2.2 拦截器执⾏流程 1.3 登录校验1.3.1 定义拦截器1.3.2 注册配置拦截器 2. 统⼀数据返回格式2.1 快速⼊⻔2.2 存在问题2.3 案例代码修改2.4 优点 3. 统⼀异常处理 1. 拦截器 后端程序根据…

Chakra UI:构建 Web 设计的未来

Chakra UI&#xff1a;构建 Web 设计的未来 在当今的Web开发领域&#xff0c;构建现代、可访问的用户界面是一个重要的任务。为了满足这一需求&#xff0c;开发者需要一个强大而易用的UI组件库。而Chakra UI作为一个基于React的开源组件库&#xff0c;正是为了解决这个问题而诞…

vue3 [Vue warn]: Unhandled error during execution of scheduler flush

文章目录 前言一、报错截图二、排除问题思路相关问题 Vue3 优雅解决方法异步组件异同之处&#xff1a;好处&#xff1a;在使用异步组件时&#xff0c;有几个注意点&#xff1a; vue3 定义与使用异步组件 总结 前言 Bug 记录。开发环境运行正常&#xff0c;构建后时不时触发下面…