V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  MarioLuo  ›  全部回复第 1 页 / 共 5 页
回复总数  91
1  2  3  4  5  
115 天前
回复了 huangliu 创建的主题 程序员 我和 Tiny RDM 一起勇敢迈向了 1.2 版本
颜值很高 精致的不像开源软件 之前用 medis 很多开源软件刚开始都做的很好 慢慢因为没有盈利就没有更新下去了 希望作者能尽快找到盈利的模式, 可以考虑苹果版本上架付费版本合适的价格,然后海外推广,毕竟有收入才能持续更新。
237 天前
回复了 nitouge 创建的主题 程序员 OpenFeign 使用疑惑
服务拆分后各个服务之间通过 http 接口调用,那么第一个问题考虑的是要不要提供客户端?
第一种: 服务分为多个 maven 模块, 例如: user-api, user-provider, 优点代码复用, 缺点就是版本兼容,适合大量接口调用.
第二种: 调用方写代码调用,优点是按需写、灵活,缺点就是代码重复,适合少量接口调用.
第三种: 单独写一个 sdk 项目,优点是复用,缺点单独维护,也可根据 openapi 文档自动生成.

回到你的问题,如果使用第一种方式:
1. API 包种每个接口返回 VO/DTO, 不要直接返回数据库实体类,实体放在实现模块中,实体转换用 mapstract 即可。
2. Feign 中每个接口建议入参和返回都包装一个实体: UserAddReq, UserAddResp 以后便于扩展而不影响调用方,部分原子接口可不用包装比如根据 id 获取用户信息: Result<UserDTO> getUserById(@PathVariable("id") Long id);
3.因为我们是 bff 模式,原子服务的 service 层尽量返回实体,控制层包装转化为 DTO/VO;
4.目前我们是返回的 Result<?>, 然后 Result 里有个 tryThrow()方法,由调用方控制,灵活性更大,也可以用 Decoder 方式;

另外一个小地方命名冲突: 一般会在 bff 服务中请求响应都叫 XXxReqVO, XxxRespVO, 而在原子服务叫: XxxReq, XxxResp 。

我们实际中采用第一种和第二种混合: bff 服务调底层服务用第一种,相对独立或外部的服务调用使用第二种。
根据个人遇到的情况来看,大致是项目没有约定规范、不同开发按照自己的命名和风格随意、新人对项目不熟悉、偷懒对第三方返回数据没有转换,说白了还是技术水平问题,但是归根结底还是管理问题。我的建议了就是提出问题和后端人员,讲道理方式沟通。
2023-04-06 23:19:34 +08:00
回复了 firhome 创建的主题 汽车 15 个 w,懂车的大佬帮忙来选选车~
领克 03 中配,15.几应该能拿下
2023-03-28 11:07:45 +08:00
回复了 Emptyh 创建的主题 生活 男性买衣服一般去哪
@Emptyh Zara, 优衣库, Gap ,美邦 风格都比较好看,相对 Zara 风格更潮一点,可以都试试看
2022-08-16 11:34:04 +08:00
回复了 shilianmlxg 创建的主题 程序员 BOSS 直聘的那种 im 聊天的是怎么实现的呢
@Goooooos plantuml 好像没这么好看
2022-08-16 08:32:07 +08:00
回复了 shilianmlxg 创建的主题 程序员 BOSS 直聘的那种 im 聊天的是怎么实现的呢
@LeegoYih 请问下用的什么画图工具
2022-08-14 22:55:55 +08:00
回复了 juejinloop 创建的主题 信息安全 chrome 密码泄漏了, 才知道用 chrome 保存密码等于裸奔
才从 lastpass 切换到 google chrome 的密码管理器,如果真是如主题所说的那样,又得切回去了
2022-08-12 10:30:55 +08:00
回复了 voidmnwzp 创建的主题 程序员 手写 api 文档写得想跑路了
@bitmin smart-doc maven 插件 自己扩展下上传到 yapi 可以实现,但是有个问题,多分支开发怎么弄,yapi 本身的文档管理功能没有多分支,多版本的概念
2022-08-12 07:53:38 +08:00
回复了 voidmnwzp 创建的主题 程序员 手写 api 文档写得想跑路了
如果是用的 spring ,可以用这个 Idea 插件,从标准 Java doc 生成代码: https://github.com/jetplugins/yapix
2022-07-26 09:55:29 +08:00
回复了 codingbody 创建的主题 Java Java 项目如何做代码风格的统一管理
在公司内部写了一个 IDEA 插件,定义了代码风格文件,安装插件后会自动设置代码风格,并且在代码提交时候,每次默认勾选 `Code format` `Optimize import`,
2022-05-26 10:25:39 +08:00
回复了 DingJZ 创建的主题 程序员 不同系统之间字段统一
梳理一份常见字段命名(业务和非业务),数据库评审阶段可以卡
2022-05-16 17:25:23 +08:00
回复了 ranxi 创建的主题 程序员 各位,在工作或生活上有没有一直在坚持的好习惯
坚持使用番茄计时工具,强制锁屏休息,保护眼睛。上次会议 Code Review 大家愣是等了 5 分钟
2022-03-19 11:47:57 +08:00
回复了 XiLemon 创建的主题 Java 业务代码写单元测试的最佳姿势是什么?
一年过去了,楼主单元测试有值得方向的经验吗
2022-03-17 07:58:09 +08:00
回复了 lslvxy 创建的主题 程序员 Java 中 Mysql 的状态列用 int 还是用 varchar 好点
犹豫就用自己喜欢的那个,自从用了 mongo 就喜欢用枚举,数据库映射就是字符串,可读性高
感谢各位最后用了 Stretchly ,和 JustFocus 功能几乎一样
如果用 Jetbarins 系列工具,可以用 CommitLint 插件强制检验,按照 AngularJS 提交规范,包括检验分支名,提交人
2021-11-17 22:01:05 +08:00
回复了 fangcan 创建的主题 程序员 生产环境代码与开发分支的代码差别很大如何处理?
问题是生产环境上运行的包,在分支里没有有一个 commit 能完整对应起来。现在只有人肉处理了
1. 当前的分支留存一份
2. 对每个公司或者近期要迭代的找出历史 commit 打包后 class 差异最小的,无论是手工还是找差异文件的源代码补齐
3.如果差异过大或者无法找到的,保持 class 增量部署
最后处理这个问题一定要反馈给上级领导,风险和成果要让上面知道
近期准备分享"Web 攻击和安全问题”, 大家熟悉又陌生的领域,应该很有趣,也有实际用处
2021-11-09 13:42:09 +08:00
回复了 josephok 创建的主题 Go 编程语言 再来吹一波 Golang
Go 语言的三座大山包管理,泛型,错误处理,全搞定就完美了
1  2  3  4  5  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2636 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 07:02 · PVG 15:02 · LAX 23:02 · JFK 02:02
Developed with CodeLauncher
♥ Do have faith in what you're doing.