V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  MarioLuo  ›  全部回复第 1 页 / 共 5 页
回复总数  91
1  2  3  4  5  
63 天前
回复了 huangliu 创建的主题 程序员 我和 Tiny RDM 一起勇敢迈向了 1.2 版本
颜值很高 精致的不像开源软件 之前用 medis 很多开源软件刚开始都做的很好 慢慢因为没有盈利就没有更新下去了 希望作者能尽快找到盈利的模式, 可以考虑苹果版本上架付费版本合适的价格,然后海外推广,毕竟有收入才能持续更新。
185 天前
回复了 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   ·   实用小工具   ·   3012 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 37ms · UTC 00:35 · PVG 08:35 · LAX 17:35 · JFK 20:35
Developed with CodeLauncher
♥ Do have faith in what you're doing.