自定义博客皮肤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.youkuaiyun.com/chunyexiyu)

  • 博客(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

原创 我的常用vim操作

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

2025-01-17 20:15:00 683

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

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

2025-01-03 20:49:04 668

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

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

2024-12-10 21:09:58 945

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

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

2024-10-24 22:05:16 488

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

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

2024-10-17 22:32:36 777

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

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

2024-10-16 21:08:43 368

原创 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

原创 我的创作纪念日

我的创作纪念日

2024-07-08 11:17:44 338

原创 leveldb的cache实现研究

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

2024-06-07 20:57:06 802

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

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

2024-05-31 17:27:50 517

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

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

2024-05-24 22:47:55 994

原创 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

原创 weak_ptr特点

weak_ptr也是一个很有意思的智能指针,感觉它不太像是一个智能指针,更像是一个shared_ptr的经纪人

2023-05-04 20:34:05 594

原创 虚函数继承与虚函数表-汇编码分析

虚函数继承是如何继承的呢?我们听说的虚函数表是怎么回事?虚函数表指针是如何变化与赋值呢?虚函数表存储的内容格式是什么样子的?

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程序

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

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

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

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

2013-06-20

Window上的Shell文件

Windows上的Shell程序,经过自己的验证,是可用的,和在Linux上使用效果一致。 使用方法,例如把这个在D盘解压,在 我的电脑-->属性-->高级-->环境变量中,在Path路径里,加上D:\winshell即可 当前已知存在问题:awk命令不可用,当前我自己尚未找到可用的版本,等找到后,会下架这个,重新提供。

2013-06-07

空空如也

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

TA关注的人

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