- 博客(460)
- 资源 (3)
- 收藏
- 关注
原创 海明码的认识理解与延伸
海明码是一个不错的监测纠正算法,能够检测出纠正一位传输错误,提高数据传输的可靠性。关于海明码算法,它的检测特点类似于:数据范围与位数的关系。
2025-02-11 20:45:00
1482
原创 va_list/va_start/va_end/va_arg可变参数的使用
做日志打印或其它可变参数处理时,通常我们会想到使用va_list/va_start/va_end做可变参数的收集和处理。使用这种方式处理可变参数比较通用,同时适用于c与c++中。
2025-02-01 20:45:31
979
原创 个人云服务器linux系统增加swap空间
如果你也购买了个人的阿里云服务器、百度云服务器、腾讯云服务器 或 轻量云服务的话,并且安装了linux系统,那么你可能需要做swap的配置,来增强服务器的性能,提高服务器支撑的内存容量。
2025-01-27 18:30:00
561
原创 关于高级工程师的想法
关于高级工程师,自己的想法是这样的,一是相关的行业经验积累,二是抽象总结与表达能力,三是心态上从容笃定,四是能够接受更长时间的不确定性。
2025-01-17 21:00:00
195
原创 leveldb的DBSequence从哪里来,到哪里去?
leveldb数据库的DBSequence从哪里来,到哪里去?大概的情形是,leveldb的记录初始DBSequence为0,随着记录的增加,记录sequence不断随着增加,并持久化到文件中。细节在哪呢?
2025-01-03 20:49:04
668
原创 软考系统架构师一些知识点记录--质量评估效用树Utility Tree
可以理解为信息安全Security、数据安全security、系统安全security,也即系统不容易被病毒、黑客所攻破,系统比较安全;也或操作需要授权,权限管理等。例如:也可能通过负载均衡多个主机提供服务,一个网络出问题了,负载转到另一个机器上服务,服务高可用;关注的是系统能够支持的服务响应速度,系统能支持的容量限额等要求,或是系统对系统资源的占用限额要求。可以理解为修改定制比较容易,定制业务相关的新功能特性时,耗费的开发成本比较低,部署成本比较低。例如:可能通过热双机,一个主机出问题了,另一个启用;
2024-10-24 22:05:16
488
原创 浮点数二进制制科学计数法理解
对于浮点类型,我们知道其采用科学计数法,准确来说应该是二进制科学计数法。为什么准确说是是二进制科学计数法,而不是称为科学计数法?
2024-10-17 22:32:36
777
原创 leveldb前缀匹配查找Seek
最近偶然发现了,leveldb前缀匹配查找的功能。之前没有从这个角度去想过Seek方法,尝试使用之后,效率还是很好的。时不我待,下面也谈一谈该技术点,以及这个技术点的背后支持,leveldb为此做的实现。
2024-09-24 21:30:28
694
原创 实现一个自定义STL类模版DataStorage
尝试自己来实现一个模版类,来满足一些常用语法、常用接口的使用。综合std::vector与std::array特点,提供一个由这两个类对象组合出来的内存结构类模版,该模版类有一个固定内存块和一个动态内存块,对外提供stl的相关访问方法。
2024-08-19 22:01:02
838
原创 使用perfmon做进程性能监视的方法技巧
关于perfmon的使用,一方面是关于如何对一个应用进程,做相关的资源占用分析,做性能分析?另一方面是关于如何对查看分析报告,查看细节细微调整的一些方法?
2024-07-26 19:07:12
704
2
原创 堆溢出崩溃vs栈溢出崩溃的内存越界对比分析
最近碰到了软件运行的两个崩溃问题,非常典型,一个堆溢出越界问题heap overflow,一个栈溢出越界问题statck overflow。
2024-07-19 19:25:57
1378
原创 软考系统架构师一些知识点记录-2-系统质量属性与架构评估
接着上次的内容,这次记录的是”第三篇-架构设计高级知识---系统质量属性与架构评估“的内容,这一节在软考时,也出了有不少题目。
2024-05-31 17:27:50
517
原创 linux下coredump问题的定位分析方法
linux下core问题的定位,除了使用常规的gdb分析core文件与重现问题之外,我们还可以关注一些点:第一关注运行日志,第二关注运行限制和系统信息,第三关注系统历史运行信息,另外还有一些常见问题项等。
2024-04-10 20:11:45
1225
原创 透过dumpe2fs看ext2文件系统
对于ext2文件系统,我们大多数会有所耳闻的,那我们是否知道,该文件系统的内部存储结构是什么样的?另外对于一个制定大小的文件系统,它的存储大小和文件数有约束吗?一个10MB的ext2文件系统中:能支持建立多少个文件?能建立1000个?10000个?和什么有关系?能最大存储多大的内容,是满10MB吗?还是9MB?由什么来确定的?
2024-03-15 18:35:19
1078
原创 惊艳的KMP字符串匹配算法
KMP字符串匹配算法是早有耳闻的,但之前并未去了解它的字符串匹配思路;昨天晚上偶然翻书看到,发现算法设计思路非常棒,在自己看来,可以用惊艳来形容。
2024-02-20 10:20:42
1056
原创 使用Excel计算--任务完成总工作日时长
计算任务完成时间周期,和计算金钱一样,是一个比较细致严谨的工作。通常,我们可能以为,完成周期形如:任务完成周期 = 任务结束时间 - 任务开始时间。但是一般情况下,对于正常社会企业,通常都是要把排除掉休息日,来计算的任务完成周期。
2024-01-26 18:14:21
2335
原创 git-clone的single-branch操作回退
之前使用了single-branch下载分支,后来想取消掉,但怎么做呢,查了一些资料之后,了解到了怎么做,特记录下来。
2024-01-20 21:13:24
1550
原创 CMakeLists中Set编译器要放在project设定之前
前一段时间做Linux下的编译,遇到一个奇怪的问题,明明设定了使用C Compiler, CXX Copmiler,但是cmake时还是报错,找了clang++编译器,觉得很奇怪。
2023-10-13 10:12:12
404
原创 linux脚本-使用top命令监控进程cpu与mem占用
下面是两个shell脚本程序,算是常用到的两个脚本形式:一个是监控进程cpu与mem占用的;一个是启动多进程,为程序传递不同数字参数的;
2023-10-12 11:51:07
572
原创 linux下查看库符号注意使用c++filt解析
这篇文档,主要内容就如标题所言:linux下查看库符号是,注意使用c++filt解析后,再来做grep查找。
2023-08-29 19:16:54
668
原创 stl库提供的几个智能指针特点
STL提供了几种智能指针模板,shared_ptr, unqiue_ptr, auto_ptr(c++17已停用), weak_ptr,他们各有特色,每一种都有自己的特点。
2023-08-29 18:49:54
161
原创 sqlite使用样例与utf编码
关于如何来使用sqlite,写了一些简单的使用样例。数据库使用样例,无外乎几种,打开数据库,创建表,插入数据,查询数据,DDL与DML几种操作。另外由于sqlite的接口限制约束,要求字符串使用utf编码格式,所以也会涉及编码使用的部分知识。
2023-07-15 20:44:56
1578
原创 leveldb的Version相关类分析
在leveldb中,Version相关类是其中比较复杂的几个类了,主要包括Version、VersionEdit、VersionSet几个类。
2023-06-27 21:13:48
230
原创 堆排序与大顶堆
有一天,别人问到你,你了解 堆排序吗?或者 你对大顶堆了解吗?之前问我的话,我是不太了解的,不过现在了解多了。也期望通过下文,你也能对它了解起来。
2023-05-17 22:53:44
587
原创 虚函数继承与虚函数表-汇编码分析
虚函数继承是如何继承的呢?我们听说的虚函数表是怎么回事?虚函数表指针是如何变化与赋值呢?虚函数表存储的内容格式是什么样子的?
2023-04-09 16:51:50
761
原创 为什么在leveldb::DB类实现Put/Delete方法
leveldb::DBImpl并不是实现leveldb::DB全部方法,leveldb::DB也实现了一些方法:Put,Delete就是其中两个。
2023-03-24 22:50:09
514
原创 leveldb的Compaction线程
在leveldb中,有一个全局的后台线程BGThread,用于数据库的MinorCompact与MajorCompact。重点关注“全局线程”:这个标识着无论一个进程打开多少个leveldb库,该Compact线程只有一个;
2023-03-24 22:41:04
440
原创 解读CRC校验计算
CRC校验的思路是,把一个串作为一个长的数值,附加某段校验码后,形成一个更长的数值串,对该数值串求余运算时能够整除;从而来校验内容未被篡改;
2023-02-27 21:36:13
1698
原创 读写锁RWLock简单实现研究
读写锁在服务端程序开发时,用的还是比较广泛的一种锁,比较适合用于多读少写的场景。多读少写场景,可以减少加锁时间;因为能够对大多数的读场景减少加锁时间,也一定程度减少多线程程序的编写难度。
2023-01-15 21:19:19
550
原创 shared_ptr代码研究
shared_ptr被使用的很广泛,许多经典库使用share_ptr作为实现函数的接口类型使用。出share_ptr构建时:会构建出两个指针,一个用来指向维护的元素,一个用来指向元素的计数管理类对象。
2023-01-05 20:43:19
920
原创 安装使用clang-format
clang-format用于格式化代码,并能够指定采用的格式名称,例如google,microsoft,GNU代码样式格式等。
2022-12-18 17:58:45
2515
原创 谈数据库查询涉及的存储效率
对于数据查询来说,主要的瓶颈就在存储IO,磁盘IO的读写速度低于内存处理、CPU处理数个数量级。是查询效率优化的中心,优化也都于围绕着它展开
2022-11-26 16:50:37
1014
原创 leveldb的sstable-ldb解析
leveldb的sstable-ldb文件作为sorted-stable-table,是一个自成体系的单数据库文件,自身就包含了排序索引信息,以及相应的key,value信息;
2022-10-19 20:31:45
610
Mac上构建OpenGL红宝书上的triangles程序
2019-04-12
Python语言程序设计基础_课件PPT_嵩天
2018-12-01
编译原理-简单计算器
2014-08-31
AutoCad 2011版的DXF参考手册官方地址
2013-06-20
Window上的Shell文件
2013-06-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人