自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 React基础语法

JSX是JavaScript和XML(HTML)的缩写,表示在JS代码中编写HTML模板结构,是React构建UI的方式return ({message}语法:事件绑定的位置改造成箭头函数的写法,再执行clickHandler实际处理业务函数的时候传递实参console.log('button按钮点击了', name);return (注意:不能直接写函数调用,这里事件绑定需要一个函数引用语法:在事件绑定位置传递事件实参e的自定义参数,clickHandle中声明形参,注意顺序对应。

2024-10-28 16:09:52 1570

原创 Docker

Docker本身包含一个后台服务,我们可以利用Docker命令告诉Docker服务,帮助我们快速部署指定的应用。Docker服务部署应用时,首先要去搜索并下载应用对应的镜像,然后根据镜像创建并允许容器,应用就部署完成了。

2024-10-01 09:42:34 1658

原创 若依框架使用教程

低代码诞生的目的是将可工作通过,将开发人员从没有技术含量的开发中解放出来,让其专注于更有价值的开发工作例如:数据库设计、流程设计、API核心开发、业务逻辑开发等工作。所以,低代码开发平台可以提高开发效率常见产品有:明道云Noohle(怒吼)简道云若依/RuoYijeecg-boot人人开源 / renren-fast。

2024-09-30 13:32:23 2745

原创 WebSocket实现在线聊天室

全双工:允许数据在两个方向上同时传输半双工:允许数据在两个方向上传输,但是同一时间段只允许一个方向传输。

2024-09-24 16:57:28 2307 1

原创 MySQL学习笔记(持续更新中)

MySQL是一个功能强大的关系型数据库管理系统,广泛应用于各种Web应用程序中,我们的学习笔记将持续更新

2024-09-23 15:01:00 2577

原创 vue3 + Ant Design Vue: ResizeObserver loop completed with undelivered notifications.解决方法

在使用 Vue3 结合 Ant Design Vue 的项目中遇到 “ResizeObserver loop completed with undelivered notifications.” 的报错。

2024-07-13 12:43:01 700

原创 org.springframework.jdbc.BadSqlGrammarException异常

在执行定时任务更新电子书统计信息时,遇到了异常,具体表现为 SQL 函数count被错误地解析为自定义函数wiki.count,导致数据库更新操作失败。

2024-07-06 15:28:27 1260

原创 使用MyBatis Generator自动代码生成器简化Java持久层开发

在Web开发中,数据访问层(DAO层)的编码工作往往重复且繁琐,尤其是在处理数据库表与Java对象之间的映射时。MyBatis Generator是一款强大的代码生成工具,它能自动生成DAO接口、Mapper XML文件和实体类,极大地提升了开发效率。本文将详细介绍如何在Maven项目中集成MyBatis Generator,并通过一个示例演示其配置过程。

2024-06-23 20:22:24 584

原创 牛客 括号区间匹配

这道题目要求我们找出在给定的由括号组成的字符串中,最少需要插入多少个括号才能让所有括号正确配对。我们可以使用动态规划的方法来解决这个问题。动态规划的状态定义为dp[i][j]表示从位置i到位置j的子串需要插入的最少括号数。状态转移方程基于两种情况:如果s[i]和s[j]能配对(即它们分别是左右括号),则dp[i][j]取决于从i+1到j-1的子串所需的最少括号数。如果s[i]和s[j]不能直接配对,则我们需要考虑将子串分割成更小的部分,并计算每部分所需的最少括号数。

2024-06-21 23:45:00 753

原创 P4170 [CQOI2007] 涂色

对于这道题,我们采用动态规划的策略来解决。问题的关键在于找到如何将大的子问题分解为更小的子问题,并且定义状态转移方程。具体来说,我们可以定义dp[i][j]表示将第i到第j个位置涂色所需要的最小次数。如果s[i]==s[j],那么dp[i][j]可以等于dp[i][j-1],因为最后一步涂j位置的颜色时,可以直接覆盖之前在j-1位置的颜色;否则,我们需要考虑所有可能的分割方式,即在i和j之间找到一个k,使得dp[i][j]等于dp[i][k]+dp[k+1][j]的最小值。

2024-06-21 17:37:34 786

原创 如何在Spring Boot中实现图片上传至本地和阿里云OSS

在开发Web应用时,处理文件上传是常见的需求之一,尤其是在涉及到图片、视频等多媒体数据时。本文将详细介绍如何使用Spring Boot实现图片上传至本地服务器以及阿里云OSS存储服务,并提供完整的代码示例。

2024-06-15 11:43:17 1132

原创 实现JWT认证与授权的Spring Boot项目详解

我们将详细介绍如何使用JWT(JSON Web Tokens)结合Spring Boot框架实现用户认证和授权系统。此方案将包括用户注册、登录以及通过JWT令牌进行后续请求的身份验证过程。我们将从引入必要的依赖开始,然后逐步构建项目的各个部分,包括JWT生成类、Controller、Service、ServiceImpl、Mapper以及异常处理机制。

2024-06-11 11:21:44 458

原创 Spring Cache详细教程

Spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。

2024-05-16 10:32:40 1014

原创 SpringBoot启动报错LibraryNotFoundError,Can‘t load library:tcnative-1.dll

SpringBoot启动报错LibraryNotFoundError,Can't load library:tcnative-1.dll。在这个项目中,我们正在使用SpringBoot和Tomcat来开发一个Web应用。我们的应用需要频繁地与客户端进行数据交换,因此我们选择了使用Tomcat的APR(Apache Portable Runtime)来提高性能。然而,当我们尝试运行我们的应用时,我们遇到了一个问题:我们的应用无法找到Tomcat需要的本地库。

2024-04-19 13:36:51 1571 1

原创 Python零基础到精通

Python 是一种解释型、交互式、面向对象的编程语言。其语法简单明了,结构紧凑,适用于从小型脚本到大型项目的开发。为什么要学 Python?易读性: Python 代码的清晰度是其核心优势,大大提高代码的可维护性。多用途: 无论是 Web 开发、数据分析、人工智能还是网络编程,Python 都能胜任。强大的生态: 有数以万计的库和框架可供选择。

2024-04-06 18:12:09 738 2

原创 第七届蓝桥杯大赛软件赛省赛Java 大学C组题解

我们从0开始,对于每一个可能的a,我们枚举所有可能的b,c和d,使得aa + bb + cc + dd等于给定的数。这是一个动态规划问题。如果s[i]等于s[j],那么dp[i][j]就等于dp[i+1][j-1]+2,因为我们可以在dp[i+1][j-1]表示的回文序列的两端添加s[i]和s[j],形成一个更长的回文序列。如果s[i]不等于s[j],那么dp[i][j]就等于dp[i+1][j]和dp[i][j-1]中的较大值,因为我们可以删除s[i]或s[j],使得剩下的字符串成为一个更长的回文序列。

2024-03-24 13:50:14 944

原创 第六届蓝桥杯大赛软件赛省赛Java 大学C组题解

我们使用一个循环来遍历所有的骰子,然后在每一次循环中,我们都会更新我们的动态规划矩阵。这个问题的关键在于,我们的移动是在一个特殊的格子系统中进行的,其中每一行的移动方向可能会改变。这个问题是要找出1到10000之间的所有数字,这些数字的立方的尾部数字与原数字相同。例如,如果数字是12,它的立方是1728,尾部两位数字是12,与原数字相同。这个问题是要找出1到1000之间的第一个数字,这个数字的平方和立方的每一位数字都是唯一的,并且0到9的每个数字都在这个数字的平方或立方中至少出现一次。

2024-03-23 11:29:45 1248

原创 JDK21新特性

JDK 21 于 2023 年 9 月 19 日正式发布。Oracle 提供GPL 下的生产就绪二进制文件;其他供应商的二进制文件也将很快推出。Spring Boot 3.x 版本最低支持的 JDK 版本为 JDK 17,也就是说如果你还想用 JDK8的话,那能用的最高 Spring Boot 版本为 2.7。Dubbo 在官方说明中也已经将 JDK 17 作为推荐的版本了。其他的几乎你所能用到的一些开源框架或工具包都早已支持最起码 JDK 17 了。JDK 8 不知道还能坚持多久。

2023-09-23 15:36:58 1978

原创 SpringCluod深入教程

Feign可以支持很多的自定义配置,如下表所示:一般情况下,默认值就能满足我们使用,如果要自定义时,只需要创建自定义的@Bean覆盖默认Bean即可。下面以日志为例来演示如何自定义配置。过滤器的作用是什么?① 对路由的请求或响应做加工处理,比如添加请求头② 配置在路由下的过滤器只对当前路由的请求生效defaultFilters的作用是什么?① 对所有路由都生效的过滤器参数中是否有authorization,authorization参数值是否为admin如果同时满足则放行,否则拦截。

2023-08-28 23:11:36 510

原创 Tomcat安装及基本使用

Web服务器是一种应用程序(软件),它封装了对HTTP协议的操作,使得开发人员无需直接操作协议,从而简化了Web开发。其主要功能是提供网上信息浏览服务。Web服务器安装在服务器端,我们可以将自己编写的Web项目部署到Web Tomcat服务器软件中。一旦Web服务器软件启动,部署在其中的页面就可以通过浏览器直接访问。准备静态资源下载安装Web服务器软件将静态资源部署到Web服务器上启动Web服务器,使用浏览器访问对应的资源在本文中,我们将使用Apache下的Tomcat软件进行演示。

2023-08-28 22:34:13 927

原创 SpringCloud超详细教程

单体架构:简单方便,高度耦合,扩展性差,适合小型项目。例如:学生管理系统分布式架构:松耦合,扩展性好,但架构复杂,难度大。适合大型互联网项目,例如:京东、淘宝微服务:一种良好的分布式架构方案①优点:拆分粒度更小、服务更独立、耦合度更低②缺点:架构非常复杂,运维、监控、部署难度提高SpringCloud是微服务架构的一站式解决方案,集成了各种优秀微服务功能组件SpringCloudRibbon的底层采用了一个拦截器,拦截了RestTemplate发出的请求,对地址做了修改。

2023-08-26 20:31:43 4134 1

原创 Vue3超详细教程

其中有许多重复的代码。侦听一个或者多个数据的变化,数据变化时执行回调函数,俩个额外参数 immediate控制立刻执行,deep开启深度侦听。通过watch监听的ref对象默认是浅层侦听的,直接修改嵌套的对象属性不会触发回调执行,需要开启deep。如果我们要定义组件的 name 或其他自定义的属性,还是得回到最原始的用法——再添加一个普通的。在setup函数中写的数据和方法需要在末尾以对象的方式return,才能给模版使用。顶层组件可以向底层组件传递方法,底层组件调用方法修改顶层组件的数据。

2023-08-25 10:13:56 7874

原创 Trie树(前缀树)的实现与应用

Trie树是一种高效的字符串处理数据结构,适用于各种需要快速搜索、插入和删除字符串的场景。本篇博客介绍了Trie树的原理和实现方式,并给出了Java代码示例。希望本篇博客能够帮助读者更好地理解和应用Trie树。以上就是对Trie树的详细介绍和应用场景的博客。希望对您有所帮助。如有任何疑问,请随时提问。

2023-08-19 21:37:54 412

原创 Redis键值设计

Key的最佳实践固定格式:[业务名]:[数据名]:[id]足够简短:不超过44字节不包含特殊字符Value的最佳实践:合理的拆分数据,拒绝BigKey选择合适数据结构Hash结构的entry数量不要超过1000设置合理的超时时间。

2023-08-07 10:24:36 743

原创 Lua语法入门

Lua是一种轻量级的脚本语言,它使用标准C语言编写,并以源代码形式开放。它的设计目标是嵌入到应用程序中,为应用程序提供灵活的扩展和定制功能。Lua中的表(table)类型既可以作为数组,也可以作为字典(类似于Java的map)来使用。数组是表的一种特殊形式,其中键(key)是数组的索引。Lua经常被嵌入到C语言开发的程序中,例如游戏开发和游戏插件等。以上是Lua语法的入门介绍,希望对您有帮助。在Lua中,变量的声明无需指定数据类型,而是使用。请注意,这只是一个示例,您可以根据自己的需要进行修改和补充。

2023-08-06 09:34:09 965

原创 Redis两种持久化方案RDB持久化和AOF持久化

在这种配置下,Redis服务器会根据你的设置同时生成RDB文件和AOF文件。当Redis服务器重启时,它会首先加载AOF文件来还原数据,如果AOF文件不存在或损坏,则会尝试加载RDB文件。因为是记录命令,AOF文件会比RDB文件大的多。要在Redis中启用RDB和AOF持久化,你可以在Redis的配置文件中进行相应的设置。使用RDB和AOF持久化可以提供更好的数据保护和恢复能力,但也会增加服务器的磁盘占用和IO负载。Redis处理的每一个写命令都会记录在AOF文件,可以看做是命令日志文件。

2023-08-03 09:07:39 312

原创 Git 的正确使用姿势与最佳实践:团队协作和版本控制的最佳实践

Git是一款非常流行的版本控制系统,它能够帮助团队协作开发,管理代码的版本,以及追踪代码变更历史。在这篇博客中,我们将介绍Git的正确使用姿势和最佳实践,以便您可以更好地使用Git来管理您的代码。

2023-08-02 23:16:07 351

原创 Lua脚本解决多条命令原子性问题

在Redis中,我们可以使用Lua脚本来编写多条命令,以确保这些命令的原子性执行。Lua是一种简单易学的编程语言,下面将介绍如何使用Redis提供的调用函数来操作Redis并保证原子性。通过编写Lua脚本,我们可以在Redis中执行多条命令,并确保这些命令的原子性执行。这对于Java开发人员来说并不需要精通Lua语言,只需要了解Lua脚本的基本语法和Redis提供的调用函数即可。编写好Lua脚本后,我们需要使用Redis命令来调用它。如果Lua脚本中的键和值不是固定的,可以将它们作为参数传递给脚本。

2023-07-27 09:48:23 933

空空如也

空空如也

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

TA关注的人

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