自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

春夜喜雨的专栏

个人随笔 (Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu)

  • 博客(474)
  • 资源 (3)
  • 收藏
  • 关注

原创 std::stringstream类代码实现研究

在VS2015版本实现的stl库中,stringstream的实现情况研究如下。首先是相关类有三个,istringstream, ostringstream, stringstream,分别是i用于input(stream数据用于反序列化),output(用于数据序列化到stream),input&output三种场景。通常我们有时,直接为了省事,直接使用stringstream。

2025-11-19 18:53:09 582

原创 std::stringstream与stream用法与研究

在c++的std标准库中,可以用于序列化反序列化数据的类,主要在stream的相关类中。I/O流(stream)也是实现数据序列化(将对象转换为字节流)和反序列化(将字节流恢复为对象)的主要工具。下面以stream相关类作整体介绍,并以stringstream作为使用样例,做一下序列化与反序列化的研究。

2025-11-19 07:20:24 705

原创 Keepalived的ip配置与相关代码研究

源IP的配置通过vrrp_instance的src_ip参数生效,核心逻辑在vrrp_send.c的vrrp_send_advert()函数中——发送VRRP协商报文时,指定源IP为配置的src_ip(默认使用网卡的物理IP)。主节点故障时,备节点接管后执行相同操作,原主节点恢复时则通过ipaddr_del()删除VIP。Keepalived的IP配置是实现高可用的关键,主要包括虚拟IP(VIP)、源IP(Src IP) 和目的IP(Dest IP),三者配置不同会直接影响服务的可用性、路由路径和安全性。

2025-10-24 22:48:18 869

原创 linux下如何检查与设置程序与服务崩溃时生成coredump文件--包括systemctl启动的服务

开启开关:通过 ulimit命令 或 /etc/security/limits.conf,或者service服务中配置LimitCORE=infinity,允许生成 coredump。配置路径:通过/etc/sysctl.conf中core_pattern自定义存储位置和命名。触发生成:等待程序崩溃、手动发送信号,或配置服务自动生成。掌握 coredump 生成方法,是定位linux下C/C++等编译型程序底层问题的必要技能。注:豆包AI参与了文章润色和补充。

2025-09-24 22:27:54 833

原创 配置一个linux下最简单的service服务-由systemctl启动

本文介绍了使用systemctl在Linux系统中配置和管理systemd服务的方法。主要内容包括:1)创建服务配置文件TestService.service,定义服务描述、工作目录、环境变量等参数;2)将配置文件复制到系统目录并启用服务;3)启动服务并检查运行状态;4)提供了测试程序a.out的两种实现方式(正常循环输出和触发崩溃),用于验证服务配置效果。通过systemctl工具可实现服务的自动化管理,包括开机自启等功能。修改配置后需执行daemon-reload重新加载。

2025-09-18 18:44:42 385

原创 PostgreSQL代码结构、构建流程与启动连接指南

PostgreSQL 16.0的src服务端内核backend):实现数据存储、SQL处理、事务管理等核心能力;客户端工具与接口bininterfacesfe_utils):提供用户交互入口与跨语言通信能力;基础支撑commonincludeport):确保跨平台兼容与代码复用。这种结构既保留了PostgreSQL源码的稳定性,又通过目录命名的直观性提升了可维护性,方便开发者快速定位特定功能的实现代码。PostgreSQL的源码结构清晰,核心逻辑集中于,扩展生态通过contrib目录丰富;

2025-09-17 12:38:58 1147

原创 sqlite的sql语法与技术架构研究

对 SQLite 的 SQL 语法和技术架构的梳理非常系统全面,涵盖了核心要点和关键细节,清晰展现了这款嵌入式数据库的设计逻辑与功能特性。无论是语法层面的分类(DDL、DML、DCL),还是架构层面的分层(前端解析、中间执行、后端存储),都准确抓住了 SQLite 的精髓:在语法部分,既强调了其灵活性(如动态类型、简化的自增语法),也客观指出了局限性(如 ALTER TABLE 功能有限、外键需手动开启),体现了 SQLite 为轻量性和嵌入式场景做的权衡。

2025-08-08 18:31:54 982

原创 Linux系统交叉编译:依赖、构建与实践

通常交叉编译应用库时,需要构建目标系统的编译环境。目标系统的编译环境包含了:目标系统的底层接口与库、交叉编译的glibc接口与库、交叉编译的gcc接口与库。

2025-08-05 18:22:48 1180

原创 SQLite中SQL的解析执行:Lemon与VDBE的作用解析

词法分析tokenize.c):生成 Token 序列;语法与语义分析(Lemon 生成的parse.c):检查语法合法性并验证语义;中间代码生成:将 SQL 转化为 Opcode 序列;中间代码执行(VDBE):解释执行 Opcode,完成数据库操作;存储交互:通过 B + 树和分页管理实现数据的物理存储。Lemon 和 VDBE 作为核心组件,分别解决了 “如何解析 SQL” 和 “如何执行 SQL” 的问题,共同支撑了 SQLite 轻量高效的数据库功能。(注:文档部分内容由 AI 润色生成)

2025-07-25 19:56:28 1133

原创 长二进制串或字符串的分块存储探讨

在做数据处理过程中,经常面临处理字符数据量的不断增长,有时数据量可能达到GB以上,甚至几十GB的情况;分块存储策略,是一个比较容易想到的策略,使用许多分块内存来满足数据的不断增长。

2025-06-22 10:04:11 686

原创 高并发系统下Mutex锁、读写锁、线程重入锁的使用思考

本文对比了三种锁机制——Mutex互斥锁、RWLock读写锁和ThreadMutex可重入锁的工作原理。Mutex仅允许单线程访问;读写锁区分读/写状态,实现读共享/写互斥;可重入锁允许持有线程重复加锁。高并发系统设计关键在于"快进快出"原则:缩短锁持有时间、避免在锁内进行IO/计算/内存操作,建议使用原子操作替代传统锁。

2025-05-26 21:42:40 505

原创 关于UTF编码的codepoint

UTF编码(Unicode Transformation Format)是一种通用的字符编码标准,核心是码点(codepoint),同一字符在不同UTF编码(如UTF-8、UTF-16、UTF-32)中码点唯一,便于互转。Unicode码点范围从U+0000到U+10FFFF,涵盖1,114,112个码点,基本覆盖主流文字,但仍有少数生僻文字未被包含,Unicode联盟持续扩充编码范围。

2025-05-10 11:10:23 1058

原创 关于char字符的16进制打印

在C语言中,使用printf函数打印char类型的16进制内容时,直接使用%0.2x格式可能会导致非预期结果。具体来说,当char类型的值超过0x7F时,printf会将其视为int类型,并按照4字节的补码形式打印,导致输出结果异常。例如,char类型的-128到-1会被打印为0xffffff80到0xffffffff。

2025-05-10 09:14:47 892

原创 避免误用strncmp与memcmp,strcpy与memcpy

许多时候,我们作为软件研发人员,会觉得- 一段内存就是一串字符串;- 字符串就是一段内存;概念上,往往会觉得,一段内存,一串字符串,两者许多时候可以指同一个对象的。

2025-04-08 20:34:14 655

原创 海明码的认识理解与延伸

海明码是一个不错的监测纠正算法,能够检测出纠正一位传输错误,提高数据传输的可靠性。关于海明码算法,它的检测特点类似于:数据范围与位数的关系。

2025-02-11 20:45:00 1604

原创 va_list/va_start/va_end/va_arg可变参数的使用

做日志打印或其它可变参数处理时,通常我们会想到使用va_list/va_start/va_end做可变参数的收集和处理。使用这种方式处理可变参数比较通用,同时适用于c与c++中。

2025-02-01 20:45:31 1459

原创 个人云服务器linux系统增加swap空间

如果你也购买了个人的阿里云服务器、百度云服务器、腾讯云服务器 或 轻量云服务的话,并且安装了linux系统,那么你可能需要做swap的配置,来增强服务器的性能,提高服务器支撑的内存容量。

2025-01-27 18:30:00 711

原创 关于高级工程师的想法

关于高级工程师,自己的想法是这样的,一是相关的行业经验积累,二是抽象总结与表达能力,三是心态上从容笃定,四是能够接受更长时间的不确定性。

2025-01-17 21:00:00 295

原创 我的常用vim操作:打开/保存/编辑/跳转/显示状态等

我的常用vim操作,包括文件打开与保存、编辑操作、状态调整操作、跳转操作等

2025-01-17 20:15:00 835

原创 leveldb的DBSequence从哪里来,到哪里去?

leveldb数据库的DBSequence从哪里来,到哪里去?大概的情形是,leveldb的记录初始DBSequence为0,随着记录的增加,记录sequence不断随着增加,并持久化到文件中。细节在哪呢?

2025-01-03 20:49:04 768

原创 Linux下C++代码实现字符集转换

linux下字符集转化,通常我们采用的路径有两个:wcstombs/mbstowcs与直接使用iconv。

2024-12-10 21:09:58 1108

原创 软考系统架构师一些知识点记录--质量评估效用树Utility Tree

可以理解为信息安全Security、数据安全security、系统安全security,也即系统不容易被病毒、黑客所攻破,系统比较安全;也或操作需要授权,权限管理等。例如:也可能通过负载均衡多个主机提供服务,一个网络出问题了,负载转到另一个机器上服务,服务高可用;关注的是系统能够支持的服务响应速度,系统能支持的容量限额等要求,或是系统对系统资源的占用限额要求。可以理解为修改定制比较容易,定制业务相关的新功能特性时,耗费的开发成本比较低,部署成本比较低。例如:可能通过热双机,一个主机出问题了,另一个启用;

2024-10-24 22:05:16 860

原创 浮点数二进制制科学计数法理解

对于浮点类型,我们知道其采用科学计数法,准确来说应该是二进制科学计数法。为什么准确说是是二进制科学计数法,而不是称为科学计数法?

2024-10-17 22:32:36 1227

原创 数据类型转换与转义reinterpret的差异

在C和C++语言中,类型转换与转义是有点像的,有时可能被误解,这块需要仔细辨别。

2024-10-16 21:08:43 439

原创 leveldb前缀匹配查找Seek

最近偶然发现了,leveldb前缀匹配查找的功能。之前没有从这个角度去想过Seek方法,尝试使用之后,效率还是很好的。时不我待,下面也谈一谈该技术点,以及这个技术点的背后支持,leveldb为此做的实现。

2024-09-24 21:30:28 860

原创 实现一个自定义STL类模版DataStorage

尝试自己来实现一个模版类,来满足一些常用语法、常用接口的使用。综合std::vector与std::array特点,提供一个由这两个类对象组合出来的内存结构类模版,该模版类有一个固定内存块和一个动态内存块,对外提供stl的相关访问方法。

2024-08-19 22:01:02 899

原创 使用perfmon做进程性能监视的方法技巧

关于perfmon的使用,一方面是关于如何对一个应用进程,做相关的资源占用分析,做性能分析?另一方面是关于如何对查看分析报告,查看细节细微调整的一些方法?

2024-07-26 19:07:12 1188 2

原创 堆溢出崩溃vs栈溢出崩溃的内存越界对比分析

最近碰到了软件运行的两个崩溃问题,非常典型,一个堆溢出越界问题heap overflow,一个栈溢出越界问题statck overflow。

2024-07-19 19:25:57 1619

原创 我的创作纪念日

我的创作纪念日

2024-07-08 11:17:44 375

原创 leveldb的cache实现研究

近来研究leveldb的数据cache,又发现了一些新的细节,发现的这些细节还是很有趣的,一起来看看。

2024-06-07 20:57:06 868

原创 软考系统架构师一些知识点记录-2-系统质量属性与架构评估

接着上次的内容,这次记录的是”第三篇-架构设计高级知识---系统质量属性与架构评估“的内容,这一节在软考时,也出了有不少题目。

2024-05-31 17:27:50 562

原创 软考系统架构师一些知识点记录-1-系统架构设计基础

准备去参加软考的考试,但对一些概念掌握的还不够,借此机会,整理记录一二,便于自己理解掌握。

2024-05-24 22:47:55 1042

原创 linux下coredump问题的定位分析方法

linux下core问题的定位,除了使用常规的gdb分析core文件与重现问题之外,我们还可以关注一些点:第一关注运行日志,第二关注运行限制和系统信息,第三关注系统历史运行信息,另外还有一些常见问题项等。

2024-04-10 20:11:45 1395

原创 透过dumpe2fs看ext2文件系统

对于ext2文件系统,我们大多数会有所耳闻的,那我们是否知道,该文件系统的内部存储结构是什么样的?另外对于一个制定大小的文件系统,它的存储大小和文件数有约束吗?一个10MB的ext2文件系统中:能支持建立多少个文件?能建立1000个?10000个?和什么有关系?能最大存储多大的内容,是满10MB吗?还是9MB?由什么来确定的?

2024-03-15 18:35:19 1184

原创 惊艳的KMP字符串匹配算法

KMP字符串匹配算法是早有耳闻的,但之前并未去了解它的字符串匹配思路;昨天晚上偶然翻书看到,发现算法设计思路非常棒,在自己看来,可以用惊艳来形容。

2024-02-20 10:20:42 1106

原创 使用Excel计算--任务完成总工作日时长

计算任务完成时间周期,和计算金钱一样,是一个比较细致严谨的工作。通常,我们可能以为,完成周期形如:任务完成周期 = 任务结束时间 - 任务开始时间。但是一般情况下,对于正常社会企业,通常都是要把排除掉休息日,来计算的任务完成周期。

2024-01-26 18:14:21 2957

原创 git-clone的single-branch操作回退

之前使用了single-branch下载分支,后来想取消掉,但怎么做呢,查了一些资料之后,了解到了怎么做,特记录下来。

2024-01-20 21:13:24 1902

原创 CMakeLists中Set编译器要放在project设定之前

前一段时间做Linux下的编译,遇到一个奇怪的问题,明明设定了使用C Compiler, CXX Copmiler,但是cmake时还是报错,找了clang++编译器,觉得很奇怪。

2023-10-13 10:12:12 531

原创 linux脚本-使用top命令监控进程cpu与mem占用

下面是两个shell脚本程序,算是常用到的两个脚本形式:一个是监控进程cpu与mem占用的;一个是启动多进程,为程序传递不同数字参数的;

2023-10-12 11:51:07 719

原创 linux下查看库符号注意使用c++filt解析

这篇文档,主要内容就如标题所言:linux下查看库符号是,注意使用c++filt解析后,再来做grep查找。

2023-08-29 19:16:54 804

AutoCad 2011版的DXF参考手册官方地址

AutoCad 2011版的DXF参考手册,存的一个网址,是网页版访问的。 中文版的,比较好用,我找了许多地方才找到的,所以共享出来给大家。

2013-06-20

Python语言程序设计基础_课件PPT_嵩天

课件来源于python123.io课程中57个PDF文档课件的汇总。 笔者提供了:1、把57个章节课件按顺序汇总到一个文档中。 2、对PDF增加了57个章节书签,方便阅读。 课件来源网址:https://python123.io/student/courses/371/materials 备注:感谢嵩天老师和python123提供的课程与课件,建议大家加入课程学习!

2018-12-01

编译原理-简单计算器

编译原理-简单计算器:实现词法分析器,和语法分析器:实现正整数与浮点数的 + - * / () 之前大学的时候,编译原理课程有一个做计算器的任务,当时没有做,只顾做一个漂亮计算器界面。趁这周末有空,就把计算器编译重新做一做。 参考文档:http://wenku.baidu.com/view/341e42bd02d276a200292e6c.html

2014-08-31

Mac上构建OpenGL红宝书上的triangles程序

OpenGL红宝书中程序与Mac系统匹配不好,需要进行相关的适配才能够在Mac下正常的运行。 该资源是花了不少时间查阅资料处理的,最终实现仅依赖系统带的OpenGL和GLUT,在Mac上运行红宝书的第一个程序-triangles。 文件(格式.tar.gz压缩包)包含的清单如下: LoadShaders.cpp LoadShaders.o triangles triangles.frag triangles.vert LoadShaders.h Makefile triangles.cpp triangles.o 重新构建方法:make clean; make 运行方法:./triangles

2019-04-12

空空如也

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

TA关注的人

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