selfboot0
码龄7年
关注
提问 私信
  • 博客:18,468
    社区:3
    18,471
    总访问量
  • 23
    原创
  • 43,405
    排名
  • 220
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2017-12-12
博客简介:

selfboot 的博客,记录与分享

博客描述:
部分文章会发在CSDN,所有文章在个人博客都有,个人博客会持续更新已经发表了的博客。个人主页地址:https://selfboot.cn/
查看详细资料
  • 原力等级
    当前等级
    2
    当前总分
    156
    当月
    41
个人成就
  • 获得399次点赞
  • 内容获得4次评论
  • 获得356次收藏
创作历程
  • 4篇
    2025年
  • 15篇
    2024年
  • 4篇
    2023年
成就勋章
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

LevelDB 源码阅读:如何优雅地合并写入和删除操作

本文深入剖析了 LevelDB 中 WriteBatch 的设计与实现,详细介绍了其如何通过批量写入和删除操作提升性能。文章从 WriteBatch 的接口设计、序列号机制、操作记录存储格式等方面展开,结合源码分析了其核心功能,如序列号的全局递增、操作计数、数据格式验证等。此外,文章还通过测试用例展示了 WriteBatch 的实际使用场景,适合对 LevelDB 或存储系统设计感兴趣的开发者阅读。
原创
发布博客 2025.01.15 ·
1012 阅读 ·
23 点赞 ·
0 评论 ·
24 收藏

复杂 C++ 项目堆栈保留以及 eBPF 性能分析

在构建和维护复杂的 C++ 项目时,性能优化和内存管理是至关重要的。当我们面对性能瓶颈或内存泄露时,可以使用eBPF(Extended Berkeley Packet Filter)和 BCC(BPF Compiler Collection)工具来分析。如我们在文中看到的一样,我们用 BCC 的 profile 工具分析 Redis 的 CPU 占用,画了 CPU 火焰图,然后就能比较容易找到耗时占比大的函数以及其调用链。个人博客原文地址more。
原创
发布博客 2025.01.14 ·
974 阅读 ·
12 点赞 ·
0 评论 ·
27 收藏

5 个导致 C++ 进程 Crash 的真实业务案例

本文深入分析了 C++ 开发中常见的 5 种导致进程 Crash 的典型案例:未捕获的异常处理、数组越界访问、迭代器失效、并发数据竞争以及栈溢出问题。通过真实的代码示例,详细讲解了每种问题的成因、排查方法和解决方案。文章还介绍了如何使用 GDB、Valgrind 等工具来分析 Coredump 问题,是一篇实用的 C++ 参考指南。
原创
发布博客 2025.01.11 ·
824 阅读 ·
22 点赞 ·
0 评论 ·
17 收藏

LevelDB 源码阅读:利用 Clang 的静态线程安全分析

本文介绍 LevelDB 中使用 Clang 的静态线程安全分析工具,通过在代码中添加宏注解,支持在编译期检测潜在的线程安全问题。
原创
发布博客 2025.01.02 ·
923 阅读 ·
26 点赞 ·
0 评论 ·
8 收藏

在线免费批量生成 Word 文档工具

为了方便的批量生成 Word 文档,写了个,可以。适用于需要批量生成格式统一但内容不同的文档场景。数据和 Word 模板的格式可以参考这里的两个文件示例:和。,甚至可以在页面加载之后离线使用,请放心使用。
原创
发布博客 2024.12.27 ·
1161 阅读 ·
13 点赞 ·
0 评论 ·
11 收藏

LevelDB 源码阅读:如何设计一个高性能哈希表

以 LevelDB 的哈希表实现为例,分析了如何设计一个高性能的哈希表。通过二级指针,实现了链表的插入、删除和查找操作,并且通过头插法优化了链表插入操作,并分析了链表扩容的实现。最后,通过一个例子详细介绍了 C++ 中的二级指针。
原创
发布博客 2024.12.26 ·
830 阅读 ·
16 点赞 ·
0 评论 ·
8 收藏

LevelDB 源码阅读:如何分析跳表的时间复杂度?

本文详细分析了跳表的时间复杂度。通过拆解查找问题,逆向整个查找过程,以及找到合适的 L 层,最后推导出跳表的时间复杂度。在知道时间复杂度的基础上,进而推导如何选择概率 p,以及 redis 和 LevelDB 中跳表的最大高度选择原因。最后通过简单的 benchmark 测试了跳表的性能,并与 unordered_map 进行了对比。
原创
发布博客 2024.12.22 ·
952 阅读 ·
14 点赞 ·
0 评论 ·
24 收藏

Dijkstra(迪杰斯特拉)最短路径算法可视化演示

Dijkstra(迪杰斯特拉)算法,是一种解决的经典算法。它由荷兰计算机科学家 Edsger Dijkstra 于1956年提出。在现实生活中,这个算法被广泛应用于导航系统、网络路由等场景。比如在地图导航中,城市可以看作图中的节点,道路可以看作边,路程或时间可以看作权重。Dijkstra 算法可以帮助我们。
原创
发布博客 2024.12.22 ·
924 阅读 ·
9 点赞 ·
0 评论 ·
30 收藏

LevelDB 源码阅读:内存分配器、随机数生成、CRC32、整数编解码

本文探讨了 LevelDB 中的核心工具组件实现,包括Arena内存分配器、Random随机数生成器、CRC32循环冗余校验和整数编解码工具。分析了这些组件的设计考量、实现细节和优化策略,展示了它们如何高效地支持LevelDB的各种操作。
原创
发布博客 2024.12.20 ·
558 阅读 ·
28 点赞 ·
0 评论 ·
28 收藏

用 Claude3.5 从零写扫雷游戏-增加扫雷颜色主题

借助 Claude3.5 为扫雷游戏增加主题切换功能,包括主题配置文件的创建、渲染逻辑的修改以及 UI 组件的添加。分享在开发过程中遇到的问题和解决方案,比如暗黑模式下的边框颜色优化、主题切换不生效的调试过程等。同时展示了如何利用 Claude3.5 快速设计和实现多个美观的主题方案,突出了 AI 在提升开发效率方面的优势。
原创
发布博客 2024.12.20 ·
1238 阅读 ·
55 点赞 ·
0 评论 ·
15 收藏

LevelDB 源码阅读:如何正确测试跳表的并行读写?

深入剖析 LevelDB 跳表实现的测试方法,重点探讨并行读写场景下的正确性验证。详细介绍了测试用Key的巧妙设计、写线程和读线程的操作实现,以及单线程和多线程测试的具体方法。文章还讨论了并行测试的局限性,引入ThreadSanitizer工具进行更深入的数据竞争检测。
原创
发布博客 2024.12.19 ·
836 阅读 ·
26 点赞 ·
0 评论 ·
11 收藏

LevelDB 源码阅读:跳表的原理、实现以及可视化

跳表是一种概率性数据结构,可以用来替代平衡树,实现了快速的插入、删除和查找操作。LevelDB 中的跳表实现代码简洁,性能稳定,适合用来存储内存 MemTable 中的数据。本文从当前二叉搜索树和平衡树的一些缺点出发,引出了跳表这种数据结构。然后结合论文,讲了下跳表的实现原理,再详细分析了 LevelDB 的实现代码,包括迭代器实现,以及并发读的极致性能优化。最后还提供了一个可视化页面,可以直观看到跳表的构建过程。
原创
发布博客 2024.12.19 ·
1177 阅读 ·
24 点赞 ·
0 评论 ·
13 收藏

Claude3.5 的最佳使用场景,以优化推箱子关卡的缩略图为例

以推箱子游戏关卡缩略图优化为例,展示了 Claude3.5 在前端开发中的最佳应用场景。从最初使用 canvas 实现的模糊效果,到通过设备像素比优化,再到最终采用 svg 方案,展示了不同阶段 Claude3.5 的强带代码能力。
原创
发布博客 2024.12.18 ·
784 阅读 ·
32 点赞 ·
0 评论 ·
14 收藏

用 Claude3.5 从零写扫雷游戏-实现蜂窝地图

在完整方格扫雷的基础上,用 Claude3.5 和 Cursor 实现了一个蜂窝版本的扫雷。只要自己想清楚具体实现思路,然后把问题合理拆分,一步步提示,Claude3.5 生成的代码大部分时候还是符合预期的。遇到复杂问题,可以先让 Claude3.5 描述下大致的思路,不要急于写代码,不然容易被错误的代码带偏,浪费不少时间。
原创
发布博客 2024.12.17 ·
738 阅读 ·
13 点赞 ·
0 评论 ·
25 收藏

用 Claude3.5 从零写扫雷游戏-基本功能篇

用 Claude3.5 写一个经典的扫雷游戏,支持多种难度,多种主题,多种蜂窝状游戏棋盘。作为一个前端小白,虽然遇到不少问题,但借助 Claude3.5 和 Cursor 的强大功能,最终还是实现了。本文记录实现经典扫雷部分,希望对想借助 AI 写代码的朋友有所帮助。
原创
发布博客 2024.12.16 ·
602 阅读 ·
19 点赞 ·
0 评论 ·
27 收藏

Claude3.5 打造带道具的创意贪吃蛇

用 Claude3.5 实现一个好玩的贪吃蛇游戏,加入了道具系统,支持各种有意思的创意道具。本文会记录是用 Cursor 完成这个创意贪吃蛇的整个过程,一起来看我如何更好的利用 AI 解决复杂问题。
原创
发布博客 2024.12.10 ·
819 阅读 ·
9 点赞 ·
0 评论 ·
15 收藏

用 Claude3.5 实现了一个完整的单机五子棋~不是简单 demo

用 Claude3.5 实现一个完整的单机五子棋游戏,支持各种禁手规则。如何更好的利用 AI 解决复杂问题,并让 AI 写测试用例来保证逻辑的正确性,本文会给你一个答案。
原创
发布博客 2024.12.10 ·
604 阅读 ·
30 点赞 ·
0 评论 ·
26 收藏

Claude3.5 实现二叉搜索树的可视化

二叉搜索树是一种特殊的二叉树,每个节点的左子树的值都小于该节点的值,右子树的值都大于该节点的值。本文用 Claude3.5 实现一个二叉搜索树的可视化,支持插入,删除和查找操作。
原创
发布博客 2024.12.09 ·
660 阅读 ·
15 点赞 ·
0 评论 ·
20 收藏

如何让 Claude 理解并优化现有库,从制作在线迷宫游戏说起

用 Cursor 和 Claude3.5 基于已有的一个迷宫库,写了一个完整的迷宫游戏。支持各种迷宫在线生成,并支持用鼠标来在线玩迷宫游戏。
原创
发布博客 2024.12.09 ·
798 阅读 ·
13 点赞 ·
0 评论 ·
13 收藏

GPT4 解 Leetcode 题目:位操作

如何解决 LeetCode 上的一个问题——"Minimum Flips to Make a OR b Equal to c"。首先,AI 提供了一个基于位运算的解决方案,然后对其进行了优化以提高效率。在解答过程中,AI 详细解释了解决方案的思路和优化策略,同时强调了作为一个人工智能模型,它并没有直接处理过这个特定的题目,而是根据从训练数据中学到的一般知识和策略来解决问题的。对于人类的质疑,AI 在这里表现出了一定程度的同理心和耐心。
原创
发布博客 2023.06.08 ·
266 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏
加载更多