自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 解决 Let‘s Encrypt 证书自动续订问题:CentOS 环境下配置 certbot 定时任务

最近,我发现我的网站 lishaowu.com 出现了“连接不安全”的警告,检查后发现 Let's Encrypt 证书已于 2025年3月18日过期。手动运行 sudo certbot renew 可以成功续订证书,但显然没有自动续订机制,导致证书过期后需要手动干预。作为一个运行在 CentOS 服务器上的网站(使用 Nginx 作为 Web 服务器),我决定配置 certbot 的自动续订功能,确保证书在到期前 30 天自动更新,避免类似问题再次发生。

2025-03-19 16:58:42 968

原创 Vue.js 安装教程

首先需要安装 Node.js,因为 Vue.js 是基于 Node.js 构建的。Node.js 是一个 JavaScript 运行环境,提供了 npm(Node 包管理器)来管理项目中的依赖包。1.环境变量—用户变量—选中Path—点编辑-将 C:\Users\你的用户名\AppData\Roaming\npm 修改为 :你的安装目录\node_global。为了加快 npm 包的下载速度,可以将 npm 的镜像源设置为国内镜像源。变量值:你的安装目录\node_global\node_modules。

2025-02-20 17:27:36 895

原创 阿里云域名和服务器不在一个账号上,备案的时候怎么选择服务器

通过以上步骤,即便域名和服务器账号不同,您也能顺利完成备案时服务器的选择与绑定。在整个过程中,确保遵守阿里云的备案政策和流程,以及及时关注备案状态和可能需要补充的材料。

2024-12-18 20:08:27 745 1

原创 创建一个vue3项目

要创建一个 Vue 3 项目,可以按照以下步骤进行操作:首先,确保你的电脑上已经安装了 Node.js 和 Vue CLI。如果你没有安装 Vue CLI,可以通过以下命令安装你可以通过以下命令检查是否安装成功:2. 创建 Vue 3 项目使用 Vue CLI 创建 Vue 3 项目,打开命令行(注意以管理员身份启动,且目录下没有中文),输入以下命令:其中 是你项目的名称,你可以根据需要修改。在创建过程中,Vue CLI 会提示你选择预设配置。你可以选择:如果选择手动配置,可以根据项

2024-12-18 17:29:43 357

原创 MYSQL、Redis命令

停止MySQL是对应服务的名称删除mysql服务还有下面两个查看是否自启动在上述输出中,START_TYPE 字段会告诉你 MySQL 服务的启动类型:2 AUTO_START:表示 MySQL 服务设置为自启动。3 DEMAND_START:表示 MySQL 服务设置为手动启动。4 DISABLED:表示 MySQL 服务被禁用。如果 START_TYPE 是 AUTO_START,则表示 MySQL 服务会在系统启动时自动启动设置自启动。

2024-12-17 14:41:45 300

原创 RuoYi-Vue若依框架权限管理-数据隔离的实现

若依自动生成的代码中,在添加数据的时候,dept_id和user_id并不会自动填充,所以我们需要进入相应的Controller类中,在新增保存的模块下添加相应的代码,实现在每次添加数据的时候,部门编号和用户编号都会自动填充。我们的目的是在若依后台将角色数据权限设定为进本人数据权限时候,仅能看到本人的数据,设定为本部门的数据时候,仅能看到本部门的数据。在service下的impl包中找到你对应的实现类,找到查询列表的方法,在顶部添加。这个类是我们用过系统工具-代码生成得到的代码对应的类。

2024-12-16 15:59:14 621

原创 使用npm安装yarn

安装 Yarn 后,安装依赖。

2024-12-16 15:10:50 771

原创 RuoYi-Vue若依框架-注册用户默认分配角色

将上面方法直接复制粘贴进去即可,注意一下这个new Long[]{2L},2L代表的含义是2是某个角色的id,L是Long长整型的意思,可以在数据库表sys_role中找到自己需要添加默认角色的id,找不到的可以看下面的图片。在代码中找到SysUserServiceImpl类,在大概275行的位置找到registerUser方法。修改public boolean registerUser(SysUser user){}方法为。没有开启注册功能的先参考。

2024-12-13 11:56:14 471

原创 RuoYi-Vue若依框架-开启注册功能

因为注册功能默认是关闭的,我们需要手动开启它,需要两步。

2024-12-13 11:30:17 757

原创 RuoYi-Vue若依框架-更换标题、图标、头像以及登录背景

在查看里搜索“若依”全部替换为自己的系统名字下面两处标题需要重启前段vue。

2024-11-26 00:56:34 1913

原创 如果我没有配置环境变量,idea可以使用java吗?

不配置环境变量:IDEA仍然可以正常配置Java,但需要手动JDK路径。配置环境变量:如果配置了环境变量,你可以更方便地在命令行使用Java命令,同时很多外部工具(如Maven、Gradle)也能自动识别JDK。

2024-11-10 19:57:32 1123 1

原创 Java安装教程

配置JAVA_HOME和Path环境变量可以让Java程序和命令行更方便地找到Java安装路径,这是使用Java必需的步骤。

2024-11-10 19:54:33 528

原创 安装MySQL时,通常可以设置两个环境变量,有什么作用?

Path变量的配置更为重要,推荐添加;MYSQL_HOME视需求而定,不是必需配置。这些环境变量可以简化命令操作,让MySQL的使用更加方便。

2024-11-10 19:48:16 354

原创 在Windows系统中,使用命令行安装解压版(免安装版)的MySQL

完成这些步骤后,你的MySQL就可以在Windows系统中以文件夹形式通过命令行运行了。输入之前初始化生成的临时密码登录。该命令会生成MySQL的数据默认文件,并输入一个临时密码(在。请记住这个密码,因为你第一次登录时需要使用它。打开提示命令符,以管理员身份运行命令行。(这里的新密码推荐设置为root )表示路径,不要使用单反斜杠。为了方便在任何路径下使用。进入MySQL解压后的。添加到系统环境变量的。

2024-11-10 19:41:41 640

原创 gie如何清除本地仓库所有信息,让其没有git信息

在命令行中,进入你的本地Git仓库所在的目录,并删除.git目录。这是Git仓库的核心目录,包含了所有的版本控制信息和历史记录。在清除了.git目录之后,你可以选择重新初始化一个全新的Git仓库。git init如果你想要将这个清空的本地仓库连接到一个远程仓库,可以添加一个新的远程仓库地址。请注意,执行这些步骤将永久删除本地Git仓库中的所有信息,包括所有提交的更改记录。确保在执行此操作之前备份你需要保留的任何重要数据。

2024-03-27 11:36:27 840 1

原创 ruoyi若依框架路由守卫开放权限-前端vue页面开放权限

若依框架前端开放权限,自己写一个vue界面,,想让所有人不用登录就可以访问,在views文件夹下找到permissiom.js。这两个路径,表示登录和注册页面不需要登录就可以访问。如果您想要添加新的页面到这个白名单中,只需将新页面的路径字符串添加到该数组中。请注意,从安全的角度考虑,在添加页面到白名单之前,需要确认页面不会泄露任何需要认证的敏感信息。要让特定的页面在不登录的情况下也可以访问,您需要将该页面的路径添加到路由守卫中的。确保你添加的路径与你在 Vue 路由器的配置中定义的路径字符串完全匹配。

2024-03-25 21:18:32 1454 4

原创 ruoyi若依框架匿名访问-给微信小程序接口开放获取数据权限

/微信小程序接口配置完匿名访问之后,还需要将请求接口上的权限注解进行移除。

2024-03-15 10:45:33 1289

原创 微信小程序用户活动申请流程的实现

在本文中,我将详尽阐述在微信小程序中创建一个用户活动申请流程的方法。对此过程的解释将包括前端的事件绑定和后端的验证逻辑,其中会展示用于完成这些操作的完整代码。通过有效的错误处理和用户反馈,我们可以确保用户在各种网络条件下都能获得适当的指导和信息。在用户界面上,假设我们有一个活动列表,每个活动项都有一个“加入活动”的按钮。为了提供流畅的用户体验,每个重要的操作步骤都包含有对应的状态提示,例如加载动画、成功或错误的弹窗提示。通过以上的实现步骤,我们的微信小程序用户活动申请流程即能够兼顾安全性与用户体验。

2024-03-07 20:01:55 519

原创 如何在微信小程序中异步加载并展示关联数据

以上就是在微信小程序中异步加载并展示关联数据的一个简单示例。通过以上步骤,你可以灵活地处理和展示来自服务器端的数据,构建更为动态和丰富的用户界面。请注意,示例中的URL和应替换为你真实的后端API服务地址。此外,这个教程可以进一步扩展,比如添加加载状态指示器,异常处理逻辑等,以增强用户体验。

2024-03-06 20:01:40 729

原创 微信小程序登录访问后端,但是后端有权限校验怎么做

后端服务使用这个code以及小程序的appID和appSecret调用微信的auth.code2Session API,从而获取`openid`和`session_key`。- 然后后端生成自有的认证token (比如JWT token),并将该token与用户的`openid`关联,并存储`session_key`用于后续的加解密或信息校验。- 应用注解如`@PreAuthorize`、`@Secured`或`@RolesAllowed`等,来对不同的API端点进行粒度化的权限控制。

2024-03-05 17:01:28 908

原创 微信小程序登录获取openid和access_token 报错 unacceptable content-type: text/plain

当然,此方法假定服务器发送回来的实际文本内容是有效的 JSON。如果文本内容不是有效的 JSON,那么转换过程将失败并抛出异常。因此,请确保服务端响应格式的一致性。),但是你的服务端返回的实际内容是 JSON 格式的字符串,你需要确保。响应一般预期返回的是简单文本,而不是结构化数据。因此,当服务端返回的。类型的数据,并尝试将其解析为 JSON。而内容实际上是 JSON 时,你需要做一些额外配置。而你的期望是将返回的数据映射为自定义的响应类型 (为了解决这个问题,你可以添加一个自定义的。

2024-03-05 16:25:46 612

原创 SpringBoot启动时做了什么

1. 加载应用配置:Spring Boot会加载应用的配置文件,包括`application.properties`或`application.yml`等,用于配置应用的各种属性。总之,Spring Boot在启动时会自动配置、加载配置文件、启动内嵌服务器,并扫描和加载项目中的组件,使得开发者能够快速、便捷地启动和部署应用。2. 自动装配:Spring Boot利用自动装配功能,根据项目的依赖和配置,自动配置应用所需的各种Bean,并建立它们之间的依赖关系。

2024-01-12 08:43:08 650

原创 SpringBoot核心注解是哪个?由哪些注解组成?

通过使用`@SpringBootApplication`注解,可以快速启动一个Spring Boot应用,并自动配置相关的各种组件和功能。- `@EnableAutoConfiguration`:启用自动配置,根据项目的依赖自动配置Spring相关的bean。- `@ComponentScan`:启用组件扫描,自动扫描并加载被`@Component`注解标记的组件。Spring Boot的核心注解是`@SpringBootApplication`。

2024-01-12 08:38:35 472

原创 MySQL回表查询

在通过二级索引找到对应的行之后,数据库需要通过索引中包含的主键指针去聚簇索引(也称为主键索引,InnoDB的表数据实际上是按照主键顺序存储的)中检索完整的行数据。当二级索引的列不足以满足查询要求(例如,查询要求返回不包含在二级索引中的列)时,就必须查找每个匹配行的完整数据。回表查询可能对性能产生负面影响,特别是在处理大量数据和需要频繁进行回表操作的场景中。在MySQL中,回表查询(也称为“回索引查询”或“书签查找”)是一个发生在使用二级索引(secondary index,即非主键索引)进行查询时的步骤。

2024-01-05 09:21:34 770

原创 MySQL最左匹配原则

在MySQL中,最左匹配原则是指在使用复合索引(即包含多个列的索引)进行查询操作时,查询条件从索引的最左列开始匹配,并且必须是连续的。这个原则非常重要,因为它影响到查询时索引的使用效率。复合索引类似于电话簿的排序方式:首先按照姓氏排序,然后是名字,最后是电话号码。如果你要查找一个人的电话号码,首先你会按姓氏查找(最左侧),然后是名字。如果你不知道姓氏只知道名字,这样的查找效率会大大降低。。

2024-01-05 09:17:38 498

原创 sql中,count(*)、count(1)、count(列名)的区别?

需要注意,以上解释适用于大多数关系数据库管理系统,但具体实现可能会有差异,因此在特定数据库系统中对于性能考量可能需要进一步测试以确定差异。会统计表中所有行的数量,不管列中的值是NULL还是非NULL。),这通常告诉数据库优化器“计数常量值”,而这就意味着不需要读取实际的列值。等价,但可能存在特殊情况下的细微性能差异,这取决于特定的数据库实现和查询优化器。相同,因为优化器识别这两种查询实际上具有相同的意义,并将以相同的方式执行它们。在实践中,如果你需要统计行数,而不在乎表中的NULL值,请使用。

2024-01-05 09:12:10 782

原创 MySQL优化方案

总之,MySQL的优化需要从多个方面入手,可以通过监控和调优工具、日志等手段来发现和解决问题。同时,优化的具体方案需要考虑到MySQL应用的具体情况,可以结合数据规模、访问模式等因素来进行调整。首先使用EXPLAIN来查看SQL执行计划,查看是否存在不必要的连接,使用JOIN替代子查询,为连接条件的列创建适当的索引等。避免使用SELECT *,使用UNION替代OR语句,避免使用函数和子查询等,以免导致全表扫描。使用合适的存储引擎。删除或清理掉无用的记录或历史记录,减小表的大小,有助于提高查询速度。

2024-01-05 08:58:13 391

原创 SQL优化方案

查询优化:优化SQL查询语句的结构和逻辑,使其更高效。查询缓存:利用MySQL的查询缓存功能,将经常查询的结果缓存在内存中,减少查询的开销。分析常用的查询语句,并为经常用于查询条件或连接条件的列创建适当的索引。合理使用分页和限制:对于大数据量的查询,使用LIMIT来限制返回的行数,避免不必要的资源消耗。优化连接和关联:避免多次连接同一个表,合理使用JOIN语句,并确保JOIN字段有适当的索引。这些是一些常见的SQL优化方案,实际的优化策略需要结合具体的应用场景和需求来进行调整和优化。

2024-01-05 08:57:43 408

原创 如何设计数据库表

1.确定实体:首先要确定需要存储哪些实体,以及这些实体之间的关系。例如,如果我们要设计一个电子商务网站的数据库,则我们需要存储有关产品、顾客、订单、付款等各种实体的信息。同时,为了确保数据库的性能和可扩展性,我们还需要考虑使用合适的索引、分区、优化查询等技术。3.确定属性:为每个实体确定需要存储哪些属性。例如,产品实体需要存储产品名称、描述、价格等属性,顾客实体需要存储姓名、地址、邮箱等属性。5.建立关系:确定各个实体之间的关系,包括一对一、一对多和多对多关系,并建立关系键(Foreign Key)。

2024-01-05 08:55:06 971

原创 MySQL都有哪些函数?

系统函数:用于获取数据库和系统信息的函数,如DATABASE、VERSION、NOW、SYSDATE等。字符串函数:用于处理字符串数据的函数,如CONCAT、LENGTH、LOWER、UPPER等。日期和时间函数:用于处理日期和时间数据的函数,如DATE、TIME、YEAR、MONTH等。聚合函数:用于对数据进行聚合操作的函数,如SUM、AVG、COUNT、MIN、MAX等。数值函数:用于处理数字数据的函数,如ABS、CEILING、FLOOR、ROUND等。

2024-01-05 08:52:17 404

原创 MySQL三大日志文件

二进制日志(Binary Log):记录所有对数据库数据进行更改的操作,包括增、删、改操作,以便进行数据恢复和复制。慢查询日志(Slow Query Log):记录查询运行超过某个阈值的 SQL 语句,以便开发者优化查询性能。错误日志(Error Log):记录 MySQL 数据库运行中的错误、警告和信息等,方便开发者进行调试。

2024-01-05 08:50:32 429

原创 java中@RequestParam的用法

RequestParam 是 Spring 框架中用于获取 HTTP 请求参数的注解,常用于控制器方法的参数列表中。它可以将 HTTP 请求中的参数绑定到方法中的参数上,以便在控制器方法中使用。该方法映射的请求路径是 /user,并且使用了一个 @RequestParam 注解,用于获取 HTTP 请求中名为 id 的参数,并将其绑定到方法中的 id 参数上。如果在请求路径中没有指定 id 参数或者参数的值无法转换为 int 类型,会抛出异常。

2023-11-19 18:08:53 2151 1

原创 java中BeanUtils.copyProperties是什么方法

是 Apache Commons BeanUtils 库中的一个方法,它用于将一个 Java 对象的属性值复制到另一个对象中。该方法提供了一种方便的方式来进行对象属性的拷贝,无需手动逐个属性进行赋值。方法可以实现两个对象之间的属性复制,源对象的属性值会被复制到目标对象的相应属性中。该方法会自动匹配属性名并进行赋值,前提是目标对象具备相同名称和类型的属性。方法是通过反射机制实现的,因此它会对对象的属性进行复制,而不考虑 getter 和 setter 方法。还提供了其他一些方法来处理对象的属性,如。

2023-11-10 17:11:46 212

原创 什么是平衡二叉排序树

为了保持树的平衡性,平衡二叉排序树使用了一些自平衡的算法,最常见的是通过旋转操作来调整树的结构。当插入或删除节点后,如果破坏了树的平衡性,则需要进行相应的旋转操作来恢复平衡。平衡二叉排序树的设计目标是提供高效的查找、插入和删除操作。通过保持树的平衡性,可以保证这些操作的平均时间复杂度为O(log n),其中n是树中存储的元素数量。常见的平衡二叉排序树包括AVL树、红黑树等,它们在不同场景下有不同的应用和性能特点。

2023-11-02 21:04:29 204

原创 MyBatis 中映射 SQL 语句的时候resultType和parameterType的区别

例如,当 parameterType=“com.example.Employee”,将会使用 com.example.Employee 类型的对象作为参数传递给 SQL 语句。例如,当 resultType=“com.example.Employee”,将会把返回的结果转换成 com.example.Employee 类型的对象。resultType 和 parameterType 是 MyBatis 中用于映射 SQL 语句的参数和返回结果的类型的属性。

2023-11-01 18:08:02 173

原创 git中远端名称是仓库名称吗

不,远程仓库的名称是与你的本地仓库关联的一个标识符,用于标识你想要与之进行交互的远程仓库。远程仓库的名称与仓库本身的名称或地址没有直接关联。在使用 Git 时,你可以通过git remote命令来查看本地仓库所关联的远程仓库的名称。这些名称通常是自定义的,但默认情况下,第一个远程仓库会被命名为 “origin”,如果你没有手动更改过的话。要注意的是,远程仓库的名称仅在你的本地仓库中起作用,并不会影响远程仓库本身的名称或地址。远程仓库的名称只是让你在本地更方便地引用远程仓库而已。

2023-11-01 14:48:28 207

原创 使用springmvc只导入spring依赖而不导入mvc依赖可以吗

如果你只导入了Spring的核心依赖而不包含Spring MVC依赖,那么你将无法使用Spring MVC的功能。Spring MVC是建立在Spring框架之上的一个模块,为了使用它的功能,你需要引入相应的依赖。是Spring MVC的版本。引入这个依赖后,Maven会自动处理其对Spring核心的依赖关系。因此,你无需在项目中单独引入Spring核心依赖,但你需要确保引入了Spring MVC依赖。在你的项目中,为了使用Spring MVC,你需要在项目的。

2023-11-01 14:48:15 128

原创 java中的springmvc是什么

Spring MVC 是 Spring Framework 的一个模块,是一个基于MVC(模型-视图-控制器)设计模式的 Web 框架,用于开发基于 Java 的 Web 应用程序。它提供了一组灵活的组件和类,通过这些组件和类可以简化 Web 应用程序的开发和维护,并帮助开发者更好地掌握 Web 应用程序的各个层次。Spring MVC 框架中的模型(Model)表示数据或状态,视图(View)表示用户界面,控制器(Controller)协调模型和视图之间的交互。

2023-11-01 14:48:02 61

原创 java中springboot有哪些注解

GetMapping、@PostMapping、@PutMapping、@DeleteMapping: 缩写形式的 @RequestMapping,用于定义 GET、POST、PUT、DELETE 请求的方法。除了上面列举的注解,Spring Boot 还提供了许多其他的注解,用于配置和控制应用程序的各个方面。@Autowired: 自动装配和注入 Bean 的依赖,可以在构造函数、属性、方法参数上使用。@RequestMapping: 用于映射 URL 和请求的方法,用于处理请求的控制器方法。

2023-11-01 14:47:12 65

原创 Java中springboot和Spring Framework的关系

通过使用 Spring Boot,开发者可以避免繁琐的配置和集成工作,专注于业务逻辑的开发,同时享受到 Spring Framework 强大的特性和功能。Spring Boot 是建立在 Spring Framework 基础上的一个开源框架,它的目标是简化 Spring 应用程序的开发和部署。Spring Framework 是一个全功能的企业级 Java 开发框架,它提供了广泛的功能和特性,包括依赖注入、面向切面编程、数据访问、事务管理、MVC Web 开发等。

2023-11-01 14:46:54 357

空空如也

空空如也

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

TA关注的人

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