<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lianjunming的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lianjunming</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lianjunming]]></copyright><item><title><![CDATA[【linux开发】dpkg -S 找不到对应的包]]></title><link>https://blog.youkuaiyun.com/lianjunming/article/details/151141860</link><guid>https://blog.youkuaiyun.com/lianjunming/article/details/151141860</guid><author>lianjunming</author><pubDate>Wed, 03 Sep 2025 11:25:02 +0800</pubDate><description><![CDATA[文章摘要：在使用dpkg -S找文件对应的安装包时，如果无法直接读取成功，可以尝试用readlink -f 读取到文件实际路径后，再用dpkg -S来追踪文件来源。]]></description><category></category></item><item><title><![CDATA[【设计模式】工厂模式理解与对比（简单工厂，方法工厂，抽象工厂）]]></title><link>https://blog.youkuaiyun.com/lianjunming/article/details/128266167</link><guid>https://blog.youkuaiyun.com/lianjunming/article/details/128266167</guid><author>lianjunming</author><pubDate>Sat, 10 Dec 2022 16:35:25 +0800</pubDate><description><![CDATA[设计模式]]></description><category></category></item><item><title><![CDATA[【git】git的autocrlf属性]]></title><link>https://blog.youkuaiyun.com/lianjunming/article/details/122830440</link><guid>https://blog.youkuaiyun.com/lianjunming/article/details/122830440</guid><author>lianjunming</author><pubDate>Tue, 08 Feb 2022 20:19:26 +0800</pubDate><description><![CDATA[这里写自定义目录标题背景解决原理
背景
今天用公司自动化编译流水线git拉取代码时，发现脚本执行都失败了，但是手动拉取的代码是正常的，对比两份脚本发现内容虽然一致，但是十六进制对比下，流水线拉取的脚本换行符为"0x0A"，手动拉取的换行符为"0x0A,0x0D"导致windows在执行bat脚本的时候忽略了换行。
解决
网上查询资料发现git配置core.autocrlf会有相关的影响，果然在流水线配置上有这个设置，把这个设置成true，拉取下来的脚本就能正常执行了，由于本机已有默认的core.autocr]]></description><category></category></item><item><title><![CDATA[NDISLWF 拦截修改包后调用NdisFSendNetBufferLists发不出去]]></title><link>https://blog.youkuaiyun.com/lianjunming/article/details/107889359</link><guid>https://blog.youkuaiyun.com/lianjunming/article/details/107889359</guid><author>lianjunming</author><pubDate>Tue, 13 Oct 2020 17:40:46 +0800</pubDate><description><![CDATA[一、背景
利用NdisAllocateNetBufferAndNetBufferList和NdisCopySendNetBufferListInfo生成和克隆出来的修改过的包，发出去后wireshark没抓到，说明修改后的网络包没有发出去。
二、分析
一开始以为是因为我们改的包头不合规导致包发布出去，但是排查后发现，没发出去的都是内容大于1472的UDP包，一般来说，整个包大于1500的udp包都需要分片，先看看ndislwf中分片是如何表示的

调用NdisAllocateFragmentNetBuffe]]></description><category></category></item><item><title><![CDATA[只出现一次的数字]]></title><link>https://blog.youkuaiyun.com/lianjunming/article/details/108515860</link><guid>https://blog.youkuaiyun.com/lianjunming/article/details/108515860</guid><author>lianjunming</author><pubDate>Thu, 10 Sep 2020 15:51:57 +0800</pubDate><description><![CDATA[给定一个非空整数数组，除了某个元素只出现一次以外，其余每个元素均出现两次。找出那个只出现了一次的元素。

说明：
你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗？
示例 1:

输入: [2,2,1]
输出: 1
示例 2:

输入: [4,1,2,1,2]
输出: 4

结果：没做出
初步想法：快速排序后遍历数组
解析：
对数组所有数进行异或运算即可，异或运算满足：

a⊕a = 0
a⊕0 = a
a⊕b⊕a = b⊕(a⊕a) = b⊕0 = b  (交换律+结合律)

由上面3个公.]]></description><category></category></item><item><title><![CDATA[DiskPerf驱动DiskPerfReadWrite调用KeWaitForSingleObject导致系统蓝屏]]></title><link>https://blog.youkuaiyun.com/lianjunming/article/details/106077511</link><guid>https://blog.youkuaiyun.com/lianjunming/article/details/106077511</guid><author>lianjunming</author><pubDate>Tue, 12 May 2020 16:11:21 +0800</pubDate><description><![CDATA[一、背景
之前都没什么问题，有一个环境插入某个移动硬盘（后面称"问题U盘"）后，系统蓝屏，dump分析结果是
ATTEMPTED_SWITCH_FROM_DPC (b8)
A wait operation, attach process, or yield was attempted from a DPC routine.
This is an illegal operation and the stack track will lead to the offending
code and original]]></description><category></category></item><item><title><![CDATA[应用层监控新建卷设备事件]]></title><link>https://blog.youkuaiyun.com/lianjunming/article/details/106035805</link><guid>https://blog.youkuaiyun.com/lianjunming/article/details/106035805</guid><author>lianjunming</author><pubDate>Sun, 10 May 2020 15:36:41 +0800</pubDate><description><![CDATA[背景：
产品进程不重启进程的情况下，用ReadDirectoryChangesW监控新增卷的文件通知，所以需要监控新增卷的事件，这里本来驱动也可以做，但是出于尽量减少驱动修改的考虑，就网上寻找了一些应用层监控新增卷的方法。
方法一：捕获消息WM_DEVICECHANGE
新增卷的时候windows会给窗口发送WM_DEVICECHANGE消息，消息处理函数参数为PDEV_BROADCAST_HDR，通过dbch_devicetype成员判断设备类型为DBT_DEVTYP_VOLUME，则可判断出卷设备添加（]]></description><category></category></item><item><title><![CDATA[C++ Windows获取审核登录失败事件]]></title><link>https://blog.youkuaiyun.com/lianjunming/article/details/103156528</link><guid>https://blog.youkuaiyun.com/lianjunming/article/details/103156528</guid><author>lianjunming</author><pubDate>Sun, 10 May 2020 14:16:26 +0800</pubDate><description><![CDATA[C++ Windows获取审核登录失败事件
一、手动操作系统查看登录失败系统日志
1. 配置开启登录事件监控本地策略

服务器系统版本不用配置，默认已经开启
win+R 运行 gpedit.msc
计算机配置-&gt;Windows设置-&gt;安全设置-&gt;本地策略-&gt;审核策略-&gt;审核登录事件-&gt;勾选"失败"


客户端版本上的默认值:
登录: 成功
注销: 成功
帐户锁定...]]></description><category></category></item><item><title><![CDATA[boost::asio::ssl 漏洞扫描应对]]></title><link>https://blog.youkuaiyun.com/lianjunming/article/details/103156320</link><guid>https://blog.youkuaiyun.com/lianjunming/article/details/103156320</guid><author>lianjunming</author><pubDate>Wed, 20 Nov 2019 09:32:18 +0800</pubDate><description><![CDATA[boost::asio::ssl 漏洞扫描应对
const  char ssl_ciphers[] = "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES12...]]></description><category></category></item><item><title><![CDATA[windows 覆盖图标实现]]></title><link>https://blog.youkuaiyun.com/lianjunming/article/details/102806525</link><guid>https://blog.youkuaiyun.com/lianjunming/article/details/102806525</guid><author>lianjunming</author><pubDate>Tue, 29 Oct 2019 19:33:14 +0800</pubDate><description><![CDATA[实现类似SVN小图标的功能，可以更清晰地给用户显示文件的状态]]></description><category></category></item></channel></rss>