自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Web开发基础学习——理解React组件中的根节点

在 React 应用中,根节点(Root Node)是指 React 组件树的起始点,也是 React 应用挂载到 DOM 的位置。根节点通常是一个 HTML 元素,React 应用会将其组件树渲染到这个元素中。因为React应用不能单独存在,必须找到一个入口点,挂载上去,才能生长,渲染。所以有根节点的概念。根节点:是 React 应用的起始点,也是 React 应用挂载到 DOM 的位置。通常是一个 HTML 元素,如 div,具有特定的 id。

2024-12-01 11:36:48 667

原创 Web开发基础学习——HTML中id 和 class 标识和选择元素的属性的理解

这是一个头部

2024-12-01 10:11:54 1079

原创 Web开发基础学习——HTML中\<div>元素的理解

div> 元素定义: 是一个块级元素,用于将内容分组或容器化。它没有特定的语义含义,通常用于布局和样式目的。全称: 是 “division” 的缩写,表示一个分区或部分。用途: 元素通常用于创建页面布局、包裹其他元素、应用 CSS 样式或 JavaScript 行为。 元素 是一个块级元素,用于将内容分组或容器化。它没有特定的语义含义,通常用于布局和样式目的。元素通常用于创建页面布局、包裹其他元素、应用 CSS 样式或 JavaScript 行为。

2024-12-01 09:50:01 764

原创 Web开发基础学习——通过React示例学习模态对话框

模态对话框(Modal Dialog)是一种用户界面元素,它在当前窗口上显示一个对话框,要求用户与之交互后才能返回到主界面。模态对话框通常用于获取用户输入、显示重要信息或确认用户操作。它会阻止用户与主界面进行交互,直到对话框被关闭。特点阻止交互:在模态对话框打开时,用户无法与主界面的其他部分进行交互。集中注意力:模态对话框通常用于需要用户集中注意力的操作,如表单填写、确认删除等。覆盖主界面:模态对话框通常会覆盖主界面的部分或全部内容,通常带有半透明的背景遮罩。

2024-11-30 22:10:05 964

原创 Web开发基础学习——HTML, CSS, JavaScript 的区别和联系

对于没做过网页开发的人员来说,这三个概念是比较基础的概念,同时也是比较容易混淆,今天就来扒一扒这三部分之前的区别和联系。HTML (超文本标记语言):HTML 是用于创建网页内容的标记语言。它提供网页的基本结构,包括文本、图像、链接等元素。CSS (层叠样式表):CSS 是一种样式表语言,用于描述 HTML 文档的外观和格式。它控制网页的布局、颜色、字体等视觉效果。JavaScript 是一种编程语言,用于为网页添加交互性和动态效果。

2024-11-30 20:26:22 1126

原创 Web开发基础学习——axios的理解

Axios 是一个基于 Promise 的 HTTP 客户端,用于在浏览器和 Node.js 中发送 HTTP 请求。它提供了简单的 API 来处理 HTTP 请求和响应,并支持拦截器、取消请求、自动转换 JSON 数据等功能。当前端使用 axios 向后端发送跨域请求时,后端需要正确配置 CORS 以允许这些请求。corsheaders 就是用于在 Django 后端配置 CORS 的工具。Axios 是一个功能强大的 HTTP 客户端,提供了简洁的 API 和丰富的功能,适用于各种前端和后端应用程序。

2024-11-29 22:31:04 501

原创 【Web开发基础学习——corsheaders 应用的理解】

corsheaders 是一个 Django 第三方应用,用于处理跨域资源共享 (CORS)。CORS 是一种机制,它使用额外的 HTTP 头来告诉浏览器允许来自其他域的 Web 应用访问本域的资源。corsheaders 用于处理 Django 项目的跨域资源共享 (CORS) 配置,确保前端应用可以从不同的域名访问 Django 后端的资源。通过在 settings.py 中进行适当的配置,可以控制哪些域名和请求类型被允许。

2024-11-29 22:22:27 625

原创 Web开发基础学习——HTTP的理解

HTTP(HyperText Transfer Protocol,超文本传输协议)是用于在 Web 上传输数据的协议。它是客户端(如浏览器)和服务器之间通信的基础。HTTP 定义了一组请求方法和状态码,用于表示不同的操作和响应。HTTP 是 Web 上数据传输的基础协议,通过定义请求方法、状态码和报文格式,实现客户端和服务器之间的通信。

2024-11-29 22:07:40 978

原创 【C++基础知识——C++ 头文件中能用std::cout输出信息吗?】

虽然技术上可以在头文件中使用 std::cout,但这不是一种推荐的做法。为了保持代码的清晰性和可维护性,最好将输出逻辑放在源文件中。

2024-10-15 17:29:25 736

原创 【C++基础知识——std::get_if和std:visit的区别】

std::visit 和 std::get_if 都是用于处理 std::variant 类型的工具,但它们的使用方式和适用场景有所不同。在这个示例中,std::visit 使代码结构更清晰,并且可以更容易地扩展以处理 std::variant 中的其他类型。

2024-10-13 19:53:39 975

原创 【C++基础知识——std::get_if 的入参是指针而非引用】

在 C++ 中,std::get_if 的入参是一个指向 std::variant 中可能存储的类型的。如果 std::variant 中存储的是类型 T,则返回指向该值的指针。如果不存储该类型,则返回 nullptr。

2024-10-12 15:42:19 471

原创 【C++基础知识——`std::get_if`其实就是`std::holds_alternatvie`和`std::get`的结合】

`std::get_if`其实就是`std::holds_alternatvie`和`std::get`的结合。

2024-10-11 15:18:58 857

原创 【C++基础知识——std::get配合std::holds_alternative从`std::variant` 中提取存储的值】

std::get是一个强大且灵活的函数,允许开发者安全地从中提取存储的值。正确使用std::get可以增强代码的安全性和可读性。

2024-10-10 14:52:27 684

原创 c++基本介绍——std::holds_alternative()的基本介绍

std::holds_alternative 是一个方便的工具,允许开发者在访问 std::variant 中的值之前,安全地检查其类型,增强代码的健壮性和可读性。

2024-10-09 19:04:35 1020

原创 【Go语言开发——goterm创建的终端应用程序的交互之excutor基本介绍】

executor 函数在用户输入命令并按下回车键时执行。它负责处理用户输入的命令,包括日志记录、模式切换、退出命令等。终端应用程序的主循环通过调用 executor 函数来处理用户输入。

2024-10-01 13:36:33 528

原创 【Go语言开发——终端应用程序是什么】

终端应用程序是一种在命令行界面(CLI)中运行的程序,用户通过输入命令与其交互。我们平常大部分的软件都是图形用户界面应用程序。与图形用户界面(GUI)应用程序不同,终端应用程序主要依赖于文本输入和输出。它们通常用于系统管理、开发、自动化任务和其他需要直接与操作系统交互的场景。说白了,终端应用程序就是用命令行交互的应用程序。

2024-09-30 13:15:28 681

原创 【Go语言基础——一个Go语言项目典型的文件结构示例】

根据项目的复杂性和需求,文件结构可能会有所不同,但遵循这些最佳实践有助于提高项目的可维护性和可扩展性。

2024-09-29 14:56:54 999

原创 【WSL安装后,如何互相访问文件系统】

HWOrder 也自动更改为相同的值。关闭注册表编辑器,然后就可以访问 Linux 树了。磁盘映射也可以展开了。WSL的一个优点就是可以可以直接访问 Windows 文件系统,反之亦然,方便文件共享和操作。WSL 可以直接访问 Windows 文件系统,Windows 驱动器会挂载在。,D 盘的路径为 /mnt/d。访问 Windows 文件系统。这时候两种方法都是失效的。例如,C 盘的路径为。

2024-09-28 13:32:55 1484

原创 【C++基础知识——如何判断是注入依赖还是赋值?】

至于怎么判断是依赖注入还是直接赋值,就看二者是不是同一个类型,如果是就是赋值,如果不是大概率就是注入依赖了。

2024-09-27 22:26:11 323

原创 【Win11中怎么安装WSL及问题解决】

如果是因为根证书导致wsl --install 命令失败,那么即使手动安装ubuntu还是会出现证书问题。所以根证书问题都是要解决的。

2024-09-26 19:48:28 1767

原创 【WSL——Windows 上使用 Linux 环境】

WSL 为开发者和用户提供了一种方便的方式在 Windows 上使用 Linux 环境,适合进行开发、测试和日常使用。如果你需要在 Windows 中使用 Linux 工具或开发 Linux 应用,WSL 是一个非常好的选择。

2024-09-26 19:13:35 551

原创 【C++基本知识——迭代器详解】

迭代器是 C++ STL 的核心概念之一,它为容器提供了灵活、高效的元素访问方式。理解迭代器的不同类型及其用法是掌握 C++ STL 的关键。

2024-09-25 18:15:47 414

原创 【C++基础知识——迭代器 引入】

it 是一个迭代器,不是引用也不是拷贝。通过迭代器 it 修改容器中的元素是有效的,修改会反映在原始容器。

2024-09-24 21:14:44 740

原创 【C++基础——explicit关键字防止编译器进行隐式转换或复制初始化】

在 C++ 中, explicit 关键字用于修饰构造函数或转换运算符,以防止编译器进行隐式转换或复制初始化。它的主要目的是避免意外的类型转换,从而提高代码的安全性和可读性。explicit 关键字用于修饰构造函数或转换运算符,以防止编译器进行隐式转换或复制初始化。它的主要目的是提高代码的安全性和可读性,避免意外的类型转换。

2024-09-23 17:08:31 297

原创 【C++基础知识——std::visit函数理解】

std::visit通常用于访问 std::variant 类型的对象。std::variant 是 C++17 引入的一种类型安全的联合体,可以存储多个类型中的一个。visit 函数允许你通过一个访问者(visitor)来访问 std::variant 中存储的值,而不需要显式地检查存储的类型。

2024-09-22 14:40:52 1051

原创 【C++基础知识——GoogleTest框架的Setup方法】

工作中在写UT的时候,发现在具体的测试用例中,并没有显式化调用Setup()方法进行测试对象实例化。一开始以为写错了,发现依然能够正常运行。测试用例中,sut 已经在 SetUp 方法中被实例化为一个有效的 Task 对象,因此可以直接调用 sut 的 process_event 方法。在这段代码中,sut 实际上是已经实例化的。所以在 Google Test 框架中,每个测试用例在运行之前都会调用 SetUp 方法。在测试用例中,sut并没有通过构造函数,或者调用Setup()函数进行实例化。

2024-09-21 15:48:32 1206

原创 【c++基础知识——const关键字修饰的几种类型】

const 关键字可以修饰变量、引用和指针。它的作用是使被修饰的对象在其生命周期内不可修改。

2024-09-20 16:37:44 444

原创 【c++基础概念——命名空间 using namespace】

using 语句的作用域从它声明的地方开始,到当前作用域的结束。因此,如果在大括号内,但出现在 using 语句之前的代码行中,using 语句不会生效。在 using 语句之前的代码行中,不能直接使用 using 语句定义的类型别名。

2024-09-19 20:14:50 934

原创 【c++基础知识——&引用的深度理解】

除此之外,当函数的形参是一个const修饰的引用的时候,意思是在该函数内,不会通过这个引用修改值。所以实参是不是const修饰的引用,是不是const修饰的变量,都没有关系。这样做的好处是函数内部对参数的修改不会影响原始变量,但缺点是对于大对象来说,拷贝操作会带来性能开销。当按引用传递参数时,函数接收的是参数的引用,而不是副本。这样做的好处是避免了拷贝操作,提高了性能,但函数内部对参数的修改会影响原始变量。对于一个函数来说,传值和传引用,在函数功能上没有区别,但在性能和副作用方面有显著差异。

2024-09-19 19:56:40 355

原创 【加密算法基础——AES加密CBC模式和CFB模式的差异分析】

CFB 模式对密钥的完整性要求更高,截断会导致解密失败。CBC 模式可能在某些情况下仍能产生可读输出,但这并不是安全的做法,避免截断密钥是最佳实践。

2024-09-18 18:21:27 1454

原创 【加密算法基础——AES CBC模式代码解密实践】

CBC 模式可能在某些情况下仍能产生可读输出,但这并不是安全的做法,避免截断密钥是最佳实践。

2024-09-17 14:39:01 1084

原创 【加密算法基础——AES解密实践】

通过以上步骤,你可以使用 OpenSSL 实现 AES 解密。确保密钥和 IV 的安全性,以保护你的加密数据。

2024-09-16 13:59:37 1707

原创 【加密算法基础——AES加密简介】

AES 是一种强大且灵活的加密标准,适用于各种数据保护需求。由于其安全性和效率,AES 已成为工业界和政府机构的加密标准。

2024-09-16 13:57:09 1294

原创 【加密算法基础——RSA加密特点分析及解密方式】

总之,只要保证密文和密钥是正确的,一般用脚本去逐个尝试填充方式去解密是没有问题的。但是一定要注意,Base64编码出现的字符串到底是先以base64的格式解,还是直接用uft-8的方式解,这直接关系到是否能解开密文。所以要知道加密者是怎么编码的。

2024-09-15 22:36:53 2852

原创 【加密算法基础——RSA 加密】

RSA(Rivest-Shamir-Adleman)加密是非对称加密,一种广泛使用的公钥加密算法,主要用于安全数据传输。公钥用于加密,私钥用于解密。

2024-09-15 20:51:37 4171

原创 【加密算法基础——对称加密和非对称加密】

特点对称加密非对称加密密钥共享同一密钥公钥和私钥成对使用速度较快较慢安全性密钥共享风险公钥可公开,私钥保密复杂性算法简单算法复杂应用场景大量数据加密传输密钥、数字签名对称加密和非对称加密各有优缺点,通常在实际应用中,会将两者结合使用。例如,可以使用非对称加密来安全地传输对称加密密钥,然后使用对称加密来加密实际的数据。这种混合使用的方法能够兼顾安全性和性能。只需要记住:一般应用中可以用非对称加密来加密对称加密的密钥。因为密钥一般比较小。常见的非对称加密是RSA,对称加密是AES。

2024-09-15 20:43:09 552

原创 【C++基础概念理解——类的继承和嵌套】

定义的枚举类型是强作用域的。这意味着枚举成员不会自动提升到外部作用域,必须通过枚举类型名称进行访问。提供了更强的类型安全性。枚举值不会隐式转换为整数或其他类型,必须显式转换。这可以防止意外的类型错误。这两种情况可以同时存在,因为它们在不同的作用域中。),从而控制枚举的存储大小。在 C++ 中,类的继承和嵌套类的定义是两种不同的概念。在例子中,State 的底层类型被指定为。,这意味着每个枚举值将占用 1 个字节。类的一个成员类,它的作用域被限制在。它们的定义和用途是独立的。的类,另一个是嵌套在。

2024-09-14 18:08:19 565

原创 【C++基础概念理解——std::invoke()函数基础知识】

是C++17引入的一个标准库函数,用于通用地调用可调用对象(如函数指针、成员函数指针、函数对象、lambda 表达式等)。它提供了一种统一的方式来调用这些可调用对象,而不需要关心它们的具体类型。提供了一种统一的方式来调用各种类型的可调用对象,使得代码更加简洁和通用。用于调用传入的 lambda 函数或其他可调用对象,并将当前对象的值作为参数传递给它。

2024-09-13 10:30:38 710

原创 【C++基础概念理解——函数对象的本质是什么?】

【C++基础概念理解——什么是函数对象】那么函数对象的本质是什么呢?显式实例化:在手动调用函数对象时,需要显式地实例化它们。隐式实例化:在使用某些框架或库时,函数对象的实例化通常是隐式的,框架会在运行时自动实例化和调用它们。在状态机框架中,函数对象通常是隐式实例化的,框架会在状态转换时自动处理这些实例化和调用。

2024-09-12 18:28:13 402

原创 【C++基础概念理解——什么是函数对象】

函数对象(Function Object),也称为仿函数(Functor),是一个定义了operator()的类或结构体实例。函数对象可以像普通函数一样被调用,但它们可以包含状态和行为。这使得函数对象在某些情况下比普通函数更加灵活和强大。定义一个函数对象#include // 定义一个函数对象类public:// 定义 operator(),使得这个类的实例可以像函数一样被调用使用函数对象int main() {// 实例化函数对象// 像调用函数一样调用函数对象。

2024-09-11 20:37:13 390

空空如也

空空如也

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

TA关注的人

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