- 博客(84)
- 收藏
- 关注
原创 Spring boot整合Redis实现发布订阅(超详细)
Redis发布订阅基础知识相关命令订阅者/等待接收消息发布者/发送消息订阅者/成功接收消息常用命令汇总原理Spring boot整合redis导入依赖Redis配置消息封装类(MessageDto)Redis配置类测试类订阅方实现一:RedisMessageListener订阅方实现二:PrintMessageReceiverMessageListenerAdapter源码分析基础知识Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收信息。微信,微博
2022-05-26 16:35:10 14760 12
原创 Python实现跨服务器数据库迁移
注意:本文是基于Pyhon3.6的实现方式以每100000一查询一提交进行,可根据实际情况修改程序中,如传输某表时发现目标数据库中存在此表,认为该数据表是完整存在的,可优化数据库连接时注意编码方式,本文为 charset=‘latin1’,可根据实际情况修改为utf8或其他方式如服务器中有多个数据库,通过修改cur_db和cur_local_db变量切换数据库本人使用后愚见,本程序迁移速度相比Navicat中的数据传输功能较慢一点,但Navicat中有时存在漏传(虽情况出现次数极少)程序代
2022-03-23 12:12:16 3114 1
原创 SpringBoot中添加拦截器,在拦截器中注入其他类的时候出现空指针异常解决办法
拦截器代码/** * * 记录用户轨迹 */@Componentpublic class AdminInterceptor implements HandlerInterceptor { @Autowired SysLogDao sysLogDao /** * 在整个请求结束之后被调用,也就是在DispatcherServlet 渲染了对应的视图之后执行(主要是用于进行资源清理工作) */ @Override public voi
2021-07-22 17:03:46 765 1
原创 SpringBoot使用@Autowired注入静态变量报空指针异常
问题:在编写发送邮件工具类MailUtil时,直接使用@Autowired静态注入JavaMailSender,运行时报空指针异常@Componentpublic class MailUtil { @Autowired private static JavaMailSender mailSender;} 原因分析:类变量(用static修饰)是属于类的,在spring容器中都是实例化对象,所以不能使用 @Autowired来注入静态变量解决方案:代码如下:@Com
2021-07-21 11:44:41 1765
原创 Spring Boot集成JavaMailSender发送电子邮件
Spring Boot集成电子邮件发送功能文章目录Spring Boot集成电子邮件发送功能一、项目配置1. 引入依赖2. 开启邮箱的SMTP协议3. 配置文件添加相关配置二、发送简单文本邮件三、发送附件邮件三、邮件功能工具类一、项目配置1. 引入依赖 <!--发送邮件依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId
2021-07-20 14:23:48 400
原创 服务器系统为Ubuntu18.04.3,反向代理搭建隧道并加到开机自启
场景目前有公网服务器A,内网服务器B,现在想通过反向代理的方式来访问内网服务器B。A:123.456.789.123 端口为35771、配置思路1.由于SSH在一段时间没有数据包之后会断开,所以最好直接使用autossh来配置反向代理。2.现在将B服务器的22端口绑定到公网服务器A的某一端口PA上,那么当我们请求公网的PA时,公网服务器就会把请求转发到内网服务器上端口22上2、反向代理(注意:以下操作都在内网服务器进行,且我是在root角色下进行)1.安装autossh,我的服务器上装的是
2021-01-15 15:57:37 1220
原创 群晖NAS本地Docker部署Vocechat结合内网穿透分享好友远程使用
本文主要介绍如何在本地群晖NAS搭建一个自己的聊天服务Vocechat,并结合内网穿透工具实现使用任意浏览器远程访问进行智能聊天交互。Vocechat是一套支持独立部署的个人云社交媒体聊天服务。它从Slack、Discord、RocketChat、Solid、Matrix等产品和规范中博采众长,适用于团队内部交流、个人聊天服务、网站客服、网站内嵌社区等场景。Vocechat 的定位是能轻易部署在私有云上的社交协作程序。
2024-09-22 19:36:15 925
原创 如何使用浏览器异地远程访问本地安装的Whisper Web无需公网IP
OpenAI开源的 Whisper 语音转文本模型效果都说还不错,今天就给大家推荐 GitHub 上一个开源项目 Whisper Web,允许你可直接在浏览器中运行使用 Whisper。基于 ML 进行语音识别,并可通过 WebGPU 进行运行加速,无需后端服务器,直接开箱即用。另外,识别到的文本支持导出 TXT 和 JSON 两种文件格式。
2024-09-12 20:55:49 816
原创 Windows系统Docker本地安装开发人员工具箱It-Tools与远程使用
本篇文章将介绍如何在Windows上使用Docker本地部署实用的个人工具箱IT- Tools,并同样可以结合cpolar内网穿透软件实现公网远程访问与使用。在前一篇文章中我们讲解了如何在Linux中使用Docker搭建个人IT-Tools工具箱并且结合cpolar内网穿透实现公网访问。作为程序员,在日常工作中,需要借助一些工具来提高我们工作效率,IT-Tools是为开发人员度身打造的一套便捷在线工具。它提供全面功能,使开发者能以更高效方式完成任务。
2024-09-09 23:54:36 976 1
原创 ESXi 7.0本地安装与配置并使用cpolar生成公网地址远程访问本地服务器
本文和大家分享如何安装与配置VMware ESXi 7.0,结合cpolar内网穿透工具配置公网地址,轻松实现远程访问和管理本地ESXi服务器的具体步骤和配置方法。在虚拟化技术日益成熟的今天,VMware ESXi以其卓越的性能和稳定性,成为了众多企业构建虚拟化环境的首选。然而,随着远程办公和跨地域管理的需求增加,如何高效地远程访问和管理部署在本地数据中心的ESXi服务器,成为了企业IT部门面临的重要挑战。
2024-08-22 20:48:32 740 1
原创 【Linux】本地部署AMH面板并实现无公网IP远程管理维护内网服务器
AMH 是一款基于 Linux 系统的服务器管理面板,它提供了一系列的功能,包括网站管理、FTP 管理、数据库管理、DNS 管理、SSL 证书管理等。使用 AMH 云主机面板可以方便地管理服务器,提高工作效率。AMH面板远程访问的好处在于,用户可以通过互联网远程登录到服务器主机面板,方便地管理和维护服务器。这样,用户就可以在任何地方、任何时间登录到主机面板,进行服务器的管理和维护,而不必亲自到服务器所在地。此外,AMH主机面板远程访问还可以提高工作效率,减少时间和成本的浪费.
2024-07-18 19:47:26 859
原创 快速部署企业级代码管理仓库GitLab并实现无公网IP远程访问详细教程
本文主要介绍如何在Linux CentOS8 中搭建GitLab私有仓库并且结合内网穿透工具实现在公网环境下也可以访问本地部署的私有仓库。GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。
2024-07-08 21:09:45 673
原创 如何在树莓派Raspberry Pi安装Apache并创建静态web站点实现远程访问
本文主要介绍如何在树莓派 Raspberry Pi中搭建一个简单的web网站并结合cpolar内网穿透工具实现将本地站点发布至公网,使用生成的公网链接轻松访问本地搭建的网站。
2024-07-04 19:44:51 430
原创 本地部署Terraria泰拉瑞亚私服并通过内网穿透生成公网地址远程联机
本文将为你详细介绍在本地如何运行泰拉瑞亚本地私服和结合Cpolar内网穿透工具,实现远程联机的方法和步骤。探索泰拉瑞亚的乐趣从未止步于本地游玩。在这个充满奇幻和探险的世界里,与朋友一同冒险、建造、战斗,一直是许多玩家心中的梦想。然而,对于那些分隔千里的好友或者想要与家人一同探索的玩家来说,这一梦想似乎总是与现实产生着遥不可及的距离。随着技术的发展和工具的普及,我们终于有了一个突破的机会。
2024-05-23 19:01:12 1128
原创 本地搭建Plik系统结合内网穿透实现无公网IP远程上传分享文件
上面在本地Docker中成功部署了Plik服务,并局域网访问成功,下面我们在Linux安装Cpolar内网穿透工具,通过cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤。使用上面的Cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到我们Plik界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可发布到公网进行远程访问!
2024-05-20 21:40:50 773
原创 使用Docker搭建免费在线图片编辑器Photopea与远程P图详细流程
Photopea 支持本地部署,好处在于部署在自己的设备上,可以通过本地浏览器进行访问,只需部署一次,其他设备只要打开浏览器通过局域网IP即可访问,而不需要重新安装,不好之处在于本地部署访问只能局限于在本地局域网内的设备电脑,访问有局限性,其他网络设备无法访问,那么如果要做到在任何设备网络也能访问呢,这里介绍一个内网穿透方案,结合内网穿透工具即可实现,无需云服务器,当本地部署Photopea 后,再结合内网穿透工具穿透相关的本地端口,然后通过生成的公网域名,即可实现远程异地访问.
2024-05-16 23:21:49 1449 1
原创 如何本地部署Apache Web服务并结合内网穿透实现远程连接
Apache作为全球使用较高的Web服务器软件,它可以在几乎所有常见的计算机平台上运行。由于其卓越的跨平台性和高级安全性,又兼具快速、可靠且易于通过简单的API扩展而闻名,被广泛应用于Web服务器领域。本文主要分享一下在Windows系统如何安装与配置Apache服务,并结合内网穿透工具实现公网远程访问本地内网的Apache服务。
2024-05-09 23:13:48 490
原创 【Redis数据库】异地公网远程登录连接Redis教程
Redis作为一款高速缓存的key value键值对的数据库,在许许多多的场景中广泛使用,由于是把数据存储在内存中,所以读写效率极高。下面介绍如何在内网虚拟机的linux中搭建redis并通过cpolar内网穿透实现公网访问。
2023-04-14 16:40:54 902 2
原创 mysql报错1093 You can‘t specify target table ‘stu‘ for update in FROM clause
将select出的结果集,通过中间表select一次。场景:删除重复行,保留id值最小的记录。
2023-02-21 11:05:32 334
原创 如何在MySQL数据表中删除重复行
3. 删除重复行(重复记录只保留id最小值)场景:名字和年龄都重复的数据,只保留一条记录。3. 删除重复行(重复记录只保留id最小值)场景:名字重复的数据,只保留一条记录。2. 查询name重复行,id最小值。2. 查询name重复行,id最小值。
2023-02-21 10:58:55 4026 2
原创 Ubuntu 18.04使用crontab自定义定时任务
如果在定时重启某些服务时,需要root权限执行,比如:mysql服务,可使用visudo编辑sudoers文件,该文件定义了具有管理员权限的用户和组。cron是一个Linux定时执行工具,可以在无人工干预的情况下运行脚本或命令。实例5:每天10:00~15:00每隔30分钟执行脚步test.sh。实例3:每天18:30分钟执行脚步test.sh。实例4:每天18:30分钟以root身份执行。实例2:每10分钟执行脚步test.sh。实例1:每10分钟执行ls命令。
2023-01-12 16:54:45 1556
原创 SpringBoot简单优雅实现图片上传功能(超详细)
最近有一个需求需要实现图片上传,因此,本人找到了一个可以快速实现该功能的插件mini-upload-form。在此记录分享一下使用过程。mini-upload-form的Github跳转将程序从github拉下后,前端页面index.html可简单修改后直接使用,我们的精力主要放在后端实现。MultipartFile是SpringMVC提供简化上传操作的工具类。
2022-12-11 20:02:57 11165 5
原创 Model,ModelMap和ModelAndView的简单使用说明
在许多实际项目需求中,后台要从控制层直接返回前端所需的数据,这时Model大家族就派上用场了。有其三任意一个,说明返回请求走了视图解析器。
2022-12-01 22:33:11 801
原创 Redis缓存穿透和雪崩相关概念(面试高频,工作常用)
服务的高可用Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面,但同时,它也带来了一些问题,其中,最重要的问题,就是数据的一致性问题。从严格意义上讲,这个无解。如果对数据的一致性要求很高,那么就不能使用缓存。另外的一些典型问题,缓存穿透,缓存雪崩和缓存击穿。目前,业界也都有比较流行的解决方案。
2022-12-01 22:22:03 157
原创 将div铺满body三种方式
css权威指南》指出,如果没有显示声明包含块的height,百分数高度会重置为auto,所以上面div1height设置为任何值都跟设置没设置一样。想要令body里一个块元素(div)占全屏,相信很多人(包括我)都会直接把body设置宽高100%,但实际却是,行不通。因为body跟div一样是块元素,直接赋值给块元素height:100%,相当于就是默认值的独占一行。所以这里写body{ width:100%;},其实是毫无作用的。优点:①简洁,②缩小浏览器,拉动滚动条也还是满屏背景。
2022-11-30 17:57:01 3345 1
原创 如何清除浮动的四种方法
可以给父级div中添加overflow属性,将其属性值设置为hidden,auto或scroll。闭合浮动,只让浮动在父盒子内部影响,不影响父盒子外部的其他盒子。:after方式是额外标签法的升级版,也是给父元素添加。清除浮动元素脱离标准流造成的影响。父级添加overflow属性。父级添加after伪元素。
2022-11-29 14:33:35 440
原创 CSS布局的三种方式
绝对定位: 属性:position 值:absolute说明:设置了绝对定位的元素,相当于该元素被从原文档中删除了,所以“正常文字4”会紧接着出现。如果没有定位的div容器,默认是body通过绝对定位可以把一个元素放在另一个元素上,这样位置就会重复,会存在一个谁掩盖谁的问题z-index属性, 当z-index的值越大,就表示放上面,z-index:越小就表示放下面。
2022-11-29 14:11:21 741
原创 MybatisPlus中设置自动填充时间@TableField注解的使用
在上面程序中,通过对startTime字段添加注解@TableField(fill = FieldFill.INSERT),可以实现在进行插入(insert)操作时对该字段进行自动填充;通过对updateTime字段添加注解 @TableField(fill = FieldFill.INSERT_UPDATE),可以实现在进行插入(insert)和更新(update)操作时对该字段进行自动填充;
2022-11-24 10:12:05 1269
原创 Java 8中stream流处理(入门教程)
JDK 1.8 新增。将要处理的元素集合看作一种流,在管道的节点上进行处理。使代码更简洁易读。集合接口有两个方法来生成流,数据类型将由 Collection 转化为 Stream 。
2022-11-14 20:48:24 1018
原创 Dockerfile使用介绍(入门教程)
Dockerfile 是一个文本文件,其内包含了一条条的指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。有了 Dockerfile,当我们需要定制自己额外的需求时,只需在 Dockerfile 上添加或者修改指令,重新生成 image 即可。Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量等)。若把每一层修改、安装、构建、操作的命令都写入一个脚本,用该脚本来构建镜像。
2022-10-22 00:25:55 1187
原创 使用docker安装mysql数据库(超简单)
考虑到后期的维护以及数据存储的持久化,我们一般做数据卷挂载,将配置文件目录。到这里,mysql安装就结束了。做容器的继承,以实现数据同步备份。挂载到宿主机相应自定义文件夹。注意设置root账号密码。
2022-10-21 23:00:16 675
原创 Docker的常用命令
docker run [可选参数] image 新建容器并启动。本文是在ubuntu中下载一个centos测试。docker pull 镜像名[:tag]说明:有了镜像才可以创建容器。从容器中拷贝文件到主机上。获取容器/镜像的元数据。进入当前正在运行的容器。测试 启动并进入容器。列出所有的运行的容器。
2022-10-21 11:01:48 476
原创 Ubuntu18安装docker详细教程
编辑文件:vim /etc/docker/daemon.json。安装完成后,测试docker是否安成功。使daemon.json生效。查看docker镜像源。重启docker服务。如果要删除镜像和容器。
2022-10-17 17:05:15 5065 1
原创 Mybatis中${}和#{}的区别
如果在sql语句中动态指定表名或列名时,只能使用${}MyBatis排序时order by 动态参数时,只能使用${}MyBatis能使用#{}的时候尽量使用#{}#{}不需要关注数据类型,mybatis实现自动数据类型转换;${}不做数据类型转换,需要自行判断数据类型;
2022-09-28 16:14:18 500
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人