惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
G
Google Developers Blog
aimingoo的专栏
aimingoo的专栏
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
小众软件
小众软件
Stack Overflow Blog
Stack Overflow Blog
美团技术团队
博客园_首页
T
Tailwind CSS Blog
博客园 - 三生石上(FineUI控件)
B
Blog
D
DataBreaches.Net
腾讯CDC
C
Check Point Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
U
Unit 42
月光博客
月光博客
V
V2EX
Vercel News
Vercel News
T
The Blog of Author Tim Ferriss
The Cloudflare Blog
博客园 - 叶小钗
Y
Y Combinator Blog

V2EX

我用 AI 写代码,但终端管理反而成了累赘——于是我做了 codux [调研] 各位在公司都用什么 ide 和 agent 写代码? 老运维 share 一个运维平台 看到有公司考核 token 指标,很好奇大家上个月的 AI 账单是多少 GLM-Coding 调用持续报错: z.ai 的 Lite 套餐几乎无法使用,官方 Pro/Max 是否稳定? 现在还有什么渠道可以稳定安全地使用 Claude 吗? 上海漕河泾内推,本组有 2 个 hc,一个后端,一个前端,预算都是 20k 左右,不打卡,氛围好 如果 V2EX 上有一组不永久保存聊天记录(比如只保存 7 天或者 24 小时)的聊天室,那么会开启哪些有用或者有趣的可能? gemini cli 貌似挂了,一直返回 403 第一次在自媒体上赚到钱 收集了最近在使用的低价 GPT, Gemini,邮箱等 AI 会员的小店合集 讨论个大实话:现在企业还在说 AI 编程提效 20%, 30%的,真的太落后,没用懂 AI。因为包括很多前沿公司,已经狂奔到提效 200%-500%的情况 [招聘][远程][币安] 前端/后端/QA/iOS/Android 至少 3 年以上经验 目前有大量 HC 欢迎投递 Chatgpt Pro 用量用不完的可以开这些设置 面试的时候好像遇到钓鱼了,给各位避个坑 cursor 年续费 22 号到期, 自动续费是否还是老的计次套餐呢 被两件破事毁掉的一下午,琐碎的内耗消磨人的精力 使用 Planet 存储 Codex 的会话或者重要信息 如果业务部门领导不要你开发功能,而是要求你教会它用 claude code 开发功能,你会怎么做? 分享一个 MacOS 接绿联 CM818 USB 转 DP 转接器使用感受 我的 HR 朋友 10 年老 Java ,非全大专,大家帮忙看看简历 开源了一个 AI 口语练习工具,音素级发音评分,完全免费可自部署 V2EX 上有哪些你觉得很有趣、印象深刻的妹纸? 字节为啥不出个国内版 Vercel? 有在大马的朋友吗? 问个运营商问题 你们在有领导的公司大群发过的最大胆的消息是什么 公司裁员,目前没有工作。想试试摆摊,做一个移动鲜啤打酒车 我的硬盘 Memblaze Pblaze 5 Linux 下不识别,给 Linux 内核提交了补丁, AI 说有望被合并 只有我一个人觉得 codex 不好用?
tikrok 的部分来时路
5wunian · 2026-05-19 · via V2EX

Changelog

[v1.0.10] - 2026-05-19

文档更新

  • 根 README 全面升级至第 7 代架构文档:gen/ 隔离层、sqlc 数据层契约、DAO 测试体系
  • tikrok-services README 全面重写:数据访问层架构、事务模式、测试分层、错误处理

[v1.0.9] - 2026-05-18

sqlc 数据层重构(第 7 代核心)

  • sqlc.yaml 配置优化:emit_interface: truequery_parameter_limit: 3emit_pointers_for_null_types: true
  • 41 处 SELECT * 全部替换为显式列名
  • DAO 构造器从 *db.Queries 变更为 db.Querier 接口,实现 Mock 可测试
  • 消除 200+ 处 sql.NullX 手动转换代码
  • 20 个 DAO 实现 WithTx(*sql.Tx) DAO 事务抽象

测试基础设施

  • 5 个服务生成 MockQuerier ( gomock + mockgen )
  • 63 个 DAO 单元测试:auth(26)、order(19)、tunnel(19)
  • 创建 pkg/testutil/sqlctest 包:轻量 Docker MySQL 测试助手
  • 2 个集成测试:HandlePaymentCallback 事务原子性验证
  • 9 个 Bash API 测试脚本覆盖全 API 面

错误处理

  • 所有 GetByID/GetByEmailsql.ErrNoRows 封装为 BizError( ErrNotFound )
  • 逻辑层不再处理原始 sql.ErrNoRows

[v1.0.8] - 2026-05-17

gen/ 接口隔离层

  • 创建 gen/ 目录:5 个纯 RPC 接口模块( auth/user/order/product/tunnel )
  • 每个 gen 模块仅 15 行 go.mod 、~2.7K go.sum ,不含业务代码
  • 修改 proto go_package 指向 gen/ 模块路径
  • 更新所有服务导入路径从 app/*/kitex_gen 指向 gen/*
  • Gateway 消费方只依赖 gen/*,不接触 app/*
  • gen/ 模块可安全对外发布(不泄露业务实现)

Docker 部署优化

  • 切换为预编译二进制多阶段构建
  • 版本管理自动化( VERSION 文件 + build-images.sh
  • Docker Compose 版本自增 + 旧镜像清理

[v1.0.7] - 2026-05-16

多模块工作区重构

  • 7 个子模块独立 go.mod/go.sum,由 go.work 统一管理
  • 消除内部 replace 依赖,模块可独立构建
  • BizError 实现 GRPCStatus() 方法,支持 gRPC 错误码透明传输
  • 修复所有记录创建时缺失 CreatedAt 时间戳的问题
  • 测试脚本错误码断言统一修复

[v1.0.6] - 2026-05-15

GORM → sqlc+Goose 迁移

  • 移除 GORM ,替换为 sqlc 代码生成框架 + Goose 迁移工具
  • 创建 22 个数据库迁移文件( 00001-00022 )
  • sqlc 生成类型安全的数据访问代码( Queries 结构体)
  • 降低默认免费配额限制
  • 提交全部 sqlc 生成代码及查询文件

Code Review 修复

  • Uber Go 风格指南修复:goroutine 生命周期、全局变量、切片容量
  • 安全修复:内部 API 认证、IDOR 、资源泄漏、CORS
  • 泛型工具函数 + 100 Go Mistakes 修复
  • 连接泄漏、并发安全、Context 传播、Etcd 锁重构
  • Jeepay 子模块引用更新(连接泄漏修复)
  • 订单数据流修复、静默错误处理、种子数据补充

[v1.0.5] - 2026-05-14

生产部署安全加固

  • Vault 加密敏感配置
  • 微服务角色分离
  • MySQL 自动备份
  • Ansible 集成 tikrok-services 微服务部署

流量计费链路完善

  • HandleTrafficReport/ReportTraffic/Heartbeat 持久化
  • 内部 API 和流量上报路由注册
  • ServiceConnector 统一管理 gRPC 连接

Gateway 精简重构

  • 删除 SQLite 存储层,容器化部署
  • 删除 payment/sso/sse 子系统(迁移至 tikrok-services )
  • 删除业务逻辑 handler 和中间件(迁移至 tikrok-services )
  • 重写 gRPC 客户端,使用 HTTP gateway 替代直接 gRPC 调用

[v1.0.4] - 2026-05-13

安全与稳定性

  • 修复管理员端点 403 和列表返回 null 的问题
  • 修复 API Key 认证和令牌失效( Logout 递增 TokenVersion )
  • 修复 MySQL 保留关键字 key 导致查询失败
  • 修复 API Key 创建时零日期 MySQL 拒绝
  • 添加 Gin 中间件 X-API-Key 认证
  • 更新 Swagger 文档补充缺失路由和 definitions
  • 后端全部缺失的 gRPC RPC 方法实现

[v1.0.3] - 2026-05-12

微服务功能完善

  • HTTP Gateway 从 Hertz 迁移到 Gin 框架
  • 9 个 Bash API 测试脚本(认证、密码、API Key 、配额、隧道、管理后台)
  • etcd 服务发现修复:Docker 环境地址注册
  • Swagger 文档和端到端测试基础设施
  • Casdoor SSO 集成( OAuth/OIDC 回调、用户同步)
  • ServiceConnector 统一 gRPC 连接管理器

[v1.0.2] - 2026-05-11

平台基础设施

  • 微服务集群 Docker 容器部署( 12 容器 5 层依赖)
  • 商品与授权系统设计
  • Goose 数据库迁移任务和部署步骤
  • etcd 服务实现自动重连与性能优化
  • 修复 CRITICAL 和 WARNING 级别安全问题及代码缺陷

[v1.0.1] - 2026-05-10

  • 项目全面清理与 gateway → tikrokd-server 重命名
  • SDK 重构:移除所有非共享网络库包
  • 完成 SDK 模块化,提炼 tikrok-sdk 核心包

[v1.0.0] - 2026-05-09

初始架构定型

  • 第 6 代 gRPC + Gin 微服务架构
  • SDK 模块化( quic/protocol/tunnel/mux/discovery/pool/metrics )
  • QUIC 数据面与服务端( tikrokd-server )
  • 客户端 CLI ( tikrok )
  • etcd 服务注册与发现
  • MySQL + Redis 持久化
  • JWT + API Key 认证
  • Prometheus + Grafana 监控
  • Ansible 自动化部署
  • 36 项 E2E 自动化验证
  • Jeepay 支付、Casdoor SSO 集成