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

推荐订阅源

Hacker News: Ask HN
Hacker News: Ask HN
IT之家
IT之家
S
SegmentFault 最新的问题
T
Tailwind CSS Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
J
Java Code Geeks
博客园 - 聂微东
雷峰网
雷峰网
阮一峰的网络日志
阮一峰的网络日志
The Cloudflare Blog
博客园_首页
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 【当耐特】
腾讯CDC
Apple Machine Learning Research
Apple Machine Learning Research
酷 壳 – CoolShell
酷 壳 – CoolShell
V
V2EX
宝玉的分享
宝玉的分享
小众软件
小众软件
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Hugging Face - Blog
Hugging Face - Blog
月光博客
月光博客
NISL@THU
NISL@THU
T
The Exploit Database - CXSecurity.com
C
CXSECURITY Database RSS Feed - CXSecurity.com
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
Blog — PlanetScale
Blog — PlanetScale
aimingoo的专栏
aimingoo的专栏
L
LINUX DO - 热门话题
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
F
Fortinet All Blogs
博客园 - Franky
L
Lohrmann on Cybersecurity
S
Secure Thoughts
量子位
V
Vulnerabilities – Threatpost
Last Week in AI
Last Week in AI
博客园 - 叶小钗
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
L
LINUX DO - 最新话题
I
InfoQ
C
CERT Recently Published Vulnerability Notes
Security Archives - TechRepublic
Security Archives - TechRepublic
P
Proofpoint News Feed
G
GRAHAM CLULEY
Cisco Talos Blog
Cisco Talos Blog

Go 编程语言

构建时自动注入版本号:从 Git tag 到 Go 可执行文件 - V2EX [边缘计算] 想借助 AI 来开发 边缘网关接入 AI 解决设备通信 不知道有没有需求 - V2EX [Go]工业边缘计算网关 edgex 业余时间独立开发 持续更新半年咯 求个 star - V2EX eget:不用等中央仓库,直接安装 GitHub 和任意下载站的工具 - V2EX gookit/gcli v3.8:新增支持共享选项、文档生成和参数重排 - V2EX V2EX 我开源了一款极简的 P2P 文件传输与 VPN 工具 (Win/Mac/ Linux /Android) - V2EX gookit/gcli v3.5.0 发布 - 简单易用、功能丰富的 Go 命令行应用与工具库 - V2EX 用 Go gRPC 信令对接 Android WebRTC:大家一般怎么划分网关和客户端边界? 在服务端用 Pion + FFmpeg + RNN 做 WebRTC 通话降噪,值得吗? 这两种 lint 报错场景, v 友们一般怎么处理 - V2EX tikrok 第 7 代微服务重构: Golang 微服务 grpc 接口与服务实现隔离方案 写了个 Go 库:在 TCP 应用协议开始前做认证,也支持端口敲门 Tikrok v6.0 新的生产级架构,成本不变,但是部署复杂略有增加 go 打包的二进制程序怎么反编译 [边缘计算开源] 工业数据采集网关 版本更新 用 golang 写了,一套面向个人音乐资产的本地优先音乐系统 做了个 Go 的 MCP Server 框架,一行代码把 Gin API 接入 AI - V2EX 写了个 Go 库解决 LLM 流式输出断线重连的问题 - V2EX Tikrok v5.0 新的的底层实现 - V2EX OpenTelemetry 分布式追踪中的回溯采样:削减 60% 尾部采样成本 - V2EX 求推荐一个 go 里运行 js 的方案 - V2EX [边缘计算] 基于 GO 的采集网关持续更新啦 - V2EX [边缘计算开源] 基于 go 写了个独立运行的工业数据采集网关 后续阶段应该如何调整 - V2EX 然后 go-kratos 不怎么活跃了,连最火的 skills 都不搞, github 也没什么人回复了 - V2EX Excelize 开源基础库发布 2.10.1 版本更新 phper 转 go 最好的 web 框架是 goframe 吗? - V2EX A Visual Studio Code extension that displays the disk size of Go module dependencies in go.mod files. - V2EX miglite: Go 极简高效的数据库迁移工具 - V2EX 每秒万级 Tick 震荡:高频行情分发,该选 Golang 的并发原生还是 Rust 的极致性能? - V2EX 给 netcat 引入了 P2P 穿透、多路复用、强加密以及内置服务模块,并且完全开源 - V2EX 使用 "go.inlayHints.parameterNames": true 在 vscode 中开启类似 goland 的参数提示 - V2EX 下面代码中 f()会被重复执行吗?大佬帮忙解答一下~ - V2EX sublimetext 开发 GO 使用体验怎么样 - V2EX [开源] 将 react 的 hooks 和 组件化思路带入 go 的 TUI 开发。 - V2EX gocar 0.2.0 版本:新增自定义命令功能,实现真正的 go 的 cargo - V2EX go 新手,求问导入包失败问题 - V2EX 之前写的, JSR-310 风格的时间日期库, 1.0 了 - V2EX 为了方便学习 go, 使用 go 做了一个命令行版本的 go playground, 代码直接一键运行, 一键编译 - V2EX 虚心请教 Go 前辈们,关于入行 - V2EX 关于 Go 的工程经验 - V2EX 微信开发框架开源,基于 Go+Wails3+React - V2EX Golang 实现的开源 NVR 支持 GB28181 & ONVIF 啦 - V2EX Go 工具库 gookit/goutil v0.7.2 发布:增强功能与修复,提升开发体验 - V2EX go-carbon v2.6.15 正式版发布,已被 docker 官方组织使用 - V2EX 如何用 3–5 个高效问题快速识别 Golang 开发者的技术素养? - V2EX 有没有 go 的 ai 应用项目学习学习 - V2EX Go 环境版本管理用哪个- -有点疑惑 - V2EX Goland 下的通义千问不能选择模型,VScode 下面的通义千问可以选择模型 - V2EX 新手入门求指导 - V2EX 看 Go 的时间库不顺眼很久了,所以从别的语言里抄了一个 - V2EX go-dongle v1.2.0 发布,新增 SM2 非对称椭圆曲线加密算法支持 - V2EX Wails2+Vue3 本地的绑定文件和 Vite 上的不一致 - V2EX go 返回错误的时候, 返回的值应该可用吗 - V2EX Go 入门基础课(2025 Golang) - V2EX goland 中如何 debug wails - V2EX 日期函数获取上一个月 bug, 在一些特殊日子才出现,比如今天 10-31 - V2EX go-carbon v2.6.14 发布,一个轻量级、语义化的 golang 时间处理库 - V2EX goroutine 到底算不算一种 coroutine 的实现? - V2EX 为什么不用 gRPC-Go: VictoriaTraces 中实现 OTLP/gRPC 的幕后故事 - V2EX go 最新版的 map 并发读是安全的吗。 - V2EX 请问一下 golang 下有什么成熟稳定的串口通讯包? - V2EX golang.org/x/sync/syncmap 被 struct 裹挟时 使用前为什么必须为每个键初始化 不然取值得到 nil go-dongle v1.1.7 发布,新增 SM4 国密分组对称加密算法支持 在开发接口的过程中,如何快速验证结果? - V2EX go-carbon v2.6.13 发布,一个轻量级、语义化的 golang 时间处理库
tikrok 的部分来时路
5wunian · 2026-05-19 · via Go 编程语言

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 集成
5wunian

1

5wunian      5 月 19 日

面向对象编程过时了。在云计算时代,一切从简,成本与速度决定着产品的走向.....