- 博客(58)
- 收藏
- 关注
原创 MySQL字符串比较忽略尾随空格
MySQL默认在字符串比较中忽略尾随空格,如果需要进行严格匹配,可以使用BINARY、LIKE或者显式处理空格的方法。
2024-08-23 18:32:39
503
原创 100行代码实现自己的RAG知识库
RAG是一种结合了检索和生成的混合式深度学习模型,常用于处理复杂的自然语言处理任务。RAG模型通过将外部知识库中的信息与生成模型结合在一起,可以提供更准确和上下文相关的答案。检索模块:负责从预先建立的知识库中检索与输入问题最相关的文档或信息片段。这通常通过向量检索技术实现,向量检索能够支持语义匹配,而不仅仅是关键词匹配,从而提高了检索的准确性。生成模块:接收检索到的内容并生成最终的自然语言响应。这个模块通常基于大型生成模型(如 GPT-4),能够理解和生成复杂的自然语言。
2024-08-19 21:45:53
801
原创 Excel小技巧:判断一列数据是否存在另一列
经常接到运营这样的需求,给我一列数据,查库之后筛选之后得到 B 列数据,并在 C 列标记出 A 列哪些数据存在于 B 列中。
2024-08-19 15:25:53
1422
原创 Windows下curl报错:curl: (3) unmatched close brace/bracket in URL position x
之前都是使用 postman 或 Apifox 测试接口,或者在 Linux 上使用curl命令测试接口,偶然在 windows 电脑上使用了 curl 命令测试接口,竟然报错。
2024-08-14 10:15:41
603
原创 Java Streams 使用 toMap 和 groupingBy 的方法及其异同
toMap和groupingBy是 Java Stream API 中强大的收集器,它们在数据转换和分组处理中有着广泛的应用。toMap适用于需要将流中的数据映射为键值对的情况,而groupingBy则适用于需要对数据进行分类和分组的情况。理解它们的使用方法和区别,有助于更高效地处理集合数据。
2024-07-22 22:22:52
945
原创 MySQL ON DUPLICATE KEY UPDATE影响行数
经常使用 `ON DUPLICATE KEY UPDATE` 来插入数据或者更新已存在的记录,使用到 MySQL 一个 `INSERT ... ON DUPLICATE KEY UPDATE` 的语法,明明只更新了两条记录,返回的影响行数竟然是 4
2024-07-16 10:22:59
341
原创 延时双删两种实现对比分析
延时双删(Delayed Double Deletion)是一种在分布式系统或缓存一致性处理中使用的技术,目的是确保缓存与数据库之间的数据一致性。它主要用于处理在高并发情况下,缓存和数据库可能出现的数据不一致问题,本文简单分析了两种常用方式优劣情况。
2024-07-08 10:56:00
990
原创 nacos-sdk-python——Python版本Nacos客户端
nacos-sdk-python 这个项目已经实现了 nacos 的python 版本客户端基本功能,不过项目更新比较慢了,测试过程中发 python3.7 有些库不兼容,更高版本估计也有问题。nacos-sdk-python 这个项目已经实现了 nacos 的python 版本客户端基本功能,不过项目更新比较慢了,测试过程中发 python3.7 有些库不兼容,更高版本估计也有问题。
2024-07-07 11:35:54
1069
原创 IDEA、PyCharm等基于IntelliJ平台的IDE汉化方式
PyCharm 或者 IDEA 等编辑器是比较常用的,默认是英文界面,有些同学用着不方便,想要汉化版本的,但官方没有这个设置项,不过可以通过插件的方式进行设置。
2024-06-21 14:39:06
653
原创 Java连接MySQL报SQL error: Access denied for user ‘root‘@‘localhost‘ (using password: YES)
先说结论:MySQL报SQL error: Access denied for user 'root'@'localhost' (using password: YES)要么密码错误,要么权限不足!
2024-06-18 14:26:02
400
原创 国内注册Claude 3流程
Cloud 3 已经推出两个月了,当时可是轰动一时,但是其并不对国内开放,导致当时很多用户无法注册,就算注册成功,也会面临着被封号的风险,所以一直观望着。这几天关注到其支持的国家越来越多,虽然没有国内,但是开放性更强了,于是试了下注册竟然成功了,所以把注册过程分享给大家。
2024-05-10 21:44:55
1343
原创 重学SpringBoot3-SPI机制
SPI(Service Provider Interface)即服务提供者接口,是一种服务发现机制,允许开发者和框架发现和加载可用的服务实现,而不需要在代码中硬编码具体的实现。这种机制使得软件系统能够更加灵活和可扩展。在 Java 平台上,SPI 通常是通过类实现的,但 Spring Boot 对这一概念进行了扩展,以支持其自动配置和模块化架构。Spring Boot 的 SPI 机制不仅强化了框架的自动配置能力,还提供了一种灵活且强大的方式来扩展和定制应用程序的行为。
2024-05-06 19:02:54
948
1
原创 重学SpringBoot3-事件与监听器
Spring Framework 提供了一个强大的事件发布和监听机制,允许应用组件在发生特定操作时相互通信,而无需直接引用对方。这种基于事件的通信方式有助于实现松耦合的架构,增强应用的模块化。Spring Boot 3 继承并增强了这一机制,让开发者能够更便捷地使用事件和监听器来处理应用中的各种业务场景。
2024-04-07 08:28:38
1101
原创 重学SpringBoot3-SpringBoot可执行JAR的原因
Spring Boot 的一个核心特性是它的可执行 JAR(通常称为“Fat JAR”或“Uber JAR”),这种 JAR 文件包含了应用程序所有的依赖库,使得应用可以通过简单的 `java -jar` 命令独立运行。这个特性极大地简化了部署流程,使得 Spring Boot 应用可以轻松地在各种环境中部署和运行,不再依赖特定的应用服务器。下面将介绍 Spring Boot 可执行 JAR 的工作原理和它是如何实现独立运行的。
2024-03-28 09:27:56
1337
2
原创 重学SpringBoot3-Profiles介绍
在现代软件开发中,应用通常需要在多个环境(如开发、测试、生产)中运行,每个环境可能需要不同的配置设置。Spring Boot 3 继续支持和扩展了 Profiles 的概念,提供了一种灵活且强大的方式来根据当前环境定制应用的行为。本文将介绍 Spring Boot 3 中 Profiles 的使用方法、最佳实践,以及如何利用它们来优化你的应用配置。
2024-03-22 15:57:32
1496
3
原创 重学SpringBoot3-MyBatis的三种分页方式
MyBatis 是一个流行的持久层框架,它支持定制 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。分页是 Web 开发中常见的需求,尤其是处理大量数据时,合理的分页可以提高查询效率和用户体验。接下来,将介绍3种常用的 MyBatis 分页方式。
2024-03-22 15:18:40
1512
1
原创 重学SpringBoot3-整合SSM
Spring Boot 3 整合 SSM(Spring、Spring MVC和MyBatis)进行数据访问,是构建现代 Java Web 应用的常见实践。这种整合利用了 Spring Boot 的自动配置特性,简化了传统 SSM 架构的配置复杂性,同时保留了 SSM 强大的数据访问和业务逻辑处理能力。
2024-03-16 21:04:56
1316
1
原创 重学SpringBoot3-函数式Web
函数式 Web 编程是一种基于函数的编程模型,它强调使用不可变数据和纯函数。在 Spring WebFlux 中,这种模型通过 Router Functions 和 Handler Functions 来实现,为开发者提供了一种新的方式来定义路由和处理请求,而不是依赖于注解。
2024-03-15 23:59:48
1393
2
原创 重学SpringBoot3-Problemdetails
随着 Spring Boot 3 的发布,Spring Framework 6 继续在提升开发者体验和应用性能方面迈出重要步伐。在众多引人注目的新特性中,对 Problem Details(问题详情)的支持尤为值得关注。这一特性基于 RFC 7807 标准,旨在为 HTTP API 提供一种标准化的错误响应格式。本文将深入探讨 Spring Boot 3 中 Problem Details 的概念、应用及其对微服务架构的潜在影响。
2024-03-15 10:42:56
1224
2
原创 重学SpringBoot3-ServletWebServerFactoryAutoConfiguration类
在Spring Boot 3中,`ServletWebServerFactoryAutoConfiguration` 类扮演着至关重要的角色,它负责自动配置内嵌的 Servlet 容器,例如 Tomcat、Jetty 或 Undertow。这种自动配置能力是 Spring Boot 框架的核心特性之一,它极大地简化了 Spring 应用的开发和部署过程。本文将深入探讨`ServletWebServerFactoryAutoConfiguration` 类的工作原理、配置方式以及如何通过它来定制内嵌Servl
2024-03-12 23:36:26
1448
1
原创 重学SpringBoot3-ErrorMvcAutoConfiguration类
`ErrorMvcAutoConfiguration` 类是 Spring Boot 中用于自动配置错误处理机制的一个关键组件。这篇文章将详细介绍 `ErrorMvcAutoConfiguration`类,包括其作用、工作原理以及如何在 Spring Boot 3 应用中定制和使用它。
2024-03-12 11:07:10
1260
原创 重学SpringBoot3-集成FreeMarker
FreeMarker是一个用于生成文本输出(如 HTML 网页、电子邮件、配置文件、源代码等)的 Java 府模板引擎。它遵循 MVC 模式,将业务逻辑和表现层分离。FreeMarker 模板使用 FreeMarker Template Language (FTL) 编写,这是一种简单、专用的语言。在 Spring Boot 3 中集成 FreeMarker 作为模板引擎是一个简单直接的过程,Spring Boot 的
2024-03-11 08:50:34
1534
原创 重学SpringBoot3-集成Thymeleaf
Thymeleaf是一个现代的服务器端Java模板引擎,用于Web和独立环境。它能够处理HTML、XML、JavaScript、CSS甚至纯文本。Thymeleaf 的主要目标是提供一个优雅和高度可维护的创建模板的方式。
2024-03-11 08:39:43
1538
原创 重学SpringBoot3-内容协商机制
在 Spring Boot 3 中,内容协商(Content Negotiation)是一个非常重要的概念,特别是在构建 RESTful API 时。内容协商机制允许客户端和服务器就如何交换资源的数据格式达成协议。简单来说,它允许客户端通过请求头指定它们希望接收响应的格式(如 JSON,XML 等),服务器基于这些信息来决定以什么格式返回数据。
2024-03-10 10:26:12
1343
2
原创 重学SpringBoot3-路径匹配机制
在 Spring Framework 5.3 及 Spring Boot 2.4 之后,引入了一种新的路径匹配机制,这一变化在 Spring Boot 3 中得到了保留和进一步的应用。这个新机制主要是通过 代替了传统的 。 是基于 Ant 风格的路径匹配,而 则是一个更高效、更精确的路径匹配方式,它是通过 解析得到的。定义: 是 Spring 框架中一个基于 Ant 风格模式的路径匹配器,它支持使用 通配符进行匹配。用途: 主要用于 URL 模式匹配。
2024-03-10 10:21:49
2477
原创 重学SpringBoot3-EnableWebMvcConfiguration
EnableWebMvcConfiguration 通常是 Spring 内部使用的,开发者通过 @EnableWebMvc 注解和 WebMvcConfigurer 接口与 Spring MVC 的配置交互,而不是直接与 EnableWebMvcConfiguration 类交互。这是 Spring 如何设计它的组件和配置类,以帮助实现依赖注入和分离关注点。
2024-03-09 10:28:06
1106
原创 重学SpringBoot3-WebMvcConfigurer接口
WebMvcConfigurer 接口是 Spring MVC 提供的一个配置回调接口,允许自定义 Spring MVC 的各种配置而不需要继承特定的基类或使用 XML 配置文件。这个接口定义了一系列的方法,用于配置组件如视图解析器、消息转换器、拦截器、跨源请求处理、格式化程序以及其他各种设置。通过实现 WebMvcConfigurer 接口,可以在不改变应用程序现有工作流的情况下,扩展或修改 Spring MVC 的默认配置。
2024-03-09 10:15:26
2073
8
原创 重学SpringBoot3-WebMvcAutoConfiguration类
SpringBoot3 的 Web 开发能力,由 SpringMVC 提供,而 WebMvcAutoConfiguration`类是 SpringBoot 自动配置机制的一部分,专门用于配置 Spring MVC 的。这个类在 SpringBoot 应用程序中起着非常重要的作用.
2024-03-08 22:18:29
1366
原创 Excel小技巧-筛选带删除线的数据并删除
有些内容不在需要时会被标记删除线,后面再删除,但是由于数据比较多,不方便一个个删除,有没有什么办法能删除标记了删除线的内容所在的行呢?Excel 确实没用直接的功能支持这种操作,大伙推荐使用VBA宏筛选,但是操作有些复杂,不便于向不懂代码的人传达。既然不能一步到位,能不能分两步呢?还真找到了,先搜索,替换,再筛选。
2024-03-08 09:48:47
4563
原创 重学SpringBoot3-yaml文件配置
YAML 提供了一种更为人性化的配置文件格式,它通过简洁的结构化格式,使得配置信息更加易于理解和维护。在 Spring Boot 中,通过使用 YAML,开发者可以轻松地管理和切换不同环境下的配置,优化开发流程。掌握 YAML 的基本写法和在 Spring Boot 中的应用,将有助于提高你的开发效率。
2024-03-05 11:28:45
2101
原创 重学SpringBoot3-自动配置机制
自动配置极大简化了Spring应用的配置工作,让开发者可以专注于应用逻辑的实现,而非繁琐的配置。通过合理利用自动配置和条件注解,你可以快速地构建出既强大又灵活的Spring应用。
2024-03-03 17:54:55
1991
原创 重学SpringBoot3-@EnableConfigurationProperties注解
通过使用注解,Spring Boot 应用可以非常方便地将外部配置映射到强类型的 Java Beans 上,从而使配置更加易于管理和维护。这种方法不仅提高了代码的清晰度和安全性,还降低了错误配置的风险。在 Spring Boot 3 中,这一机制仍然是管理和使用配置属性的推荐方式。
2024-03-03 11:17:18
1256
原创 重学SpringBoot3-@ConditionalOnXxx条件注解
Spring Boot 提供了一组强大的条件注解(形如 `@ConditionalOnXxx`),这些注解允许开发者根据特定的条件来控制配置类或者 bean 的创建。这种机制支持灵活的配置和自动配置,是 Spring Boot “约定优于配置”理念的体现。
2024-03-02 22:26:08
1319
原创 重学SpringBoot3-@Import注解的作用
@Import注解是 Spring Framework 提供的一个强大工具,它帮助实现了配置的模块化和灵活性。通过使用@Import,你可以轻松地组织和模块化你的 Spring 应用配置,使其更加清晰和易于管理。
2024-03-02 18:57:13
736
原创 Java如何用正则表达式匹配字符串中的 ‘\‘
这是因为在 Java 中,反斜杠字符本身也是一个转义字符,因此需要使用两个反斜杠来表示一个反斜杠字符。
2024-02-28 16:53:30
521
原创 体验LobeChat搭建私人聊天应用
LobeChat是一个功能强大、易于部署和使用的聊天机器人框架,为用户提供了一个创新的交互和沟通工具,可配置OpenAI、智普AI等多种模型API。配合租赁即可享受相关功能,适用于需要部署和使用聊天机器人的个人和企业,特别是那些寻求高性能、多功能和可定制化聊天机器人解决方案的用户。
2024-02-22 13:23:26
1913
Writerside-基于IntelliJ平台的文档写作IDE
2023-10-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人