V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  qloog  ›  全部回复第 4 页 / 共 21 页
回复总数  410
1  2  3  4  5  6  7  8  9  10 ... 21  
111 天前
回复了 hankli 创建的主题 程序员 纪念一下首个开源项目破 1k star 啦~
好项目,值得推荐,我在 HelloGithub 提交的项目,老板还没给我审核,还在审核中 😭
我的分层是这样的:
handler -> service -> dao/repository -> model

事务的开启是在 service , 操作数据的是在 dao 或 repo 层,model 仅仅定义数据字段和表名(无任何 db 操作)。

PS:也像楼主一样考虑过,将这些事务放在一起,且放置于 dao 里,也就不用传递 tx 了,但会带来一个问题: 一个 dao 要操作多个 model (或者说表), 我目前是倾向于一个 dao 操作一个 model ,这样 dao 的职责就很清晰, 也方便 cli 工具自动生成 dao 。

@gitrebase 提到的 redis 操作,我把他们都放在了 cache 目录里(和 dao 、service 在同一级), 然后供 dao/repo 调用,也就是 dao/repo 扮演了数据操作的角色,不关是 接口、db 、redis 、MongoDB 、ES 等都在这里操作,供上层的 service 调用,一个 service 可以调用多个 dao, 只依赖 dao 定义的接口,方便使用 wire 做依赖注入。

代码可参考: https://github.com/go-microservice/moment-service/blob/main/internal/service/post_svc.go#L88
114 天前
回复了 LeviMarvin 创建的主题 程序员 求推荐 Go 程序的 web 库
我用 https://github.com/go-eagle/eagle 写 API 、微服务
126 天前
回复了 Corybyte 创建的主题 程序员 2024 有推荐的 go 开源项目吗 想深入学习
@skylee6900 数据库 ORM 工具
126 天前
回复了 Corybyte 创建的主题 程序员 2024 有推荐的 go 开源项目吗 想深入学习
开发 API 接口、微服务或者 web 服务的: https://github.com/go-eagle/eagle
127 天前
回复了 ItemStr 创建的主题 职场话题 新年开工第一天,通知被裁了
回家继续过正月十五
帮忙解决工签?
你有的这个都有: https://github.com/go-eagle/eagle ,咋办?😁😊
133 天前
回复了 kaiki 创建的主题 程序员 因为代码水平垃圾所以不敢开源项目
能用就能开源,或多或少会对一些人有用。
将开源进行到底: https://github.com/go-eagle/eagle
或许社区的力量也会推动你前进
开源框架: https://github.com/go-eagle/eagle
微服务: https://github.com/go-microservice
或者任意你喜欢的框架之一,整个完整的项目出来
singleflight 和 errgroup 的使用
业务里用 panic 用的少,基本都是在应用启动时使用; defer + recover 一般在协程里使用,防止协程泄露或者意外 panic
154 天前
回复了 txzh007 创建的主题 程序员 你们还在坚持练习算法吗
好久没看算法了...,可能还是平时用的少
近今年一直用 go, 跨平台、强类型、编译快,谁用谁知道。国内很多公司的微服务也是基于 Go 的。开发 api 和 web 都没问题,框架也很多:gin, micro, go-zero, kratos, 不过我用: https://github.com/go-eagle/eagle
156 天前
回复了 token10086 创建的主题 程序员 go 开发一般公司会选用什么框架
@lilei2023 可以先整功能,UI 先上个基础版的,后面再弄个漂亮的,甚至可以搞个可以换肤的
@kuituosi 开源的确实也很多,最终用了哪个?
刚看了看,3 年前写的 Go 服务端代码还在,因为时间原因一直被搁浅了😭
1  2  3  4  5  6  7  8  9  10 ... 21  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2961 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 13:21 · PVG 21:21 · LAX 06:21 · JFK 09:21
Developed with CodeLauncher
♥ Do have faith in what you're doing.