自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

新华编程特战队

征途漫漫架构师之路,专注嵌入式平台软件系统开发技术分享(C、C++、项目管理、改进等)。

  • 博客(1056)
  • 资源 (335)
  • 收藏
  • 关注

原创 C库 —— <wchar.h>

通过使用这些函数和宏,程序员可以编写处理国际化文本的代码,支持各种字符编码,编写出更为可靠和高效的文本处理程序。库的各个功能和用法,并提供了实际应用示例和图表描述,帮助读者深入理解和掌握这些功能。在进行宽字符和多字节字符之间的转换时,必须正确使用相关函数并处理转换状态。头文件提供了一组函数和宏,用于处理宽字符和多字节字符。在上面的示例中,程序打开一个包含多字节字符的文件,并将文件内容读取为宽字符字符串进行处理。库还提供了一组函数,用于在多字节字符和宽字符之间进行转换。库定义了一些用于处理宽字符的类型和宏。

2024-05-26 05:15:00 269

原创 C库 —— <fenv.h>

引言在C语言编程中,浮点环境涉及到浮点运算的控制和状态。头文件提供了一组宏和函数,用于管理和操作浮点环境。掌握库的功能对于编写高效且可靠的浮点运算程序至关重要。本文将详细介绍库的各个方面,包括其功能、用法以及在实际编程中的应用。

2024-05-26 05:00:00 616

原创 C库 —— <locale.h>

区域设置是计算机程序在不同文化环境下工作的基础。它定义了程序如何处理字符、字符串、货币、日期和时间格式、数字格式等。本地化是指根据用户所在的地域或语言环境,调整程序的行为和显示方式。

2024-05-25 05:15:00 955

原创 C库 —— <errno.h>

库的各个功能和用法,并提供了实际应用示例和图表描述,帮助读者深入理解和掌握这些功能。变量、标准错误码和错误处理函数,程序员可以有效地检测和处理运行时错误,编写出更健壮和可靠的代码。头文件提供了一种标准的错误报告机制,通过定义错误码和相关宏来指示和处理运行时错误。在上面的示例中,尝试除以零会导致数学库设置相应的异常标志,程序检测并输出对应的错误消息。库的功能和用法,我们可以使用图表进行描述。在上面的示例中,尝试创建和连接套接字时可能会失败,程序根据。库的各个方面,包括其功能、用法以及在实际编程中的应用。

2024-05-25 05:00:00 1090

原创 C库 —— <stddef.h>

stddef.h>库定义了一些标准的类型,这些类型在C编程中广泛使用。size_t:表示对象大小的无符号整数类型。ptrdiff_t:表示两个指针之间差值的有符号整数类型。wchar_t:表示宽字符的类型。size_t库定义了一些标准的宏,这些宏在编写可移植的C代码时非常有用。NULL:表示空指针常量。offsetof:用于计算结构体成员相对于结构体起始位置的偏移量。NULL。

2024-05-24 18:54:50 754

原创 C库 —— <stdarg.h>

通过使用这些类型和宏,程序员可以编写灵活且通用的函数,支持接受不定数量和类型的参数。库的各个功能和用法,并提供了实际应用示例和图表描述,帮助读者深入理解和掌握这些功能。接受一个格式字符串和可变数量的参数,并将格式化后的消息打印到标准输出。可以接受格式字符串和可变数量的参数,并按指定格式打印消息。接受一个可变数量的字符串参数,并按指定的分隔符打印它们。接受一个可变数量的整数参数,并计算它们的总和。可以处理不同类型的参数,并计算它们的最大值。可以处理不同类型的参数,并计算它们的总和。

2024-05-24 18:40:03 471

原创 C库 —— <signal.h>

以下代码示例展示了如何发送和接收用户定义的SIGUSR1// 设置 SIGUSR1 信号的处理程序return 0;在上面的示例中,程序向自身发送SIGUSR1信号,触发函数并打印消息。

2024-05-23 05:15:00 1223

原创 C库 —— <assert.h>

库的功能和用法,并提供了实际应用示例和图表描述,帮助读者深入理解和掌握这些功能。它可以帮助程序员验证程序中的各种假设,并在这些假设失败时提供有用的调试信息。库是C标准库中的一个重要部分,它提供了一种简单而有效的机制来进行程序的运行时检查。实现,可以用于验证程序中的各种假设,从而帮助程序员在开发和调试过程中发现和纠正错误。宏可以帮助程序员验证程序中的各种假设,从而确保程序按预期运行。宏,程序员可以验证程序中的各种假设,确保程序按预期运行。库的各个方面,包括其功能、用法以及在实际编程中的应用。

2024-05-23 05:00:00 1382

原创 DBMS词汇表

键列构建的,这些列对于每条记录可能是唯一的,也可能不是唯一的。它是一组独特的值,用于定义可用于特定属性的值。- 顾名思义,此属性要求事务的每个部分都完全执行,即,对于成功的事务,事务中的所有操作要么一起成功,要么一起失败。它保证如果在交易过程中出现问题,则在失败之前所做的任何更改都不会记录在数据库中。,它简化了元素的插入、删除和搜索。中,即使不存在其他匹配记录,该表也会保留此类联接中的每个条目。移动到“中止状态”,并且由于仅对处于先前状态的本地缓冲区或主内存进行修改,因此这些更改将被擦除或回滚。

2024-05-22 05:15:00 1179

原创 DBMS 中的事务:DBMS 中的查询处理

SQL是一种高级语言,不仅使用户更容易根据自己的需要查询数据,而且还弥合了DBMS之间的沟通鸿沟,DBMS并不真正理解人类语言。尽管查询在最终执行之前会经历不同的过程,但与执行未经优化和验证的查询实际花费的时间相比,这些过程花费的时间非常少。这里需要注意的是,一旦上述任何一个阶段遇到错误,它们就会简单地抛出错误并返回,而无需进一步操作(因为警告不是致命的/终止的,警告不是这种情况)。这包括在文件系统的物理级别将高级查询转换为低级表达式,优化查询,并执行查询以获得实际结果。和正在使用的列的使用情况。

2024-05-22 05:00:00 1552

原创 DBMS 中的事务:DBMS 中的分布式数据库系统

在分布式数据库中,数据以分布式方式存储和处理,系统确保数据保持一致,即使出现网络故障或其他系统错误,用户也可以使用。分布式数据库的主要目标是为需要访问大量数据的应用程序提供高可用性、可伸缩性和性能。它就像一个数据库,由位于同一网络或完全不同网络上的不同计算机或站点中的两个或多个文件组成。分布式数据库中的每个节点都可以存储一部分数据,整个数据库由每个节点上存储的数据的总和组成。在本节中,我们将讨论分布式数据库管理系统中存储在不同站点的数据。注意:DB-1 在不同的站点上复制,创建相同数据的副本。

2024-05-21 05:15:00 809

原创 DBMS 中的事务:DBMS 中的并发控制

它使用聚合函数 SUM,该函数计算变量 add 中两个数据 DT1 和 DT2 的总和,但在两者之间,DT2 的值通过事务 B 从 2000 更改为 2500。事务 B 在其两个不同的读取操作中查找两个不同的 DT 值。DT1 的当前值为 1000,DT2 为 2000: 下表显示了 A 和 B 事务中的读/写操作。事务 A 从数据库数据库中删除数据 DT,然后事务 B 再次读取该值并发现一个错误,指出数据库数据库中不存在数据 DT。在幻像读取问题中,数据是通过同一事务中的两个不同的读取操作读取的。

2024-05-21 05:00:00 1489

原创 C库 —— <time.h>

通过使用这些时间类型、时间获取、时间操作和计算、时间格式化函数,程序员可以简化对时间的管理和操作,提高代码的可读性和可维护性。库的各个函数及其用法,并提供了实际应用示例和图表描述,帮助读者深入理解和掌握这些函数的使用。是一个用于表示时间的整型类型,通常用于存储自1970年1月1日(称为UNIX纪元)以来经过的秒数。库提供了一组用于处理日期和时间的函数,这些函数涵盖了时间获取、格式化、操作和计算等操作。是一个用于表示处理器时间的类型,通常用于测量程序的执行时间。库时,理解其提供的时间类型和结构是至关重要的。

2024-05-20 05:30:00 1194

原创 DBMS 中的事务:DBMS 中的死锁

数据库管理系统 (DBMS) 中的死锁是一种有问题的情况,其中两个或多个事务处于无限期等待中,等待彼此完成,但两者都不放弃必要的 CPU 和内存资源。这种僵局使系统停滞不前,因为任务仍未完成并永远等待。举例来说,考虑一个学生数据库:事务 1 锁定某些学生表记录,需要更新相应的成绩表条目。同时,事务 2 锁定不同的成绩表记录,需要更新已由事务 1 锁定的学生表。当事务 1 等待事务 2 解锁资源时,就会出现死锁困境,反之亦然,从而导致系统范围的停滞。

2024-05-20 05:15:00 1072

原创 DBMS 中的事务:DBMS 中的可恢复性

假设 Aarnav 有1010在他的账户和他的朋友 Jaanvi 中,他有11十万在她的账户中,需要22十万多买一台新的游戏笔记本电脑。如果事务形成一个级联,没有任何提交,如下所示,则称为级联可恢复计划。在这种类型的计划中,如果上一个事务失败,则需要中止以下事务并重新开始,因为数据中会出现不一致。因此,如果 Jaanvi 在收到 Aarnav 的钱后下订单,则可以被视为可收回的时间表,因为她可以选择是否下订单。因此,在无级联可恢复计划中,事务应仅在提交上一个计划后才从计划中的另一个事务读取数据。

2024-05-20 05:00:00 882

原创 C库 —— <stdlib.h>

通过使用这些程序控制、内存管理、数学计算、随机数生成、字符串转换和搜索排序函数,程序员可以简化对常见任务的处理,提高代码的可读性和可维护性。库是C标准库中的一个重要部分,它提供了一组通用的工具函数,用于执行各种常见的操作,如动态内存分配、程序终止、数学计算、随机数生成和字符串转换等。库的各个函数及其用法,并提供了实际应用示例和图表描述,帮助读者深入理解和掌握这些函数的使用。程序控制函数用于控制程序的执行流程,包括程序的正常终止和异常终止等操作。库的各个方面,包括其函数、用法以及在实际编程中的应用。

2024-05-19 16:34:12 729

原创 C库 —— <math.h>

通过使用这些算术运算、幂函数、指数函数、对数函数、三角函数和其他数学函数,程序员可以简化对数学计算的操作,提高代码的可读性和可维护性。库的各个函数及其用法,并提供了实际应用示例和图表描述,帮助读者深入理解和掌握这些函数的使用。库提供了一组用于数学计算的函数,这些函数涵盖了基本的算术运算、三角函数、指数函数、对数函数、幂函数和其他一些常用的数学操作。库的功能对于编写科学计算、工程计算和各种需要数学运算的程序来说是至关重要的。库的各个方面,包括其函数、用法及在实际编程中的应用。

2024-05-19 05:30:00 631

原创 DBMS 中的事务:DBMS 中的可序列化性

如果我们能在图中找到一个循环,那么这个计划是非冲突的可序列化的,否则它肯定是一个冲突的可序列化计划。它可以定义为由一组有向边 E = {E1, E2, E3, ..., En} 和一组顶点 V = {V1, V2, V3, ...,Vn} 组成的图形 G(V, E)。如果序列化图中存在循环,则计划是不可序列化的,因为该循环类似于一个事务依赖于另一个事务,反之亦然。另一方面,不冲突的可序列化计划可能是串行的,也可能不是串行的。简单来说,如果非串行计划和串行计划的结果相同,则非串行计划称为可序列化计划。

2024-05-19 05:15:00 715

原创 DBMS 中的事务:在 DBMS 中调度

为了防止级联回滚,它不允许事务从同一计划中的另一个事务读取未提交的更改。在非串行计划中,多个事务并发/同时执行,这与串行计划不同,在串行计划中,一个事务必须等待另一个事务才能完成其所有操作。其读取的所有事务都已提交之后才提交计划,则计划是可恢复的。在串行计划中,在当前正在运行的事务完成执行之前,事务不会开始执行。发事务时保留从一个事务到另一个事务的操作顺序的技术。它用于在每个单独的事务中保留操作的顺序。串行计划始终是可恢复的、级联的、严格的和一致的。一次只执行一个事务,另一个事务在已运行的事务完成时启动。

2024-05-19 05:00:00 913

原创 C库 —— <string.h>

库是C标准库中用于处理字符串和内存块的重要工具。通过使用这些字符串操作、字符操作和内存操作函数,程序员可以简化对字符串和内存的操作,提高代码的可读性和可维护性。库的各个函数及其用法,并提供了实际应用示例和图表描述,帮助读者深入理解和掌握这些函数的使用。库提供了一组用于处理字符串的函数。这些函数涵盖了字符串的复制、连接、比较、搜索以及长度计算等操作。库的功能可以极大地提高编写和处理字符串的效率。库的各个方面,包括其函数、用法以及在实际编程中的应用。我们已经在前面的部分介绍了这些函数,这里就不再重复。

2024-05-19 05:00:00 902

原创 C库 —— <ctype.h>

通过使用这些字符分类和转换函数,程序员可以简化对字符的操作,提高代码的可读性和可维护性。库的各个函数及其用法,并提供了实际应用示例和图表描述,帮助读者深入理解和掌握这些函数的使用。库,程序员可以轻松地检测字符类型(如字母、数字、空白字符等)并进行字符转换(如大小写转换)。库提供了一组用于处理字符的函数,这些函数主要用于字符分类和转换操作。库的各个函数,我们可以使用图表进行描述。库的各个方面,包括其函数、用法及在实际编程中的应用。字符转换函数用于将一个字符转换为另一个字符。

2024-05-18 21:17:50 505

原创 C库 —— <stdio.h>

库是C标准库中最基础和最重要的部分之一,提供了一组强大的函数用于处理输入输出操作。从标准输入输出函数到文件操作函数,从格式化输入输出函数到字符和字符串操作函数,再到错误处理函数,是最常用和最基本的库之一。它提供了一组函数,用于处理输入和输出操作,包括读取和写入字符、字符串、格式化输出和文件操作等。标准输入输出函数主要用于从标准输入(通常是键盘)读取数据和向标准输出(通常是屏幕)写入数据。函数是C11标准中引入的安全字符串读取函数,用于防止缓冲区溢出。函数是C语言中最常用的输出函数,用于格式化输出数据。

2024-05-18 05:30:00 706

原创 DBMS 中的事务:DBMS 中的 ACID 属性

事务是访问和更新数据库内容的逻辑工作单元。事务使用读取和写入操作来访问数据。State描述积极交易正在进行中。部分承诺操作已完成,但数据尚未保存。失败事务未通过数据库恢复系统检查。承诺成功完成,更改永久保存。中止事务未通过测试、回滚或中止。终止事务已终止,系统已准备好进行新事务。

2024-05-18 05:15:00 871

原创 DBMS 中的事务:什么是DBMS中的事务?

数据库管理系统 (DBMS) 中的事务是为修改数据(包括插入、更新或删除)而执行的一组操作。这些事务具有各种状态,指示其进度和所需的操作。即使在系统故障期间,它们也能确保数据一致性,这显示了DBMS的关键优势。重复执行的交易(如ATM取款)会生成多个实例,每个实例都通过特定属性维护数据库完整性。

2024-05-18 05:00:00 660

原创 C标准库基础

C标准库是C语言的重要组成部分,为程序员提供了丰富的函数和工具,用于处理各种常见的编程任务,如输入/输出、字符串处理、内存管理、数学计算等。本文将详细介绍C标准库的构成,并逐个探讨每个库的来源和发展历程。C标准库是C语言的基石,它提供了一组标准化的函数,使得程序员可以编写跨平台的代码。这些函数被分为多个库,每个库都包含特定类型的功能。这些库的规范和标准在不同的C语言标准(如C89/C90、C99、C11、C17、C23等)中逐步演变和扩展。C标准库由多个头文件组成,每个头文件定义了一组相关的函数、类型和宏。

2024-05-17 22:22:13 635

原创 C标准库的前世今生

从C语言的诞生到最新的C23标准,C标准库经历了多个重要的发展阶段。每一个版本的标准都在前一版本的基础上进行扩展和改进,以适应不断变化的编程需求和技术环境。C标准库不仅提供了丰富的函数和工具,使得C语言在系统编程和应用程序开发中得到了广泛应用,同时也通过标准化的方式,保证了程序的可移植性和兼容性。通过了解C标准库的前世今生,我们可以更好地理解C语言的演进过程,以及它在现代编程中的地位和作用。未来,随着技术的发展和编程需求的变化,C标准库也将继续演进和完善,为程序员提供更加强大和便捷的编程工具。

2024-05-17 22:13:45 924

原创 DBMS 中的索引

Bitmap 比 B-tress 具有优势,因为 Bitmap 对某些数据的检索速度更快(Bitmap 是根据特定数据制作的,因此检索速度更快)。众所周知,索引指向某个表或数据块,但有时数据本身是以某种方式分区的,因此我们也需要对索引表进行分区。我们可以使用主键创建多个索引表,例如基于年份的索引(分组年份)或基于模型名称的索引等。一本书的索引包含主题名称和页码,同样,数据库的索引表包含键及其相应的块地址。索引表的两列(即键值对)包含数据库表格数据的选定列的副本。有序索引是传统的存储方式,可提供快速检索。

2024-05-17 05:15:00 1340

原创 DBMS 中的归一化

因此,我们已将 表分解为 、 和 表,从而将其转换为 2NF。如您所见,上表满足 2NF 的以下两个规则,因为它们在 1NF 中,并且每个非素数属性都完全依赖于主键。因此,我们已将 表分解为 和 表,就像在 2NF 中一样,并且它们没有任何传递依赖项。

2024-05-17 05:00:00 1531

原创 DBMS 中的归一化:加入依赖关系

在上面的示例中,幸运的是,在两个步骤中执行自然连接后,我们确实得到了相同的表 R。. 在数据库管理系统中,连接依赖关系是多值依赖关系概念的概括。也就是说,上述三个关系的连接关系等于我们的初始关系表。依赖关系是一种约束。只有当且仅当有关关系是。因为上述关系是连接依赖的,所以它们不是。:如果关系具有连接依赖关系,则它不会在。什么是 DBMS 中的连接依赖项?连接依赖关系和第五范式 (5NF)因此,我们的连接依赖关系为。,当且仅当每个合法实例。是否具有连接依赖关系。上的连接依赖项指定了。为关系架构,并且𝑅1。

2024-05-16 05:15:00 1041

原创 DBMS 中的归一化:多值依赖关系

当表中的两个属性(B 和 C)独立依赖于第三个属性 (A) 时,就会发生这意味着 A 的值决定了 B 和 C 的多个值。这是一种复杂的关系,可能会影响数据库规范化和完整性。举例来说:一个人(A)可以有多个项目(B)和爱好(C)。在本例中,Project 和 Hobby 是多值属性。MVD 写成 A -->> B,表示 A 确定 B 的多个值。通常通过规范化处理 MVD 对于保持数据库一致性和效率至关重要。

2024-05-16 05:00:00 1562

原创 DBMS 中的归一化:DBMS 中的包含依赖关系

在数据库设计中,包含依赖性 (IND) 表示一种约束,其中一列或集中的值必须是另一列或集中值的子集。虽然 IND 不如函数式或联接依赖项常见,但以外键为例的 IND 会影响数据库结构。将是 teacher 表的主键,并且是 student 表的外键,则 teacher 表的属性将在 student 表中可用。当投影 R 的关键属性给出一个关系时,就会发生包含依赖性,该关系包含在通过投影 S 的关键属性获得的关系中。假设我们采用两个关系,即 R 和 S,它们是通过使用两个实体集创建的,其中 R 中的每个。

2024-05-15 05:15:00 443

原创 DBMS 中的归一化:DBMS中的分解

DBMS 中的分解涉及将一个表划分为多个表,旨在消除冗余、不一致和异常。此过程表示为 {X1, X2,......Xn},确保依赖保留和无损。当关系模型的关系缺乏适当的正态形式时,分解就变得必要,以解决信息丢失、异常和冗余等问题,最终提高数据库的整体设计质量和效率。分解有。

2024-05-15 05:00:00 1063

原创 DBMS 中的归一化:DBMS 中的功能依赖关系

成立,则将任意数量的属性追加到依赖关系的两端不会影响依赖关系。现在我们已经清楚了与功能依赖相关的术语,让我们讨论一下什么是功能依赖。如果右侧的属性是功能依赖关系左侧属性的子集,则称为功能依赖关系。依赖性间接依赖于传递功能依赖中的行列式。有时,功能依赖关系左侧的所有内容也称为。是一个非平凡的功能依赖关系,因为。什么是DBMS中的功能依赖关系?DBMS 中的非平凡功能依赖关系。也是一个非平凡的功能依赖关系。DBMS 中的功能依赖关系类型。DBMS 中的简单功能依赖关系。DBMS 中的传递功能依赖关系。

2024-05-14 05:15:00 952

原创 DBMS 中的数据模型:完整性约束

的规则,应用于表字段(列)或关系,以确保数据库表中存在的数据的整体有效性、完整性和一致性得到维护。包含一组特定的规则或条件,用于限制列在数据库表中可以保存的属性或值的种类。在上面的 employee 表中,我们可以看到 ID 列是主键,并且在最后一行中包含一个 null 值,该值违反了实体完整性约束。在上面的示例中,Dept_ID 充当 Employees 表中的外键和 Department 表中的主键。主键必须是唯一的,而不是 null,因此上述学生表的“滚动否”列中不允许重复值。

2024-05-14 05:00:00 964

原创 DBMS 中的数据模型:SQL 命令:DDL、DML、DCL、TCL、DQL

此外,一旦在数据库中执行了 commit 命令,我们就无法恢复其先前的状态,即在执行第一个语句之前的状态。在前面的示例中,我们使用了下划线,因此返回了除第一行之外的所有行,因为“myName_”表示格式为“myName”的匹配字符串 + 一个附加字符。这样做的原因是,在我们确定要包含在最终结果集中的内容之前,我们需要知道最终结果集中可能包含的所有列。返回的数据存储在结果表中。使用 SELECT 命令语句的 SELECT 子句,我们指定要在查询结果中显示的列,以及我们希望在结果表上方看到的列标题(可选)。

2024-05-13 05:15:00 663

原创 DBMS 中的数据模型:加入 DBMS

从本质上讲,SQL 中的 JOIN 封装了合并表的行为,增强了跨数据库的数据查询能力。表中学生的 ID 相同,那么我们很容易过滤掉所有对板球感兴趣的 12 年级男生的期望结果。等式联接与 Theta 联接相同,但唯一的条件是它在两个表之间执行联接时仅使用等价条件。执行 Natural Join 时,它们都具有共同的属性 ID 并具有相同的域。它返回第二个表的所有行,即使在第一个表中没有匹配的行,执行右外连接也是如此。它返回左侧表的所有行,即使执行左外联接的右侧表中没有匹配的行也是如此。

2024-05-13 05:00:00 801

原创 DBMS 中的数据模型:关系代数

概述DBMS中的关系代数是一种过程查询语言。关系代数中的查询是使用运算符执行的。关系代数是现代语言 SQL 和现代数据库管理系统(如 Oracle 数据库、Mircosoft SQL Server、IBM Db2 等)的基础块。让我们知道什么是DBMS中的关系代数,我们还将了解DBMS中的关系代数运算。在阅读本文之前,您应该对以下什么是DBMS中的关系代数?关系代数于1970年问世,由Edgar F. Codd(DBMS 之父)提供。

2024-05-12 05:15:00 891

原创 DBMS 中的数据模型:关系演算

在理解DBMS中的关系演算之前,我们需要了解过程语言和陈述性语言。程序语言- 那些明确定义如何从数据库中获取所需结果的语言称为程序语言。关系代数是一种过程语言。声明性语言- 那些只关心从数据库中获取什么而不考虑如何获取结果的语言称为声明性语言。关系演算是一种声明性语言。因此,关系演算是一种声明性语言,它使用谓词逻辑或一阶逻辑来确定数据库的结果。

2024-05-12 05:00:00 1668

原创 DBMS 中的数据模型:DBMS 密钥:主密钥、候选密钥、超级密钥和外键

键用于唯一标识表中的任何记录或数据行。它还用于建立和标识表之间的关系。密钥有不同的类型,例如:超级密钥、候选密钥、主密钥、外键等。

2024-05-11 05:15:00 1022

原创 DBMS 中的数据模型:关系模型

现在,如果一个部门有一名员工在其中工作,而我们从表中删除了该员工的信息,那么与该部门相关的数据也会丢失。现在,如果用户没有意识到数据在更新后是冗余存储的,则数据库中将出现数据不一致的情况。中的关系模型是一个抽象模型,用于组织和管理存储在数据库中的数据。数据库管理的关系模型是一种在逻辑上表示和管理存储在数据库中的数据的方法。在本文中,我们将探讨数据库管理的关系模型、它的重要性以及我们日常生活中的各种应用。时,数据库中存储的数据中可能存在过多的冗余。它是在删除任何其他数据元素时数据库中的数据意外丢失。

2024-05-11 05:00:00 692

C标准库源代码,C standard library

《标准C库》一书中所有的源代码,作者是 P.J. Plauger(新泽西州恩格尔伍德悬崖:普伦蒂斯·霍尔,1992)。它修正了出版后的一些错误。因此,代码可能在一些小细节上与书中的内容有所不同。 有十五个子目录,其名称与标准头文件相匹配。这些目录包含了书中提供的所有 *.c 文件。(注意:limits、stdarg 和 stddef 目录是空的。)_headers 目录包含了书中所有的 .h 文件。_test 目录包含了书中作为测试程序提供的所有 t.c 文件。

2024-05-19

剪贴板项目Clipboard,C++源代码

剪贴板项目是一个快速、轻量级、功能丰富且用户友好的工具。 有史以来最前沿的剪贴板管理器。比以往任何时候都更容易、更有力地节省时间和精力。

2024-04-25

简单UI组件示例的存储库

简单UI组件示例的存储库,存储库基于Next.js和React.js

2024-04-18

Tower用于安卓设备的地面控制站

Tower一款基于 DroneKit-Android 构建的地面控制站 (GCS) Android 应用程序,用于无人机运行Ardupilot软件。

2024-04-08

Arduleader一个用于Mavlink/Arduplane的安卓地面控制器

Arduleader一个用于Mavlink/Arduplane的安卓地面控制器,Arduplane跟随悬挂式滑翔机并拍照

2024-04-08

QGroundControl (QGC) 一款强大的无人机地面控制站(GCS)

QGroundControl(QGC)用于无人机的跨平台地面控制站(安卓、iOS、Mac OS、Linux、Windows) QGC的主要目标是为初次使用和专业用户提供易用性。 它为任何支持 MAVLink 的无人机提供完整的飞行控制和任务规划,并为 PX4 和 ArduPilot 驱动的无人机提供车辆设置。

2024-04-08

MAVROS,MAVLink到ROS网关,Python源代码

MAVROS,MAVLink到ROS网关,有一个地面控制站的代理。

2024-04-08

MAVLink微型飞行器信息集合库,Python源代码

MAVLink微型飞行器信息集合库。 MAVLink 是一个非常轻量级的、仅标头的消息库,用于无人机和/或地面控制站之间的通信。它主要由XML文件中定义的不同系统(“方言”)的消息集规范组成,以及将这些规范转换为支持语言的适当源代码的Python工具。还有其他 Python 脚本提供了用于处理 MAVLink 数据的示例和实用程序。 MAVLink非常适合通信带宽非常有限的应用。它在 C 语言中的参考实现针对 RAM 和闪存有限的资源受限系统进行了高度优化。它经过现场验证并部署在许多产品中,用作不同制造商组件之间的互操作性接口。

2024-04-08

LibUAVCAN - UAVCAN协议栈,适用于嵌入式系统和Linux,C++源代码

Cyphal 是一种轻量级协议,旨在通过强大的车辆网络在航空航天和机器人应用中实现可靠通信。 LibUAVCAN可移植参考实现,适用于嵌入式系统、Linux 和符合 POSIX 的 RTOS。

2024-04-08

GoBot用于机器人、无人机、物联网(IoT)Golang框架

GoBot用于机器人、无人机、物联网(IoT)Golang框架,它提供了一种简单而强大的方法来创建解决方案,这些解决方案将多个不同的硬件设备合并在一起。 mkdir ~/my_gobot_example cd ~/my_gobot_example go mod init my.gobot.example.com 将示例文件复制到 go.mod 文件旁边,导入要求并构建。 cp /<path to gobot folder>/examples/raspi_blink.go ~/my_gobot_example/ go mod tidy env GOOS=linux GOARCH=arm GOARM=5 go build -o ./output/my_raspi_bink raspi_blink.go

2024-04-08

SilverWare(NFE)飞行控制器嵌入式软件,C源代码

NotFastEnuf Notes - Bwhoop B03 Silverware,适用于 Alienwhoop ZER0、E011、BWHOOP B-03、H8mini 和 BETA FPV LITE 飞行控制器的嵌入式软件,具有 NotFastEnuf 设置和实验功能。

2024-04-08

DJI Onboard SDK (OSDK) 4.1.0

DJI Onboard SDK (OSDK) 4.1.0,允许使用串口 (TTL UART) 将自己的车载计算机连接到支持的 DJI 车辆或飞控。

2024-04-08

BoldClash BWHOOP B-03迷你无人机嵌入式软件,C源代码

BoldClash BWHOOP B-03迷你无人机嵌入式软件。 编程连接器是 Microjst 1.25 间距连接器。请勿将正极连接到 st-link,因为如果连接,可能会对电池过度充电或损坏 st-link。 Pid 手势允许飞行员按百分比更改 acro 模式 pid,并在没有计算机的情况下调整四轴飞行器。可以保存新的 pid,以便在四边形电源循环后恢复它们。如果保存,新的 pid 将保持活动状态,直到文件 pid.c 中的 pid 值发生更改。如果未更改值,则刷新四边形不会擦除 pid,除非在编程时手动发出 erase 命令。 加速校准的手势是向下 - 向下 - 向下。如果自上次通电或保存以来使用相应的手势更改了 pid,则将保存 pid。

2024-04-08

EmuFlight多旋翼飞行控制器嵌入式软件,C源代码

EmuFlight用于多旋翼飞机的飞行控制器嵌入式软件。 支持使用 STM32 F7 和 F4 处理器的目标 支持 HelioRC Spring FC 的 IMUF(基于卡尔曼)对所有 FC 进行滤波 附加 DShot 级别:1200、2400、4800 基于 OSD 的配置,无需第三方 OSD 软件/固件/通信设备 每轴低通滤波器 羽状 PID 基于错误的 P、I 和 D 提升 (EmuBoost/DBoost) i-衰变 P、I 和 D 的节气门点衰减 (TPA) 棒点衰减 (SPA) 高级动态陀螺仪和D项滤波器 陀螺仪上的史密斯预测器 用于陀螺仪和 DTerm 的可选 ABG 滤光片 PT(n) 用于 LPF 和 RC 平滑 Rate-Dynamics(粘感修饰符) 角度模式 2.0 双轴转向 NFE赛车模式 修正了偏航PID和限制 用于电压和电流的LPF滤波器 电机输出限制 电机输出平滑 推力线性化 轴锁定

2024-04-08

dRonin 杂技/赛车、自主飞行和车辆研究等嵌入式控制器,C语言源代码

dRonin 用于OpenPilot/Tau Labs系列控制器的自动驾驶仪/飞行控制器固件。它针对各种用例:杂技/赛车、自主飞行和车辆研究。 航空四轮车32 脑FPV BrainFPV RE1(板载无导航传感器) DTFAir DTFc(船上没有导航传感器)还有 Colibri Race / TBS PowerCube。 DTFAir Seppuku(切腹酒店) Lumenier Lux(只有 V1,船上没有导航传感器) OpenPilot Revolution(包括许多仅限比赛的变体) PikoBLX 和克隆 Quantec Quanton Serious Pro Racing F3 EVO(仅限 EVO 变体)和克隆 Tau Labs Sparky(斯帕克实验室) Tau 实验室 Sparky2

2024-04-08

Cleanflight无人机嵌入式控制器软件,C语言源代码

Cleanflight用于多旋翼和固定翼的飞行控制器软件。用于世界各地使用的大多数飞行控制器。 支持更多的FC,并有额外的PID控制器

2024-04-08

Betaflight无人机嵌入式C语言源代码

Betaflight用于多旋翼飞行器和固定翼飞行器的飞行控制器嵌入式软件。 支持多色 RGB LED 灯条 DShot(150、300 和 600)、Multishot、Oneshot(125 和 42)和 Proshot1000 电机协议支持 黑匣子飞行记录仪记录 支持使用 STM32 F4、G4、F7 和 H7 处理器的目标 PWM、PPM、SPI 和串行RX 连接,带故障安全检测 多种遥测协议(CRSF、FrSky、HoTT 智能端口、MSP 等) 通过ADC进行RSSI - 使用ADC读取PWM RSSI信号,使用FrSky D4R-II、X8R、X4R-SB和XSR进行测试 OSD 支持和配置,无需第三方 OSD 软件/固件/通信设备 OLED显示器 - 显示信息:电池电压/电流/mAh、配置文件、速率配置

2024-04-08

Butterflight无人机控制器,C源代码

Butterflight用于多旋翼飞行器和固定翼飞行器的飞行控制器嵌入式软件。专注于飞行性能、领先的功能添加和广泛的目标支持。 支持多色 RGB LED 灯条(每个 LED 可以使用可变长度 WS2811 可寻址 RGB 灯条的不同颜色 - 用于方向指示器、低电量警告、飞行模式状态、初始化故障排除等) DShot(150、300、600 和 1200)、Multishot 和 Oneshot(125 和 42)电机协议支持 黑匣子飞行记录仪记录(到机载闪存或配备的外部 microSD 卡) 支持使用 STM32 F7、F4、F3 和 F1 处理器的目标 PWM、PPM 和串行(SBus、SumH、SumD、Spektrum 1024/2048、XBus 等)接收连接,带故障安全检测 多种遥测协议(CSRF、FrSky、HoTT 智能端口、MSP 等) 通过ADC进行RSSI - 使用ADC读取PWM RSSI信号,使用FrSky D4R-II、X8R、X4R-SB和XSR进行测试 OSD 支持和配置,无需第三方 OSD 软件/固件/通信设备 OLED显示器 - 显示信息:电池电压/电流

2024-04-08

学习总结的基于python语言的计算着色器教程

学习过程中总结的基于python语言的计算着色器教程,大家可以学习参考。这使用 Python 和 GLSL 模拟了一堆恒星的引力相互作用。它是一个“N-Body模拟器”。通过使用 GPU,与仅 CPU 版本相比,它的性能相当合理。

2024-04-04

跟随鼠标粒子爆发,Python源代码

Python源代码,展示了如何使用粒子创建爆炸。颗粒被GPU跟踪,显着提高了性能。 个人编写了完整的学习教程,供大家学习

2024-04-03

Zulip聊天服务器,专为实时和异步对话而设计,源代码

Zulip具有独特的基于主题的线程,结合了电子邮件和聊天的优点 使远程工作富有成效且令人愉快。世界 500 强企业,领先开放 源项目,以及数以千计的其他组织使用 祖利普每天都有。Zulip 是唯一一款现代团队聊天应用程序 专为实时和异步对话而设计。

2024-04-02

纸牌游戏练习教程-python源代码

个人学习总结的练习教程,在这个例子中,我们将通过Python编写的源代码,详细介绍一个纸牌游戏的过程。这个游戏可以是任何基于纸牌的游戏,比如扑克、桥牌或者是更加简单的猜牌游戏。我们的目标是创建一个易于理解、易于扩展的代码框架,以便可以在此基础上添加更多游戏规则和功能。

2024-03-31

这使用 Pymunk 物理引擎来模拟落在钉板上的球游戏,python源代码

这使用 Pymunk 物理引擎来模拟落在钉板上的球

2024-03-31

JavaScript算法源代码(例如:二叉搜索树、笛卡尔乘积、线性搜索、存储桶排序、DFS、 Kruskal算法、欧几里,等等)

JavaScript算法源代码(例如:二叉搜索树、笛卡尔乘积、线性搜索、存储桶排序、DFS、 Kruskal算法、欧几里,等等) 链表、双链表、队列、Stack、哈希表、堆 - 最大和最小堆、优先队列、Trie、树、二叉搜索树、AVL树、红黑树、区段树 - 包含最小/最大/总和范围查询示例、Fenwick Tree(二叉索引树)、图形(有向和无向)、 Disjoint Set - 并集-查找数据结构或合并-查找集、绽放过滤器 A LRU 缓存 - 最近最少使用 (LRU) 缓存

2024-03-31

youtube-dl 是一个命令行程序,用于下载视频 它需要 Python 解释器2.6、2.7 或 3.2+

UNIX 用户安装它,请键入: sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl sudo chmod a+rx /usr/local/bin/youtube-dl 如果你没有 curl,你可以使用最近的 wget: sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl sudo chmod a+rx /usr/local/bin/youtube-dl Windows 用户可以下载 .exe 文件并将其放置在其 PATH 上的任何位置,但 (例如,不要放入 )。%SYSTEMROOT%\System32C:\Windows\System32 您还可以使用 pip: sudo -H pip install --upgrade youtube-dl

2024-03-31

Kibitzr - 具有强大集成的轻量级个人网络助手

Kibitzr - 具有强大集成的轻量级个人网络助手,以人性化的 YAML 格式定义重复任务。 自托管 - 不信任任何人使用您的凭据 可在任何地方运行:Windows、Linux 和 Mac OS 桌面和服务器。 可以去任何你能去的地方(在网站、ssh、vpn 上进行身份验证)

2024-03-30

HRConvert2 - 拖放式文件转换服务器,具有基于会话的身份验证、自动临时文件维护和日志记录功能

HRConvert2 一个自托管的拖放式文件转换服务器和文件共享工具,支持86种文件格式,4种配色方案和13种最终用户可选语言。 转换 86 种不同的文件格式。 自托管。安装在家庭服务器上! 所有转换都在您的服务器上本地执行。 对PDF和图像执行光学字符识别(OCR)。 可以使用 ClamAV 在后台自动扫描文件中的病毒。 允许用户使用 ClamAV 或 zelon88/scanCore 按需扫描文件中的病毒。 允许用户生成用于共享文件的临时链接。 简约的拖放界面。 每个用户都有自己的临时暂存空间! 最终用户可以通过将 13 种语言附加到 URL 来切换,如下所示:?language=en 对于面向公众的环境足够安全(如果实施得当)。 没有数据库。没有 cookie。没有缓存文件。 与其他流行软件(如 WordPress)一起干净地安装。 不进行外部连接。 所有 JS 都是本地安装的。没有笨重的框架。没有分析。没有谷歌字体。 没有任何跟踪功能。 带有 4 种config.php配色方案。 安全、高性能和紧凑的代码库。

2024-03-30

feedmixer FeedMixer 是一个 WSGI (Python3) 微型 Web 服务

FeedMixer 是一个小型 Web 服务 (Python3/WSGI),它获取源 URL 列表并将它们组合成一个(Atom、RSS 或 JSON)源。适用于个人新闻聚合器、类似“星球”的网站等。 FeedMixer 公开了三个端点: /atom /RSS /json 当发送 GET 请求时,它们会分别返回 Atom、RSS 2.0 或 JSON 源。GET 请求的查询字符串可以包含以下字段: f 源(任何版本的 Atom 或 RSS)的 URL 编码的 URL。要包含多个源,只需包含多个 f 字段即可。 n 每个字段要保留的条目数(传递 0 以保留所有条目,如果未提供 n 个字段,则为默认值)。 full 如果设置为任何内容,则首选完整的条目内容;如果没有,则首选较短的条目摘要。

2024-03-30

Headphones 是 NZB 和 Torrent 的自动音乐下载器,用 Python 编写

安装页面显示如何安装耳机。 使用指南向您介绍耳机。 Wiki 中的疑难解答页面可以帮助您解决常见问题。 考虑到以下规则,可以在 GitHub 问题跟踪器上报告问题: Headphones 是 NZB 和 Torrent 的自动音乐下载器,用 Python 编写。它支持 SABnzbd、NZBget、Transmission、μTorrent、Deluge 和 Blackhole。 分析你的日志,你可能会自己找到解决方案! 您阅读了 wiki 并搜索了现有问题,但这并不能解决您的问题。 使用清晰的标题、描述和 HP 日志发布问题,并使用正确的 Markdown 语法来构建文本(代码/登录代码块)。 问题解决后关闭!如果您自己找到了解决方案,请发表评论,以便其他人从中受益。 功能请求也可以在 GitHub 问题跟踪器上报告: 搜索类似的现有“问题”,可以通过标签“请求”来识别功能请求。 如果存在类似的请求,请发表评论(+1,或向现有请求添加新想法),否则您可以创建一个新请求。

2024-03-30

Exadel CompreFace人脸识别系统,为人脸识别,人脸检测和其他人脸服务提供REST API

Exadel CompreFace 是一个人脸识别项目。 从本质上讲,它是一个基于 docker 的应用程序,可以用作独立服务器或部署在云中。 您不需要先前的机器学习技能即可设置和使用 CompreFace。 系统提供REST API,用于人脸识别、人脸验证、人脸检测、地标检测、口罩检测、头部姿势检测、年龄、性别识别。 该解决方案还具有角色管理系统,可让您轻松控制谁有权访问您的人脸识别服务。 CompreFace 以 docker-compose 配置的形式提供,支持在 CPU 和 GPU 上运行的不同型号。 我们的解决方案基于最先进的方法和库,如 FaceNet 和 InsightFace。

2024-03-30

Automatisch业务自动化工具,可让您连接不同的服务,如Twitter,Slack等,以自动化您的业务流程

Automatisch 是一款业务自动化工具,可让您连接不同的服务,如 Twitter、Slack 等,以自动化您的业务流程。 使用 Automatisch 的主要好处之一是它允许您将数据存储在自己的服务器上,这对于处理敏感用户信息且不能冒险与外部云服务共享数据的企业至关重要。这对于医疗保健和金融等行业以及必须遵守《通用数据保护条例》(GDPR)尤其重要。 安装 # Clone the repository git clone https://github.com/automatisch/automatisch.git # Go to the repository folder cd automatisch # Start docker compose up

2024-03-30

Chatwoot一个自托管的客户参与套件

Chatwoot 是一个自托管的客户参与套件。Chatwoot 可让您查看和管理您的客户数据,无论他们使用哪种媒介,都可以与他们沟通,并根据他们的个人资料重新吸引他们。 Chatwoot 支持以下对话渠道: 网站:使用我们的实时聊天小部件与您的客户交谈,并利用我们的 SDK 来识别用户并提供上下文支持。 Facebook:连接您的 Facebook 页面并开始回复您页面的直接消息。 Instagram:连接您的 Instagram 个人资料并开始回复直接消息。 Twitter:连接您的 Twitter 个人资料并回复直接消息或提及您的推文。 电报:连接您的 Telegram 机器人并直接从单个仪表板回复您的客户。 WhatsApp:连接您的 WhatsApp 企业帐户并在 Chatwoot 中管理对话。 Line:连接您的 Line 帐户并管理 Chatwoot 中的对话。 短信:连接您的 Twilio 短信帐户并在 Chatwoot 中回复短信查询。 API 渠道:使用我们的 API 渠道构建自定义沟通渠道。 电子邮件:将您的所有电子邮件查询转发到 Chatwoot

2024-03-28

Digibunch一个简单的应用程序,用于创建链接包

准备和安装依赖项 npm install 启动开发服务器 npm run dev 环境变量(编译前在根目录下创建的 .env.production 文件) 允许 POST 请求和 API 的域列表,以逗号分隔(* 默认) AUTHORIZED_DOMAINS=* 编译和缩小文件 npm run build API 需要 PHP 服务器 php -S 127.0.0.1:8000 (pour le développement uniquement)

2024-03-27

buku一个强大的书签管理器和个人文本迷你网络

存储带有自动获取的标题、标签和描述的书签 从 Firefox、Google Chrome、Chromium 和 MS Edge 自动导入 在浏览器中打开书签和搜索结果 缩短、扩展 URL 从 Wayback Machine 浏览缓存页面 文本编辑器集成 轻巧、干净的界面、自定义颜色 强大的搜索选项(正则表达式、子字符串等) 使用动态模式开关进行连续搜索 可移植、可合并的数据库,可在系统之间同步 从 HTML、XBEL、Markdown 或 Orgfile 导入/导出书签 使用重定向进行智能标记管理(>>、>、<<) 多线程全数据库刷新 手动加密支持 Shell 完成脚本,包含示例的手册页 隐私意识(不收集未经确认的用户数据)

2024-03-27

QloApps一个可定制和直观的基于 Web 的酒店预订系统和预订引擎,PHP源代码

为了安装 QloApps,您需要以下托管和本地服务的服务器配置。 系统兼容性也将由系统通过安装进行检查,如果服务器不兼容,则安装将不会继续进行。 托管服务器配置 Web服务器:Apache 1.3,Apache 2.x,Nginx或Microsoft IIS PHP版本:PHP 5.6+到PHP 7.4 MySQL 版本:5.1+ 到 5.7 安装并创建数据库 SSH 或 FTP 访问(向您的托管服务询问您的凭据) 在 PHP 配置中,要求您的提供商将 memory_limit 设置为“128M”,upload_max_filesize设置为“16M”,max_execution_time设置为“500”,allow_url_fopen“on” SSL证书,如果您计划在内部处理付款(例如不使用PayPal) 所需的PHP扩展:PDO_MySQL、cURL、OpenSSL、SOAP、GD、SimpleXML、DOM、Zip、Phar 本地服务器配置 支持的操作系统:Windows、Mac 和 Linux 准备好的软件包:WampServer(适用于 Windows)

2024-03-27

在线预约安排程序,PHP源代码

通过灵活的日历显示和布局管理您的所有约会。比以往任何时候都更容易处理所有客户信息及其预订历史记录。 设置您的服务以及将为客户提供服务的员工/团队/部门。每项服务都是完全可配置的,每个提供商都有自己的时间表。 根据自己的意愿配置系统,应用营业时间和休息时间,并让客户在特定时间段内预订、修改或取消约会。 活动与 Google 日历同步,并与其他应用程序共享。提供者和秘书也将能够安排他们的数据。 获取有关日程安排任何更改的电子邮件通知,包括预订、修改和取消。客户也会及时收到预约变更的通知。

2024-03-27

alf.io开源票务预订系统

安装了 Java 版本 17(例如 Oracle、OpenJDK 或任何其他发行版)来构建和运行 alf.io。请注意,对于构建过程,JDK 是必需的。 Postgresql 版本 10 或更高版本。 Gradle 构建 此版本包含 Gradle 包装器的副本。您无需在系统上安装 Gradle 即可构建 项目。例如,只需执行包装器以及相应的任务即可 ./gradlew clean 使用多个配置文件运行 必须在命令行中指定项目属性,例如 ./gradlew -Pprofile=dev :bootRun 本地“bootRun”任务具有以下先决条件: 在 localhost:5432 上启动并运行的 PostgreSQL(版本 10 或更高版本)实例 具有密码的 Postgres 用户:password 名为 Alfio 的数据库 启动后,alf.io 将在数据库中创建所有必需的表,并在 http://localhost:8080/admin 可用。您可以使用默认的用户名 admin 和控制台上打印的密码登录。

2024-03-27

Serendipity 是一个由 PHP 驱动的博客引擎

Serendipity 是一个由 PHP 驱动的博客引擎,它为用户提供了一种维护博客的简单方法。虽然默认软件包是为休闲博主设计的,但 Serendipity 提供了一个可扩展的框架,具有专业应用程序的功能。

2024-03-27

Chyrp一个超轻量级的博客引擎,PHP编写

Chyrp Lite 使在您自己的 Web 服务器上托管博客成为可能,只需最少的麻烦。您可以拥有一个传统的博客,一个tumbleblog,或者您可以添加大量的自定义功能并构建一个带有博客功能的通用Web发布平台。由于响应式 HTML5 的强大功能,您可以获得四个漂亮的博客主题和一个友好的管理控制台,所有这些都可以在各种设备上完全导航。语义标记和全面的 ARIA 标签可确保使用辅助技术的访问者可以访问您的博客。

2024-03-27

FlatPress 是一个轻量级、易于设置的博客引擎,PHP

独立、符合标准的博客软件 适用于文件,没有数据库 易于设置,易于备份 强大的插件系统,支持小部件 易于自定义主题,由 Smarty 提供支持 具有垃圾邮件保护的评论功能 GNU GPLv2 下的自由软件 安装和运行 FlatPress 非常简单: 下载FlatPress,解压,上传 浏览到您的 Web 服务器,运行简单的 FlatPress 安装程序 享受使用 FlatPress 写博客的乐趣!

2024-03-27

空空如也

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

TA关注的人

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