
笔记
文章平均质量分 72
弥川
手持两把锟斤拷,口中疾呼烫烫烫
展开
-
面向对象建模
通常包含三个元素:参与者、通信连接(或者关联)和实际的用例,使用。UML 关系主要有:依赖、关联、聚合、组合、实现、继承。原创 2024-10-01 11:02:21 · 676 阅读 · 0 评论 -
Redis 数据结构
Redis 3.0 的 List 对象在数据量⽐较少的情况下,会采⽤「压缩列表」作为底层数据结构的实现,它的优势是节省内存空间,并且是内存紧凑型的数据结构。然后在 Redis 5.0 设计了新的数据结构 listpack,沿⽤了压缩列表紧凑型的内存布局,最终在最新的 Redis 版本,将 Hash 对象和 Zset 对象的底层数据结构实现之⼀的压缩列表,替换成由 listpack 实现。Redis 只有在 Zset 对象的底层实现⽤到了跳表,跳表的优势是能⽀持平均 O(logN) 复杂度的节点查找。原创 2024-06-17 23:52:57 · 1118 阅读 · 0 评论 -
Markdown 语法支持测试
With Typora斜体Abc 加粗Abc 斜体加粗Abc删除线Abc 下划线Abc颜色大小Abc居左Abc居右Abc 全角缩进Abc 半角缩进Abc锚点尾 (一级标题)链接Abc注脚语法Abc1转意符 Todo list Todo list谷歌又名Google酷安又名CoolAPKcxplay@qq.comKaTeX parse error: Can't use function '$' in math mode at position 249: …\end{vmatrix}$̲{$tep1}原创 2022-06-09 00:32:30 · 1873 阅读 · 2 评论 -
markdown
Markdown 基本语法 | Markdown 官方教程Emoji大全 | Emoji表情符号词典 📓 | EmojiAll中文官方网站mermaid - Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs. (mermaid-js.github.io)...原创 2022-06-09 00:30:07 · 229 阅读 · 0 评论 -
HFS+文件系统
HFS+文件系统用B-树结构组织数据,B-树包含若干节点(Node),每个节点包含记录(Records),记录由**关键字(Key)和数据(data)**组成。节点分为4种:节点号 = 节点在B-树文件中的偏移量 / 每节点字节数节点结构:节点描述符、节点记录列表、节点记录起始偏移量列表[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NhEJrAtl-1654443952167)(.\节点结构图.png)]............原创 2022-06-05 23:46:24 · 1812 阅读 · 0 评论 -
数据恢复资源
《数据重现 : 文件系统原理精解与数据恢复最佳实践》《识数寻踪 : WinHex应用与数据恢复开发秘籍》《数据恢复技术深度揭秘》《大话存储(终极版)》存储安全与高可用技术原创 2022-06-05 21:22:31 · 402 阅读 · 0 评论 -
Mermaid从入门到入土
特定的Mermaid渲染器:mermaid-live-editor集成了Mermaid渲染功能的Markdown编辑器:Mermaid图类型3%4%93%为什么总是宅在家里?喜欢宅天气太热或太冷穷流程图实例#mermaid-svg-012hniB2aQehD5gw {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-012hniB2aQehD5gw .error-icon原创 2022-06-02 01:58:58 · 695 阅读 · 0 评论 -
Linux模块化增加设备驱动程序
Linux模块化增加设备驱动程序目录文章目录Linux模块化增加设备驱动程序目录目的开发环境实验步骤关键代码打开设备释放设备,解除占用读取设备缓冲区内容到终端输入字符串,从终端读取,写入设备缓冲区注册字符设备注销字符设备添加模块宏定义和许可协议调试记录目的采用模块方法,添加一个新的字符设备驱动程序,实现打开/关闭、读/写等基本操作编写一个应用程序,测试添加的驱动程序开发环境操作系统: ubuntu 16.04LTS 64位内核版本:linux-4.14.141内存:8G处理器: I原创 2022-05-09 23:28:00 · 1907 阅读 · 0 评论 -
IT 行业、转码求职经验
IT 行业、转码求职经验(校招、社招)原创 2022-05-09 14:48:16 · 1334 阅读 · 0 评论 -
Linux编译内核和添加系统调用
Linux编译内核和添加系统调用文章目录Linux编译内核和添加系统调用目的环境和步骤开发环境步骤核心代码添加系统调用例程syscalls.h文件中添加新增系统调用例程函数声明syscall_64.tbl系统调用表中添加新增系统调用号测试测试代码目录说明目的采用编译内核的方法,添加一个新的系统调用,实现文件拷贝功能编写一个应用程序,测试新加的系统调用环境和步骤开发环境操作系统:ubuntu 16.04 LTS 64位内核版本:linux-4.14.141内存:8G处理器:I原创 2022-05-08 01:32:50 · 996 阅读 · 0 评论 -
字节序(Byte Order)
字节序(Byte Order)“endian”这个词出自讽刺小说《格列佛游记》。小人国的内战就源于吃水煮鸡蛋时究竟是从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开,由此曾发生过6次叛乱,其中一个皇帝送了命,另一个丢了王位。实例大小端与CPU有关,与编译器和操作系统类型无关;x86、arm是小端,MAC是大端,MIPS可以配置;TCP/IP协议、Java虚拟机规定为大端模式。定义MSB(Most Significant Bit/Byte)通常用来表明在一原创 2022-05-06 22:42:40 · 2171 阅读 · 0 评论 -
PPT技巧
PPT技巧一 默认设置无限撤回 文件→更多→选项→高级→最多可取消150次自动保存 文件→更多→选项→保存→自动恢复保存时间字体嵌入 文件→更多→选项→保存→勾选 将字体嵌入文件→仅入…多格式导出 导出→更改类型参考线 视图→勾选 网格线 参考线统一文字 设计选项卡→变体→其他→字体→自定义字体默认样式 设置一个样式→点击右键→设置默认样式删除占位符 视图→母版幻灯片→删除占位符#mermaid-svg-PJqC3WGzF4dyLi18 {font-family:"tr原创 2022-05-05 11:22:27 · 166 阅读 · 0 评论 -
XUbuntu安装
XUbuntu安装⚠️ 注:根据网络资料整理,尚未实践,仅作为记录以供后续实践参考制作U盘映像:UltraSO 制作 iso 映像xubuntu.orgxubuntu磁盘清理为空闲盘:傲梅分区助手BIOS 关闭 secure boot,设置UEFIUbuntu boot 按e,设置 nomodeset选择最小安装选择其他安装,进行分区名称分区格式大小EFI引导(或/boot)主分区无2048MB/逻辑分区EXT4100原创 2022-05-02 10:48:29 · 956 阅读 · 0 评论 -
list源码剖析
list源码剖析文章目录list源码剖析定义模板参数成员函数特殊函数元素访问迭代器容量修改器操作非成员函数参考资料定义定义:支持常数时间从容器任何位置插入和移除元素的容器。不支持快速随机访问。通常实现为双向链表。template< class T, class Allocator = std::allocator<T>> class list;模板参数T - 必须满足可拷贝赋值 (CopyAssignable) 和可拷贝构造 (CopyConstructi原创 2022-05-01 12:55:10 · 379 阅读 · 0 评论 -
vector源码剖析
vector源码剖析文章目录vector源码剖析定义成员类型成员函数特殊函数元素访问迭代器容量修改器非成员函数参考资料定义定义:封装动态数组的顺序容器。template< class T, class Allocator = std::allocator<T>> class vector;**模板参数 **T 必须满足可拷贝赋值(CopyAssignable)和可拷贝构造(CopyConstructible)的要求。Allocator 用于获取/释放内存原创 2022-04-30 22:55:06 · 917 阅读 · 0 评论 -
十大排序算法
十大排序算法分类稳定:冒泡、插入、归并非稳定:快排,选择,希尔,堆排序复杂度常见考点🔥🔥🔥快速排序描述从数列中挑出一个元素,称为 “基准”(pivot)重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序代码/**********************原创 2022-04-29 14:16:24 · 448 阅读 · 0 评论 -
ubuntu中文支持,及中文乱码问题
来源:ubuntu中文支持,及中文乱码问题ubuntu中文支持,及中文乱码问题对服务器同样有效。状况:所用的ubuntu系统不支持中文,遇见中文就???。ORZ…目标:使系统/服务器支持中文,能够正常显示。首先,安装中文支持包 language-pack-zh-hans:$ sudo apt-get install language-pack-zh-hans然后,修改 /etc/environment(在文件的末尾追加):LANG="zh_CN.UTF-8"LANGUAGE=转载 2022-04-26 21:49:57 · 4887 阅读 · 1 评论 -
GCC编译实践
GCC文件扩展名文件名称+扩展名GCC 编译器识别的文件类型file.c尚未经过预处理操作的 C 源程序文件。file.i经过预处理操作、但尚未进行编译、汇编和连接的 C 源代码文件。file.cpp file.cp file.cc file.cxx file.CPP file.c++ file.C尚未经过预处理操作的 C++ 源代码文件。file.ii已经预处理操作,但尚未进行编译、汇编和连接的 C++ 源代码文件。file.s经过编译生成的汇编代码原创 2022-04-25 11:20:49 · 1140 阅读 · 0 评论 -
GDB调试实践
GDB调试实践调试实例 huhan@HuHan ~/cpp/coredump lstest.cpp huhan@HuHan ~/cpp/coredump huhan@HuHan ~/cpp/coredump g++ -o test test.cpp -g huhan@HuHan ~/cpp/coredump ulimitunlimited huhan@HuHan ~/cpp/coredump ulimit- c unlimitedzsh: command not fou原创 2022-04-24 21:37:27 · 544 阅读 · 0 评论 -
基础数据结构与算法(C++描述)
基础数据结构与算法(C++描述)数组基本概念数组可以存储一个固定大小的相同类型元素的顺序集合。声明数组指定元素的类型和元素的数量,arraySize必须是一个大于零的整数常量,type可以是任意有效的 C++ 数据类型。type arrayName [ arraySize ];初始化数组使用一个初始化语句。double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};省略掉了数组的大小,数组的大小则为初始化时元素的个数,使用sizeof求数组大小原创 2022-04-22 08:45:02 · 781 阅读 · 0 评论 -
图解设计模式
图解设计模式UML依赖:对类 B 进行修改会影响到类 A 。关联:对象 A 知道对象 B。类 A 依赖于类 B。聚合:对象 A 知道对象 B 且由 B 构成。类 A 依赖于类 B。组合:对象 A 知道对象 B、由 B 构成而且管理着 B 的生命周期。类 A 依赖于类 B。实现:类 A 定义的方法由接口 B 声明。对象 A 可被视为对象B。类 A 依赖于类 B。继承: 类 A 继承类 B 的接口和实现, 但是可以对其进行扩展。对象 A 可被视为对象 B。类 A 依赖于类 B。SOLID原原创 2022-04-21 17:01:06 · 303 阅读 · 0 评论 -
C++ Template
C++ Template❓为什么要使用模板不用模板方式实现功能重复实现相同功能:针对每个所需相同行为的不同类型,一次又一次地实现它,做了许多重复的工作,会犯同一个错误;还会舍弃复杂但更好用的算法:因为复杂算法通常都趋向于引入更多的错误。继承基类:把通用代码放在一个诸如Object或者void*的公共基础类里面。借助公共基类来编写通用代码,将失去类型检查这个优点。另外,对于以后实现的许多类,都必须继承自某个特定的基类,这会令代码的维护更加困难。使用特殊的预处理程序:使用了一个诸如C或C++预处理器原创 2022-04-20 18:01:48 · 806 阅读 · 0 评论 -
I/O多路复用(select/poll/epoll)
I/O多路复用(select/poll/epoll)Socket编程服务端服务端首先调用 socket() 函数,创建网络协议为 IPv4,以及传输协议为 TCP 的 Socket ,接着调用 bind() 函数,给这个 Socket 绑定一个 IP 地址和端口调用 listen() 函数进行监听,此时对应 TCP 状态图中的 listen,如果我们要判定服务器中一个网络程序有没有启动,可以通过 netstat 命令查看对应的端口号是否有被监听。服务端进入了监听状态后,通过调用 acc转载 2022-04-19 20:09:31 · 269 阅读 · 0 评论 -
C++内存模型与名称空间
C++内存模型与名称空间主要内容单独编译存储持续性、作用域、链接性定位(placement)new运算符名称空间单独编译程序文件结构头文件:包含结构声明和使用这些结构的函数的原型函数原型使用#define或const定义的符号常量结构声明类声明模板声明内联函数源代码文件:包含与结构有关的函数的代码源代码文件:包含调用与结构相关的函数的代码注意:<myhead.h>代表在标准头文件的目录中查找;包含自定义头文件,使用"myhead.h",代表在原创 2022-04-17 21:25:33 · 125 阅读 · 0 评论 -
Effective MySQL笔记
原创 2020-06-30 22:52:29 · 195 阅读 · 0 评论 -
Git使用
Git配置用户信息git config --global user.name "John Doe"git config --global user.email johndoe@example.com查看配置git config --list基础新建仓库、克隆仓库、跟踪文件忽略文件.gitignore文件查看仓库状态git status 提交更新git commit查看提交历史git log --oneline --graph修补最后一次提交git commit原创 2022-04-11 22:18:58 · 64 阅读 · 0 评论 -
Linux常用命令
Linux常用命令开关机与用户切换命令功能shutdown –h now立刻进行关机shutdown –r now现在重新启动计算机reboot现在重新启动计算机su切换用户passwd修改用户密码logout用户注销快捷命令命令功能tab命令补全clear清屏history查找历史命令ctrl+k删除此处至末尾所有内容ctrl+u删除此处至开始所有内容ctrl+w清除当前原创 2022-04-11 20:30:09 · 408 阅读 · 0 评论 -
《C语言程序设计现代方法》阅读笔记
第2章 C语言基本概念编译和链接预处理编译链接第4章 表达式左值计算机内存中占有确定位置可以放到赋值表达式左边自增和自减++i 比 i++ 操作更好第7章 基本类型sizeof运算符获取数据类型的字节数sizeof能求得静态分配内存的数组的长度sizeof不能求得动态分配的内存的大小第8章 数组数组下标数组下标是相对数组首地址的地址偏移量,使用下标访问数组元素时要避免访问越界。数组初始化数组初始化时可以只给第一个元素赋值为0,数组中剩余元素会初始化为0。原创 2021-08-11 21:30:47 · 239 阅读 · 0 评论