自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 我们先来理解下 Git 工作区、暂存区和版本库概念

下面这个图展示了工作区、版本库中的暂存区和版本库之间的关系:图中左侧为工作区,右侧为版本库。在版本库中标记为 "index" 的区域是暂存区(stage/index),标记为 "master" 的是 master 分支所代表的目录树。图中我们可以看出此时 "HEAD" 实际是指向 master 分支的一个"游标"。所以图示的命令中出现 HEAD 的地方可以用 master 来替换。

2026-01-16 02:10:51 572

原创 Linux 忘记密码解决方法【1】

很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可。

2026-01-16 02:01:58 608

原创 SQL 用于各种数据库的数据类型【1】

Microsoft Access、MySQL 和 SQL Server 所使用的数据类型和范围。

2026-01-16 01:53:08 926

原创 Go 语言正则表达式【1】

正则表达式(Regular Expression,简称 regex 或 regexp)是一种用于匹配字符串的强大工具。正则表达式通过定义一种模式(pattern),可以快速搜索、替换或提取符合该模式的字符串,详细可以参见。在 Go 语言中,正则表达式通过regexp包来实现。

2026-01-16 01:46:02 864

原创 Go 语言基础语法【1】

上一章节我们已经了解了 Go 语言的基本组成结构,本章节我们将学习 Go 语言的基础语法。

2026-01-16 01:26:15 596

原创 教你快速理解C++中的运算符重载【1】

例如,我们可以在String之类的类中重载运算符'+',以便仅使用+就可以连接两个字符串。算术运算符可能会重载的其他示例类是复数,小数,大整数等。操作员功能与普通功能相同。唯一的区别是,运算符的名称始终是运算符关键字,后跟运算符的符号,并且在使用相应的运算符时会调用运算符功能。在C ++中,我们可以使运算符为用户定义的类工作。4)任何可以用单个参数调用的构造函数都可以用作转换构造函数,这意味着它也可以用于隐式转换为正在构造的类。3) 转换运算符:我们还可以编写可用于将一种类型转换为另一种类型的转换运算符。

2026-01-16 00:45:17 643

原创 C++:模板的非推断语境与std::type_identity【1】

这里我们新添加了类型identity, 并利用typename identity<T>::type规避了模板的类型推断过程,从而让val的类型推断直接利用了test参数的类型推断结果,所以此时val的类型为long,模板类型推断也就不再出错了。通过分析源代码之中函数实参的类型,进一步推断出调用的函数参数的类型,从而自动生成对应的函数,来达到精简代码逻辑的效果。正是因为这样,在add函数进行模板推导的过程之中,两个参数test与val同时参与了模板类型的推导,导致出现了上述的问题。而所谓非推断语境呢?

2026-01-16 00:34:22 652

原创 C++ 多线程编程基础与线程池实战【1】

本文从 C++ 多线程基础出发,介绍了线程创建、同步机制、原子变量、条件变量等关键技术,并实战构建了一个简洁实用的线程池类,具备任务提交、异步结果获取、资源安全释放等完整特性。线程池是服务器开发、高性能任务调度、并发任务管理中不可或缺的利器。通过本文的讲解,你可以在项目中灵活应用并扩展更复杂的线程池模型,提升系统的并发处理能力。

2026-01-15 04:15:46 777

原创 深入探索 C++:现代特性、工程实践与性能优化全解

C++ 是一门具有悠久历史的编程语言,自 1983 年由 Bjarne Stroustrup 开发以来,便以其高性能、面向对象与底层操作能力在系统开发、图形引擎、金融高频交易、嵌入式系统等领域广泛应用。特别是在 C++11、C++14、C++17、C++20 乃至 C++23 之后,现代 C++ 逐步引入了智能指针、Lambda 表达式、并发编程、模块化等大量提升生产力的新特性,使其兼具效率与现代化。本文将从以下几个角度全面剖析现代 C++:C++ 的核心语言特性解析。

2026-01-15 03:43:52 910

原创 C# 不安全代码

运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。本章将逐一介绍算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和其他运算符。

2026-01-15 03:26:08 74

原创 Python3 数据类型转换【1】

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,一般情况下你只需要将数据类型作为函数名即可。

2026-01-15 03:04:24 670

原创 CSS 图像拼合技术【1】

我们想使用拼合图像 ("img_navsprites.gif"),以创建一个导航列表。因为这是一个单一的图像,而不是6个单独的图像文件,当用户停留在图像上不会有延迟加载。有许多图像的网页可能需要很长的时间来加载和生成多个服务器的请求。这是使用图像拼合最简单的方法,现在我们使用链接和悬停效果。有了CSS,我们可以只显示我们需要的图像的一部分。使用图像拼合会降低服务器的请求数量,并节省带宽。现在,我们希望我们的导航列表中添加一个悬停效果。图像拼合就是单个图像的集合。

2026-01-15 02:55:35 928

原创 JavaScript 数据类型经济上的

我们在 Chrome 浏览器中可以通过按下 F12 按钮或者右击页面,选择来开启开发者工具。也可以在右上角菜单栏选择。

2026-01-15 02:45:38 702

原创 揭秘C++的树状数组深度解析:从原理到高效封装实践

树状数组通过精妙的二进制位运算设计,在动态数据维护领域展现出卓越的效率优势。从基础的单点更新到复杂的二维区间查询,从静态数据统计到动态流处理,其模块化封装与扩展能力为算法工程师提供了强大的工具。在实际工程中,结合具体场景选择树状数组或其变种结构,可在保证性能的同时显著降低开发复杂度,这种平衡艺术正是高级数据结构设计的精髓所在。

2026-01-15 02:23:08 782

原创 从入门到精通:C/C++调试器GDB/CGDB实战指南(2026版)

GDB/CGDB是C/C++开发者不可或缺的调试利器。从基础断点到逆向执行,从内存检测到多线程分析,掌握这些技巧能显著提升开发效率。结合2025年的实践案例,开发者可快速定位从简单逻辑错误到复杂并发问题的根源,真正实现“从入门到精通”。

2026-01-14 07:36:04 917

原创 C++ 变量作用域【1】

一般来说有三个地方可以定义变量:在函数或一个代码块内部声明的变量,称为。在函数参数的定义中声明的变量,称为。在所有函数外部声明的变量,称为。:在函数内部声明的变量具有局部作用域,它们只能在函数内部访问。局部变量在函数每次被调用时被创建,在函数执行完后被销毁。:在所有函数和代码块之外声明的变量具有全局作用域,它们可以被程序中的任何函数访问。全局变量在程序开始时被创建,在程序结束时被销毁。:在代码块内部声明的变量具有块作用域,它们只能在代码块内部访问。

2026-01-14 02:01:03 846

原创 Java语言提供了很多修饰符【123】

抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充。一个类不能同时被 abstract 和 final 修饰。如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误。抽象类可以包含抽象方法和非抽象方法。

2026-01-14 01:31:53 626

原创 Java 提供了多种列表实现决斗卡卡思考

Java 提供了丰富的数据结构来处理和组织数据。Java 的 java.util 包中提供了许多这些数据结构的实现,可以根据需要选择合适的类。

2026-01-14 01:00:35 818

原创 Java 提供了丰富的数据结构来处理和组织数据【33】

Java 的 java.util 包中提供了许多这些数据结构的实现,可以根据需要选择合适的类。

2026-01-14 00:49:24 698

原创 Java 数据结构黑暗时代看

Java 提供了丰富的数据结构来处理和组织数据。Java 的 java.util 包中提供了许多这些数据结构的实现,可以根据需要选择合适的类。

2026-01-14 00:39:38 883

原创 深入理解与实战SQL IFNULL()函数

在数据库操作中,处理空值(NULL)是一项常见的任务。SQL的IFNULL()函数为开发者提供了一种优雅且实用的方法来应对这种情况。本文将详细介绍SQL IFNULL()函数的概念、用法和实际应用案例,帮助您更好地理解和运用它。IFNULL()函数是SQL中的一个条件判断函数,主要用于处理查询结果可能出现的NULL值问题。当某个字段或表达式的值为NULL时,IFNULL()会返回指定的替代值,否则返回原字段或表达式的实际值。

2025-03-02 22:20:16 1136

原创 如何将Vue项目部署至 nginx

Nginx是一款开源的高性能HTTP服务器和反向代理服务器,同时也可以用作邮件代理和负载均衡器。它由Igor Sysoev于2002年开发,最初的设计目标是处理高并发连接,特别适合静态内容的服务。主要特点:高性能:Nginx能够高效处理数万并发连接,适合高流量网站。反向代理:可以将请求分发到多个后端服务器,提高负载均衡能力。静态文件服务:对静态文件(如图片、CSS、JavaScript)提供快速响应。模块化架构:支持多种模块,用户可以根据需求扩展功能。灵活的配置。

2025-03-02 21:01:06 1061

原创 前后端分离项目部署到云服务器、宝塔(前端vue、后端springboot)详细教程

部署的环境是宝塔(宝塔9.0.0)、阿里云服务器(centos 7.6);前端是Vue3项目、后端是springboot3x、jdk11、数据库有redis、mysql;搜索采用的是es。由于宝塔面板中可以快速进行环境的配置,所以使用宝塔进行网站的部署。如果宝塔中的环境,不是自己想要的。下面有jdk和es的部署教程。Linux(云服务器)安装jdk教程-CSDN博客Linux系统安装es详细教程-CSDN博客。

2025-03-02 19:22:30 2039

原创 一文速览Llama 3.1——对其92页paper的全面细致解读:涵盖语言、视觉、语音的架构、原理

按我原本的计划,我是依次写这些文章:解读mamba2、解读open-television、我司7方面review微调gemma2,再接下来是TTT、nature审稿微调、序列并行、Flash Attention3…然TTT还没写完,7.23日,Meta突然发布了llama3.1…其实,llama3 刚出来时,其长度只有8K对于包括我司在内的大模型开发者是个小小的缺憾,而此次Meta发布llama3.1的意义在于很明显,随着llama的影响力越来越大,Meta想让llama类似Linux一样(

2025-03-01 15:32:54 913

原创 【Python学习】网络爬虫-爬取豆瓣电影评论

本实例实现了庆余年的豆瓣电影评论爬取,使用了requests、bs4模块。requests:是一个常用的 HTTP 请求库,可以方便地向网站发送 HTTP 请求,并获取响应结果。requests 模块比urllib模块更简洁。bs4:全名,是编写 python 爬虫常用库之一,主要用来解析 html 标签。

2025-02-28 23:32:53 1874

原创 【HTML+CSS】使用HTML与后端技术连接数据库

HTML负责构建网页的骨架,提供用户交互的表单等元素。用户通过表单输入数据,并通过表单的提交(submit)事件将数据发送到后端。

2025-02-28 14:31:54 875

原创 SQLModel入门

SQLModel是一个现代化的 Python 库,旨在简化与数据库的交互。它结合了Pydantic和SQLAlchemy的优势,使得定义数据模型、进行数据验证和与数据库交互变得更加直观和高效。SQLModel 由(FastAPI 的创始人)开发,专为与 FastAPI 框架无缝集成而设计。使用SQLModel定义数据模型时,通常会继承自SQLModel并使用table=True参数指示这是一个数据库表。使用 SQLAlchemy 的强大查询功能,执行复杂的数据库操作。

2025-02-28 12:52:04 917

原创 SpringBoot(7)-Swagger

1、我们可以给一些比较难理解的属性或接口,增加注释信息2、接口文档实时更新3、可以在线测试。

2025-02-28 11:09:04 336

原创 springboot 异步操作

future.get()` 和 `future.join()` 都是用于处理并发编程中异步任务的结果,但它们属于不同的编程框架或库,并且具有不同的用途和行为。- **库**: Java 的 `Thread` 类或 Kotlin 的协程(`join()` 在 Kotlin 协程中表现为 `await()`)。- 在 Java 中,`thread.join()` 会使当前线程(调用 `join()` 的线程)等待,直到目标线程终止。- `join()` 是 Java 线程的方法,用于等待一个线程完成。

2025-02-27 14:14:35 949

原创 spring boot 项目打印sql日志和结果,使用logback或配置文件

在 Spring Boot 项目中使用 MyBatis 或 MyBatis-Plus 作为持久化框架时,你可以通过配置 Logback 来打印 SQL 日志及其结果。

2025-02-27 12:51:30 1532

原创 RabbitMQ高级特性----生产者确认机制

题记:在Java微服务开发中,对于一个功能需要调用另一个服务下的功能才能实现的情况,我们通常会使用异步调用取代同步调用,进而实现增强业务的可拓展性和实现故障隔离以及流量削峰填谷的目的。而消息队列就是异步调用的解决方案之一。不过在使用消息队列实现异步调用的时候,可能会出现消息无法传递到位进而导致业务信息出现差异的情况,因此消息的传递的可靠性就显得尤为重要。

2025-02-27 11:29:33 1398

原创 MySQL配置my.ini文件

my.ini文件中存储了数据库的文件地址,数据库数据存储地址以及登录密码等基础信息。sc delete mysql(注意,这里的mysql是你的数据库服务名称,不知道怎么看的win+R后输入services.msc回车,就能在名称那一列找到你的mysql名称)显示成功后在管理(win+R回车后输入services.msc,回车)里看一下,如果数据库在管理中仍然存在,右键选择停止。数据库在管理中消失。我的mysql目录下不允许生成新文件,所以我在别的地方新建my.ini,编辑好后直接复制到存放的目录下。

2025-02-26 02:35:54 1139

原创 MySql-9.1.0安装详细教程(保姆级)

MySQL是一个流行的关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。MySQL以其体积小、速度快、总体拥有成本低的特点,成为中小型和大型网站开发的优选数据库系统。它使用标准的SQL语言进行数据操作,支持多线程和多种数据库连接途径,能够处理上千万条记录的大型数据库。

2025-02-26 01:16:02 5844

原创 Java面试八股文 - 掌握面试必备知识(目录篇)

了解Java面试的重要性和趋势,认识Java开发的就业前景。准备清晰简洁的自我介绍和项目介绍,突出自己的技能和项目经验。了解Redis的基本特点,如内存存储、键值对数据库等,以及为何在缓存和消息队列中广泛应用。了解MySQL数据库的基本特点和常用操作,包括数据库创建、表操作、数据插入和查询等。了解Spring框架的核心作用和优势,掌握IoC和AOP的基本概念。掌握Spring Boot的简介和特点,了解自动配置和快速开发的优势。了解微服务架构的定义和特点,掌握微服务与单体架构的对比。

2025-02-25 21:54:20 740

原创 Java学习进阶知识篇

Java面向对象编程的进阶知识在面向对象的世界里,世界万物即对象。对象分为两种一是静态对象(即属性),二是动态对象(方法、行为),比如一只鸟,静态对象就是指鸟的翅膀、重量、羽毛颜色等等,动态对象就是指鸟的飞行、走路、觅食、叫声等等类是一类事物的一个统称,对象是类实例化之后的一类,而整个类就是所有对象的统称、人类可以实例化出一个男人、女人;鸟类可以实例化出一个大雁、燕子、信鸽;图形类可以实例化出三角形、平行四边形、五角形。一个类抽象出来一个实体,然后通过这个实体来解决实际的问题。封装。

2025-02-24 23:00:33 819

原创 Java 常见的面试题(网络)

udp:协议就没有这种确认机制,这就是为什么说TCP协议可靠,UDP协议不可靠,提供这种可靠服务,会加大网络带宽的开销,因为“虚拟信道”是持续存在的,同时网络中还会出现大量的ACK和FIN包。**tcp:**是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。除非额外指定,否则这个响应也是可缓存的。**TCP粘包:**是指发送方发送的若干包数据到达接收方时粘成了一包,从接收缓冲区来看,后一包数据的头紧接着前一包数据的尾,出现粘包的原因是多方面的,可能是来自发送方,也可能是来自接收方。

2025-02-24 19:20:28 562

原创 网卡驱动架构以及源码分析

由于工作很忙,一直没有时间静下心来好好整理文档。文档的功夫不仅反映了一个人对相关知识的掌握,也可以发现不足之处,从而提高自己,增加自己的内功。希望从这篇开始,日积月累,成为一个优秀的程序员。本文的stmmac驱动以linux内核5.15为参考。stmmac驱动用于支持synopsys ip的系列网卡芯片,包括xgmac,以及gmac。xgmac对应的是10G网卡芯片,gmac对应的则是千兆网卡芯片。我将从三个方面进行网卡驱动的分析,分别是网卡驱动架构,link方式,以及收发包流程。

2025-02-23 06:28:18 1265

原创 怎么下载安装yarn

【代码】怎么下载安装yarn。

2025-02-23 04:43:09 360

原创 SQL 注入详解:原理、危害与防范措施

SQL注入是一种常见的安全漏洞,攻击者通过在应用程序中插入恶意的SQL代码,诱使数据库执行非授权的操作。这种攻击通常发生在应用程序没有正确过滤或转义用户输入的情况下,导致攻击者能够操控数据库查询,从而获取、修改或删除数据。SQL注入是一个严重的安全问题,开发者必须采取有效措施来预防。使用预编译语句、严格验证用户输入、遵循最小权限原则等都是防范SQL注入的有效手段。此外,定期的安全审查和测试也是保障应用安全的重要环节。通过这些措施,可以大大降低SQL注入的风险,保护应用程序和用户数据的安全。

2025-02-21 22:26:11 717

原创 Springboot的jak安装与配置教程

打开终端应用程序,可以通过Finder中的“应用程序” > “实用工具”找到。如果你不确定使用哪个shell,可以通过在终端输入。如果安装成功,它会显示安装的Java编译器版本。如果安装成功,它会显示安装的Java编译器版本。如果安装成功,它会显示安装的Java编译器版本。打开命令提示符(CMD),可以通过在搜索栏输入。对于nano编辑器,你可以按。对于nano编辑器,你可以按。如果安装成功,它会显示安装的Java版本。如果安装成功,它会显示安装的Java版本。如果安装成功,它会显示安装的Java版本。

2025-02-21 17:27:15 816

空空如也

空空如也

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

TA关注的人

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