<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[leedcanDD的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/leedcanDD</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; leedcanDD]]></copyright><item><title><![CDATA[git仓库中克隆文件同时保存line history / 行提交历史的方法介绍]]></title><link>https://blog.youkuaiyun.com/leedcanDD/article/details/156166557</link><guid>https://blog.youkuaiyun.com/leedcanDD/article/details/156166557</guid><author>leedcanDD</author><pubDate>Mon, 22 Dec 2025 22:53:30 +0800</pubDate><description><![CDATA[本文介绍了一种在Git仓库中克隆文件并保留两份文件历史记录的方法。通过创建临时分支，先用git mv建立文件继承关系，再恢复原文件内容，最后合并分支，可以同时保留原文件和新文件的完整修改历史（包括line history）。这种方法利用了Git检测文件继承关系的机制，适用于需要在大型代码库中维护文件副本的场景。操作步骤包括移动文件创建分支、恢复原文件内容、合并分支三个主要步骤。]]></description><category></category></item><item><title><![CDATA[NP完全问题与例题]]></title><link>https://blog.youkuaiyun.com/leedcanDD/article/details/147087232</link><guid>https://blog.youkuaiyun.com/leedcanDD/article/details/147087232</guid><author>leedcanDD</author><pubDate>Wed, 09 Apr 2025 11:30:41 +0800</pubDate><description><![CDATA[一个算法的运行时间是输入规模nnn的某个多项式函数，就称这个算法的时间复杂度是“多项式时间”。形式上：如果一个算法的运行时间是OnkO(n^k)Onk，其中kkk是某个常数，那么我们说它是“多项式时间算法”。]]></description><category></category></item><item><title><![CDATA[广告基础知识总结]]></title><link>https://blog.youkuaiyun.com/leedcanDD/article/details/146045286</link><guid>https://blog.youkuaiyun.com/leedcanDD/article/details/146045286</guid><author>leedcanDD</author><pubDate>Wed, 05 Mar 2025 15:58:15 +0800</pubDate><description><![CDATA[随着技术的进步，这种竞价机制变成了实时的（在100ms内完成），即针对某个新的pv，供应方平台将广告位置和用户属性发送给Ad Exchange平台，然后后者将其发送给所有接入的广告主，然后系统开始实时出价，价高者得。GD广告即Guaranteed Delivery广告，也叫保证交付量广告，担保式保量投放，广告主与广告平台或者媒体签订合同，明确广告投放的位置、时间、数量等。外循环的好处是品牌或商家可以拥有更大的自由度，掌控更多数据，建立自己的私域流量池，但因为用户离开平台，复购和留存的可控性较弱。]]></description><category></category></item><item><title><![CDATA[C++模板参数类型推导分析一二]]></title><link>https://blog.youkuaiyun.com/leedcanDD/article/details/145917315</link><guid>https://blog.youkuaiyun.com/leedcanDD/article/details/145917315</guid><author>leedcanDD</author><pubDate>Fri, 28 Feb 2025 00:53:28 +0800</pubDate><description><![CDATA[如题]]></description><category></category></item><item><title><![CDATA[总结gcc与msvc在标准库实现上的不同]]></title><link>https://blog.youkuaiyun.com/leedcanDD/article/details/145916877</link><guid>https://blog.youkuaiyun.com/leedcanDD/article/details/145916877</guid><author>leedcanDD</author><pubDate>Fri, 28 Feb 2025 00:09:05 +0800</pubDate><description><![CDATA[如标题]]></description><category></category></item><item><title><![CDATA[clean code阅读笔记——如何命名？]]></title><link>https://blog.youkuaiyun.com/leedcanDD/article/details/145380053</link><guid>https://blog.youkuaiyun.com/leedcanDD/article/details/145380053</guid><author>leedcanDD</author><pubDate>Mon, 27 Jan 2025 14:53:00 +0800</pubDate><description><![CDATA[有个词叫做”以小见大“。以建筑作喻，宏大建筑中最细小的部分，比如关不紧的门、未铺平的地板，甚至时凌乱的桌面，都会将整个大局的魅力毁灭殆尽，这就是整洁代码之所系。]]></description><category></category></item><item><title><![CDATA[linux网络编程11——线程池]]></title><link>https://blog.youkuaiyun.com/leedcanDD/article/details/145250389</link><guid>https://blog.youkuaiyun.com/leedcanDD/article/details/145250389</guid><author>leedcanDD</author><pubDate>Mon, 20 Jan 2025 00:29:06 +0800</pubDate><description><![CDATA[这是一个非常基础的线程池，没有尝试使用无锁编程。线程池关闭可能被无限延迟（关闭一般是在程序结束运行时，所以一般问题不大）。另外对于任务类型，设计的也比较简单，没有考虑future和promise等，这个可以留给用户提供的task去自定义。]]></description><category></category></item><item><title><![CDATA[基于异步IO的io_uring]]></title><link>https://blog.youkuaiyun.com/leedcanDD/article/details/145099309</link><guid>https://blog.youkuaiyun.com/leedcanDD/article/details/145099309</guid><author>leedcanDD</author><pubDate>Sun, 12 Jan 2025 20:58:22 +0800</pubDate><description><![CDATA[io_uring使用了一种异步IO机制，它通过一对环形缓冲区(ring buffer)实现用户态于内核态之间的高效通信，用户只需将IO请求放入提交队列，当内核完成IO请求时，会将结果放入完成队列，然后用户从完成队列中提取结果并进行后序处理。io_uring中的两个队列是映射到用户态的共享内存区域，用户态和内核态可以直接通过这个区域交换数据，减少了系统调用上下文切换。用户也可以一次性提交多个IO请求，减少了系统调用次数。]]></description><category></category></item><item><title><![CDATA[spdlog高性能日志系统]]></title><link>https://blog.youkuaiyun.com/leedcanDD/article/details/144386792</link><guid>https://blog.youkuaiyun.com/leedcanDD/article/details/144386792</guid><author>leedcanDD</author><pubDate>Tue, 10 Dec 2024 23:43:18 +0800</pubDate><description><![CDATA[`spdlog` 是一个快速、简单、功能丰富的 C++ 日志库，专为现代 C++ 开发设计。它支持多种日志后端（如控制台、文件、syslog 等），并提供灵活的格式化和线程安全的日志输出。]]></description><category></category></item><item><title><![CDATA[Redis4——持久化与集群]]></title><link>https://blog.youkuaiyun.com/leedcanDD/article/details/144246630</link><guid>https://blog.youkuaiyun.com/leedcanDD/article/details/144246630</guid><author>leedcanDD</author><pubDate>Wed, 04 Dec 2024 18:18:18 +0800</pubDate><description><![CDATA[本文讲述了1.redis在内存占用达到限制后的key值淘汰策略；2.redis主从复制原理；3.redis的哨兵模式；4.redis集群模式。]]></description><category></category></item><item><title><![CDATA[Redis3——线程模型与数据结构]]></title><link>https://blog.youkuaiyun.com/leedcanDD/article/details/144161196</link><guid>https://blog.youkuaiyun.com/leedcanDD/article/details/144161196</guid><author>leedcanDD</author><pubDate>Sat, 30 Nov 2024 21:16:36 +0800</pubDate><description><![CDATA[本文讲述了redis的单线程模型和IO多线程工作原理，以及几个主要数据结构的实现。]]></description><category></category></item><item><title><![CDATA[Redis2——协议与异步方式]]></title><link>https://blog.youkuaiyun.com/leedcanDD/article/details/144120963</link><guid>https://blog.youkuaiyun.com/leedcanDD/article/details/144120963</guid><author>leedcanDD</author><pubDate>Thu, 28 Nov 2024 21:16:12 +0800</pubDate><description><![CDATA[本文讲述了Redis pipeline技术，它被用于一次发送和执行多个命令；事务的ACID特性，Redis只能部分满足；最后介绍了实现了Redis客户端的同步连接和异步连接方式。]]></description><category></category></item><item><title><![CDATA[Redis1——基本命令及原理]]></title><link>https://blog.youkuaiyun.com/leedcanDD/article/details/144067687</link><guid>https://blog.youkuaiyun.com/leedcanDD/article/details/144067687</guid><author>leedcanDD</author><pubDate>Tue, 26 Nov 2024 20:38:14 +0800</pubDate><description><![CDATA[本文介绍了redis的特点、五种数据类型、基本命令等。]]></description><category></category></item><item><title><![CDATA[MySQL4——缓存策略]]></title><link>https://blog.youkuaiyun.com/leedcanDD/article/details/144035322</link><guid>https://blog.youkuaiyun.com/leedcanDD/article/details/144035322</guid><author>leedcanDD</author><pubDate>Mon, 25 Nov 2024 18:46:03 +0800</pubDate><description><![CDATA[本文讲述了Mysql缓存方案的原理、其它改进方案、缓存读写策略、缓存一致性的分析与实现，数据增量同步的实现方式：伪装从库、udf+触发器。最后还分析了该缓存方案可能出现的故障及解决方案，以及其弊端。]]></description><category></category></item><item><title><![CDATA[MySQL3——事务原理]]></title><link>https://blog.youkuaiyun.com/leedcanDD/article/details/144012329</link><guid>https://blog.youkuaiyun.com/leedcanDD/article/details/144012329</guid><author>leedcanDD</author><pubDate>Sun, 24 Nov 2024 19:52:38 +0800</pubDate><description><![CDATA[本文讲述了mysql中事务的概念、原理，重点讲述了四种隔离级别、mvcc、锁以及死锁问题。]]></description><category></category></item><item><title><![CDATA[MySQL2——索引原理和SQL优化]]></title><link>https://blog.youkuaiyun.com/leedcanDD/article/details/143941738</link><guid>https://blog.youkuaiyun.com/leedcanDD/article/details/143941738</guid><author>leedcanDD</author><pubDate>Thu, 21 Nov 2024 13:12:28 +0800</pubDate><description><![CDATA[本文讲述了mysql的InnoDB存储引擎的索引存储原理、索引匹配原则以及SQL的优化等。]]></description><category></category></item><item><title><![CDATA[MySQL1——基本原理和基础操作]]></title><link>https://blog.youkuaiyun.com/leedcanDD/article/details/143913529</link><guid>https://blog.youkuaiyun.com/leedcanDD/article/details/143913529</guid><author>leedcanDD</author><pubDate>Wed, 20 Nov 2024 15:15:59 +0800</pubDate><description><![CDATA[本文讲述了mysql数据库的基本概念、原理和常用CRUD语句。]]></description><category></category></item><item><title><![CDATA[linux网络编程10——内存池]]></title><link>https://blog.youkuaiyun.com/leedcanDD/article/details/143861269</link><guid>https://blog.youkuaiyun.com/leedcanDD/article/details/143861269</guid><author>leedcanDD</author><pubDate>Mon, 18 Nov 2024 16:50:12 +0800</pubDate><description><![CDATA[本文讲述了内存池的概念、原理、好处，并且实现了两种类型的内存池：固定大小的内存池和分级内存池。最后分别对这两种内存进行了性能测试，测试结果表明，在简单的频繁分配和释放动态内存块的场景下，这两种内存池至少能够提高一倍的性能。]]></description><category></category></item><item><title><![CDATA[高级数据结构——hash表与布隆过滤器]]></title><link>https://blog.youkuaiyun.com/leedcanDD/article/details/143821070</link><guid>https://blog.youkuaiyun.com/leedcanDD/article/details/143821070</guid><author>leedcanDD</author><pubDate>Sat, 16 Nov 2024 20:29:36 +0800</pubDate><description><![CDATA[本文讲述了hash表的原理与实现、hash冲突及解决方法、基于位图和hash函数实现的布隆过滤器、以及用于负载均衡的分布式一致性hash等。]]></description><category></category></item><item><title><![CDATA[linux网络编程9——无锁队列]]></title><link>https://blog.youkuaiyun.com/leedcanDD/article/details/143781145</link><guid>https://blog.youkuaiyun.com/leedcanDD/article/details/143781145</guid><author>leedcanDD</author><pubDate>Thu, 14 Nov 2024 21:23:00 +0800</pubDate><description><![CDATA[本文讲述了无锁队列的原理、分类、底层数据结构、应用场景，以及两种实现方式。]]></description><category></category></item></channel></rss>