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

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

研发编码

git push推送失败记录

执行git push命令推送代码到远程仓库,提示如下错误:

复制代码
$ git push
Enumerating objects: 217, done.
Counting objects: 100% (217/217), done.
Delta compression using up to 8 threads
Compressing objects: 100% (137/137), done.
Writing objects: 100% (143/143), 2.18 MiB | 1.45 MiB/s, done.
Total 143 (delta 73), reused 6 (delta 0), pack-reused 0
error: RPC failed; curl 56 Recv failure: Connection was reset
send-pack: unexpected disconnect while reading sideband packet
fatal: the remote end hung up unexpectedly
Everything up-to-date

尝试各式方法,失败。最后修改所用的方式,使用 SSH 代替 HTTP 。修改.git/config文件,如下:

复制代码
原:
http://172.18.18.188:8888/latelee/webdemo.git
新:
git@172.18.18.188:latelee/webdemo.git

go编译出现内部错误

上个月升级了go到1.24版本。编译某个工程出错,提示:

复制代码
# runtime
/usr/local/go/src/runtime/lfstack_64bit.go:41:6: lfstackPack redeclared in this block
        /usr/local/go/src/runtime/lfstack.go:71:6: other declaration of lfstackPack
/usr/local/go/src/runtime/lfstack_64bit.go:48:6: lfstackUnpack redeclared in this block
        /usr/local/go/src/runtime/lfstack.go:75:6: other declaration of lfstackUnpack
/usr/local/go/src/runtime/map.go:815:6: mapiterinit redeclared in this block

经查,是因为我的升级步骤,是将go新版本安装包直接解压到目录/usr/local里,go的程序目录固定为/usr/local/go/,环境变量也不需要修改,升级十分方便,但这也导致如有老版本的话,则有些文件不会被删除,比如上述错误信息提到的lfstack_64bit.golfstack.go,实际上,1.24版本只有lfstack.go文件,但旧文件没有删除,因此一些变量重复定义了。先删除/usr/local/go/目录,再解压即可解决。

go文件锁的一个实现

某golang工程使用了文件锁,原来的方法利用syscall库实现,但不能跨平台,后找到第三方库github.com/gofrs/flock,可以跨平台使用。

原方法:

复制代码
import "syscall"

type FileLock struct {
	filename string
	f        *os.File // 文件描述符
}

func NewLock() *FileLock {
	return &FileLock{}
}

// 加锁操作
func (l *FileLock) Lock(filename string) error {
	l.filename = filename
	f, err := os.Open(l.filename) // 获取文件描述符
	if err != nil {
		return err
	}
	l.f = f
	err = syscall.Flock(int(f.Fd()), syscall.LOCK_EX|syscall.LOCK_NB) // 加上排他锁,当遇到文件加锁的情况直接返回 Error
	if err != nil {
		return fmt.Errorf("cannot flock directory %s - %s", l.filename, err)
	}
	return nil
}

// 解锁操作
func (l *FileLock) Unlock() error {
	defer l.f.Close()                                    // close 掉文件描述符
	return syscall.Flock(int(l.f.Fd()), syscall.LOCK_UN) // 释放 Flock 文件锁
}

使用示例:
flock *FileLock
flock = NewLock()
flock.Lock("foobar.txt")
...
flock.Unlock()

新方法:

复制代码
import "github.com/gofrs/flock"

type FileLock struct {
	lock *flock.Flock
}

func NewFileLock(filename string) *FileLock {
	return &FileLock{
		lock: flock.New(filename),
	}
}

func (l *FileLock) Lock() error {
	return l.lock.Lock()
}

func (l *FileLock) TryLock() (bool, error) {
	return l.lock.TryLock()
}

// func (l *FileLock) LockWithTimeout(timeout time.Duration) error {
// 	return l.lock.LockWithTimeout(timeout)
// }

func (l *FileLock) Unlock() error {
	return l.lock.Unlock()
}

使用示例:
flock := NewFileLock("foobar.txt")
flock.Lock()
...
flock.Unlock()

生活记录

带小孩玩

这个月带大锤去了动物园,1大1小,花了70块钱,加了吃的喝的,花了近100块。

这个月带大锤去看了阿凡达3,1大1小,花了100多,看是的cinity led,在网上了解感觉很大,不过实际的影厅很少,按之前的习惯,选了倒数几排。经此观影,还是要买中间的座位。

本来还是邀请大妞一起的,因为一些原因,无法成行。

参加讲座

上个月去听了陕历博馆长关于该馆的藏品的讲座,这个月又去听了关于石峡文化讲座,讲座提到了仰韶文化、龙山文化、玉器、天人观念、多元一体,等,但了解不深,于是找了个考古的视频课程,一个月听了大半,终于有些概念了。

领钱

为了让小孩熟悉习惯现金的使用,计划去银行换一些散钱。某周六去了一些银行,最终在某商银行领了钱,当然也花了一些时间。进门先是说明来意,工作人员还要确认是否有散钱,然后取号排队,在此期间,还在扫码,人脸认证,观看视频确认。由于是下午,人数不多,前后不到10分钟就搞定了。

不过小朋友们似乎对金钱没有概念,拿现金做奖励推动力不大,不愿意干家务的,还是不愿意干。

买手机

花了400多块钱在某鱼找了部二手手机,再在线下拿货。交易过程较顺利,对方给时间检查手机,当然人家也要录像拍照,最后提供收据。至此,2018年花了2千多买的使用了快8年的小米6正式退役。前几年开始,陆续换了电池和屏幕,但手机一旦拆过,就坏得快,不得不将其作为备机,现在终于换了。买备机的目的是上下班听视频,空间要足够大,能下载大量离线视频,上下班途中多少能了解点知识。

相关推荐
小北方城市网2 小时前
第 10 课:Python 全体系实战整合与职业进阶指南(完结篇)
大数据·开发语言·数据库·python
licongmingli2 小时前
vue2 基于虚拟dom的下拉选择框,保证大数据不卡顿,仿antd功能和样式
大数据·前端·javascript·vue.js·anti-design-vue
AI科技星2 小时前
空间螺旋电磁耦合常数 Z‘:拨开迷雾,让电磁力变得直观易懂
服务器·人工智能·科技·算法·生活
ELI_He9993 小时前
SeaTunnel 编译
大数据·mysql·elasticsearch·database·flume
IT_xiao小巫3 小时前
2025年终总结
大数据·人工智能
电商API_180079052473 小时前
淘宝商品数据爬虫技术实践指南
大数据·数据库·人工智能·爬虫
humors2213 小时前
网络南京摄影合集(不定期更新)
大数据·程序人生
ClouGence3 小时前
数据实时迁移同步工具 CloudCanal-v5.3.1.0 发布,支持金仓数据库
大数据·数据库·mysql·数据分析·dba
com_4sapi3 小时前
星链引擎4SAPICOM:全球API服务平台优选,助力企业高效连接智能生态
大数据·人工智能·云计算