- 博客(59)
- 收藏
- 关注
原创 Nginx 配置文件详解以及配置多端口监听流程
仅监听该IP的80端口。# IPv6的8080端口。# IPv6的80端口。:确保新端口未被其他服务占用(如 Apache、Tomcat)。listen 80;# 默认监听80端口。# 同时监听8080端口。# 改为8080端口。listen 80;# Server块(虚拟主机配置)# Events块(配置网络连接)# 全局块(配置全局参数)# HTTP块(核心配置)
2025-04-24 09:10:49
926
原创 HTTP 协议详解
HTTP(HyperText Transfer Protocol,超文本传输协议)是互联网上应用最广泛的协议之一,用于在客户端(如浏览器)和服务器之间传输超文本(如网页)。HTTP 是万维网(WWW)的基础,支持网页浏览、文件下载、API 调用等应用场景。
2025-04-07 15:16:34
984
原创 aio-max-nr
从默认值(65536)开始,逐步增加到 131072、262144、524288、1048576 等,观察系统行为。如果你需要设置非常大的值(如数百万),建议在测试环境中验证,确保不会对系统稳定性和性能造成负面影响。如果系统内存不足,可能触发 OOM(Out-Of-Memory)机制,导致进程被杀死。如果系统内核内存较大(如 16GB),理论上可以支持数千万个 AIO 事件。过多的 AIO 事件会增加内核调度和管理的开销,可能导致性能下降。每个 AIO 事件需要占用一定的内核内存(通常为几百字节)。
2025-03-24 10:34:50
419
原创 CentOS配置永久静态IP
在 CentOS 6 中,配置永久 IP 地址需要修改网络配置文件。完成以上步骤后,你的静态 IP 配置就会永久生效,即使重启系统,配置也会保持不变。首先,确定你需要配置 IP 的网卡名称,通常是。如果需要为静态 IP 配置主机名,可以编辑。CentOS 6 的网络配置文件通常位于。确认是否显示配置的静态 IP。
2025-03-18 15:49:46
462
原创 gdb调试 查看函数帧中变量值
在使用 GDB 调试程序时,如果你已经定位到某一帧(frame),可以直接查看函数内部的变量,或者通过单步执行(step/next)逐行调试到需要的位置。它只是直接跳到目标行继续执行,因此可能会导致程序状态异常(如未正确初始化的变量)。每次单步执行或运行时,GDB 会自动显示该变量的当前值。这会列出当前函数帧内的所有局部变量及它们的当前值。
2025-03-18 10:26:44
337
原创 Linux原生异步IO原理与实现(Native AIO)
本文主要分析了 Linux 原生 AIO 的原理及实现,但为了不陷入太多的实现细节中,本文并没有涉及到磁盘 IO 相关的知识点。然而磁盘 IO 也是 AIO 实现中不可或缺的一部分,所以有兴趣的朋友可以通过阅读 Linux 的源码来分析其实现原理。
2025-03-10 14:26:37
1246
原创 linux中给自己编译的模块签名
输出格式:第一个命令生成PEM格式的文件,而第二和第三个命令生成DER格式的文件。有效期:第二个和第三个命令设置了非常长的有效期(36500天),而第一个命令设置了标准的365天。输入方式:第三个命令使用配置文件来自动处理输入,而前两个命令要么直接在命令行指定主题信息,要么通过交互式提示来获取。用途和特定需求:第一个命令适用于一般测试或内部使用,第二个命令可能用于特定的安全需求(如UEFI安全启动),第三个命令适用于需要自动化和/或详细配置的场景。[ req ]O =
2025-01-08 14:48:04
767
原创 C++ List(双向链表)
样直接找到元素的地址,而是要从头一个一个的顺序查找,这样目标元素越靠后,信息块(即实际存储的数据)、一个前驱指针和一个后驱指针。的内存大小且可以任意伸缩,这是因为它存储在非连续的内存空间中,并且由指。是一个线性链表结构,它的数据由若干个节点构成,每一个节点都包括一个。虽然随机检索的速度不够快,但是它可以迅速地在任何节点进行插入和删除。的每个节点保存着它在链表中的位置,插入或删除一个元素仅对。会对操作点之后的所有元素的存储地址都有。随机检索的性能非常的不好,因为它不像。被加入的多余的元素都被赋值为。
2024-12-16 15:44:59
551
原创 mysqldbcompare 使用及参数详解
例如,要查看将 server1 上的对象定义转换为匹配 server2 上的相应定义的转换,请使用 --changes-for=server1。例如--changes-for=server2,那么对比以sever1为主,生成的差异的修改也是针对server2的对象的修改。--skip-table-options:保持表的选项不变,即对比的差异里面不包括表名、AUTO_INCREMENT、ENGINE、CHARSET等差异。例如,-v = 详细,-vv = 更多详细,-vvv = 调试。默认值为 grid。
2024-11-21 14:20:24
1242
1
原创 C++ Vector(向量容器)
是一个线性顺序结构。指定一块如同数组一样的连续存储,但空间可以动态扩展。节省空间,因为它是连续存储,在存储数据的区域都是没有被浪费的,但是。在内部进行插入、删除操作效率非常低,这样的操作基本上是被禁止的。保存的数据量很大时,这样的操作一定会导致糟糕的性能(这也。它可以像数组一样被操作,由于它的特性我们完全可以将。其次,销毁掉原内存块中的对象(调用对象的析构函数);大多情况下并不是满存的,在未存储的区域实际是浪费的。后,它会自动在内存中分配一块连续的内存空间进行数据。然后,将原来的数据拷贝到新的内存块中;
2024-11-19 10:34:25
536
原创 oracle初始化参数
构建实例的参数最初源于参数文件(静态pfile或动态spfile)或默认值.除DB_NAME参数外,每个参数都有默认值,DBA可以设置近300个参数,还有1500个不需要设置的"隐藏"参数,这些参数不可见,只能在oracle support指导下进行设置.参数分"基本参数"和"高级参数"两类,只要高级参数使用了默认设置,大多数数据库实例都能完美运行,只有大约33个参数时基本参数,因此,设置参数并不繁琐,但很重要.
2024-11-19 10:25:38
1269
原创 如何设置MySQL 数据库的默认字符集和默认排序规则
在 MySQL 中,设置数据库的默认字符集和默认排序规则可以通过以下步骤来实现。你可以在创建数据库时指定这些设置,或者使用 ALTER 命令修改现有数据库的设置。
2024-11-15 16:04:04
1459
原创 mysql字符集相关
编码字节数支持的字符集适用场景UTF-81-4 字节全部 Unicode 字符多语言文本,网页,数据库Latin11 字节西欧语言字符西欧语言文本GBK1-2 字节简体中文字符中文网站,应用UTF-8MB41-4 字节全部 Unicode 字符,包括 Emoji多语言和特殊符号GB180301-4 字节更全面的中文字符需要广泛字符支持的应用。
2024-11-09 11:37:11
956
原创 mysql字符集相关变量解释
字符集变量的作用:这些变量共同决定了 MySQL 服务器和客户端之间、会话之间以及数据库内部存储的字符编码方式。一致性的重要性:在处理多语言数据或字符编码时,确保这些字符集变量一致是非常重要的,以避免数据损坏或丢失。
2024-11-08 18:00:04
450
原创 导出 MySQL 中所有表的结构(包括外键约束),并在另一个地方创建相同的表
通过使用mysqldump工具,您可以轻松导出数据库中所有表的结构,并在另一个数据库中重建它们。确保在导入时所有依赖的表都已经存在,以确保外键约束的有效性。如果您有其他问题或需要进一步的帮助,请告诉我!可以指定导出某个表结构吗 有 其中包含外键约束和不包含的情况您可以使用mysqldump工具来导出特定表的结构,包括外键约束或不包含外键约束的情况。以下是如何实现这两种情况的详细步骤。
2024-11-05 17:34:11
680
原创 白盒测试与黑盒测试
白盒测试和黑盒测试各有优缺点,通常在软件开发过程中,两者结合使用能提供更全面的测试覆盖。特性白盒测试黑盒测试关注点内部逻辑、代码结构功能需求、输出结果可见性代码可见代码不可见测试设计基于代码基于需求和规格示例单元测试、集成测试系统测试、验收测试优点发现逻辑错误、提高代码质量更关注用户需求和体验缺点耗时、需要编程知识难以覆盖所有输入条件在实际应用中,结合使用这两种测试方法可以更有效地提高软件质量。
2024-10-28 16:03:45
461
原创 ICE简单介绍及使用示例
ICE的产生就是源于.NET、CORBA及WEB SERVICE这些中间件的不足,它可以支持不同的系统,如WINDOWS、LINUX等,也可以支持在多种开发语言上使用,如C++、C、JAVA、RUBY、PYTHON、VB等,服务端可以是上面提到的任何一种语言实现的,客户端也可以根据自己的实际情况选择不同的语言实现,如服务端采用C语言实现,而客户端采用JAVA语言实现,底层的通讯逻辑通过ICE的封装实现,我们只需要关注业务逻辑。这是必要的,因为只有服务器情况中的代理实现确切地知道某个对象的类型。
2024-09-02 20:28:54
1191
原创 SQL Server中 LOP_FORMAT_PAGE日志记录解释
是SQL Server事务日志中的一种重要记录类型,负责描述页面整理操作。它在页面初始化、事务日志记录和数据库恢复中扮演了关键角色,确保数据库操作的可靠性和一致性。是一种事务日志记录类型,表示SQL Server对数据页(Data Page)进行删除的操作。详细的背景和任务类型有助于深入理解SQL Server的内部机制,尤其是在恢复和日志管理方面。在数据库恢复过程中,SQL Server会读取事务日志并应用其中的记录和数据。是日志记录的一种类型,用于描述页面的格式化操作。在SQL Server中,
2024-07-24 09:39:19
478
原创 Linux 的启动流程
探讨操作系统接管硬件以后发生的事情,也就是操作系统的启动流程。这个部分比较有意思。因为在BIOS阶段,计算机的行为基本上被写死了,程序员可以做的事情并不多;但是,一旦进入操作系统,程序员几乎可以定制所有方面。所以,这个部分与程序员的关系更密切。
2024-06-28 10:58:27
2719
1
原创 python 中 json.load json.loadd json.dump json.dumps 详解
json.load(), json.loads(), json.dump(), 和 json.dumps() 是这个模块中用于序列化和反序列化JSON数据的主要函数。json.load() 和 json.loads() 用于从JSON数据中读取数据,并将它们转换为Python对象。作用:从一个文件对象(例如使用 open() 函数打开的文件)中读取JSON数据,并将其转换为一个Python对象(如列表或字典)。作用:从一个JSON格式的字符串中读取数据,并将其转换为一个Python对象(如列表或字典)。
2024-06-28 10:51:29
987
原创 QEMU-aarch64与UEFI(EDK2)环境搭建
环境搭建是学习UEFI(EDK2)的重要前提,以下是基于QEMU-aarch64环境搭建UEFI(EDK2)的学习环境的过程
2024-06-26 10:59:04
585
原创 PRCD-1120 : The resource for database RAC could not be found.
ora.asmora.eonsora.gsdora.onsora.oc4jSpfile:Domain:Services:
2024-04-28 17:37:25
621
原创 PRCD-1120 : The resource for database racpdb could not be found.PRCR-1001 : Resource ora.racpdb.db d
原因:数据库没有在OCR中注册。解决方案:将数据库注册到OCR,包括实例。
2024-04-28 17:24:56
514
原创 oracle 数据库错误信息
描述了您在使用 Oracle 数据库时可能遇到的错误消息。对于每条消息,本手册描述了消息文本、可能的原因和纠正措施。如果该消息是警告或表明发生了错误,则会提供解决方案
2024-04-11 20:49:35
1335
原创 C语言打印当前时间戳
local_time->tm_mon + 1, // 月份是从0开始的,所以需要加1。local_time->tm_year + 1900, // 年份是从1900年开始计算的。local_time->tm_mday, // 日期。local_time->tm_min, // 分钟。local_time->tm_hour, // 小时。local_time->tm_sec, // 秒。// 获取当前的时间。// 打印当前的时间。
2024-03-20 10:34:01
1288
1
原创 ASM实例
ASM实例中的SGA与数据库实例中的SGA在内存分配和使用方面有所不同。而后台进程,如LGWR(日志写进程)、SMON(系统监视器进程)、PMON(进程监视器进程)、DBWn(数据库写进程)、CKPT(检查点进程)等,则是两个实例共有的。ASM的DiskGroup概念与LVM卷组管理中的VG概念类似,都是将多块物理磁盘组成一个磁盘组,磁盘组中的数据均匀分布在各个物理磁盘上。总的来说,ASM实例是Oracle数据库存储管理的重要组成部分,它通过优化内存使用和磁盘I/O分布,提高了数据库的性能和可靠性。
2024-03-14 10:03:46
488
原创 启动KVM (Kernel-based Virtual Machine) 的命令行
启动KVM (Kernel-based Virtual Machine) 的命令行。
2024-02-01 15:03:51
594
原创 代码实现操作拥有TrustedInstaller权限的注册表项
前段时间要做一项工作,需要通过代码删除/编辑注册表ROOT主键下的一些CLSID的项。这些项有一个共同特点,就是他们的完全控制权限隶属于TrustedInstaller,一个虚拟出来的用户。对于隶属于TrustedInstaller用户的注册表项来说,即使获取到了system用户权限依然无法操作。REG_OPTION_BACKUP_RESTORE参数可以直接绕开系统的权限检查。
2023-12-20 21:43:09
633
原创 内存映射(Memory Mapping)
需要注意的是,对于内存映射的读写操作需要谨慎处理,确保数据的一致性和完整性,并避免出现竞态条件。此外,内存映射可能会占用较多的虚拟内存空间,因此在使用大文件或大量映射时要特别留意内存使用情况,以避免耗尽可用的内存资源。当访问内存映射的文件时,操作系统会自动将相关的文件数据加载到内存中,在后续的读写操作中可以获得较高的性能。简化访问:通过将文件或设备数据映射到进程的地址空间,可以直接在内存中对其进行访问,而无需进行显式的读写操作。访问数据:通过对内存映射地址进行读写操作,可以直接访问映射的文件或设备数据。
2023-11-29 19:15:02
601
原创 备份方式介绍
由于NAS设备是个封闭的存储系统,一般很难在NAS设备上安装备份软件的Client Agent(只能安装在生产系统上),所以传统的网络备份都是先通过CIFS或者NFS共享协议从NAS设备中将需要备份的数据读出,然后再通过网络将这些数据传送到备份服务器上备份。备份过程中,服务器只需要下发相应的命令给源存储介质即可,不需要再缓存数据,可以明显的降低对资源的占用。这种组网下,对NAS存储的要求降低了,也可以共用磁带库资源,但是由于数据都是通过网络传递给服务器,所以性能会偏低,同时备份服务器的负荷也增加了。
2023-11-09 19:24:00
363
原创 SSL(Secure Sockets Layer)详解
总结来说,SSL协议通过使用公钥密码学、数字证书和消息摘要算法来确保网络通信的机密性、完整性和身份验证。这使得SSL成为保护敏感信息的标准方法,例如在网页浏览器和服务器之间的安全HTTP通信(HTTPS),以及其他应用程序和服务之间的安全通信。服务器拥有自己的数字证书,其中包含有关服务器的信息,以及由可信任的第三方机构(证书颁发机构)签名的证书。客户端可以验证服务器证书的真实性,并确保连接到的是预期的服务器。接收方可以验证数据在传输过程中是否被篡改,通过比较接收到的数据的摘要值与重新计算的摘要值是否匹配。
2023-10-25 10:02:08
266
原创 Oracle数据库 ADG主备切换
Failover一般表示Primary数据库瘫痪或至少无法启动,这种转换已不能在Primary数据库上做任何操作,只要更改Standby数据库的角色为primary。如果此时在主库插入数据,然后手动切换log,会发现archive log会传至备库,但是未被应用。此时因为原来的主库已经切换到的备库,所以这个备库可以切换到主库了,状态为:TO PRIMARY。3)一般情況下,新的primary数据库配置后,要建立新的Standby数据库。主备切换完成,在新的主库做数据变更,在新的备库做数据校验,是否同步。
2023-10-10 11:25:08
1627
原创 Oracle 11g Data Guard (ADG) 原理
主库不断的产生redo log,这些日志被LGWR写进联机日志,当一组联机日志被写满,会发生日志切换,并且ARCH会将其归档,本地归档是LOG_ARCHIVE_DEST_1='LOCATION=/...'这种参数定义,ARCH进程还会通过网络把归档日志传送给备库的一个叫做RFS的进程,备库接受日志并写入到归档日志,然后备库的MRP进程(redo apply)或者LSP进程(SQL apply)在备库上应用这些日志,于是数据就同步了。而在其他模式下,是从归档日志中读取日志然后再进行日志应用。
2023-10-08 17:50:16
1681
原创 std::vector详解
是 C++ 标准库中的一个动态数组容器类,提供了方便的操作函数和方法来处理动态大小的数组。它可以自动调整内存空间,并提供了丰富的成员函数来进行元素的插入、删除、访问和遍历等操作。是 C++ 标准库中的一个容器类,用于动态数组的管理。它提供了方便的操作函数和方法来处理动态大小的数组。定义和初始化: 可以使用以下方式定义和初始化一个。方法来获取当前存储的元素数量,提供了。还提供了许多其他常用的方法,如。插入和删除元素: 可以使用。方法在尾部插入元素,使用。删除指定位置的元素等。在指定位置插入元素,
2023-09-18 10:48:46
2016
原创 Linux-PAM认证模块
当pam_unix验证模块与auth验证类型一起使用时,此模块可以使用的选项有debug、audit、use_first_pass、 try_first_pass、nullok和nodelay,主要功能是验证用户密码的有效性,在缺省情况下(即不带任何参数时),该模块的主要功能是 禁止密码为空的用户提供服务;在/etc/pam.d/下的文件中,与服务名称相对应的文件,为该服务的pam验证文件,例如服务为sshd,则在/etc/pam.d下存在 sshd这个文件,里面包含sshd验证规则。
2023-09-06 20:28:20
688
原创 虚拟化技术简介
KVM(Kernel-based Virtual Machine,基于内核的虚拟机)是一种 TYPE1 Hypervisor(裸金属类型)虚拟化技术,VMM 和 HostOS 一体化,直接运行 Host Hardware 之上,实现硬件和虚拟机完全管控。
2023-08-10 20:52:13
2529
原创 一些笔记......
函数是一个用于等待对象的信号状态的函数。它可以用于等待线程、进程等内核对象的信号状态变化。(0x80): 线程等待的互斥体对象被拥有它的线程释放,而不是通过释放资源。函数时,通常需要检查返回值以确定等待操作的结果,并根据不同的返回值采取相应的处理措施。函数的返回值指示等待操作的结果,具体取决于等待的对象的不同情况。指定的等待时间已经过去,但对象的信号状态仍未变为有信号。): 等待操作失败。可能的原因包括无效的句柄、调用线程没有访问权限或其他系统错误。(0): 指定的对象信号状态变为有信号。
2023-07-27 17:09:25
213
原创 详解URL(Uniform Resource Locator)
在网页中,URL(Uniform Resource Locator)是用于标识和定位网络资源的地址。它是一种字符串格式,以文本的形式表示在网络上的资源位置。
2023-07-18 11:27:38
392
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人