你好,欢迎来到我的博客 👋
Good morning, and in case I don't see ya, good afternoon, good evening, and good night!
【挖坑】微信聊天记录 训练 数字人
王登科博主利用微信聊天记录和博客文章,训练了一个能体现其思维和行为模式的数字克隆AI。他通过开源工具导出数据并清洗,选择chatglm-6b进行微调,并融合多轮训练结果。此外,名为wecone的开源项目也利用微信记录结合RAG模型生成数字分身,并支持语音功能。
服务器
未读
Debian/Ubuntu系统服务管理指南:systemctl深度解析
该文章详述了`systemd`与`systemctl`在Debian/Ubuntu系统中的基础与高级应用,包括其演变、核心架构、服务生命周期管理、系统状态查询、Target管理、日志管理等。文章还对比了Debian与Ubuntu在服务名称和配置文件路径上的差异,并提供了自定义服务、定时任务以及应急模式恢复的实例。此外,还探讨了常见错误代码解析、调试技巧及性能优化建议,旨在帮助用户更好地管理VPS上的系统服务。
学习碎笔-创建一个golang Web项目
这篇文章提供了一个类似于备忘录的指南,帮助用户初始化一个Golang Web项目。文章首先提醒读者参考时需谨慎,因为部分流程可能不够规范。接着,详细介绍了如何通过创建项目文件夹并初始化Go模块来启动项目,使用了`mkdir`和`go mod init`等命令。该指南旨在为初学者提供简洁的项目初始化步骤,便于快速上手。
Golang
未读
学习碎笔-关于gRPC
gRPC是由Google开发的高性能、跨语言的远程过程调用(RPC)框架,基于HTTP/2和Protocol Buffers实现。其核心特性包括多语言支持、高效传输、流式通信和强类型约束。在Golang中使用gRPC需安装`protoc`编译器和`grpc-go`库,通过Protobuf定义服务接口并生成代码。gRPC支持单向和双向流通信,适用于实时数据传输场景,如斐波那契数列生成。通过Go语言示例,展示了服务端和客户端的实现步骤。
Golang
未读
学习碎笔-Golang中的init( )函数
Go语言中的`init()`函数用于程序初始化,具有自动执行、无参数和返回值的特性,可在同一包内定义多个并按代码出现顺序执行。其初始化流程遵循全局变量→包`init()`→`main()`的顺序,依赖包的`init()`优先执行。典型应用包括初始化全局变量、注册组件、执行预处理任务及单次初始化保证。需注意避免滥用导致的代码可读性下降,依赖包顺序需显式控制,且不支持错误返回,只能通过panic处理异常。相比Java的静态初始化块和Python的模块初始化,Go的`init()`更强调隐式调用与包级作用域。
Golang
未读
学习碎笔-gin框架起步
该示例演示了使用Golang的Gin框架快速构建Web服务的过程,通过创建默认路由引擎、定义GET请求处理函数并启动服务,实现基础API接口开发。代码解析重点包括路由初始化时自动加载的日志与异常恢复中间件,以及利用gin.H简化JSON响应构建的实践技巧。框架设计强调高频场景的极简实现,通过类型别名gin.H提供强类型校验和代码精简优势,相比原生map减少23%字符冗余。扩展功能涵盖路由分组、多格式响应支持及状态码常量应用,其命名体系遵循工程实践惯性原则,在类型系统标记与语义清晰间取得平衡,典型调用可通过curl验证接口返回{"message":"pong"}的JSON数据。
Golang
未读
学习碎笔-go.sum文件有什么作用
go.sum文件是Go Modules的核心安全机制,通过记录所有依赖模块(直接、间接及依赖树各层)的SHA-256哈希值,确保依赖内容的完整性与一致性。其自动生成于执行go mod tidy、go get等命令时,并在每次构建时严格校验哈希匹配,防止恶意篡改、意外版本替换及不完整下载。文件每行包含模块路径、版本及哈希标识,同时保留历史版本哈希以实现兼容。与go.mod仅声明直接依赖不同,go.sum覆盖全部层级依赖的加密验证,需提交至版本控制以确保团队环境一致性。最佳实践包括禁止手动修改、配合校验数据库使用,并通过GOSUMDB/GOPRIVATE配置私有模块安全策略。
Golang
未读
学习碎笔-Golang的包管理逻辑
Go与Python在包管理机制上呈现显著差异:Go内置的Go Modules采用项目级版本隔离,通过go.mod/go.sum实现精确语义版本控制与哈希校验,依赖存储于全局路径并支持自动更新策略;Python依赖第三方pip与内置venv组合,通过虚拟环境完全隔离,使用requirements.txt/Pipfile进行宽松版本管理,需手动切换环境。Go强调自动化集成(如依赖解析、安全校验),而Python提供更高灵活性(如多镜像源配置)。私有仓库支持方面,Go通过GOPRIVATE变量实现,Python需指定索引URL。开发流程中,Go自动处理依赖下载与版本选择,Python需手动维护环境及锁定文件。两者分别适用于强调工程化与灵活性的场景。