<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[nuptxiaoli]]></title><description><![CDATA[走走停停]]></description><link>https://blog.youkuaiyun.com/u014338577</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u014338577]]></copyright><item><title><![CDATA[python 程序]]></title><link>https://blog.youkuaiyun.com/u014338577/article/details/148978016</link><guid>https://blog.youkuaiyun.com/u014338577/article/details/148978016</guid><author>u014338577</author><pubDate>Sat, 28 Jun 2025 16:30:43 +0800</pubDate><description><![CDATA[【代码】python 程序。]]></description><category></category></item><item><title><![CDATA[C++ 带优先级的异步队列的工作线程]]></title><link>https://blog.youkuaiyun.com/u014338577/article/details/130881206</link><guid>https://blog.youkuaiyun.com/u014338577/article/details/130881206</guid><author>u014338577</author><pubDate>Fri, 26 May 2023 10:15:12 +0800</pubDate><description><![CDATA[【代码】Cpp工作线程。]]></description><category></category></item><item><title><![CDATA[hibernate HQL 投影查询 + 多表关联]]></title><link>https://blog.youkuaiyun.com/u014338577/article/details/127451439</link><guid>https://blog.youkuaiyun.com/u014338577/article/details/127451439</guid><author>u014338577</author><pubDate>Fri, 21 Oct 2022 18:10:13 +0800</pubDate><description><![CDATA[hibernate HQL 投影查询 + 多表关联]]></description><category></category></item><item><title><![CDATA[Eclipse中使用jstl标签库]]></title><link>https://blog.youkuaiyun.com/u014338577/article/details/125718511</link><guid>https://blog.youkuaiyun.com/u014338577/article/details/125718511</guid><author>u014338577</author><pubDate>Mon, 11 Jul 2022 11:45:05 +0800</pubDate><description><![CDATA[Eclipse中使用jstl标签库]]></description><category></category></item><item><title><![CDATA[IM TeamTalk流程分析]]></title><link>https://blog.youkuaiyun.com/u014338577/article/details/125070610</link><guid>https://blog.youkuaiyun.com/u014338577/article/details/125070610</guid><author>u014338577</author><pubDate>Tue, 31 May 2022 17:56:30 +0800</pubDate><description><![CDATA[登陆流程：
1.用户名密码校验

30分钟内密码错误次数，hash_map&lt;string, list&lt;uint32_t&gt; &gt; g_hmLimits;
用list保存每次错误的时间,每次触发登陆的时候将超过30分钟的给剔除。 判断30分钟内密码错误次数是否大于10，返回。

抽象接口
class CLoginStrategy
{
public:
  virtual bool doLogin(const std::string&amp; strName, const std::st...]]></description><category></category></item><item><title><![CDATA[LeetCode 208 Trie]]></title><link>https://blog.youkuaiyun.com/u014338577/article/details/124571854</link><guid>https://blog.youkuaiyun.com/u014338577/article/details/124571854</guid><author>u014338577</author><pubDate>Wed, 04 May 2022 15:41:46 +0800</pubDate><description><![CDATA[class Trie {
public:
	/** Initialize your data structure here. */
	struct NODE {
		char l;
		bool wordFinish;
		struct NODE* next[26];
	};

	struct NODE* root;

	Trie() {
		root = new struct NODE();
	}

	/** Inserts a word into the trie. */
	void insert(s.]]></description><category></category></item><item><title><![CDATA[非抢占式优先级调度算法]]></title><link>https://blog.youkuaiyun.com/u014338577/article/details/122446872</link><guid>https://blog.youkuaiyun.com/u014338577/article/details/122446872</guid><author>u014338577</author><pubDate>Wed, 12 Jan 2022 09:51:13 +0800</pubDate><description><![CDATA[Priority schedulingis a type of scheduling algorithm used by the operating system to schedule the processes for execution. Thepriority schedulinghas both the preemptive mode of scheduling and the non-preemptive mode of scheduling. Here,we will discuss ...]]></description><category></category></item><item><title><![CDATA[MySQL练习Monthly]]></title><link>https://blog.youkuaiyun.com/u014338577/article/details/119849881</link><guid>https://blog.youkuaiyun.com/u014338577/article/details/119849881</guid><author>u014338577</author><pubDate>Sun, 22 Aug 2021 11:07:19 +0800</pubDate><description><![CDATA[use mysql;
drop table if EXISTS Student;
create table Student(Sid varchar(10),Sname nvarchar(10),Sage datetime,Ssex nvarchar(10));
insert into Student values('01' , '赵雷' , '1990-01-01' , '男');
insert into Student values('02' , '钱电' , '1990-12-21' , '男');
.]]></description><category></category></item><item><title><![CDATA[zookeeper kafka]]></title><link>https://blog.youkuaiyun.com/u014338577/article/details/119539648</link><guid>https://blog.youkuaiyun.com/u014338577/article/details/119539648</guid><author>u014338577</author><pubDate>Mon, 09 Aug 2021 15:44:11 +0800</pubDate><description><![CDATA[zookeeper环境搭建

https://www.cnblogs.com/ysocean/p/9860529.html
]]></description><category></category></item><item><title><![CDATA[网站技术实践]]></title><link>https://blog.youkuaiyun.com/u014338577/article/details/119451115</link><guid>https://blog.youkuaiyun.com/u014338577/article/details/119451115</guid><author>u014338577</author><pubDate>Fri, 06 Aug 2021 11:31:48 +0800</pubDate><description><![CDATA[https://www.cnblogs.com/edisonchou/p/4281978.html
]]></description><category></category></item><item><title><![CDATA[优先级反转问题及解决方法]]></title><link>https://blog.youkuaiyun.com/u014338577/article/details/118945428</link><guid>https://blog.youkuaiyun.com/u014338577/article/details/118945428</guid><author>u014338577</author><pubDate>Tue, 20 Jul 2021 21:45:35 +0800</pubDate><description><![CDATA[（1）什么是优先级反转
简单从字面上来说，就是低优先级的任务先于高优先级的任务执行了，优先级搞反了。那在什么情况下会生这种情况呢？

假设三个任务准备执行，A，B，C，优先级依次是A&gt;B&gt;C；

首先：C处于运行状态，获得CPU正在执行，同时占有了某种资源；

其次：A进入就绪状态，因为优先级比C高，所以获得CPU，A转为运行状态；C进入就绪状态；

第三：执行过程中需要使用资源，而这个资源又被等待中的C占有的，于是A进入阻塞状态，C回到运行状态；

第四：此时B进入就绪状态，因为优先级比C高，]]></description><category></category></item><item><title><![CDATA[线程的查看以及利用gdb调试多线程]]></title><link>https://blog.youkuaiyun.com/u014338577/article/details/118549186</link><guid>https://blog.youkuaiyun.com/u014338577/article/details/118549186</guid><author>u014338577</author><pubDate>Wed, 07 Jul 2021 16:01:47 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/zhangye3017/article/details/80382496
]]></description><category></category></item><item><title><![CDATA[LVS+KeepAlived+Nginx高可用实现方案]]></title><link>https://blog.youkuaiyun.com/u014338577/article/details/118522376</link><guid>https://blog.youkuaiyun.com/u014338577/article/details/118522376</guid><author>u014338577</author><pubDate>Tue, 06 Jul 2021 15:47:56 +0800</pubDate><description><![CDATA[https://lupengfei.blog.youkuaiyun.com/article/details/86514445?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.control&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogComme]]></description><category></category></item><item><title><![CDATA[haproxy+keepalived高可用负载均衡构建。]]></title><link>https://blog.youkuaiyun.com/u014338577/article/details/118516343</link><guid>https://blog.youkuaiyun.com/u014338577/article/details/118516343</guid><author>u014338577</author><pubDate>Tue, 06 Jul 2021 11:05:52 +0800</pubDate><description><![CDATA[haproxy是一个开源的，高性能的，负载均衡软件，借助haproxy可以快速，可靠的构建一个负载均衡群集。

优点如下：

可靠性和稳定性非常好，可以和硬件级的负载均衡设备F5相媲美。

最高可同时维护40000-50000个并发连接，单位时间内处理的最大请求数为20000个。

支持8种负载均衡算法，支持回话保持。

支持虚拟主机功能。

支持连接拒绝，全透明代理并且有一个功能强大的服务器状态监控界面。

拥有功能强大的ACL支持。

haproxy真的很强大。这里不对他的功能一样一样展示，读者可自行去]]></description><category></category></item><item><title><![CDATA[缓存穿透、缓存击穿、缓存雪崩区别和解决方案]]></title><link>https://blog.youkuaiyun.com/u014338577/article/details/118381189</link><guid>https://blog.youkuaiyun.com/u014338577/article/details/118381189</guid><author>u014338577</author><pubDate>Thu, 01 Jul 2021 10:45:46 +0800</pubDate><description><![CDATA[一、缓存处理流程

   前台请求，后台先从缓存中取数据，取到直接返回结果，取不到时从数据库中取，数据库取到更新缓存，并返回结果，数据库也没取到，那直接返回空结果。

  



二、缓存穿透

   描述：

   缓存穿透是指缓存和数据库中都没有的数据，而用户不断发起请求，如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者，攻击会导致数据库压力过大。

   解决方案1 ：

接口层增加校验，如用户鉴权校验，id做基础校验，id&lt;=...]]></description><category></category></item><item><title><![CDATA[c++ 异步消息队列]]></title><link>https://blog.youkuaiyun.com/u014338577/article/details/118355811</link><guid>https://blog.youkuaiyun.com/u014338577/article/details/118355811</guid><author>u014338577</author><pubDate>Wed, 30 Jun 2021 10:29:54 +0800</pubDate><description><![CDATA[#include &lt;stdio.h&gt;
#include &lt;pthread.h&gt;

struct msg {
	int data;
	struct msg* next_msg;
};
struct msg * workq;


pthread_mutex_t qlock = PTHREAD_MUTEX_INITIALIZER;
pthread_cond_t  qready =  PTHREAD_COND_INITIALIZER;

void init_queue(void){
	pt.]]></description><category></category></item><item><title><![CDATA[容易忘记的快捷操作]]></title><link>https://blog.youkuaiyun.com/u014338577/article/details/118230376</link><guid>https://blog.youkuaiyun.com/u014338577/article/details/118230376</guid><author>u014338577</author><pubDate>Fri, 25 Jun 2021 23:31:06 +0800</pubDate><description><![CDATA[1.Vim 打开文件同时定位到某一行

vi +44 conf/nginx.conf
]]></description><category></category></item><item><title><![CDATA[nginx如何解决惊群效应]]></title><link>https://blog.youkuaiyun.com/u014338577/article/details/118215347</link><guid>https://blog.youkuaiyun.com/u014338577/article/details/118215347</guid><author>u014338577</author><pubDate>Fri, 25 Jun 2021 11:29:33 +0800</pubDate><description><![CDATA[https://www.jianshu.com/p/21c3e5b99f4a

https://github.com/eesly/thundering_herd_problem/blob/master/server_epoll_thp.cpp

https://github.com/eesly/thundering_herd_problem/blob/master/server_epoll_thp.cpp
]]></description><category></category></item><item><title><![CDATA[linux 自旋锁 vs 互斥锁]]></title><link>https://blog.youkuaiyun.com/u014338577/article/details/112002684</link><guid>https://blog.youkuaiyun.com/u014338577/article/details/112002684</guid><author>u014338577</author><pubDate>Fri, 25 Jun 2021 11:16:19 +0800</pubDate><description><![CDATA[自旋锁占用的资源比较少，互斥锁占用的资源比较多

如果阻塞的时间较短，则使用自旋锁比较好，否则，使用互斥锁，

线程想要加锁的锁被占用，自旋锁则不停地等待询问锁是否被释放，互斥锁则加入等待队列，等待锁被释放。


#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;
#include &lt;pthread.h&gt;
#include &lt;unistd.h&gt;
#include &lt;tim...]]></description><category></category></item><item><title><![CDATA[nginx 基础结构]]></title><link>https://blog.youkuaiyun.com/u014338577/article/details/116714079</link><guid>https://blog.youkuaiyun.com/u014338577/article/details/116714079</guid><author>u014338577</author><pubDate>Sun, 20 Jun 2021 22:39:50 +0800</pubDate><description><![CDATA[1.

sudovi /etc/default/grub
找到GRUB_CMDLINE_LINUX=""
改为GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
然后sudo grub-mkconfig -o /boot/grub/grub.cfg

重启后，网卡名称果然变成了eth0和wlan0
作者：流沙
链接：https://www.zhihu.com/question/45796677/answer/116994126
...]]></description><category></category></item></channel></rss>