摘要: 说明 循环依赖是一个大家讨论很多的话题,它更多是一个工程上的问题而不是技术问题,我们需要首先有一定的认知: 如同两个人相互帮忙,两个类之间你调用我的,我调用你的是很正常也很自然的需求模型。 单一依赖确实有好处,改动一个最顶层类时不需要在意对底部类的影响,但是从本来就自然的模型非要理顺的话就需要额外付 阅读全文
posted @ 2024-03-29 16:37 漫游云巅 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 基础 本机是win10 GraalVM for JDK 21 Community 21.0.2,用的社区版的最新版本,并配置其bin目录加入环境变量 Maven 3.9.6,用的最新版本 IDEA,本机版本2023.2.5 Visual Studio 2022 17.9.2,用的社区版最新版本,qu 阅读全文
posted @ 2024-03-09 17:02 漫游云巅 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 基本方案 将ruoyi-vue扩展为多租户,查看了下其生态中也有一些多租户的扩展,感觉都有些简单,不太完善,所以并没有采用。 多租户实现方式只用了最简单的表中添加字段标识tenant_id的方式来实现多租户,其他单独数据库、独立表等方式未涉及。 采用的mybatis-plus提供的多租户方案,也测试 阅读全文
posted @ 2023-11-28 10:24 漫游云巅 阅读(3189) 评论(8) 推荐(3) 编辑
摘要: 起因 一个序列号产生方法发现有并发问题。 修改这个方法中发生了一些错误,而这涉及到了一些的知识点,所以记录下。 涉及点 synchronized方法:如果此方法内包含数据库操作,且外围有事务时,并不能完全锁住。 数据库隔离级别 RC-不可重复读,也就是在同一个事务中,多次select同一条sql获取 阅读全文
posted @ 2023-02-23 09:47 漫游云巅 阅读(175) 评论(0) 推荐(0) 编辑
摘要: ### 目的 - 实现后台java的maven部署 - 实现前端npm的部署 ### 准备 - 两台服务器,我这边都是windows的: - 服务器A,用于安装jenkins等服务 - 服务器B,待部署机器 - [Jenkins](https://www.jenkins.io/download/), 阅读全文
posted @ 2022-06-29 11:08 漫游云巅 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 起因 原先一直有一个腾讯云的1核和1G的服务器在闲着,只是偶尔用下frp来映射开发演示,这次想再利用下,于是试下搭建bitwarden,转而找到更加小巧的vaultwarden,但实际浏览器插件测试必须是要https才行,所以必须要有域名及证书,顺便就想试下certbot来自动续签。 域名随便在阿里 阅读全文
posted @ 2021-12-29 21:42 漫游云巅 阅读(3614) 评论(0) 推荐(0) 编辑
摘要: 起因 spring boot默认是不会优雅关闭的,这样就导致在重启时会将正在运行的程序打断,导致故障发生。 当前解决方式 引入spring-boot-starter-actuator监控类库,它其中一个功能支持优雅关闭。 spring boot 2.3版本开始,自己集成了优雅关闭,无需再引入上方类库 阅读全文
posted @ 2021-11-09 13:10 漫游云巅 阅读(4786) 评论(1) 推荐(1) 编辑
摘要: 坑爹的起因 最开始是公司电脑可能被其它同事安装一些证书时弄的有点问题了,导致请求微信api、下载maven包等各种需要https的请求都会报PKIX path building failed相关错误,但这个不是一直报,多次请求后就不报了,过一会又报,可以参考原先的一些讨论https问题PKIX pa 阅读全文
posted @ 2021-01-30 10:42 漫游云巅 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 起因 想处理后端向前端发送消息的情况,然后就了解到了原生websocket和stomp协议方式来处理的几种方式,最终选择了stomp来,但很多参考资料都不全,导致费了很多时间,所以这里不说基础的内容了,只记录一些疑惑的点。 相关前缀和注解 在后台的websocket配置中,我们看到有/app、/qu 阅读全文
posted @ 2021-01-27 14:51 漫游云巅 阅读(9272) 评论(0) 推荐(4) 编辑
摘要: 起因 有接触若依,目前是前后端分离版本是用的spring-security,不分离版本是用的shiro,两个权限都有些想吐槽的地方 shiro 以RuoYi为例,当前是4.4.0版本,我们直接看realm的配置,在com.ruoyi.framework.shiro.realm中doGetAuthor 阅读全文
posted @ 2020-08-26 17:53 漫游云巅 阅读(18883) 评论(11) 推荐(3) 编辑
摘要: 说明 php在web编程时是不需要考虑多进程的,但整个php流程是涉及到多进程的,只不过nginx、php-fpm帮我们处理好了,我们配置他们参数时就需要设置进程个数相关参数 php在多进程涉及到的是PCNTL扩展和POSIX扩展,这两个扩展交叉涉及到进程和信号相关,他们只支持Unix平台,wind 阅读全文
posted @ 2020-07-19 09:31 漫游云巅 阅读(755) 评论(0) 推荐(1) 编辑
摘要: 说明 流,算是一种对不同事物,但有相同特性的抽象封装,可能这样说并不理解,但是我们早就使用过了,例如打开文件fopen等操作,其实就是用的流,fopen('abc.txt')实际上就是fopen('file://abc.txt'),或者是与app交互用到的php://input等获取post数据也是 阅读全文
posted @ 2020-07-19 09:27 漫游云巅 阅读(2053) 评论(0) 推荐(1) 编辑
摘要: 说明 我们都知道通过IP,端口等可以实现两台机器之间的数据互通,但具体要怎么操作,系统给我们提供了socket接口,通过调用socket函数就可以实现互通。 php的socket扩展和C本身的非常相似,如果找不到php相关的资料,可以对照着C的socket函数来学习,例如:C语言SOCKET编程指南 阅读全文
posted @ 2020-07-19 09:04 漫游云巅 阅读(1009) 评论(0) 推荐(1) 编辑
摘要: 说明 虽然我们普通的web编程中很少用到网络编程,但实际上我们一直都在用,例如nginx和php-fpm之间的通讯就是网络通讯,也会发现他们的一些配置参数,其实就是网络编程中一些函数的参数。 我们说是通讯,想当然的就是两台机器之间的通讯,但实际上同一台机器上同样可以通过回环来通讯交互,就像是ngin 阅读全文
posted @ 2020-07-19 09:02 漫游云巅 阅读(689) 评论(2) 推荐(1) 编辑
摘要: 起因 当用本地服务器作为frp的服务端时,需要在路由器上设置端口映射,将公网ip和本地ip映射起来,用于作为frps的公网,这一步很简单一般都会有可视化界面来实现,但实际测试时发现问题: 当非局域网内通过frp访问时,正常。 当本地服务器所在同一局域网内访问时,不通。 一开始还以为是frp有什么问题 阅读全文
posted @ 2019-11-15 17:18 漫游云巅 阅读(7135) 评论(0) 推荐(0) 编辑