自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ 标准库中的 stack 和 queue

特性stack(栈)queue(队列)数据原则LIFO (后进先出)FIFO (先进先出)核心操作push()pop()top()push()pop()front()back()访问元素只能访问栈顶 (top可以访问队首 (front) 和队尾 (back典型应用函数调用栈、表达式求值、撤销操作消息队列、CPU 任务调度、广度优先搜索stackstack和queue是 C++ 中两个简单而强大的容器适配器,它们通过限制对底层数据的访问方式,强制实现了特定的数据管理规则。

2025-10-27 13:22:37 999

原创 C++仿Muduo库Server服务器模块实现 基于Reactor模式的高性

本文实现了Server模块的核心组件,包括:线程安全的事件循环机制高效的连接接收和管理多线程支持完整的生命周期管理在下一篇文章中,我们将继续完善这个服务器模块,添加定时器、日志记录、HTTP协议支持等高级功能。

2025-10-27 12:53:52 611

原创 C++ 连接 Redis:redis-plus-plus 安装与使用入门指南- Redis++ 是一个现代 C++ 客户端库,为 Redis 提供了简单、高效、类型安全的接口。

Redis++ 是一个现代 C++ 客户端库,为 Redis 提供了简单、高效、类型安全的接口。

2025-10-26 17:59:02 865

原创 使用 RapidXML 实现 C++ 中的 XML 文件读取与生成,特别适合需要快速处理 XML 的场景

RapidXML 是一个轻量级、高性能的 C++ XML 解析器,特别适合需要快速处理 XML 的场景。下面我将展示如何使用 RapidXML 进行 XML 文件的读取和生成。

2025-10-26 17:56:54 564

原创 基于Reactor模式的高性能C++仿Muduo库:Server服务器模块实现

本文实现了Server模块的核心组件,包括:线程安全的事件循环机制高效的连接接收和管理多线程支持完整的生命周期管理在下一篇文章中,我们将继续完善这个服务器模块,添加定时器、日志记录、HTTP协议支持等高级功能。

2025-10-26 17:55:06 864

原创 用C++解决数独问题(附代码)-完整的C++数独解决方案,包含多种解题技巧

cout << "=== 测试用例 " << i + 1 << " ===" << endl;cout << "解决方案(使用候选数字法):" << endl;" << endl;cout << "解决方案(使用回溯法):" << endl;cout << "\n解决方案:" << endl;" << endl;cout << "数独棋盘:" << endl;cout << "数独棋盘:" << endl;cout << "原始题目:" << endl;cout << "原始数独题目:" << endl;

2025-10-26 00:13:24 603

原创 C++ 开发者必看:STL 库 + 字符编码一篇通

内部统一使用 UTF-8:在程序内部统一使用 UTF-8 编码尽早转换:在数据输入时立即转换为内部编码延迟转换:在输出时才转换为目标编码明确标注:在变量名或注释中明确编码类型通过合理运用 STL 库和正确的编码处理策略,你可以:✅ 彻底告别乱码问题✅ 编写跨平台的国际化应用✅ 避免重复造轮子,提高开发效率✅ 构建健壮的多语言应用程序在内部使用 UTF-8,在边界进行转换,这是处理字符编码问题的核心原则。

2025-10-26 00:08:37 801

原创 C++ 游戏开发示例:简单的贪吃蛇游戏

下面是一个使用C++和SFML库实现的简单贪吃蛇游戏。这个示例展示了游戏开发的基本概念,包括游戏循环、图形渲染、用户输入处理和游戏逻辑。cpp// 游戏常量// 方向枚举public:Snake() {// 初始化蛇身,从屏幕中央开始// 初始长度为4// 防止直接反向移动// 移动蛇身break;break;break;break;// 检查边界碰撞reset();return;// 检查自身碰撞reset();

2025-10-26 00:06:14 820

原创 华为OD机考:计算正方形数量(Python & C/C++ & JAVA & JS & GO)

这个方法利用了正方形的几何性质,通过枚举两个点并推导出可能的另外两个点,用哈希集合快速判断是否存在,从而统计正方形数量。最后除以 4 避免重复计数。

2025-10-25 23:18:17 334

原创 Windows编程+使用C++编写EXE加壳程序

PE文件格式:深入理解Windows可执行文件结构压缩算法:如zlib、LZMA等加密技术:对称加密(AES)、非对称加密等运行时加载:内存加载、导入表修复、重定位处理反逆向技术:反调试、代码混淆等这是一个复杂但非常有价值的技术领域,在软件保护中有着重要应用。建议从简单的壳开始,逐步增加复杂功能。注意:此类技术应仅用于合法目的,如软件保护和学习研究。

2025-10-25 23:16:54 842

原创 C++智能指针使用指南(auto_ptr, unique_ptr, shared_ptr, weak_ptr)

优先使用 unique_ptr默认选择,性能最好明确表达独占所有权需要共享所有权时使用 shared_ptr多个对象需要访问同一资源注意避免循环引用使用 weak_ptr 打破循环引用观察者模式缓存场景使用 make_shared 和 make_unique更安全,避免显式 new更好的性能(make_shared)避免使用 auto_ptr已被废弃,使用 unique_ptr 替代。

2025-10-25 23:15:00 535

原创 C++动态内存管理与智能指针详解C++的代码世界中

cppprivate:// 分配一大块内存// 将新块添加到空闲列表++i) {public:if (n!= 1) {// 回退到全局newif (!if (n!智能指针优先:让RAII成为你的第一选择明确所有权:清晰定义每个资源的所有者异常安全:确保代码在异常情况下仍然正确避免裸指针:用现代C++特性替代传统内存管理性能与安全的平衡:在需要时使用自定义内存管理。

2025-10-25 23:12:49 616

原创 C++ brpc Channel 管理封装方案

在 C++ 中使用 brpc 时,对 Channel 进行封装管理可以大大提高代码的可维护性和复用性。

2025-10-25 22:27:37 269

原创 【MySQL】环境变量配置

",主要指明操作系统的重要目录在哪里。那么配置MySQL的环境变量,就是在程序运行时,告诉操作系统你的MySQL目录位置。开始界面→【MySQL】鼠标右键→【更多】→【打开文件夹位置】→【MySQL】鼠标右键→【打开文件夹所在位置】→复制。【高级】→【环境变量】→双击【Path】→【新建】→粘贴刚刚复制的MySQL安装目录→【确定】→【确定】【此电脑】→【属性】→【高级系统设置】

2025-03-22 16:13:28 1533

原创 Window下Redis的安装和部署详细图文教程(Redis的安装和可视化工具的使用)

是Windows installer开发出来的程序安装文件,它可以让你安装,修改,卸载你所安装的程序。文中介绍了Windows中Redis的安装包mis和压缩包zip的安装教程,还有几个Redis常用的可视化插件,如。是用JAVA开发的,基于WEB方式对Redis管理,windows环境下载解压即可使用,里面有部署说明。如果出现连接不成功,注意服务打开以后,另启一个 cmd 窗口到Redis所在的目录执行命令,进行安装了,如果安装有杀毒软件可以会权限提示,全部允许即可,不要点错了。

2025-03-22 03:26:25 2863

原创 SQL Server 2008 R2 详细安装教程及错误解决教程

如果安装实例失败,但程序中也没有“Microsoft SQL Server 2008 R2”程序选项,可以通过下面第二种方法解决。选择卸载后会出现上图工具,然后选择修复,如果执行修复后提示修复失败,选择删除,然后按照文章的步骤进行全新安装。如果有遇到其他错误和问题,或者有解决方案,可以在评论区或者私信中进行留言,作者将对此文章进行持续补充和更新。如果已安装过SQL Server,需要向已安装的实例中添加新的功能,选择第二个选项。如果已有安装的实例,则需要选择命名实例,创建新的实例名称。

2025-03-22 01:50:02 2031

原创 SpringBoot核心框架之AOP详解

AspectOrientedProgramming(面向切面编程,面向方面编程),其实就是面向特定方法编程。场景:项目部分功能运行较慢,定位执行耗时较长的业务方法,此时就需要统计每一个业务的执行耗时。思路:给每个方法在开始前写一个开始计时的逻辑,在方法结束后写一个计时结束的逻辑,然后相减得到运行时间。获取方法运行开始时间运行原始方法获取方法运行结束时间,计算执行耗时原始方法就是我们需要计算时间的方法,并且可以对原始方法进行增强,其实这个技术就是用到了我们在Java基础部分学习的。

2025-03-22 00:12:45 820

原创 Spring 的三种注入方式?

由于构造方法注入和 set 方法注入可以混合使用,因此,如果需要强制注入,我们可以使用构造方法注入的方式;如果是可选注入,则我们可以使用 set 方法注入的方式。换言之,要是使用属性注入,那么你这个类就只能在 IOC 容器中使用,要是想自己 new 一下这个类的对象,那么相关的依赖无法完成注入。依赖不可变:这个好理解,通过构造方法注入依赖,在对象创建的时候就要注入依赖,一旦对象创建成功,以后就只能使用注入的依赖而无法修改了,这就是依赖不可变(通过 set 方法注入将来还能通过 set 方法修改)。

2025-03-10 22:58:35 1036

原创 Spring Boot 2.7.x 至 2.7.18 及更旧的版本,漏洞说明

在 Spring Framework 版本 5.3.0 至 5.3.38 及更早的不受支持版本中,如果应用程序评估了用户提供的 SpEL(Spring Expression Language)表达式,攻击者可以利用特制的表达式导致拒绝服务(DoS)攻击。

2025-03-10 16:59:25 1281

原创 Python毕业设计选题:基于django+vue的二手电子设备交易平台设计与开发

虽然我在前三年内学习过许多和计算机相关课程,从基础的Python语言到数据库语言等等,但都只是了解了这些课程的皮毛,对理论知识仅仅停留在书本上,对知识的掌握程度还不够深入,不能进行实际的编程设计开发,距离自己真正开发设计一款软件项目还是有一定的距离的,更别提应用到企业项目的设计开发中去了。首先对项目提出可行性分析,在分析完其经济,技术,操作方面的可行性之后,准备相应的计算机软硬件开发配置,然后对其进行具体的功能需求分析,设计好相应的数据库,接下来就是进行系统的详细设计了;进行详细的设计,实现主要功能。

2025-03-10 12:12:54 1232

原创 Nginx 请求转发配置指南

Nginx 是一款高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。本文档将介绍如何使用 Nginx 配置请求转发,并解释一些常用的配置参数。通过这份文档,技术同事可以了解如何配置 Nginx 进行请求转发,并能熟悉几个关键配置项的用途。以下是一个基本的 Nginx 请求转发配置示例,它会监听服务器的某个端口,并将请求转发到指定的目标服务器。在配置之前,确保你的系统已经安装了 Nginx。:指定要将请求转发到的后端服务器。:定义 Nginx 如何处理指定路径的请求。

2025-03-07 22:23:44 455

原创 MySQL中的CASE WHEN语句:用法、示例与解析

在SQL查询语句中,CASE语句是一个强大的条件表达式工具,它可以实现复杂的逻辑判断和计算,尤其是在MySQL数据库中。CASE WHEN结构允许开发者根据不同的条件执行不同的操作,类似于编程语言中的if-else语句。本文将详细介绍MySQL中CASE WHEN的两种基本用法及其实际应用。

2025-03-05 18:38:24 1044

原创 LLM Xinference 安装使用(支持CPU、Metal、CUDA推理和分布式部署)

等环境变量(启动时参数)

2025-03-05 17:15:05 1643

原创 Java进阶文件输入输出实操(图片拷贝)

把某个目录下的全部图片,全部拷贝到另外一个目录。

2025-03-05 15:18:24 372

原创 IDEA Docker插件远程连接Docker,并打包部署启动SpringBoot项目

注意:请务必在腾讯云控制台中开放 2375 端口,同时务必限制访问来源。如果不清楚这点,建议暂停后续操作,特别是如果是在阿里云公网机器上,容易受到攻击。若能显示 Docker 的基本信息,说明端口暴露成功。关于更安全地开启 Docker 远程访问,请参考 CA 认证的配置。Docker Image 方式主要用于在 IDEA 中操作远程服务器上的 Docker 镜像和监控容器信息。注意,写 Docker 镜像地址时,需要在镜像名称后面指定版本号。插件将服务器上的命令行操作可视化,简化了操作过程。

2025-03-05 00:46:06 2443

原创 30天拿下Rust之字符串

在Rust中,字符串是一种非常重要的数据类型,用于处理文本数据。Rust的字符串是以UTF-8编码的字节序列,主要有两种类型:&str和String。其中,&str是一个对字符数据的不可变引用,更像是对现有字符串数据的“视图”,而String则是一个独立、可变更的字符串实体。由于Rust强调安全性与内存管理,它的字符串设计也体现出了这一点:不可变的&str确保了引用安全,而String则通过所有权系统保证了内存的有效管理,避免了悬垂引用和其他常见的内存错误。

2025-03-04 22:28:01 728

原创 表的增删改查(MySQL)

CRUD : Create(创建), Retrieve(读取),Update(更新),Delete(删除)语法:案例:1.1.1 单行数据 + 全列插入1.1.2 多行数据 + 指定列插入1.1.3 插入否则更新由于 主键 或者 唯一键 对应的值已经存在而导致插入失败可以选择性的进行同步更新操作语法:1.1.4 替换1.2 Retrieve语法:案例:1.2.1 SELECT 列1.2.1.1 全 列 查 询1.2.1.2 指定列查询1.2.1.3 查询字段为表达式

2025-03-03 10:49:32 640

原创 打造专业级ChatGPT风格聊天界面:SpringBoot与Vue实现动态打字机效果,附完整前后端源码

Web开发的世界永远充满惊喜,不是吗?每当我们认为自己掌握了所有的技巧和工具,总会有新的技术出现,挑战我们的知识库。今天,我们要探讨的这项技术可能对一些人来说并不陌生,但对于其他人来说,则像是新发现的宝藏。没错,我在说的是Server-Sent Events(SSE)。你可能会问:“SSE是什么?”简单来说,SSE是一种让服务器实时向客户端发送更新的技术。但别误会,这不是另一个WebSockets。

2025-03-02 21:39:17 1024

原创 基于SpringBoot和Leaflet的全球机场空间分布可视化实战

时光轻轻挥别2024,来到了2025年。在崭新的2025年里,祝愿大家万事顺遂,心想事成,平平安安。不知道昨天的跨年夜,大家都是怎么过的呢。在当今这个信息爆炸的时代,数据可视化已经成为我们理解和分析复杂数据集的重要工具。特别是地理信息系统(GIS)和空间分析的应用,它们能够将抽象的数据转化为直观的地图和图表,使得信息的传达更加高效和直观。随着全球化的不断深入,航空运输作为连接世界各地的重要纽带,其数据的分析和可视化显得尤为重要。

2025-03-02 20:20:02 909

原创 使用 Nginx 轻松处理跨域请求(CORS)

CORS(Cross-Origin Resource Sharing)是一种 HTTP 头部机制,允许服务器声明哪些外部域(origin)可以访问其资源。由于安全原因,浏览器通常不允许跨域请求,但通过 CORS,服务器可以显式地允许某些域访问其资源。

2025-03-02 18:41:06 1054

原创 【大模型系列篇】Vanna-ai基于检索增强(RAG)的sql生成框架

在用户发起查询请求时,会先从向量数据库中检索出相关的建表语句、文档、SQL问答对放入到prompt里(DDL和文档作为上下文、SQL问答对作为few-shot样例),LLM根据prompt生成查询SQL并执行,框架会进一步将查询结果使用plotly可视化出来或用LLM生成后续问题。Vanna 可以使用和试验许多不同的LLM,以获得最准确的结果。可以是你的企业、应用、数据库相关的任何文档内容,只要有助于Vanna正确生成SQL即可,比如对你行业特有名词的解释、特殊指标的计算方式等。

2025-03-01 14:51:19 1456

原创 【SpringBoot整合系列】SpringBoot3.x整合Swagger

那么问题来了,随着代码的不断更新,开发人员在开发新的接口或者更新旧的接口后,由于开发任务的 繁重,往往文档很难持续跟着更新,Swagger 就是用来解决该问题的一款重要的工具,对使用接口的人 来说,开发人员不需要给他们提供文档,只要告诉他们一个 Swagger 地址,即可展示在线的 API 接口 文档,除此之外,调用接口的人员还可以在线测试接口数据,同样地,开发人员在开发接口时,同样也 可以利用 Swagger 在线接口文档测试接口数据,这给开发人员提供了便利。进行方法返回对象的说明。

2025-03-01 00:19:35 2844

原创 【MySQL】全面学习数据库查询技巧:查询指令深度学习指南

*前言:**本节内容讲述基本查询, 基本查询要分为两篇文章进行讲解。本篇文章主要讲解的是where子句、order by、limit查询。如果想要学习对应知识的可以观看哦。

2025-02-28 22:41:45 1078

原创 VScode 开发 Springboot 程序

创建成功之后,输入cd 项目名称 进入项目目录下,然后输入 code . 即可之间在VScode集成环境下,打开项目;在终端中输入 mvn spring-boot:run 启动 springboot 程序;输入 mvn archetype:generate。在浏览器中输入 localhost:8080。选择模板,一般默认选择为第 7 种方式;填写完之后在键盘上按y再回车即可;

2025-02-28 13:39:56 744

原创 Spring容器初始化扩展点:ApplicationContextInitializer

是 Spring 框架提供的一个接口,用于在 Spring 应用上下文(刷新之前对其进行自定义初始化。它允许开发者在上下文加载 Bean 定义之前,对上下文进行一些额外的配置或修改。在上下文刷新之前,可以通过动态注册自定义的 Bean 定义。@Override// 创建自定义的 BeanDefinition是 Spring 框架中一个强大的扩展点,允许开发者在上下文刷新之前对其进行自定义初始化。通过合理使用,可以实现动态配置环境隔离自定义 Bean 注册等功能,从而更好地满足复杂的业务需求。

2025-02-28 12:00:01 681

原创 springboot在线投票系统设计与实现 毕业设计-附源码05806

通过在线投票系统,可以实现投票过程的数字化、自动化,提高投票效率,减少人力资源成本,同时还可以确保投票过程的安全性和准确性,有效防止舞弊行为的发生。在线投票系统中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当租客用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到在线投票系统的首页中;随着互联网的迅速发展,人们对便捷、高效的民主参与方式的需求不断增加。

2025-02-28 10:16:01 960

原创 Spring Cloud和SpringBoot版本对应关系?思维导图 代码示例(java 架构)

Spring Cloud 和 Spring Boot 的版本之间存在一定的对应关系,因为 Spring Cloud 依赖于 Spring Boot 提供的基础功能。通常情况下,每个主要版本的 Spring Cloud 都是与特定版本范围的 Spring Boot 兼容的。以下是截至2024年12月的最新版本信息和一个简化的关系图。

2025-02-27 13:30:36 856

原创 Redis重大版本整理(Redis2.6-Redis7.0)

Redis借鉴了Linux操做系统对于版本号的命名规则:node 版本号第二位若是是奇数,则为非稳定版本(例如2.7、2.9、3.1),若是是偶数,则为稳定版本(例如2.6、2.8、3.0、3.2)。当前奇数版本就是下一个稳定版本的开发版本,例如2.9版本是3.0版本的开发版本,因此咱们在生产环境一般选取偶数版本的Redis。

2025-02-27 12:08:20 1097

原创 PLC(电力载波通信)网络机制介绍

电力载波通讯即PLC,是英文Power line Carrier的简称。电力载波是电力系统特有的通信方式,电力载波通讯是指利用现有电力线,通过载波方式将模拟或数字信号进行高速传输的技术。最大特点是不需要重新架设网络,只要有电线,就能进行数据传递。**相位:**CCO在所有相线上工作,STA只在一个相线上工作,不同相位具有不同的过零时间,CCO通过采集STA的过零时间确定STA的相位TDMA**:**时分多址传输,设备独占间隙,数据包根据指定时间进行发送CSMA/CA。

2025-02-27 10:45:34 1815

原创 Nginx中如何配置WebSocket代理?

通过上述配置,Nginx 可以作为 WebSocket 代理,将客户端的 WebSocket 连接转发到后端服务器。这些配置确保了 WebSocket 连接的正确性和稳定性。如果你有更具体的问题或需要进一步的技术细节,请随时告诉我。

2025-02-26 03:14:42 861

空空如也

空空如也

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

TA关注的人

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