- 01-27 22:33查看全文请教大家一个问题。 对于mcp-client进行工具调用的时候,企业级的做法,一般是会在调用大模型的时候,基于toolCallbacks传入对应的工具,然后使用toolCallingManager进行工具的调用;还是说,是自定义进行工具的调用会更好? 如果基于toolCallingManager自行...编程导航小智:这是个非常实际、也常被低估的关键问题 👍——咱们来拆解一下:核心结论(先说答案):企业级实践中,通常不会直接依赖 "toolCallingManager" 的“黑盒”自动调用,而是采用「可控的、分层的工具调度机制」:即 ——✅ 保留 "toolCallbacks" 做协议对接(兼容 MCP 规范),✅ 但工具的实际发现、路由、鉴权、熔断、日志、审计、重试等,全部由自研/可插拔的 "ToolOrc221分享
- 2025-12-12查看全文鱼皮哥,请教一个问题。 在大型快消crm中,业务员的规模达到10w+,业务员每天的门店拜访,每个拜访动作都可以获得相应的积分。每天也可以拜访多个门店。 并发量还是挺高的,数据量也很大。 这种情况下,积分流水的记录,业务应该怎样去考虑呢?是否有必要做成实时的? 应该怎么样设计比较好呢?单次积分应该是需...编程导航小智:这个问题非常典型,我来分享一下我们在类似场景的处理经验。咱们分几个关键点来分析:核心设计原则1. 实时性分级:积分流水记录需要实时(保证数据不丢),但积分余额计算可以准实时(最终一致性)2. 写性能优先:10w+业务员意味着每天可能有百万级流水记录推荐架构方案graph TD A[业务系统] -->|异步写入| B[MQ] B --> C[消费者集群] C --> D[流水表-分321分享
- 2025-10-14今天有一个广州的创业型公司给发offer了,不过是架构师的岗位。 21年成立的创业公司,做QMS和AI相关的。 目前是3年的java工作经验,hr说是想从0到1培养一个架构师,让公司现在的架构师来带我。 大家觉得这个offer会怎么样?转架构的话,难度会不会挺大的,怕比较难适应。 🤔编程导航_小y:创业公司说是架构师,大概率还是开发大头兵,需要你主力负责项目,并且负责代码开发和实现。看看薪资待遇如何,涨薪多少。1100分享
- 2024-04-02查看全文请教大家一个问题,我现在想实现一个视频播放的功能(类似于b站的播放器那种); 我看了一些网站的接口,好像是会将视频分段返回给前端,感觉像是使用m3u8格式来实现的。 但是有一个问题,后端如果使用m3u8的话应该怎么处理比较好呢? 我试了一下使用ffmpeg来将mp4转成m3u8格式的,但是转的时候,...鱼友0412:你的问题是关于如何实现一个视频播放功能,后端使用m3u8格式来处理视频分段的问题。首先,关于m3u8格式,它是一种用于分段视频流的播放列表文件格式。它将整个视频划分为多个小段,并提供了一个索引文件用于指示播放顺序和位置。这种方式可以实现边下载边播放的效果,并且兼容性较好。你提到使用ffmpeg将mp4转成m3u8格式时,遇到了CPU占用高和耗时较长的问题。这可能是由于转码过程比较复杂,需要消耗大量510分享
- 2023-10-27查看全文提问 、 项目 请教大家一个问题,在实现一个更新用户名的功能时,如果后端是采用jwt来进行用户信息存储的,因为token里面,有一个subject属性用于存储当前的用户名的(我是设置了username),那我在更新用户名后,我的token,是否需要重新生成呢?如果不重新生成的话,那我最新的用...鱼友0412:你的问题是关于在使用JWT进行用户信息存储时,在更新用户名后是否需要重新生成token。如果不重新生成的话,最新的用户名就无法与token中的subject属性对应。通常情况下,当用户的敏感信息发生改变时,包括用户名在内,建议重新生成token。这样做的好处是,确保token中的信息与后端存储的用户信息一致。当用户更新用户名时,你可以执行以下步骤:1. 用户在前端更新用户名,并通过后端API将新的760分享
- 2023-10-17查看全文请教大佬们一个问题,如果在项目里面,要对每一个请求都需要记录操作日志,一般推荐是使用aop还是使用拦截器来实现呢? 目前的实现方案是基于aop,但是在思考它跟拦截器之间,这两种方案的差异点在哪里呢? @河北王校长 请问校长对这个怎么理解呢?如果我使用@NotNull等注解来做参数校验,请求还没有到达...鱼友0412:对每个请求记录操作日志是一个常见的需求,在Java项目中可以使用AOP(面向切面编程)或者拦截器来实现。AOP是一种编程思想,可以通过在关注点(例如方法调用)周围织入特定的逻辑,例如在方法执行前或者执行后记录日志。使用AOP可以将记录日志的逻辑与业务逻辑解耦,提高代码复用性。在Java中,可以使用AspectJ框架来实现AOP。拦截器是Java Servlet规范中定义的一种组件,用于拦截请求和响1230分享
- 2023-05-10查看全文#分享# #项目# 对于spring-init模板里面的一个小点,提出一点我自己的看法。 第一张图片是init模板里面的一个根据value值获取枚举的方法;第二张图是我自己在写项目的时候,基于反射写的一个根据value获取对应枚举的message的公共方法; 因为这两天在写项目的时候,想到一...程序员鱼皮:很不错,如果你的枚举类都很工整,用这个方法的确能提高效率 👍🏻1730分享
- 2023-05-02查看全文#提问# 请问一下大家,security中,重写protected void configure(HttpSecurity http) throws Exception方法,就没办法显示出登录界面,但是不重写这个方法的话,就能正常出现登录界面,应该怎么重写其中的配置比较好?卡在这动不了了。 如下...鱼友0412:如果我没记错是有个formLogin方法的,如果我记错了请指正[囧]330分享
- 2023-05-01查看全文#提问# 有个问题请问一下大家,你们在做登录功能的时候,一般是采用session还是使用token的方式? 看了一下模板里面的方法,是使用的session。但是之前复习的时候,session是会将每个用户的信息都存储在服务端,所以当用户量比较多的时候,对服务器的存储就会有些影响,所以一般好像是不...程序员鱼皮:不用纠结这个,企业中不同的项目(或业务场景)选择的方式也不同。比如一个简单的单机项目,直接存本地 session 就可以了,方便又卫生;但如果是分布式项目,session 要存到 redis 等分布式存储中;如果需要单点登录,可以使用 jwt + token 的方式。我们要做的,也应该做的是学会所有这几种方式,并且熟悉它们各自的应用场景,当企业项目需要做登录功能时,能选择最合适的。
850分享 - 2023-04-30查看全文技术 想请问大家一个问题, 需求: 管理员要在后台进行批量账号删除 管理员在进行删除操作时,对于这个业务场景,我们是可以对这些账号直接删除,还是应该在删除前,判断一下当前将要被删除的账号是否正在被使用? 我觉得应该是后者,但是不太清楚应该以什么方式来判断这些列表用户的当前使用状态,应该要做什么...鱼友0412:我记得鱼哥说过,逻辑删除,意思不是真正的删除,480分享
请教大家一个问题。 对于mcp-client进行工具调用的时候,企业级的做法,一般是会在调用大模型的时候,基于toolCallbacks传入对应的工具,然后使用toolCallingManager进行工具的调用;还是说,是自定义进行工具的调用会更好? 如果基于toolCallingManager自行进行工具调用的话,感觉是黑盒,不太可控。 一般会怎么进行考虑呢,谢谢
鱼皮哥,请教一个问题。 在大型快消crm中,业务员的规模达到10w+,业务员每天的门店拜访,每个拜访动作都可以获得相应的积分。每天也可以拜访多个门店。 并发量还是挺高的,数据量也很大。 这种情况下,积分流水的记录,业务应该怎样去考虑呢?是否有必要做成实时的? 应该怎么样设计比较好呢?单次积分应该是需要实时记录的吧? 用mq,然后在消费者端,每个积分记录和写入积分余额,都分别做成一个事务,多线程插入,这样会不会容易把数据库连接打满? 如果是消费者端批处理呢?那如果其中一条记录失败了,是整批回滚,还是单独进行处理呢?
今天有一个广州的创业型公司给发offer了,不过是架构师的岗位。 21年成立的创业公司,做QMS和AI相关的。 目前是3年的java工作经验,hr说是想从0到1培养一个架构师,让公司现在的架构师来带我。 大家觉得这个offer会怎么样?转架构的话,难度会不会挺大的,怕比较难适应。 🤔
请教大家一个问题,我现在想实现一个视频播放的功能(类似于b站的播放器那种); 我看了一些网站的接口,好像是会将视频分段返回给前端,感觉像是使用m3u8格式来实现的。 但是有一个问题,后端如果使用m3u8的话应该怎么处理比较好呢? 我试了一下使用ffmpeg来将mp4转成m3u8格式的,但是转的时候,cpu占用非常高,也比较耗时;不知道是不是思路哪里有点问题; 后端一般是怎么处理这个问题的呢,有什么好的解决思路和方案吗,谢谢 #提问# 后端 Java
提问 、 项目 请教大家一个问题,在实现一个更新用户名的功能时,如果后端是采用jwt来进行用户信息存储的,因为token里面,有一个subject属性用于存储当前的用户名的(我是设置了username),那我在更新用户名后,我的token,是否需要重新生成呢?如果不重新生成的话,那我最新的用户名,就跟token里面的subject是对应不上的,请问大家一般是怎么处理这个问题的呢?
请教大佬们一个问题,如果在项目里面,要对每一个请求都需要记录操作日志,一般推荐是使用aop还是使用拦截器来实现呢? 目前的实现方案是基于aop,但是在思考它跟拦截器之间,这两种方案的差异点在哪里呢? @河北王校长 请问校长对这个怎么理解呢?如果我使用@NotNull等注解来做参数校验,请求还没有到达controller层,就直接抛异常被全局异常拦截捕获到了,这样的话,我就没有办法记录到当前的请求日志了,这种情况的话,请问校长会怎么处理呢,谢谢校长 Java #提问#
#分享# #项目# 对于spring-init模板里面的一个小点,提出一点我自己的看法。 第一张图片是init模板里面的一个根据value值获取枚举的方法;第二张图是我自己在写项目的时候,基于反射写的一个根据value获取对应枚举的message的公共方法; 因为这两天在写项目的时候,想到一个问题是,现在模板里面可能只有一个枚举类,但是实际中项目可能会有好几个枚举类或者更多,如果都有这样的需求(需要根据value获取枚举的话),这样如果都在每个枚举类里面定义一个相同或者相似的方法,这样重复性就太高了,代码的抽象性和复用性就会差一些。 所以这里是基于反射去封装了一个方法出来(前提是每个枚举类里面一定要有getCode和getMessage方法),可能反射会稍微影响一点性能,但是这样就能提高代码的复用性了。 以上,如有不合理的地方还麻烦指正~
#提问# 请问一下大家,security中,重写protected void configure(HttpSecurity http) throws Exception方法,就没办法显示出登录界面,但是不重写这个方法的话,就能正常出现登录界面,应该怎么重写其中的配置比较好?卡在这动不了了。 如下图为重写的配置。
#提问# 有个问题请问一下大家,你们在做登录功能的时候,一般是采用session还是使用token的方式? 看了一下模板里面的方法,是使用的session。但是之前复习的时候,session是会将每个用户的信息都存储在服务端,所以当用户量比较多的时候,对服务器的存储就会有些影响,所以一般好像是不太用session的这种方案? 然后看了一些博客,他们的做法是比较偏向于使用jwt结合security来实现登录功能,但是我发现他们在使用jwt的时候,还是会把token给存储在redis里面,当退出的时候就把redis里面的键值给删除掉。但是想了一下,如果每个用户登录的时候都会将一份token给存储到redis里面的话,这样好像就失去了jwt本身的意义了,好像又变成了session一样。 所以这个地方有些疑问,想请问一下大家在做登录功能的时候,一般是用的什么方案?流程大概是什么处理逻辑呢?
技术 想请问大家一个问题, 需求: 管理员要在后台进行批量账号删除 管理员在进行删除操作时,对于这个业务场景,我们是可以对这些账号直接删除,还是应该在删除前,判断一下当前将要被删除的账号是否正在被使用? 我觉得应该是后者,但是不太清楚应该以什么方式来判断这些列表用户的当前使用状态,应该要做什么样的处理逻辑呢? 大家有没有什么好的思路?


