喵个咪的博客喵个咪的博客
TX7DO
文章列表
文章分类
文章标签
时间线
TX7DO
文章列表
文章分类
文章标签
时间线
健康养生 1fastapi 1随笔日志 1产品设计 1Golang 115架构 1ASIO 2cron 1rclone 1flutter 1RxDart 1Make 2CMake 2Ninja 1设计模式 2Cache Aside Pattern 1缓存设计模式 1汽车 1go 2CDC 1PostgreSQL 6Centos 1docker 1杀毒 1CLion 1云手机 1GoogleTest 1Cococs2dx 1Cocos Creator 1代码注释 1IDE 3Python 4TRC20 1C++ 8类型转换 1CQRS 1Kafka Streams 1Bazel 2Docker 21Go 6crontab 1客户留存率 1EFK 1RustDesk 1Jitsi Meet 1Traefik 1Swagger 1Docker Hub 1VIM 1Word 1VBA 1Doris 1量化交易 2Flutter 14Widget 1Ent 3SQL 2Excel 2配色 1TypeScript 3C# 1Sealed Class 2微信小程序 1人脸识别 2RK3588S 1Android Studio 1iOS 1GetX 1鸿蒙 1字体渲染 1期货 1Futures 1地理围栏 1GEO 1Git 2Vue3 6React 7Protobuf 6GoWind 64AI 1Dart 1CMS 4Go-Kratos 91React.js 1Vue 6Nuxt 1Taro 1IAM 1JWT 1Casbin 1OPA 1Shop 4GoWind Toolkit 2代码生成 2Element Plus 1Ant Design 1UBA 5大数据分析 4算法 5WebRTC 3MongoDB 1Kratos 2CRUD 1GORM 1Wire 1Headless CMS 1WASM 1随机种子 1MacOS 3Ubuntu 2GCC 1Godot 1Clang 1Superset 1CentOS 1OpenCV 1咖啡 1Android 1Google Play 1Unity WebGL 1Dexie 1IndexedDB 1htop 1IM 1Postgresql 1Mattermost 1Qt 4TL;DR 1Swift 1Javascript 2JetBrains 1Typescript 1libuv 1Linux 1本地化 1国际化 1状态同步 1帧同步 1泡泡水 1Markdown 1机器学习 1QTT 1MQTT 2MSB 1LSB 1MySQL 1npm 1pnpm 1yarn 1OCR 1OHLC 1OLTP 1OLAP 1OpenAI 1OpenAPI 1数织 1Ping 1人体姿态识别 1全文搜索 1交叉表 1Prometheus 1Docx 1QUIC 1Reactor 1Websocket 1KCP 1Kratos-Transport 1Redis 1REST 1CoTURN 2RBAC 1SDD 1Selenium 1基准测试 1Spine 1股票 1Roguelike 2ThingsBoard 3时间戳 1时序数据库 3交易所 1Unity 2用户画像 1PgBouncer 1Vite 1WebGL 1加权随机 1BI 1数据血缘 1Roguelite 1Protocol 1WiFi 1WSL 3Windows 4
GoWind Shop 安全设计:JWT 鉴权、Ent 行级隔离、防篡改审计与四个真实漏洞修复

Date: 8/11/2026Category: GoWind风行Tag: Golang, GoWind, Vue, Shop

为什么写这篇

安全这件事,讲概念的多(纵深防御、最小权限、fail-closed),讲工程落地的少。一篇好的安全文章应该能回答:这些概念具体落在哪几行代码里、它们怎么串成一条链、出过什么洞、怎么修的。

这篇文章拆解一个真实仓库 go-wind-shop(GitHub: https://github.com/tx7do/go-wind-shop, Gitee: https://gitee.com/tx7do/go-wind-shop)的安全实现。它不讲"应该做什么",讲"实际做了什么、实际踩过什么坑、实际怎么修的"。文中会引用四个真实的 git commit,每个都是一个被修的安全洞——从漏洞存在、到发现、到修复代码,完整还原。

GoWind Shop:一个 proto 文件如何生成后端、前端、文档、校验六路代码

Date: 8/11/2026Category: GoWind风行Tag: Golang, GoWind, Vue, Shop

为什么再聊"契约驱动"

"契约驱动(contract-driven)"这个词被用滥了。大多数项目里它的实际含义是:后端写完接口,用 Swagger 注解生成一份文档,前端照着文档手写 fetch。文档和实现谁是事实源?没人说得清。接口改了文档没改,文档改了实现没改,前后端各自演进直到某天线上 404。

这篇文章不讲概念,讲一个可运行的工程闭环:以 .proto 为唯一事实源,一次 buf generate 同时产出六路产物——后端 gRPC 桩、后端 HTTP 桩、错误码 helper、请求校验器、PII 脱敏器、OpenAPI 文档,以及给前端的 TypeScript 客户端。文中所有配置和代码都来自一个真实仓库 go-wind-shop(GitHub: https://github.com/tx7do/go-wind-shop, Gitee: https://gitee.com/tx7do/go-wind-shop),你可以逐行核对。

GoWind Shop 出海实战:多语言商品内容怎么存、怎么录、怎么按 locale 取

Date: 8/11/2026Category: GoWind风行Tag: Golang, GoWind, Vue, Shop

一个常见误解

很多团队对"国际化"的理解停留在前端字符串翻译——zh.json/en.json 切换一下 t('hello') 就完事。但对电商而言,真正的难点不在 UI 文案,而在商品内容的多语言化。

一件商品的中文名、英文名、商品描述、类目路径——这些是入库的业务数据,不是 UI 文案。你不能把它们塞进 zh.json,因为:

  • 不同语言的商品描述要分别审核、分别上下架。
  • 同一件商品的"主数据"(SKU、价格、库存、类目归属)是语言无关的,只有"展示文案"按语言分叉。
  • 后台编辑时,运营要在同一界面同时维护所有语言版本,而不是切来切去。
  • 店铺前台要能按 URL 里的 locale 一次性取到对应语言版本,而不是取全量再前端过滤。
GoWind Shop 架构剖析:一个 REST 请求穿越三服务 BFF 的七环链路

Date: 8/11/2026Category: GoWind风行Tag: Golang, GoWind, Vue, Shop

这篇在讲什么

大多数微服务架构的文章停在"我们用了 BFF 模式"这种结论性描述,不讲 BFF 具体怎么装配、一个请求实际穿过了哪些代码、依赖图是怎么织起来的。这篇文章反过来:用一条真实的 POST /admin/v1/mall/brands 请求,把它从 HTTP 入站到 Ent 落库的每一个环节用代码钉死,再把支撑这条链路的 Wire 依赖注入和运行时配置逐行拆解。

文中所有代码和配置都来自一个真实仓库 go-wind-shop(GitHub: https://github.com/tx7do/go-wind-shop, Gitee: https://gitee.com/tx7do/go-wind-shop),标注了文件路径可核对。读完你会清楚三件事:这条链路怎么走、它由哪些配置决定、依赖图怎么从代码生成。