自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(106)
  • 收藏
  • 关注

原创 SpringBoot返回文件让前端下载的几种方式

一定要搞清楚和的区别,如果搞不清楚的,可以和字符流进行映射,,换成这样你就知道读取内容需要使用Reader,写入需要使用Writer了。返回给前端的是输出流,不需要你显示的去返回(),这样会报错。

2026-05-03 21:43:19 62

原创 Spring Boot应用关闭分析

本文挖掘了Spring Boot的关闭方式,并列举了关闭方式,从原理、源码的角度阐述了Spring Boot的关闭代码及扩展点。同时,额外说明了一些系统特性 和原理,比如,程序退出码和信号机制。

2026-05-03 20:09:43 301

原创 PLSQL执行.sql文件

原文链接:https://blog.csdn.net/iamlzyoco/article/details/136322981。版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。2.打开plsql选择命令窗口,即选择File->New->Command Window;注意:一定记得最后一步,提交后,才能查询到更新后的数据。中选择需要执行的.sql文件,最后点击打开。3.输入@然后按回车键,在弹出来的文件。

2026-05-03 18:38:22 40

原创 MySQL加减间隔时间函数DATE_ADD和DATE_SUB的详解

mysql中内置函数date_add 和 date_sub能对指定的时间进行增加或减少一个指定的时间间隔,返回的是一个日期。

2026-05-03 17:07:30 237

原创 Java集合进阶

产生原因:迭代器遍历的过程,通过集合对象修改了集合中元素的长度,造成了迭代器获取元素中判断预期修改值和实际修改值不一致。元素有序,具体排序方法取决于构造方法(重写CompareTo接口/参数内重写Compare方法)并发修改异常 ConcurrentModificationException。解决方案:用for循环遍历,然后用集合对象做对应的操作即可。ArrayList(数组),LinkedList(链表)底层数据结构是哈希表,不包含重复元素。哈希表和链表实现set接口。迭代器 iterator。

2026-05-03 15:35:35 170

原创 docker compose安装redis

在上一步创建的redis配置文件目录(/data/redis6.2.14/conf)下,创建redis.conf配置文件,启动时,会将这个配置文件挂载到容器中。下载到本地,打开压缩包,将如下的配置文件拷贝到出来,放到部署服务器创建的配置文件目录里面。连接测试有两种方式,第一种:直接用外部的工具进行连接。第二种,进入容器内部,通过redis自带的客户端进行连接。进入docker内部,通过redis自带的redis-cli工具进行验证。执行完以上,两个命令,即可通过ll查看目录,已经存在。redis启动成功。

2026-05-02 14:07:24 380

原创 SpringMVC的工作流程

在上述过程中,DispatcherServlet、HandlerMapping、HandlerAdapter和ViewResolver对象的工作是在框架内部执行的,开发人员只需要配置DispatcherServlet,完成Controller中的业务处理并在View中展示相应信息。DispatcherServlet是前端控制器,是整个流程控制的中心。(5) HandlerAdapter会调用并执行Handler(处理器),这里的处理器指的就是程序中编写的Controller类,也被称之为后端控制器。

2026-04-21 10:08:25 158

原创 Spring Boot项目集成Redisson 原始依赖与 Spring Boot Starter 的流程

Redisson提供了两种集成 Redis 的方式:原始依赖和 Spring Boot Starter。原始依赖适用于需要完全自定义配置的场景,而使得集成过程变得更加简单,特别适合 Spring Boot 项目。根据具体项目的需求和开发环境选择合适的方式,能够更好地帮助你完成项目的 Redis 集成,实现更强大的分布式能力。

2026-04-21 07:46:37 292

原创 oracle 加字段和字段注释 sql

在 Oracle 数据库中,你可以使用语句来添加字段,并使用语句来添加字段注释。以下是一个示例:假设你有一个名为employees的表,你想要添加一个名为email的字段,并为其添加注释。

2026-04-21 05:29:59 194

原创 mysql-connector-java 和 mysql-connector-j的区别

通过遵循上述步骤,你可以顺利完成 MySQL Connector/J 的依赖配置迁移,确保你的项目使用最新版本的驱动程序,并享受其带来的改进和安全性提升。然而,随着最新版本的发布,MySQL Connector/J 的 Maven 坐标已经发生了变化。:在开发和测试环境中充分验证更新后的依赖,确保所有功能正常工作,没有引入新的问题。更加直观地表明了这个驱动程序的来源是 MySQL 官方,并避免了命名上的歧义。:将现有的旧版本依赖更新为新的版本依赖。如果你的项目使用的是旧版本的。,建议尽快迁移到新的。

2026-04-21 03:12:45 397

原创 GO和kEGG富集分析

GO(Gene Ontology,基因本体)富集和 KEGG(Kyoto Encyclopedia of Genes and Genomes,京都基因与基因组百科全书)富集分析能够从不同角度揭示基因的功能和生物学意义图片很多,这里就不再一一展示了,有兴趣的朋友可以自己常以跑一下,了解一下它们之间的区别,需要数据的话私我领取!!!

2026-04-21 00:56:04 246

原创 TypeScript 与后端开发Node.js

以 Express 框架为例,在 TypeScript 中定义路由时,可以先创建一个路由模块,然后明确路由处理函数的类型。// 定义一个获取用户信息的路由// 这里可以假设从数据库等地方获取用户信息并返回,暂时模拟返回一个固定信息});首先导入了 express 框架以及 express 中的 Request 和 Response 类型定义,它们分别用于描述 HTTP 请求和响应的相关结构和属性类型。

2026-04-19 19:09:53 185

原创 springboot之集成Elasticsearch

网上 springboot 集成 Elasticsearch 的文章很多,但随着 springboot 和 Elasticsearch 版本的不断升级,绝大多数文章使用的集成方式和调用的方法已经过时,几乎找不到能真正适用最新 springboot 版本和最新 Elasticsearch 版本的文章。本文正是基于最新 springboot 版本和最新 Elasticsearch 版本实现了集成。

2026-04-19 16:20:21 187

原创 SocketTool、串口调试助手、MQTT中间件基础

在 UDP Server 收到过 UDP Client 的数据后,其对方 IP 地址和 UDP 端口均可确定 下来,然后 UDP Server 也可以向 UDP Client 发送数据了。在串口工具COM2发送数据,COM1能收到,COM1发送的在工具里也能接收到。在 TCP Client 端的 Socket 即可收到数据12345。1)分别创建 UDP Server 和 UDP Client。然后打开串口调试工具,调整串口设置后打开串口COM2。2)先由 UDP Client 发送数据。

2026-04-19 13:40:28 247

原创 Nginx auth_request详解

return 401;这个server块模拟了一个简单的认证服务,它监听127.0.0.1:8080,根据请求头Authorization判断用户是否经过认证。在实际应用中,这个应该是一个调用外部服务的代理配置。

2026-04-19 10:53:43 231

原创 Mac安装Redis步骤

bind绑定的是自己机器网卡的ip,如果有多块网卡可以配多个ip,代表允许客户端通过机器#的哪些网卡ip去访问,内网一般可以不配置bind,注释掉即可。//aof文件至少要达到64M才会自动重写,文件太小恢复速度本来就很快,重写的意义不大。#每次有新命令追加到 AOF 文件时就执行一次fsync,非常慢,也非常安全。下载后的压缩文件可以在文件夹中手动的解压和移动,也可以通过终端命令解压和移动。在自己的redis目录下建立bin,etc,db三个目录。解压缩后的文件移动到自己的文件夹。

2026-04-19 02:23:04 182

原创 问题:Flask应用中的用户会话(Session)管理失效

这个解决方案能够有效地处理大多数会话管理的问题,并提供了基本的安全保护。app.permanent_session_lifetime = timedelta(days=7) # 设置会话有效期为7天。pp.secret_key = ‘your-super-secret-key’ # 在生产环境中应使用复杂的随机密钥。当用户登录后,有时会话会意外失效,导致用户需要重复登录。session.pop(‘user_id’, None) # 安全地移除会话。在生产环境中使用更安全的会话存储方式,比如Redis。

2026-04-18 08:16:15 166

原创 在linux(Centos)中Mysql的端口修改保姆级教程

* 这篇文章已经尽可能的详细,希望可以帮助到大家,如果有什么不懂的地方,欢迎在评论区留言,我会及时回复大家**

2026-04-18 05:53:20 200

原创 【python】pyspark.errors.exceptions.base.PySparkRuntimeError [JAVA_GATEWAY_EXITED] Java gateway proce

综上所述,安装Java8,再安装合适版本的spark,spark版本和pyspark版本一致更不会出错,配置好JAVA_HOME,SPARK_HOME,PYSPARK_PYTHON。只要环境配置好和版本正确的话就没问题了。

2026-04-18 03:28:44 217

原创 SQL Server2019下载及安装教程

SQLServer2019及SSMS管理工具下载链接:

2026-04-18 01:06:28 437

原创 springboot项目读取 resources 目录下的文件的9种方式

案例: 模拟springboot 装配bean。

2026-04-18 00:04:54 363

原创 SpringBoot中自定义Starter

1. 前置知识1-1 什么是Starter?1-2 常用的Condition注解说明1-3 Starter的命名规范2. 自定义自己的Starter示例2-1 创建Starter项目2-2 Pom.Xml【示例引入了spring-boot-starter和lombok】2-3-1 配置类:PersonProperties2-3-2 业务类:PersonService2-3-3 自动配置类:PersonAutoConfiguration2-4 创建spring.factories文件。

2026-04-17 23:33:07 365

原创 Spring Boot 3.x 系列【3】Spring Initializr快速创建Spring Boot项目

本篇主要介绍使用快速创建一个项目以及工程结构说明。

2026-04-04 05:20:13 361

原创 MySQL如何执行.sql 文件:详细教学指南

以上内容详细介绍了如何在不同环境下执行MySQL的.sql文件。无论你使用命令行客户端、图形化工具,还是批处理命令/Shell脚本,都可以轻松完成SQL脚本的执行。在实际操作中,根据具体需求选择适合自己的方法即可。希望这篇文章能帮助你顺利完成MySQL.sql文件的执行任务。

2026-04-04 02:20:38 264

原创 SpringBoot 新特性

新增了一个自动配置注解 @AutoConfiguration,用来代替之前的 @Configuration,用于标识新自动配置注册文件中的顶级自动配置类,由 @AutoConfiguration 注解嵌套、导入进来的其他配置类可以继续使用 @Configuration 注解。Spring Boot 3.0 的发布,其最低要求 Java 17,并向上兼容支持 Java 19,Spring Boot 3.1 可以支持 Java 20 了,因为前段时间 Java 20 发布了。

2026-04-02 07:21:27 376

原创 Nodemailer使用教程:在Node.js中发送电子邮件

Nodemailer是Node.js平台上最流行的电子邮件发送库,它提供了一个简单而强大的解决方案,支持Unicode内容、HTML内容、附件、图片嵌入等功能。SMTP(Simple Mail Transfer Protocol,简单邮件传输协议) 是一个在互联网上发送电子邮件的标准协议。

2026-04-02 04:05:18 360

原创 MacOS升级ruby版本

但是如果我们使用“ruby -v”查看版本,发现使用的还是MacOS自带ruby版本是2.x。homebrew安装的ruby版本号可以通过“brew info ruby”命令参看。MacOS自带ruby版本是2.x,可以通过“ruby -v”查看版本号。如果没有安装,可以“brew install ruby”进行安装。或者通过“brew install ruby”进行升级。再次使用“ruby -v”查看一下版本。

2026-04-02 00:47:52 23

原创 Golang 构建学习

Web开发虽然可以用多种不同的语言实现,但是基本的理论是一致的,比如鉴权,路由,数据库抽象,参数校验,mvc分层等等。第三个括号是输出参数的声明,注意这个没有向上面例子中提前声明返回值变量,需要在函数体中。函数如果是在模块内部,也就是同一个package目录下,则不同导入,直接调用就行。与以上雷同,区别在于返回值,如果两个相同类型的返回值,则可以采用省略的写法。引用传递: 函数中使用的是指向值的指针地址,通过函数修改传递的数据。值传递:函数中使用的是被复制的值,不影响外部数据。第二个括号是输入参数的声明。

2026-04-01 22:59:53 278

原创 防火墙安全策略(基本配置)

凡是由设备构造并主动发出的报文均可认为是从Local区域中发出,凡是需要设备响应并处理(而不仅是检测或直接转发)的报文均可认为是由local区域接收。此时,即使配置了接口所在安全域允许访问local区域的安全策略,也不能通过该接口访问本地防火墙。缺省安全策略位于策略列表的最底部,优先级最低,所有匹配条件均为any,动作默认为禁止。所以服务器回包时候,会直接查询会话表,实现通信,所以防火墙只需要放行一边就行,流量能出去能建立会话,流量就可以按照会话回来。id表示安全区域ID,取值4~99,默认递增。

2026-04-01 20:53:04 404

原创 揭秘MySQL:探索那些鲜为人知的数据类型宝藏

当我们的表的编码是utf8时,varchar(n)的参数n最大值是65532/3=21844[因为utf中,一个字符占 用3个字节],如果编码是gbk,varchar(n)的参数n最大是65532/2=32766(因为gbk中,一个字符占用2字节)。而且出于效率考虑,这些值实际存储的是“数字”,因为这些选项的每个选项值依次对应如下数字:1,2,3,…问题: 当我们的float(4,2)如果是一个有符号的,则表示范围是-99.99 ~ 99.99,如果float(6,3),请同学们说说范围是多少?

2026-04-01 19:34:16 312

原创 分布式WEB应用中会话管理的变迁之路

利用负载均衡器的分发能力,将同一浏览器上同一用户的请求,都定向发送到固定服务器上,让这个服务器处理诠用户的所有请求,这样只要这个服务器上保存了用户Session,就能保讷用户的状态一致性。,是把原来的单体架构应用,通过分而治之的手段,按照业务功能,切分成一些小的模块应用,部署在不同服务器节点上,例如上图中的服务器A和B。在这样的单体架构中,由于所有的用户请求都是由这个唯一的服务器进行响应处理,所以只要把保存了用户信息和状态的Session对象,存放在应用服务器内存里,就能轻松地达到保持用户状态的目的。

2026-04-01 05:30:40 377

原创 Windows上安装Go并配置环境变量(图文步骤)

GOPATH和GOROOT的配置略有不同,我建议配置两个GOPATH目录,第一个用于放 Go 语言的第三方包,第二个用于放自己的开发代码。点击系统变量下的新建,在变量名一栏输入GOPATH,在变量值一栏输入任意两个目录,中间用英文分号隔开。点击系统变量下的新建,在变量名一栏输入 GOROOT ,在变量值一栏输入 你解压文件所在的目录D:路径go。然后将新建的GOROOT配置到 Path 这个环境变量中去,在系统变量中找到 Path,点击编辑->新建,输入%GOROOT%in,点击确定。

2026-04-01 02:25:56 257

原创 SpringBoot Test详解

spring-boot-test项目:包含核心功能spring-boot-test-autoconfigure项目:支持自动配置通常情况下,我们通过spring-boot-starter-test的Starter来引入SpringBoot的核心支持项目以及单元测试项目以及单元测试库。JUnit:一个Java语言的单元测试框架:为SpringBoot应用提供集成测试和工具支持:支持流式断言的Java测试框架Hamcrest:一个匹配器库Mockito:一个Java Mock框架。

2026-03-31 05:44:48 262

原创 Nginx(搭建高可用集群)

注意:这里由于tomcat1在主Nginx上,一旦主Nginx崩溃,则这个tomcat就不可用,所以才需要在从Nginx也搭建一份,如果部署在独立主机上就不需要,就像这个tomcat2。

2026-03-31 02:31:43 241

原创 Modbus报文详解

Modbus RTU(Remote Terminal Unit)是一种在串行通讯中广泛使用的协议,主要应用于工业领域的设备之间。这个协议是基于主/从(或客户端/服务器)架构,允许主机(通常称为Master)与多个从机(通常称为Slave)进行通信。在Modbus RTU协议中,数据通过二进制形式传输,使得通信更加高效。Modbus TCP 是基于Modbus RTU协议的扩展,它是一种在以太网上使用的通讯协议。

2026-03-30 11:43:30 296

原创 Java进阶10 IO流

FileReader字符输入流读取纯文本文件时,解决中文乱码问题,就是因为其底层还是有字节数组,如果读取到负数表示的字节数,系统就知道遇到了中文,会一次性拿出三个进行解码。2000年3月17日发布,收录21003个汉字,包含国家标准GB13000-1中的全部中日韩汉字,和BIG5编码中的所有汉字,**注意事项:**关联的文件不存在会抛出FileNotFoundException异常,文件夹的话会拒绝访问。正真和文件建立关联的,还是普通的流对象。将读取到字节,放到传入的数组,返回读取到的有效字节个数。

2026-03-30 10:56:35 315

原创 Flask框架中SQLAlchemy的使用方法

config.py。

2026-03-30 10:09:51 466

原创 Python高级之操作Mysql

PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2 中则使用 mysqldb。PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。PyMySQL 下载地址:https://github.com/PyMySQL/PyMySQL。使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装。执行以上代码,如果没有产生错误,表明安装成功。来连接使用 MySQL,本章节为大家介绍使用。

2026-03-30 06:25:15 34

原创 MySQL Workbench 超详细安装教程(一步一图解,保姆级安装)

MySQL Workbench 是一款强大的数据库设计和管理工具,它提供了图形化界面,使得数据库的设计、管理、查询等操作变得更加直观和便捷。本文将详细介绍如何在 Windows 系统上安装 MySQL Workbench。相信读者看这篇文章前一定安装了MySQL数据库吧,还没安装的话,请先去安装一下MySQL哦!

2026-03-30 02:52:38 61

原创 【Linux系统】计算机世界的基石:冯诺依曼架构与操作系统设计

CPU处理速度非常快,但是输入数据的速度相较于CPU的速度是非常慢的,这就导致了很多时候CPU都在等待数据的输入,严重浪费了CPU的性能,所以增加内存,让CPU直接跟内存交换数据,充分发挥CPU的性能。(内存输入输出的数据的速度是非常快的)总的来说,冯诺依曼体系结构让计算机保持一定处理速度的同时,降低了计算机的成本,使得计算机能够进入各家各户,为之后互联网的发展奠定了基础。系统调用的功能比较基础,对使用者要求较高,所以一部分开发者将系统调用的接口进行封装,从而形成了库,有利于开发者进行二次开发。

2026-03-28 12:21:55 179

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除