<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[其疾如风  其徐如林  侵略如火  不动如山]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/wzxq123</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; wzxq123]]></copyright><item><title><![CDATA[Python：#error architecture not supported]]></title><link>https://blog.csdn.net/wzxq123/article/details/112578136</link><guid>https://blog.csdn.net/wzxq123/article/details/112578136</guid><author>wzxq123</author><pubDate>Wed, 13 Jan 2021 17:38:37 +0800</pubDate><description><![CDATA[有时安装python相关的依赖包会报如题所示的错误，主要和CPU架构有关，因为不同的CPU架构可能会使用不同的指令集（复杂指令集/精简指令集）。
我当时是在MAC电脑上操作的，应该是默认把我的CPU当作了ARM64架构。因此它提示了这个错误。鉴于此，我们需要手动告诉它我们的CPU是什么架构，以此来阻止它自己想入非非，擅自作主。

例如我在使用命令‘pip install psycopg2’安装psycopg2时，出现如下报错提示：

解决方法：
ARCHFLAGS="-arch x86_64" pip in]]></description><category></category></item><item><title><![CDATA[Centos7下使用CMake]]></title><link>https://blog.csdn.net/wzxq123/article/details/105024761</link><guid>https://blog.csdn.net/wzxq123/article/details/105024761</guid><author>wzxq123</author><pubDate>Sun, 22 Mar 2020 11:52:40 +0800</pubDate><description><![CDATA[在进行需要提供跨平台服务的项目时，最好有相应的跨平台项目构建工具。本文所述的CMake即其中比较好用的跨平台构建工具之一。下文主要以C++语言为例进行使用演示。

安装C++所需的环境：

yum install -y gcc gcc-c++ make automake

安装wget工具：

yum install -y wget

下载CMake工具：

wget http://www.cma...]]></description><category></category></item><item><title><![CDATA[从0实现分布式任务调度系统--etcd基础操作]]></title><link>https://blog.csdn.net/wzxq123/article/details/104581035</link><guid>https://blog.csdn.net/wzxq123/article/details/104581035</guid><author>wzxq123</author><pubDate>Sat, 29 Feb 2020 20:39:45 +0800</pubDate><description><![CDATA[下载: etcd-v3.3.18-linux-amd64.tar.gz ；解压: tar -zxvf etcd-v3.3.18-linux-amd64.tar.gz
解压后的情况如下：



其中etcd是服务端程序，etcdctl是客户端程序。



  2. 启动etcd服务(后台启动，并监听公网IP，默认只监听localhost)：

nohup ./etcd --listen-cl...]]></description><category></category></item><item><title><![CDATA[获取COM接口CoCreateInstance启动的进程PID]]></title><link>https://blog.csdn.net/wzxq123/article/details/104464074</link><guid>https://blog.csdn.net/wzxq123/article/details/104464074</guid><author>wzxq123</author><pubDate>Sun, 23 Feb 2020 17:57:21 +0800</pubDate><description><![CDATA[CoCreateInstance是一个让COM变得更加有趣和可用的工具。然而，它并没有让你知道一个非常重要的信息——新启动的进程的id。也没有其他的API可以告诉我们这一点。这就是微软所谓的设计。

当我们启动像Excel或者PowerPoint时，问题就出现了。当你需要它们提供服务的时候，他们做得很好。但去尝试让他们退出，你就要开始抓狂了。一些Excel流程是不可能消失的。然后你就会明白为什么你...]]></description><category></category></item><item><title><![CDATA[从0实现分布式任务调度系统--实现cron表达式定时任务]]></title><link>https://blog.csdn.net/wzxq123/article/details/103936344</link><guid>https://blog.csdn.net/wzxq123/article/details/103936344</guid><author>wzxq123</author><pubDate>Sat, 11 Jan 2020 14:42:19 +0800</pubDate><description><![CDATA[在Linux下会经常使用cron表达式完成一些定时任务。下面通过git上的一个项目来达到类似的效果。

获取资源：

https://github.com/gorhill/cronexpr

该包一共支持如下7个时间粒度设置，分别是：秒级，分，小时，日期，月份，星期，年份。



各个支持的符号说明如下：

“*”字符代表所有可能的值。

“-”表示指定范围。

“,”表示列出枚举值。

“...]]></description><category></category></item><item><title><![CDATA[从0实现分布式任务调度系统--MongoDB基础操作]]></title><link>https://blog.csdn.net/wzxq123/article/details/103881899</link><guid>https://blog.csdn.net/wzxq123/article/details/103881899</guid><author>wzxq123</author><pubDate>Tue, 07 Jan 2020 21:21:13 +0800</pubDate><description><![CDATA[系统环境Centos7，下载并解压 mongodb-linux-x86_64-3.0.6.tgz

进入解压后的目录，使用mkdir 命令新建一个 data 目录：



启动MongoDB服务：

    nohup bin/mongod --dbpath=./data --bind_ip=0.0.0.0 &amp;



使用 bin/mongo命令连接MongoDB进行测试：


...]]></description><category></category></item><item><title><![CDATA[多服务端实现配置文件实时同步 --lsync+rsync]]></title><link>https://blog.csdn.net/wzxq123/article/details/100663803</link><guid>https://blog.csdn.net/wzxq123/article/details/100663803</guid><author>wzxq123</author><pubDate>Mon, 09 Sep 2019 15:47:22 +0800</pubDate><description><![CDATA[很多企业需要多台服务器提供某个服务已经司空见惯了，当我们需要修改某个配置文件的时候，为了统一所有服务器上的配置，就需要文件同步的功能。不然一个个服务器去拷贝的话，一方面比较麻烦，另一方面也容易产生遗漏等问题。

rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步，支持本地复制，或者与其他SSH、rsync主机同步。

lsync 是lua语言封装...]]></description><category></category></item><item><title><![CDATA[libevent+inotify实现配置文件实时读取]]></title><link>https://blog.csdn.net/wzxq123/article/details/100605524</link><guid>https://blog.csdn.net/wzxq123/article/details/100605524</guid><author>wzxq123</author><pubDate>Sat, 07 Sep 2019 19:49:54 +0800</pubDate><description><![CDATA[有些配置文件需要被频繁使用，但是又需要支持根据“场景”进行模式切换。如果每次都重新读取势必影响服务响应效率，折衷的方式是定时重新读取，比如5分钟。但最好的方式是在真正需要的时候在重新读取，即，文件修改之后。

那么如何得知所关注的文件已经被修改？

Inotify 是一个Linux特性，它监控文件系统操作，比如读取、写入和创建。Inotify 反应灵敏，用法非常简单，并且比 cron 任务的繁忙...]]></description><category></category></item><item><title><![CDATA[Json解析 --JsonCpp]]></title><link>https://blog.csdn.net/wzxq123/article/details/100605308</link><guid>https://blog.csdn.net/wzxq123/article/details/100605308</guid><author>wzxq123</author><pubDate>Sat, 07 Sep 2019 19:40:14 +0800</pubDate><description><![CDATA[1、下载scons 

http://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz/download

2、解压scons-2.1.0.tar.gz

tar-zvxf scons-2.1.0.tar.gz 

3、进入到解压目录scons-2.1.0下面，执行命令：

sudopython setup....]]></description><category></category></item><item><title><![CDATA[Xml解析  --TinyXML-2]]></title><link>https://blog.csdn.net/wzxq123/article/details/100605118</link><guid>https://blog.csdn.net/wzxq123/article/details/100605118</guid><author>wzxq123</author><pubDate>Sat, 07 Sep 2019 19:29:50 +0800</pubDate><description><![CDATA[TinyXML-2 是小巧、精简且高效的C++ XML 解析库，可以被方便地应用到其他项目中。

github: https://github.com/leethomason/tinyxml2

简而言之，tinyxml-2是一个xml解析器，从xml文档构建一个可以读取、修改和保存的文档对象模型（dom）。

有多种方法可以访问XML数据并与之交互。TinyXML-2使用的是文档对象模型（DOM...]]></description><category></category></item><item><title><![CDATA[Ini解析  --iniparser]]></title><link>https://blog.csdn.net/wzxq123/article/details/100604787</link><guid>https://blog.csdn.net/wzxq123/article/details/100604787</guid><author>wzxq123</author><pubDate>Sat, 07 Sep 2019 19:20:42 +0800</pubDate><description><![CDATA[Iniparser是针对INI文件的解析器。ini文件则是一些系统或者软件的配置文件。Iniparser库的API可以对ini文件（配置文件）进行解析、设置、删除等操作。

下载iniparser：

Github:https://github.com/ndevilla/iniparser

主要代码都在src目录下：

其中dictionary.h里面声明了一些直接解析ini file的API...]]></description><category></category></item><item><title><![CDATA[Paxos算法（不考虑拜占庭）]]></title><link>https://blog.csdn.net/wzxq123/article/details/100542098</link><guid>https://blog.csdn.net/wzxq123/article/details/100542098</guid><author>wzxq123</author><pubDate>Wed, 04 Sep 2019 17:13:57 +0800</pubDate><description><![CDATA[前置说明：

不论在哪个阶段，客户端在没有成功执行完命令时，“再次尝试”都是进入阶段1而非初始化阶段。

逻辑伪码如下：

---------------------------------------------------------------------------------------------------------------------------------

客户端（提案者...]]></description><category></category></item><item><title><![CDATA[Linux内核（linux-5.2.9）--内核对象（对象的引用计数）]]></title><link>https://blog.csdn.net/wzxq123/article/details/100134082</link><guid>https://blog.csdn.net/wzxq123/article/details/100134082</guid><author>wzxq123</author><pubDate>Thu, 29 Aug 2019 14:40:43 +0800</pubDate><description><![CDATA[一个分配好的内存对象可能会在多种场景中被多次传递并使用，在这种情况下，为了能够正确的使用内存对象，引入了“引用计数”功能。

防止内存泄漏：确保已分配的对象最终都会被正确释放；
	防止访问已释放的内存：确保不会使用已经被释放的对象。
    数据结构 kref 为任何内存数据结构添加引用计数提供了一种简单但有效的方法。Kref相关的定义如下：


struct kre...]]></description><category></category></item><item><title><![CDATA[Linux内核（linux-5.2.9）--内核对象（类型无关的双循环链表）]]></title><link>https://blog.csdn.net/wzxq123/article/details/100113611</link><guid>https://blog.csdn.net/wzxq123/article/details/100113611</guid><author>wzxq123</author><pubDate>Wed, 28 Aug 2019 14:11:23 +0800</pubDate><description><![CDATA[前一段时间学习了Linux源码，过程比较艰辛。虽说工作中也不会去开发操作系统，但“他山之石可以攻玉”，其中的设计思想和解决方案还是可以参考的嘛。抽空陆续把所学的模块整理一下，方便后面及时参阅，温故知新。

    内核对象是一种统称，驱动、设备、总线类型等都可以看作是内核对象。表示内核对象的结构是kobject，相当于Linux驱动模型的“基类”。kobject的定义如下（...]]></description><category></category></item><item><title><![CDATA[解决ssh-copy-id时出现Host key verfication failed错误]]></title><link>https://blog.csdn.net/wzxq123/article/details/100049575</link><guid>https://blog.csdn.net/wzxq123/article/details/100049575</guid><author>wzxq123</author><pubDate>Sat, 24 Aug 2019 10:17:14 +0800</pubDate><description><![CDATA[部署分布式集群时常常会需要配置免密登录。一开始操作正常，但是后面由于系统故障重装了其中一个节点，再次执行ssh-copy-id分发秘钥就报了“Host key verification failed”错误。



解决命令：ssh-keygen -R 目标IP地址

ssh-keygen 的参数说明可以参考： 

https://www.iteye.com/blog/kille...]]></description><category></category></item><item><title><![CDATA[一张图看懂零维到十维空间]]></title><link>https://blog.csdn.net/wzxq123/article/details/100048843</link><guid>https://blog.csdn.net/wzxq123/article/details/100048843</guid><author>wzxq123</author><pubDate>Sat, 24 Aug 2019 09:35:22 +0800</pubDate><description><![CDATA[事情是这样的，这周我给学生讲3dmax的课。为了让学生了解三视图我就顺便科普了一下什么是零维、一维、二维、三维空间。讲完不过瘾，感觉一支粉笔一块黑板讲维度是一件很爽的事情，那么.........接下来请同学们打开脑洞，看我用一支笔几张纸来为同学们展开从零维空间到十维空间之旅吧！

零维

让我们从一个点开始，和我们几何意义上的点一样，它没有大小、没有维度。它只是被想象出来的、作为标志一个位置的点。...]]></description><category></category></item><item><title><![CDATA[基于消费者驱动的契约测试]]></title><link>https://blog.csdn.net/wzxq123/article/details/80219772</link><guid>https://blog.csdn.net/wzxq123/article/details/80219772</guid><author>wzxq123</author><pubDate>Sun, 06 May 2018 23:01:11 +0800</pubDate><description><![CDATA[JB Rainsberger 曾说过，“集成测试是一个陷阱，它像一个自我扩散的病毒，无情地威胁着代码库、项目和团队。”随着微服务系统复杂度的增加，集成测试所带来的弊端愈发明显。1. 运行效率低由于微服务本身是基于分布式的系统，因此进行集成测试时，每个服务会同运行在其它节点的服务交互，而这类交互通常都是跨网络的。因此，相比进程内的交互或者同一节点内的交互，运行效率低。由其是当服务之间依赖关系复杂时，...]]></description><category></category></item><item><title><![CDATA[mongo命令提示“connect failed”]]></title><link>https://blog.csdn.net/wzxq123/article/details/80040271</link><guid>https://blog.csdn.net/wzxq123/article/details/80040271</guid><author>wzxq123</author><pubDate>Sun, 22 Apr 2018 16:56:46 +0800</pubDate><description><![CDATA[    前段时间学习了一些MongoDB的知识，想着动手实践一番，于是用Homebrew安装了一下MongoDB：$ brew update$ brew install mongodb    使用命令前得先安装Homebrew，中途可能会有中断的情况发生，多试几次就好了。    正当我兴高采烈地准备动手实践的时候，mongo命令却提示“connect failed”。    整理了一下思路，应该是...]]></description><category></category></item><item><title><![CDATA[微服务架构综述——微服务的本质]]></title><link>https://blog.csdn.net/wzxq123/article/details/79889185</link><guid>https://blog.csdn.net/wzxq123/article/details/79889185</guid><author>wzxq123</author><pubDate>Tue, 10 Apr 2018 22:33:39 +0800</pubDate><description><![CDATA[       微服务的诞生是在互联网高速发展，技术日新月异变化以及传统架构无法适应快速变化等多种因素共同推动下的必然产物。       随着越来越多的传统行业开始依赖互联网技术打造其核心竞争优势。如何从系统架构的角度出发，构建灵活、易扩展的系统，快速应对需求的变化；同时，随着用户量的增加，如何保证系统的可伸缩性、高可用性，成为系统架构面临的挑战。       微服务的本质特征体现在如下几个方面（从...]]></description><category></category></item><item><title><![CDATA[微服务架构综述——微服务架构的特性]]></title><link>https://blog.csdn.net/wzxq123/article/details/79859110</link><guid>https://blog.csdn.net/wzxq123/article/details/79859110</guid><author>wzxq123</author><pubDate>Sun, 08 Apr 2018 22:26:33 +0800</pubDate><description><![CDATA[前面说了单块架构的不足，那么微服务又是何方神圣？具有什么样的特性？以下是摘自马丁.福勒先生博客中的描述：微服务架构是一种架构模式，它提倡将单一应用程序划分成一组小的服务，服务之间相互协调、相互配合，为用户提供最终价值。每个服务运行在其独立的进程中，服务与服务间采用轻量级的通信机制互相沟通（通常是基于HTTP的RESTful API）。每个服务都围绕着具体业务进行构建，并且能够被独立地部署到生产环境...]]></description><category></category></item></channel></rss>