- 博客(94)
- 收藏
- 关注
原创 关于AI的思考:AI进化困局与破茧之路
当ChatGPT用流畅的句子回答哲学问题时,当Midjourney生成媲美艺术家的画作时,人们似乎看到了智慧的火花。但若揭开这层华丽的面纱,会发现这些令人惊叹的成果,本质上仍是互联网时代经验碎片的拼图游戏。人工智能正在经历搜索引擎曾经遭遇的认知陷阱——在浩如烟海的数据迷宫中,我们建造了一个无限接近完美的经验复制系统,却始终未能触摸到真正的创新之门。
2025-04-02 10:49:57
924
原创 Mavan项目打包插件 打包成可执行Jar包
如果你的项目依赖了其他库,并且需要将所有依赖打包到一个可执行的 JAR 文件中,可以使用。中添加以下内容,确保生成的 JAR 文件包含。来正确生成包含主清单属性的 JAR 文件。你可以使用 Maven 的。
2025-03-25 10:42:17
336
原创 国产化各组件选型
东方通TongHttpServer。东方通TongLINK/Q。金蝶天燕ADMQ(首选)东方通TongWeb。东方通TongRDS。
2025-03-03 14:28:47
455
原创 《IDEA配置Maven:从零开始的优雅依赖管理之旅》
引言:为什么需要Maven?想象一下,你正在开发一个Java项目,突然需要引入一个第三方库。手动下载Jar包、解决版本冲突、管理依赖关系……这感觉就像在超市里推着购物车,却找不到货架上的商品。而Maven,就是那个帮你自动整理购物车、精准定位商品的“智能管家”。今天,我们就从零开始,用IDEA配置Maven,让它成为你开发路上的“最佳拍档”。
2025-02-26 14:46:57
1526
原创 Windows实现无感锁屏
复制代码到文本中,修改后缀为.bat;然后双击运行,即可看到系统开始倒计时,然后10s之后锁屏;再新建一个vbs脚本,调用这个bat脚本,可以实现无感锁屏。双击运行,好像什么都没发生,但是到时间后就会自动锁屏~这个小黑窗很烦人,不想让他每次弹出;
2025-02-20 16:51:54
343
原创 缓存方案分享
选择合适的缓存方案是提升系统性能和可扩展性的关键。对于数据更新较频繁的系统,可以考虑使用覆盖更新策略;而对于不常更新的数据,则可以采用删除缓存策略。此外,进阶的缓存方案如缓存预热、缓存分层、缓存失效策略等,能够根据具体场景进一步优化缓存的效率和性能。针对不同的业务需求,结合不同的缓存策略,可以在保证数据一致性的同时,极大提升系统的响应速度和可扩展性。选择合适的缓存方案时,需要权衡数据一致性、查询性能、缓存管理成本等多方面因素。希望本文的分享能够帮助大家更好地理解和应用缓存技术,提升系统的性能和可靠性。
2024-11-27 16:47:42
1013
原创 Centos7安装最新版EMQX(v5.8.1)
由于从centos停止维护,导致yum源不可用,好多方法安装都有问题,各种缺依赖;其实最简单就是换操作系统,Ubuntu,centos停止维护之后我们现在服务器基本上都是Ubuntu;而我的环境又不想再折腾,所以折腾了一下centos安装,确实比较绕;记录一下;
2024-11-01 10:46:36
1010
5
原创 工厂模式在短信发送中的应用 —— 以腾讯云、阿里云、华为云为例
工厂模式是一种创建型设计模式,它允许我们通过定义一个工厂接口来决定在运行时创建哪个对象,而不是直接在代码中硬编码具体类。这样,我们的代码将与具体的实现类解耦,便于未来扩展和维护。首先,定义一个通用的短信发送接口SmsService,其中包含发送短信的核心方法sendSms。每个短信服务商都必须实现这个接口。/*** 发送短信的方法* @param phoneNumber 接收短信的手机号* @param message 发送的短信内容*/
2024-09-25 11:07:34
597
原创 工厂模式的介绍及实现
工厂模式(Factory Pattern)是一种创建型设计模式,提供了一种创建对象的接口,而无需显式指定对象的具体类。在这种模式中,我们通过定义一个工厂类,专门负责生产各种类型的对象,这样我们可以避免直接在代码中实例化具体类,使代码更具扩展性、灵活性和维护性。解耦:客户端代码与具体的类解耦,避免了对象创建逻辑的重复。简化对象创建:通过工厂统一管理对象的创建逻辑,使代码更清晰易懂。扩展性强:新增类时,只需在工厂中增加创建逻辑,而不必修改现有的业务代码。
2024-09-25 10:59:43
283
原创 设计模式种类?23种设计模式是哪23种?
中所提到的,总共有 23 种设计模式。这些模式可以分为三大类:创建型模式(Creational Patterns)、结构型模式(Structural Patterns)、行为型模式(Behavioral Patterns)。当然,我们还会讨论另一类设计模式:J2EE 设计模式。根据设计模式的参考书。
2024-09-23 14:36:59
387
原创 设计模式六大原则:面向对象设计的核心
在面向对象编程(OOP)中,设计模式为编写高效、可维护且可扩展的代码提供了重要指导。而这背后的核心是设计模式中的六大原则。本文将详细介绍这些原则,并使用Java代码实例进行说明。
2024-09-23 14:24:48
578
原创 pig4cloud自定义SecurityFilterChain、Filter
在现在pig4cloud的版本中具体的做法是声明一个Configuration配置类,然后声明要生成SecurityFilterChain的方法,逻辑里将要添加的Filter可以做成一个List集合,然后添加到SecurityFilterChain中;要自定义多个SecurityFilterChain只需要在MySecurityConfig中再写一个返回SecurityFilterChain的方法,跟4.2中的一样,添加test2的SecurityFilterChain;重新启动项目,然后发送请求;
2024-09-20 16:15:00
686
原创 pig4cloud中RequestMatcher的添加
他们都已经有了匹配规则。这个方法主要是创建一个metadataSource,通过metadataSource创建FilterSecurityInterceptor对象,然后将其加入到http对象的filter中;可以看到添加了一个AntMatcher,将所有要放行的url(之前配置文件application.yml有配过的security.oauth2.ignore中的和默认放行的)最后将处理好的FilterSecurityInterceptor放入HttpSecurity的对象http的filter中;
2024-09-20 08:30:00
844
原创 pig4cloud的Filter匹配matcher过程
循环执行matches方法进行匹配,第一个是OrRequestMatcher,这个RequestMatcher的实现是将多个RequestMatcher进行组合,只要满足一个就算匹配;顺着第一条FilterChain进入matches方法,会先进入DefaultSecurityFilterChain(FilterChain的实现对象)中的matches方法;然后再调用自己的内部类的对象的接口实现,然后去父类AntPathMatcher中进行最终的url匹配。pig4cloud版本:3.7.1-JDK8。
2024-09-19 15:30:00
912
原创 人工智能时代,程序员如何保持核心竞争力?
在当今人工智能时代,科技的飞速发展如同一股汹涌的浪潮,不断冲击着各个行业。对于程序员这个群体来说,AIGC(如 ChatGPT、Midjourney、Claude 等)大语言模型的涌现以及 AI 辅助编程工具的日益普及,无疑带来了深刻的变革。在这个充满挑战与机遇的时代,程序员们究竟该如何保持核心竞争力,成为了一个备受关注的问题。
2024-09-19 12:19:49
1057
原创 pig4cloud登录请求处理流程以及token的签发
可以看到有4种converter的实现,跟进其converter方法,可以看到,其实就是根据grantType检查是否支持此操作,而这个OAuth2ResourceOwnerBaseAuthenticationConverter是支持password方式的,然后跟进第一个AnonymousAuthenticationProvider的support方法中,可以看到此方法支持的token是AnonymousAuthenticationToken或者他的子类、实现类。可以看到可选的providers有14个;
2024-07-31 11:26:35
1379
原创 pig4cloud请求分发流程和pig4cloud的Filter
OAuth 2.0令牌端点的过滤器,它处理OAuth 2.0授权授予的处理。这实际上是对旧的httpessioncontextintegrationfilter的重构,将存储问题委托给一个单独的策略,允许在请求之间维护安全上下文的方式上进行更多定制。这个过滤器是一个比较重要的,当客户端访问资源时,RequestCacheAwareFilter尝试冲缓存中查找已经保存的Request,默认是存储到Session的Attitude种的,默认的key为SPRING_SECURITY_SAVED_REQUEST。
2024-07-31 11:08:13
1011
原创 ubuntu24无法网络无法连接的问题
今天使用ubuntu的最新版24.04碰见个很奇怪的问题,所有防火墙都是关闭的,但是无法访问3306端口。通过官方文档发现,原来新版本引入了AppArmor,进行了跟高级别的安全控制,这就是为什么所有的服务都是正常的,防火墙也都是关闭的却无法连接的原因。关闭AppArmor或者配置AppArmor的规则,命令请自行查找哈。
2024-07-21 02:41:51
1723
原创 微信小程序点击事件冲突的解决
有父组件group,里面有个button,当点击button时,目的是触发button的事件,实际却触发了container的事件点击按钮触发click1。
2024-06-29 05:54:14
690
原创 使用@Lazy注解解决循环依赖的问题
订单服务与用户服务的循环依赖假设在一个电商系统中,我们有两个服务类:OrderService 和 UserService。OrderService 需要访问用户服务来获取或更新订单关联的用户信息。例如,当处理订单时,可能需要检查用户的信用状态或地址信息。UserService 同样也需要访问订单服务,比如为了统计用户的购买行为或者计算用户的积分,这可能涉及到查询某个用户下的所有订单。
2024-06-25 13:38:45
589
原创 基于SpringBoot实现WebSocket实时通讯的服务端和客户端
实现服务端注册的客户端的列表;服务端向客户端发送广播消息;服务端向指定客户端发送消息;服务端向多个客户端发送消息;客户端给服务端发送消息;
2024-03-20 10:10:07
1100
原创 数据库设计的三范式
数据库设计的范式,数据库设计的三范式。第一范式(1NF):字段不可再拆分第二范式(2NF):表中任意一个主键或者任意一组联合主键,可以确定除该主键外的所有非主键值第三范式(3NF):在任意主键都可以确定非主键值的情况下,不能存在通过某非主键字段A还可以获取到某非主键字段B。
2024-03-15 11:07:25
517
原创 for、foreach、stream循环性能比较
for、foreach、stream都可以循环处理数据,如果单纯当循环使用,for、foreach、stream哪个性能更好?
2024-01-29 10:27:48
909
1
原创 下载大文件时内存溢出情况分析解决
下载小文件没有问题,在超过100M左右时会报错`org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.OutOfMemoryError: Java heap space`;
2024-01-26 13:38:31
1729
原创 重构第十二章:大型重构 and结语
至此这本书就这样草草结束了,后面肯定是还会来刷第二遍、第三遍的,在这一次的阅读中,我基本上只是快速的找手法,对深入理解可能还有欠缺,尽管如此,我还是深感收获颇丰,对代码重构这一看似琐碎而实则深具影响力的技术有了更深刻的理解。首先,本书以通俗易懂的语言阐释了代码重构的核心理念和基本原则,使得这个看似复杂的主题变得亲切而易于理解。通过“马老师”的引导,我逐渐认识到重构并非只是修补 bug 或优化代码,更是一种有组织、有策略的代码演进方式。
2023-12-29 09:45:27
652
原创 重构第十一章:处理概括关系
第十一章系统介绍了一系列处理概括关系的重构手法,旨在优化继承关系和其他类型的概括关系,提高代码的可维护性和可读性。在使用这些技巧时,要根据实际情况选择最适合你的方法,确保代码清晰易懂,确保代码的质量和可维护性。解决方法:将相似的属性和方法提取到一个超类中,让多个类都能继承这个超类。解决方法:将只有某个子类使用的方法移到该子类中,使得方法更加局部化。解决方法:将只有某个子类使用的字段移到该子类中,使得字段更加局部化。问题:子类的逻辑只是调用了父类的方法,没有实际的扩展。问题:父类中的方法只有某个子类使用。
2023-12-27 09:45:38
768
基于微信小程序的校园二手交易平台
2024-07-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人