自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Elasticsearch学习(第一阶段:基础入门)保姆级!!!

本文介绍了Elasticsearch的核心概念和查询语法,重点讲解了倒排索引和分词机制的工作原理。倒排索引通过建立关键词到文档的映射关系实现高效检索,分词机制则包含字符过滤、分词器和词元过滤器三个步骤。文章还详细演示了多种查询方式,包括match、term、bool组合查询、range范围查询等,并通过电商商品搜索案例展示了Elasticsearch强大的全文检索能力。最后介绍了分页排序等实用功能,为构建基于Elasticsearch的搜索应用提供了基础指导。

2025-07-24 16:31:26 1424

原创 关于mysql远程连接 2003 -Can‘t connect to MySOL server on ‘x.xxx.xx.23‘(10060 “Unknown error“)

文章摘要:分享解决MySQL连接错误2003(10060)的一个特殊案例。作者在项目部署时发现,即使MySQL配置正确,连接仍被拒绝。通过检查iptables防火墙规则,发现ufw防火墙默认拒绝所有连接,且未开放3306端口。解决方案是使用命令sudo ufw allow 3306开放MySQL端口,并通过sudo ufw status验证规则是否生效。该问题不同于常见的配置错误,重点在于防火墙设置对MySQL端口访问的限制。

2025-11-14 14:21:32 371

原创 缓存穿透方案记录

摘要:本文介绍了缓存穿透的概念、危害及解决方案。缓存穿透是指查询不存在的数据导致每次请求都直接访问数据库,可能引发系统崩溃。文章提出两种解决方案:1)缓存空对象,简单有效但可能浪费内存;2)布隆过滤器,内存占用小但实现复杂。文中详细比较了两种方案的优缺点,并提供了完整的Java代码实现示例,包括缓存空对象和布隆过滤器的具体实现类及测试案例。通过实际测试数据验证了两种方案的有效性和适用场景,为解决缓存穿透问题提供了实用参考。

2025-09-30 15:50:55 601

原创 逐步刨析红黑树源码分析

红黑树是一种自平衡二叉查找树,通过颜色约束和旋转操作维持平衡,保证操作时间复杂度为O(logN)。它具备五个核心性质:根黑、叶黑、红节点子节点必黑、任一节点到叶子的路径包含相同数量黑节点。红黑树通过三种变色策略(空叔节点、红叔节点、黑叔节点)和左右旋转实现平衡调整。相比AVL树,红黑树在维持平衡和性能间取得更好折衷,被广泛应用于Java HashMap等场景。理解红黑树的关键在于掌握其平衡原理和调整策略,这对开发高效数据结构至关重要。

2025-09-18 16:29:41 1013

原创 Elasticsearch学习(第二阶段:Spring Boot + ES 集成)

本文介绍了Spring Boot 3与Elasticsearch 8的集成实践。文章首先展示了项目依赖配置,包括Spring Data Elasticsearch和原生Elasticsearch Java客户端两种依赖的对比说明。随后详细讲解了实体类注解配置,重点介绍了@Document、@Field、@Setting等核心注解的使用方法。在功能实现部分,演示了包括数据同步、精确匹配查询、全文检索、范围查询、布尔组合查询和高亮查询等常见操作,并提供了完整的代码示例。作者特别指出在集成过程中遇到的高亮查询问题

2025-08-07 17:13:45 645

原创 BeautifulSoup基础且常用函数和方法

需求推荐写法精确查找第一个标签或查找所有标签或提取文字内容或提取属性或根据 class 查找根据任意属性。

2025-06-30 16:54:11 357

原创 和chatgpt玩cosplay之python爬虫(1)

本文记录了作者与ChatGPT进行Python爬虫学习的角色扮演过程。文章展示了四个初级实践任务:1) 爬取Quotes to Scrape网站前三页名人名言并保存为CSV;2) 从彼岸图网下载首页图片;3) 爬取Books to Scrape网站书籍标题和价格;4) 处理分页数据并去重。每个任务都提供了完整代码实现,包括网页请求、数据解析(BeautifulSoup)、文件存储等关键步骤。作者强调通过实践巩固知识,并预告后续将进入中级阶段学习。这些案例涵盖了爬虫基础技能,适合初学者参考练习。

2025-06-30 16:48:40 716

原创 学习python flask框架 如何使用Blueprints(2)

Flask蓝图(Blueprint)是一种组织Flask应用结构的工具,它允许将应用拆分为多个模块,每个模块可以有自己的路由、视图和静态资源。通过定义和注册蓝图,开发者可以实现模块化开发,提高代码的可维护性和可扩展性。 摘要要点: 蓝图定义与注册:需先定义蓝图并设置参数(名称、URL前缀等),然后在主应用中注册 目录结构:典型的Flask应用包含routes(路由)、models(模型)、templates(模板)等模块化目录 钩子使用:支持全局和局部钩子(before/after_request),用于请

2025-06-20 14:48:41 1227

原创 学习python flask框架 使用 Flask-Migrate 进行迁移 错误记录(1)

在使用Flask CLI执行初始化迁移仓库命令时,遇到了两个主要问题。首先,由于Flask-SQLAlchemy的版本兼容性问题,导致ModuleNotFoundError: No module named 'flask.ext'错误。通过升级Flask-SQLAlchemy到3.X.X以上版本解决了此问题。

2025-05-13 11:43:05 464

原创 Spring boot+ Spring security 实现双向TLS的验证

当客户端发送请求时需要携带xxx-xx-xx.crt证书,请求会先进入到SecurityConfig类中,使用subjectPrincipalRegex()方法解析出来Subject DN然后与原本保存好的客户端Subject DN进行比如果不一致就抛出异常否则就进入过滤器中进行进行校验时效性和准确性!也就是在Nginx、Apache代理层配置 TLS 和客户端证书验证相对于应用层实现,在代理层进行配置会比较简单易上手,当然缺点就是性能上得不到保障,对于某些特定应用协议(如 gRPC)配置更复杂;

2025-04-30 16:10:20 1890

原创 MTLS和TLS的区别(通俗易懂)

以上就是我对MTLS和TLS的理解和认识,当然少了许多负责性的原理讲解,更多的是基于一些应用场景去给大家分享,这样方便自己记忆,也方便大家理解,有什么问题可以欢迎大家一起讨论和纠正!

2025-04-11 15:10:26 3113

原创 RabbitMQ初级篇:生产者与消费者关系、消息确认机制(ACK)、交换器与队列进行消息路由和存储

RabbitMQ中的消息确认机制,即ACK(Acknowledgement),是为了确保消息成功地从生产者传递到消费者。消费者处理完一个消息后,需要向RabbitMQ服务器发送一个ACK信号,告知服务器该消息已收到且处理完毕,允许服务器删除这个消息。如果在消费者处理消息过程中发生异常或宕机,由于已经发送了ACK信号,服务器将认为消息已被处理,从而导致消息丢失。生产者将消息发送到交换器,交换器根据消息的路由键将其放入相应的队列中,最后消费者从队列中获取并处理这些消息。,并为消费者准备好消息以进行消息消费。

2023-05-10 16:08:24 3002 2

原创 RabbitMQ初级篇:入门指南

在这篇初级篇博客中,我们简要介绍了RabbitMQ的基本概念,安装配置过程以及入门级的应用实例。在接下来的高级篇博客中,我们将深入探讨RabbitMQ的高级特性、集群与高可用性等内容。RabbitMQ是一款广泛使用的开源消息队列系统,它具有强大的生产者与消费者的消息处理能力。RabbitMQ是一个基于AMQP协议的高性能、可靠、可扩展的消息队列服务器。为了让你快速上手RabbitMQ,我们将通过一个简单的例子来介绍生产者、消费者和队列的概念。:生产者将消息发送到交换器,交换器负责将消息路由到相应的队列。

2023-05-05 10:15:32 182 2

空空如也

空空如也

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

TA关注的人

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