博客文章
-
如何给 commit sign 一下
2023-11-16
最近在参加开源项目的时候,其中 Approver 要求我去给我的 commit sign 一下,也就是给对应的 commit 加上一个签名,这种签名有两种方式 Signed-off-by(您提供的这种):是一文本记录,用于表明责任和许可同意。它很容易被任何人复制和添加。 - GPG 签名(git c...
-
Alembic 数据库迁移工具
2023-11-15
Alembic 是一个 Python 环境中的数据库迁移工具,类似于 Go 语言中 GORM 的数据库迁移功能。它是 SQLAlchemy 的迁移工具扩展,用于管理数据库架构变更的版本控制。 在 Alembic 中最简单的命令就是初始化项目: alembic init migrations
-
Go 代码大全
2023-11-15
在 Go 语言中,与 Java 或 Python 等语言不同,结构体(struct)无需显式声明对某个接口的实现。 例如,在 Java 中我们常会写 class Student implements Person 来明确指定接口实现,这种方式具有一定的优势。 如果采用隐式实现机制,当接口中的方法发生...
-
Python 依赖问题
2023-11-15
在 Python 中,没有像 Go 语言中那样的内置模块依赖管理工具(如 Go Modules)。我们通常使用 uv 或 poetry 来管理项目依赖,这两个工具都基于 Python 的虚拟环境(venv)机制。所谓的 venv,实际上是在项目目录中创建一系列文件夹,用于隔离不同项目的依赖。 当你为...
-
OTLP 导出器的部分失败问题
2025-9-20
OTLP 是 opentelemetry 中的协议传输标准,在收集到对应的metrics, trace,log 这些数据之后,我们往往会把对应的数据发送到远端,比如对应的 collector 对于整个数据传输的结果其实是存在三种状态的: 1. 失败状态: 比如因为网络问题出现的失败 2. 部分失败:...
-
opentelemetry 中的跨上下文传播
2023-9-20
在 otel 中有一个非常神奇的接口叫做 TextMapPropagator 这个接口用来在分布式追踪系统用于跨进程传播上下文信息的核心组件。 type TextMapPropagator interface { Inject(ctx context.Context, carrier TextMa...
-
PyProc 源码分析 (持续更新中)
2025-9-22
PyProc 的 frame 结构分成了两个部分, 第一个部分是对应的帧头, 第二部是对应的 数据部分, 也就是对应的数据部分,类型下面这样 [header][payload]