- 博客(35)
- 收藏
- 关注
原创 随记 minio的图片跨域问题
文章摘要:开发时使用IP访问无问题,上线后因IP与域名不同源出现跨域问题。尝试通过nginx代理但误指向前端静态资源。解决方案是单独为图片访问地址配置子域名:先绑定IP,申请SSL证书(支持动态域名),然后正确配置nginx代理规则。最终可通过配置好的专属域名访问图片资源,有效解决跨域问题。整个处理过程涉及域名绑定、SSL配置和nginx代理设置三个关键步骤。(148字)
2025-06-11 14:48:20
65
原创 随记 使用certbot申请ssl证书
CentOS系统使用Certbot申请Let's Encrypt证书的两种方法:1) 常规Nginx模式:通过yum安装certbot后执行certbot --nginx自动完成证书申请和配置;2) 宝塔面板专用模式:若自动配置失败,改用webroot方式,需先创建验证文件并配置Nginx验证路径,完成验证后再手动添加SSL配置。两种方法都支持自动续期,适合不同Nginx环境下的HTTPS证书部署需求。
2025-06-11 14:32:51
65
原创 随记 nacos + openfegin 的远程调用找不到服务
摘要:两台不同云服务商的服务器分别部署了服务模块B和A,B通过nacos发现A服务名称但连接失败。检查发现A注册的是内网IP,改为公网IP仍无效,最终确认是端口未开放。解决后问题消除,但认为不同云服务商间服务调用可能需要更合理的方案,而非单纯开放端口,未来需进一步探讨网关的作用和配置。
2025-06-02 11:39:49
109
原创 随记 配置服务器的ssl整个过程
本文总结了在服务器上获取SSL证书的实践过程。作者尝试了Certbot、snap安装等多种方式,均因服务器环境限制失败。最终通过离线下载acme.sh工具,使用ZeroSSL服务(需注册账号获取EAB凭证)成功生成证书,采用standalone模式完成验证。虽然解决了证书获取问题,但当前方案缺少自动续期功能。整个流程涉及工具安装、服务配置、Nginx操作等环节,反映了在特定服务器环境下部署HTTPS的实际挑战和替代方案选择。
2025-05-30 15:45:28
1460
原创 随记 域名icp备案
这个icp备案,一般都是在购买域名的地方可以直接icp备案,我用的是京东云的域名,我感觉服务器来说,阿里和腾讯的感觉服务器要好一点,但是贵一点,再到公安备案的时候就是阿里的在第一个,感觉方便一点,所以具体买什么看自己了。
2025-05-23 20:51:02
173
原创 随记 springboot的配置文件
使用spring.profiles.active配置项可以灵活选择不同环境的配置文件(如application-{}.yml),通过在bootstrap.yml中设置该参数,简化了本地启动时的配置修改。这样做的主要原因是服务器环境通常使用加密配置和IP限制,而本地开发环境的公网IP可能频繁变化,导致每次启动时需频繁修改配置。此外,虽然可以使用Nacos进行配置管理,但需确保Nacos服务稳定,否则可能导致启动失败。因此,保留项目内的配置文件作为备用方案,确保在Nacos不可用时仍能正常启动。
2025-05-21 14:31:09
209
原创 随记:spring容器和servlet容器的关系 以及 拦截器和过滤器
处理后,给到spirng容器的dispatcherServlet这个前端处理器,然后dispatcherServlet去找到handlerMapping (处理器映射器)找到对应 比如/user/login 所对应的方法就是 加了那些注解的。过滤器过滤的所有请求,只要是你要的图片啊,各种的,但是拦截器,他是在spring容器里是已经是对方法的请求了。这个是大概我每次都不能理解的原因,不知道他拦截的是哪里的,只知道 过滤器比拦截器 更加广,这篇文章,只是个人理解,记录想法的,不一定对,仅供参考。
2024-12-13 12:42:50
272
原创 ubuntu 安装 docker
默认情况下,只有root用户和docker组的用户才能运行Docker命令。我们可以将当前用户添加到docker组,以避免每次使用Docker时都需要使用sudo。2024年最全最详细的ubuntu 安装 docker教程_unbantu 安装docker(1),面试学习_ubuntu安装docker-CSDN博客。这里面的格式一定要对,不让就跑不起来,我的这里好像只有一个能用,但是不想麻烦就没去一个一个试了,我一般都直接全粘。把daemon.json配置写好了再重新加载配置,重启docker 再运行。
2024-11-14 17:09:24
1161
1
原创 随记:MybatisPuls中的抽象类Model和BaseMapper、自定义MetaObjectHandler实现类
和Model类自动填充功能的相似点目的相同这个类和Model类的自动填充功能都是为了在数据库操作过程中自动设置某些字段的值。例如,在插入或更新操作时自动填充创建时间、更新时间等字段,以保证数据的完整性和一致性。它们都在一定程度上减少了手动设置这些字段的工作量,并且遵循相同的业务逻辑需求,即确保这些公共字段在合适的时候被正确赋值。和Model类自动填充功能的不同点实现方式不同Model类自动填充(基于框架内部机制):当实体类继承Model类后,框架会根据实体类上的注解(如)来自动识别需要填充的字段。
2024-10-29 21:11:53
1918
原创 随记:有关idea中jdk版本
就是 有关maven项目的 pom文件一开始我的第一地方用的是 17 但是这里用的是8但是运行的时候还是 17这里可能是 maven的 项目这个地方只是对打包用的jdk8吧。
2024-10-21 15:49:04
2766
原创 随记 前端框架React的初步认识
ant design proComponents 也是一个组件库,是一个高级组件库,就是把一些ant design的基本组件集合在一起,这样可以减少我们写的代码,但是封装的越多的话,灵活度肯定没有自己用组件库写的高。向更加上一层的框架,umi框架就是像React再封装一层,让使用React更加简单,就是那个意思。React框架和Vue框架,用自己的话来说的话,就是对js进行了一层封装,使使用js更加的方便。ant design 是一个组件库,就是把这些框架的里的东西封装成一个组件,可以直接拿来用。
2024-10-05 18:33:07
650
原创 基于类或函数组合的装饰器的原理和实现是怎么样的
时,会先执行装饰器中的前置逻辑,然后调用被装饰对象的。方法,最后执行装饰器中的后置逻辑。类是装饰器,它包装了。
2024-09-30 15:41:23
414
原创 记录 有关装饰器
1.spring框架中的自动注入是装饰器的一种功能实现,通过对注解的识别来实现对对象的注入。2.spring 的 aop 和装饰器的区别是 aop是通过动态代理来实现增强,装饰器是通过手动写来增强功能。3.装饰器的实现,可以直接反射,也可以在spring 框架注入的时候可以使用代理实现。
2024-09-30 15:27:29
1108
原创 记录 volatlie的两个实现可见性的 机制
volatilevolatilevolatilevolatile总之,volatile关键字通过内存屏障和禁止指令重排序来实现变量的可见性,确保在多线程环境下对volatile变量的读写操作能够被其他线程正确地观察到。但需要注意的是,volatile只能保证可见性和禁止指令重排序,不能保证原子性,对于需要原子性操作的场景,还需要使用锁或原子类等机制。
2024-09-23 14:46:37
403
原创 记录 粗略阅读mybatis框架中binding包中的几个类
总体来说,在 MyBatis 中,这些类相互协作,实现了 Mapper 接口与数据库操作的绑定。负责管理 Mapper 接口的注册和与代理对象工厂的关系。提供 SQL 语句的相关信息,共同完成数据库操作的执行。在方法调用时,将方法调用转发给。在处理方法调用时依赖。
2024-09-19 19:24:45
304
原创 记录 有关拦截器的动态代理对象
在 Java 中,拦截器的实现通常是在的invoke方法中相应的位置插入逻辑。一般来说,不是直接调用被拦截的方法,而是在invoke方法中进行一些预处理判断后再决定是否调用目标方法,并在调用前后执行额外的逻辑。就是实现了InvocationHandler这个接口,就可以动态代理了。Proxy类通常使用方法来创建代理对象,这个方法需要传入目标对象的类加载器、目标对象实现的接口数组以及一个实现对象。但是拦截器不同,是通过plugin这个wrap方法来实现的代理。
2024-09-16 20:49:38
851
原创 记录 有关java中的拦截器
为什么在写东西的时候要写一个接口去,再写实现类,因为有了一个接口之后,jdk或者其他的动态代理,可以创建一个代理对象,那么在spring框架中aop,就可以在调用方法的时候进行拦截,处理逻辑。这个接口不是拦截器的接口,是实现类的接口。有了这个接口就可以拦截了。这些配置类,拦截器类,这些都是有关拦截器本身的东西。为什么可以在调用方法前后,就是实现了一个接口,让jdk可以为这个类代理了,来实现这个逻辑。
2024-09-16 19:25:26
1123
原创 记录 DDD中服务间调用的写法
ddd架构,负责与用户进行交互,接收用户的输入并将系统的响应展示给用户。这一层通常包括 Web 界面、移动应用界面等应用层:协调多个领域服务的执行,处理业务用例。应用层还负责处理事务、安全等横切关注点。领域层:把核心业务写在邻域层,业务领域的核心概念、规则和逻辑。基础设施层主要是对其他层次提供技术支持,如数据库访问、消息队列、缓存等。基础设施层中的代码通常是通用的技术实现,不包含任何业务逻辑。领域层好像还有个聚合根。
2024-09-12 22:15:07
868
原创 记录 有关MybatisPlusInterceptor里的addInnerInterceptor()方法和@Intercepts 都是怎么注入进去的
的addInnerInterceptor()方法添加了多个内部拦截器(实现了接口)是一个拦截器用了@Intercepts注解 的是相当于是一个拦截器, MybatisPlusInterceptor也是实现了Interceptor类的管理类而已。
2024-09-09 19:49:39
839
原创 记录 有关mybatis拦截器
实现了InnerInterceptor类的类 可以用MybatisPlusInterceptor里的addInnerInterceptor()方法来把这个拦截器放进去,也可以自己写一个手动放进去。但是实现了Interceptor类的类不能用addInnerInterceptor()方法,用@Intercepts来自己写,实现一些拦截需求。
2024-09-09 19:14:34
1152
1
原创 记录 在注册Bean之前 做一些处理的两种方式
都可以在初始化阶段执行一些操作,但它们在实现方式和可移植性等方面存在差异。在实际应用中,可以根据具体情况选择合适的方式来实现 bean 的初始化逻辑。注解是 Java EE 中的一个注解,用于标注一个方法,该方法应该在 bean 的构造函数执行之后以及属性被设置之后被调用。注解在某些方面有相似之处,都是在对象初始化阶段执行特定的逻辑,但它们也存在一些不同。这个方法可以让你在 bean 的属性被设置之后执行一些自定义的初始化操作。接口,Spring 容器在初始化这个 bean 之后会调用该接口的。
2024-09-08 17:41:14
196
原创 spirng aop 框架的理解心得,通过ai,记录一下
Spring AOP通过代理模式实现,但它并不是将整个切面嵌入到代理对象中。相反,它在运行时动态地将增强逻辑应用到目标对象的方法调用上。这个过程是由Spring容器管理的,开发者只需要定义切面和通知,Spring AOP框架负责在适当的时机执行这些通知。这种设计使得Spring AOP非常灵活和强大,能够轻松实现各种横切关注点的逻辑。代理对象不是切面,而是目标对象的一个代理,它的作用是拦截对目标对象方法的调用并执行增强逻辑。切面定义了这些增强逻辑(通知)和应用增强的时机(切点)。
2024-09-03 17:00:56
712
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人