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

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

研发编码

Golang语言byte数组赋值

假定有如下变量:

var strCode string
var bCode [9]byte

现需将string类型转换成byte类型,如下:

bCode = []byte(strCode)

无法转换,提示:

cannot use []byte(strCode) (value of type []byte) as [9]byte value in assignment

在golang中,[]byte[9]byte是不同的类型。可用copy拷贝:

copy(inputStruct.Ets_code[:], []byte(input.Ets_code)[:9])

注意,copy第二个参数最好加上长度的限定。另外,也可用for循环单个字符赋值。

导出mysql数据表

使用mysqldump命令导出数据库表结构,命令:

mysqldump -h 172.18.8.18 -P 3306 -u my_name -p<密码> my_table --no-data > my_table.sql
或
mysqldump -u my_name -p<密码> my_table --no-data > my_table.sql

导入方法1:

mysql -u highway -p<密码> my_table < my_table.sql

导入方法2:

连接数据库
use mydb; # 选数据库
source /tmp/my_table.sql;

经测试,在TiDB数据库导入MySQL数据表时,只能用方法2,方法1行不通。

迁移gitlab仓库

据有关消息称,Gitlab 将停止为中国区用户提供服务,可将账号迁移至国内一家公司。有60天迁移期,过期可能删除账号,先不管其真或假,多个地方备份,总不会错。为此,专门抽了一些时间将先前的仓库同步到github上。

github提供import功能,但经测试不成功,因此只能先克隆再上传,命令如下:

克隆gitlab仓库:git clone https://gitlab.com/latelee/gitee-koa.git
进入目录:cd gitee-koa
在github上仓库创建同名仓库后,再添加:git remote add github git@github.com:latelee/gitee-koa.git
推送到远程仓库:git push github

十年前就开始使用gitlab了,当初看中的是其私有仓库,现在github也能建立私有仓库。不久前,github也提供了免费版本的copilot。可惜经常连不上,无法使用。

有关研发流程的思考

有感于当前的研发实情,流程方面还是没有形成,或者形成了但没有很好落实到位。目前没有专门的研发管理人员,流程也只是在文档中(有的没有)。如果团队磨合得很好,问题倒也不大,当然,在管理上肯定必须要有相关流程制度。

举例一些小事:

有的事务,虽然已经提过,但有时上游交付的东西不够详情,靠自己猜或用工具测试出来。这也是当初写工具的驱动力之一。因此,需要确定流程,并宣贯到位。

如微服务的版本迭代升级,因为有2套不同的环境,已经确定了版本先提交到内网仓库,再同步到专网仓库,最后更新到生产环境。此过程使用harbor管理镜像,因此版本有迹可寻,有时候出于调试需要,有的版本不走仓库,而是通过挂载方式运行程序。有时,测试通过后,就一直使用了。当后续有版本通过仓库更新时,因为用了挂载方式,版本并不是最新的。因此,需要确定流程,研发人员要清楚理解。

如前几年开会确立了由专人对接现场,整理问题,再转到研发,将问题分类好后,处理起来非常快,如有的是已知问题,有的已有解决方案的。如果不确定,转研发,再归档。这是好的,但没有执行到位。

如有的问题,起初,某现场已经报了,也提了方案了,但整改没有到位,一年后,其它现场依然陆续提出。比如,某版本号的显示问题,一年多前就陆续有不同的现场报了,再如今,还有现场打电话来问。比如,某个程序可以自动更新不同时间的版本,但偏偏默认起始时间为2020年,但部署时没修改,于是要花很久才轮到2024年年底,偏偏时间又紧急,占用网络带宽不说,影响现场就不好了。这2个问题很好解决,前者就是接口加上显示界面的事,后者在启动时将时间修改为当前前几天即可。这就需要有项目需求和问题的跟踪机制了。

当然,个人负责的事,还是要有责任心的。上述所述,或多或少是个人接触到的,因此会去思考,至于解决,就是相关方的事情。对于个人的程序,为方便起见,会额外加料,比如,将重要的实时日志,输出到http接口,直接用浏览器或curl即可查看,基于此,还会再添加重点模块的异常信息,以及系统资源监控,等等。这些都是为了方便自己而已。

当然,上面所述,是作为个人的我,站在个人岗位,所作的不成熟的个人思考。上层肯定有上层的设计和考量,比如看重创造的价值,而不是个人的努力;看重产品整体,而不是各模块个体。限于能力水平、制度和位置,个人是不敢越过的。但是,我在个人岗位,还是要求自己向较好的那一方发展,并影响一些人。

国产化系统适配

重新下载了新版本TiDB,编译了三大平台的版本。此过程还是比较麻烦和耗时的——这里的耗时包括查问题消耗,以及编译消耗。在编译过程中没有详细记录,后续还得再试一次,以便形成实操性较强的文档。

年底杂事

这几年每到年底,都会有很多事。版本切换,版本上新,需求变更,值班保稳定,等等。一些计划内的事就被中断了。比如,研究系统镜像livecd的自动安装;找系统依赖库源码编译测试,等等。起了头被中断,后面又得重新去梳理思路。

挑战和应战

有些时候,我喜欢挑战,有一种不服输的念头。

当年,有感于网络的开源精神,我也做了一些东西,或放到github,或发表文章。如今的网络环境,查点有用的资料,要会员,要积分,要钱。不过,有些(不涉及版权的)技术和代码,我还是坚持分享。

像做livecd,onvif等,虽说有一定的工作需求驱动,但还是凭借内心去做。或者说,有个东西暂时难倒我了,但要顶硬上,要克服它。比如现在国产化适配,就遇到龙芯编译环境问题,官方没有给出方案,但自己就想着去解决,往小了说,是不服输,往宏观上说,是为国产化事业推进贡献力量。

生活记录

教大锤英语的构思

这个月主要做的事有:

整理英语启蒙书的文本,并转换成音频,当前使用的软件不太满意,github上有,但要部署python,没有找到方便的,后续还要继续找。

慢慢教大锤一些单词,同时注意教他怎么拼。我的设想是按学拼音的法子教,音标和与拼音相近的读法,也一并教并做区别。

在B站看到一个视频,讲英语的2个基本句型,经分析,的确不错,也有意教给大锤。

后续计划去一些地方了解英语培训行情,把培训的花费转换内部使用。假定一学期培训要花1千块,则将其转化成小时花费,将钱给大锤或我自己。用这些钱去玩,去吃喝,不失为一件乐事。就怕大锤或其它人不认可作为老师角色的我,而一定要将钱给别人才放心。

目前的矛盾主要有:中文都不会学什么英语;学校作业没写完学什么英语。因此只求坚持,慢慢来就是最快的方法。

看电影

本月有部狮子王电影上映,带大锤去看了。去的那个电影院十分冷清,全场只有4位小朋友。两张普通版的电影票,加上大锤念念不忘的爆米花,花了100块钱,考虑到我现在的经济,看电影的成本还是比较高的。

关于大锤被打的事的看法

本月上旬某天,老师打电话,通篇听起来,是大锤感觉有同学“说”他,就推那人了。结果,那人的2个好友仔在教室继续和大锤“说”,期间不免动了手,老师那边的说法是“用手垂直碰了”。到了大锤妈妈那边的信息,上面的“说”变成了“骂”,“碰了”变成“打了”,变成有3个人打大锤。气不过,就打电话给几个对方家长,但人家不承认。我一向坚持实事求是,而且不是严重的事,我一般看开。

当年在幼儿园,看录像,是大锤咬了小朋友,但刚开始不知道实情,大锤妈妈看到大锤手红了,认为是互打,就在群里和人家家长对骂起来,最后还得向人家道歉。因为在同小区,这事过了几年,现在还在唠叨。

后来再次和老师通话,师方的意思和前面一致。我提出看录像,老师说没有(大锤妈妈说有,但老师不给看)。问了大锤,大锤说被打了手和打了脚,但他说这话的时候是嘻嘻哈哈的,我很难相信。同样,我也很难相信老师。只能和大锤说,只要人家不过分,不打骂你,就不用管,告诉老师和父母。只要成绩比人家好就行——当然这是奢望。但是,既然事实上的确出现了另外2个人帮忙欺负大锤,说明先前有过类似的(老师方说法是“有过2次小争执”),也说明以后还是会有。虽然老师承诺会注意,但这同样是奢望。

但是,这个事,在人家眼里,我就成为不保护孩子,不是好爸爸了。大锤妈妈气得2天睡不着,于是开始说这近十年的往事,从坐月子到上幼儿园到小学。我的精力主要还是在工作上,因为我坚信经济基础是养家的首要条件,不可能吃着咸菜萝卜谈风花雪月,如果工资不按时发,养不起家,月供还不了,我将被骂得更惨。我知道一个人挣钱辛苦,也知道一个人在家带娃不容易。道理都懂,但我只是一个年近40的普通人,一个靠写代码谋生的外包佬,而已。

当然,我看得开,姿态放得低,即便别人骂我不是人,我照单全收。

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

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

相关文章

python学习笔记—12—

1. 布尔类型 (1) 定义 (2) 比较运算符 (3) 代码演示 1. 手动定义 bool_1 True bool_2 False print(f"bool_1的内容是&#xff1a;{bool_1}, 类型是&#xff1a;{type(bool_1)}") print(f"bool_2的内容是&#xff1a;{bool_2}, 类型是&#xff1a;{type(bool…

Redis 使用redisTemplate获取某个规则下的key的全量数据(示例Set结构)

如下是redis中存储的数据结构 我想取key以favorites:结尾的所有数据 Redis 的 SCAN 命令用于迭代数据库中的键&#xff0c;支持通过模式过滤结果。模式规则基于 Redis 的通配符匹配语法&#xff0c;类似于文件名匹配规则&#xff1a; *&#xff1a;匹配零个或多个字符。?&…

CertiK《Hack3d:2024年度安全报告》(附报告全文链接)

CertiK《Hack3d&#xff1a;2024年度安全报告》现已发布&#xff0c;本次报告深入分析了2024年Web3.0领域的安全状况。2024年损失总额超过23亿美元&#xff0c;同比增幅高达31.61%&#xff1b;其中&#xff0c;12月的损失金额最少。过去一年&#xff0c;网络钓鱼攻击和私钥泄露…

AI知识库与用户行为分析:优化用户体验的深度洞察

在当今数字化时代&#xff0c;用户体验&#xff08;UX&#xff09;已成为衡量产品成功与否的关键指标之一。AI知识库作为智能客服系统的重要组成部分&#xff0c;不仅为用户提供快速、准确的信息检索服务&#xff0c;还通过用户行为分析&#xff0c;为产品优化提供了深度洞察。…

Vue3 + ElementPlus动态合并数据相同的单元格(超级详细版)

最近的新项目有个需求需要合并单元列表。ElementPlus 的 Table 提供了合并行或列的方法&#xff0c;可以参考一下https://element-plus.org/zh-CN/component/table.html 但项目中&#xff0c;后台数据返回格式和指定合并是动态且没有规律的&#xff0c;Element 的示例过于简单&…

CSS进阶和SASS

目录 一、CSS进阶 1.1、CSS变量 1.2、CSS属性值的计算过程 1.3、做杯咖啡 1.4、下划线动画 1.5、CSS中的混合模式(Blending) 二、SASS 2.1、Sass的颜色函数 2.2、Sass的扩展(extend)和占位符(%)、混合(Mixin) 2.3、Sass的数学函数 2.4、Sass的模块化开发 2.5、Sass…

概率论与数理统计

概率论占比更多&#xff0c;三分之二左右 数理统计会少一些 事件之间的概率 ab互斥&#xff0c;不是ab独立 古典概型吃高中基础&#xff0c;考的不会很多 条件概率公式&#xff0c;要记 公式不要全记&#xff0c;很多有名称的公式是通过基础公式转换而来的 目的在于解决一…

javaEE-多线程进阶-JUC的常见类

juc:指的是java.util.concurrent包&#xff0c;该包中加载了一些有关的多线程有关的类。 目录 一、Callable接口 FutureTask类 参考代码&#xff1a; 二、ReentrantLock 可重入锁 ReentrantLock和synchronized的区别&#xff1a; 1.ReentantLock还有一个方法&#xff1a…

智慧工地系统:建筑施工智能化管理的全新模式

智慧工地概述 智慧工地是将互联网的理念和和物联网的技术引入建筑工地&#xff0c;依托物联网、互联网、大数据、5G技术&#xff0c;建立云端数据平台&#xff0c;形成大数据的业务体系&#xff0c;打通一线操作与远程监管的链条&#xff0c;实现劳务、安全、环境、材料等各个…

FastAPI 统一接口响应(Json)模板的使用示例

目录 FastAPI 统一接口响应&#xff08;Json&#xff09;模板的使用示例 实际案例 实现方法 1. 创建统一响应格式的中间件 2. 将中间件添加到 FastAPI 应用中 3. 解释代码 4. 扩展和定制 5. 测试 FastAPI 统一接口响应&#xff08;Json&#xff09;模板的使用示例 实际…

Linux平台下实现的小程序-进度条

目录 1.换行、回车概念 2.缓冲区 2.1缓冲区 2.2强制刷新 3.进度条程序 Makefile文件 ProgressBar.h ProgressBar.c Main.c 执行结果 1.换行、回车概念 /n&#xff1a;换行回车&#xff08;\r&#xff1a;回车&#xff09; 2.缓冲区 如下图在vim编辑器中的命令模式下…

C++ 基础思维导图(一)

目录 1、C基础 IO流 namespace 引用、const inline、函数参数 重载 2、类和对象 类举例 3、 内存管理 new/delete 对象内存分布 内存泄漏 4、继承 继承权限 继承中的构造与析构 菱形继承 1、C基础 IO流 #include <iostream> #include <iomanip> //…

Java - 日志体系_Apache Commons Logging(JCL)日志接口库_桥接Logback 及 源码分析

文章目录 PreApache CommonsApache Commons ProperLogging &#xff08;Apache Commons Logging &#xff09; JCL 集成logbackPOM依赖配置文件 logback.xml使用 源码分析jcl-over-slf4j 的工作原理1. LogFactory 的实现2. SLF4JLogFactory 和 Log 的实例化过程3. SLF4JLog 和 …

中小企业如何进行数字化转型?

​在这个日新月异的数字时代&#xff0c;企业数字化转型已成为不可逆转的潮流与战略选择。大数据、云计算、人工智能、物联网等前沿科技正重塑着各行各业的面貌。面对激烈的市场竞争和不断变化的客户需求&#xff0c;中小企业作为国民经济的重要组成部分&#xff0c;数字化转型…

闪存知识科普-基本储存单元结构

概述&#xff1a; 闪存&#xff0c;即FlashMemory。其基本储存单元&#xff08;Memory Cell&#xff09;如下图所示。看起来有点像N沟道&#xff08;N-Channel&#xff09;MOS管&#xff0c;但比MOS管多一个悬浮闸&#xff08;Floating Gate&#xff09;。悬浮闸内可以储存电荷…

[江科大STM32] 第五集快速建立STM32工程模板——笔记

保存&#xff0c;进去选芯片型号&#xff0c;我们是F10C8T6 一个MD&#xff0c;还有所有.c.h 这里所有文件 这里所有文件

Elasticsearch:基础概念

一、什么是Elasticsearch Elasticsearch是基于 Apache Lucene 构建的分布式搜索和分析引擎、可扩展数据存储和矢量数据库。它针对生产规模工作负载的速度和相关性进行了优化。使用 Elasticsearch 可以近乎实时地搜索、索引、存储和分析各种形状和大小的数据。Elasticsearch 是…

安卓播放器TVbox或影视仓软件如何链接到xiaoya小雅超集?很详细的教程

前言 这里咱们说的安卓播放器软件指的是这个&#xff1a; 还有这个&#xff1a; 这两个软件只是个壳&#xff0c;你需要做的仅仅是把需要的内容填写到对应的位置即可。 开始这个教程之前&#xff0c;你需要先部署好小雅&#xff0c;如果没有部署小雅&#xff0c;这个教程基本…

Datawhale AI冬令营 动手学AI Agent

背景——什么是Agent 在人工智能领域&#xff0c;agent可以指一个能够感知环境并作出决策以实现特定目标的系统。比如&#xff0c;一个聊天机器人&#xff08;chatbot&#xff09;就是一个agent&#xff0c;它能够理解用户的输入并给出相应的回复。 学习目标 学会使用百宝箱平…

如何在IDEA一个窗口中导入多个项目

一般在IDEA窗口中想导入一个新项目&#xff0c;会提示我们在当前窗口还是新窗口。如果选新窗口&#xff0c;就会新打开一个窗口&#xff0c;此时新窗口里面只有新导入的项目。 而为了浏览起来更方便&#xff0c;需要实现在IDEA一个窗口中导入多个项目。具体步骤如下&#xff1…