<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Jesse_Liu666的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Jesse_Liu666</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Jesse_Liu666]]></copyright><item><title><![CDATA[利用与非（NAND）运算实现布尔代数中的与或非运算]]></title><link>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/134978954</link><guid>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/134978954</guid><author>Jesse_Liu666</author><pubDate>Wed, 13 Dec 2023 18:17:59 +0800</pubDate><description><![CDATA[或运算（OR）可以通过两次与非运算和一次非运算实现。布尔代数中的与、或、非运算可以利用与非运算（NAND）来实现。与运算（AND）可以通过两次与非运算实现。非运算（NOT）可以通过一次与非运算实现。通过组合与非运算，我们可以实现布尔代数中的与、或、非运算。]]></description><category></category></item><item><title><![CDATA[什么是CPU cache line和cache line bouncing?]]></title><link>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/133914325</link><guid>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/133914325</guid><author>Jesse_Liu666</author><pubDate>Wed, 18 Oct 2023 20:49:05 +0800</pubDate><description><![CDATA[什么是cache line？什么是cache line bouncing？]]></description><category></category></item><item><title><![CDATA[C++11实现的一个线程池(ThreadPool)]]></title><link>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/130966286</link><guid>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/130966286</guid><author>Jesse_Liu666</author><pubDate>Wed, 31 May 2023 12:13:39 +0800</pubDate><description><![CDATA[【代码】C++11实现的一个线程池(ThreadPool)]]></description><category></category></item><item><title><![CDATA[C++ lock_guard, unique_guard, condition_variable]]></title><link>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/130966141</link><guid>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/130966141</guid><author>Jesse_Liu666</author><pubDate>Wed, 31 May 2023 12:05:13 +0800</pubDate><description><![CDATA[本篇文章讲解了C++11中的lock_guard, unique_guard和条件变量condition_variable的基本使用和一个demo]]></description><category></category></item><item><title><![CDATA[python格式化方式]]></title><link>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/128449566</link><guid>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/128449566</guid><author>Jesse_Liu666</author><pubDate>Mon, 26 Dec 2022 21:19:45 +0800</pubDate><description><![CDATA[python格式化]]></description><category></category></item><item><title><![CDATA[Python参数的pass by argument]]></title><link>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/128448774</link><guid>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/128448774</guid><author>Jesse_Liu666</author><pubDate>Mon, 26 Dec 2022 20:10:54 +0800</pubDate><description><![CDATA[python pass by reference and pass by value]]></description><category></category></item><item><title><![CDATA[Python读写CSV文件]]></title><link>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/128250009</link><guid>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/128250009</guid><author>Jesse_Liu666</author><pubDate>Fri, 09 Dec 2022 11:26:03 +0800</pubDate><description><![CDATA[Python读写文件]]></description><category></category></item><item><title><![CDATA[小白初学OpenCV K-means c++代码注释]]></title><link>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/115669840</link><guid>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/115669840</guid><author>Jesse_Liu666</author><pubDate>Tue, 13 Apr 2021 15:39:24 +0800</pubDate><description><![CDATA[代码源地址
包含文件夹及文件
.
├── bin
├── build
├── CMakeLists.txt
└── src
    └── kmeans.cpp

kmeans.cpp
#include &lt;opencv2/highgui/highgui.hpp&gt;
#include &lt;opencv2/core/core.hpp&gt;
#include &lt;opencv2/imgproc/imgproc.hpp&gt;
#include &lt;iostream&gt;
/* https]]></description><category></category></item><item><title><![CDATA[planning_scene_tutorial.cpp详解]]></title><link>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/113945574</link><guid>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/113945574</guid><author>Jesse_Liu666</author><pubDate>Mon, 22 Feb 2021 17:40:10 +0800</pubDate><description><![CDATA[英文解释网站
代码注释
#include &lt;ros/ros.h&gt;
#include &lt;moveit/robot_model_loader/robot_model_loader.h&gt;
#include &lt;moveit/planning_scene/planning_scene.h&gt;
#include &lt;moveit/kinematic_constraints/utils.h&gt;
/** 
 * PlanningScene class: 提供了用于碰撞检查和约束检查]]></description><category></category></item><item><title><![CDATA[robot_model_and_robot_state_tutorial.cpp详解]]></title><link>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/113938299</link><guid>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/113938299</guid><author>Jesse_Liu666</author><pubDate>Mon, 22 Feb 2021 14:44:43 +0800</pubDate><description><![CDATA[英文解释网站
代码注释
#include &lt;ros/ros.h&gt;
#include &lt;moveit/robot_model_loader/robot_model_loader.h&gt;
#include &lt;moveit/robot_model/robot_model.h&gt;
#include &lt;moveit/robot_state/robot_state.h&gt;
/** 
 * RobotModel class: 包含连杆和关节间的关系、关节限制属性、规划组
 * R]]></description><category></category></item><item><title><![CDATA[motion_planning_pipeline_tutorial.cpp详解]]></title><link>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/113917916</link><guid>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/113917916</guid><author>Jesse_Liu666</author><pubDate>Sun, 21 Feb 2021 14:39:55 +0800</pubDate><description><![CDATA[英文解释网站
#include &lt;pluginlib/class_loader.h&gt;
#include &lt;ros/ros.h&gt;

#include &lt;moveit/robot_model_loader/robot_model_loader.h&gt;
/* 这个头文件含有planning_pipeline类，这个类有助于加载规划插件和规划请求适应的插件，
   并允许以指定的顺序从已加载的规划插件和planning_request_adapter::PlanningReques]]></description><category></category></item><item><title><![CDATA[motion_planning_api_tutorial.cpp详解]]></title><link>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/113902952</link><guid>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/113902952</guid><author>Jesse_Liu666</author><pubDate>Sat, 20 Feb 2021 23:37:46 +0800</pubDate><description><![CDATA[#include &lt;pluginlib/class_loader.h&gt;
#include &lt;ros/ros.h&gt;

#include &lt;moveit/robot_model_loader/robot_model_loader.h&gt;
#include &lt;moveit/planning_interface/planning_interface.h&gt;
#include &lt;moveit/planning_scene/planning_scene.h&gt;
#i]]></description><category></category></item><item><title><![CDATA[move_group_interface_tutorial.cpp详解]]></title><link>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/113812490</link><guid>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/113812490</guid><author>Jesse_Liu666</author><pubDate>Mon, 15 Feb 2021 00:03:31 +0800</pubDate><description><![CDATA[代码框架
1. Setup：
	1.1 MoveIt在称为“规划组”（planning groups）的一组关节上进行操作，并将它们存储在名为“JointModelGroup”的对象中。 在整个MoveIt中！ 术语“规划组”和“关节模型组”（joint model group）可互换使用。
	1.2 可以使用您要控制和规划的规划组的名称轻松设置：move_group_interface：`MoveGroup`类。 MoveGroup类继承自MoveGroupInterface类
	1.3 我们将会使用：p]]></description><category></category></item><item><title><![CDATA[Gazebo踩坑（一）[Err] [REST.cc:205] Error in REST request]]></title><link>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/111998009</link><guid>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/111998009</guid><author>Jesse_Liu666</author><pubDate>Wed, 30 Dec 2020 20:50:26 +0800</pubDate><description><![CDATA[在运行gazebo时，遇到[Err] [REST.cc:205] Error in REST request的错误，根据该视频，解决方式如下：
修改~/.ignition/fuel中的config.yaml文件（不知道如何查看隐藏文件的小伙伴，可通过ctrl+h的方式），将url: https://api.ignitionfuel.org修改为url: https://api.ignitionrobotics.org，其中需要注意的是，url和name必须要对齐，否则会出现[Err] [ClientConf]]></description><category></category></item><item><title><![CDATA[归并排序及其应用]]></title><link>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/108696300</link><guid>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/108696300</guid><author>Jesse_Liu666</author><pubDate>Sun, 20 Sep 2020 18:18:55 +0800</pubDate><description><![CDATA[笔者给出递归归并排序及其应用，分别是剑指offer51的数组中的逆序对、小和问题以及LeetCode315计算右侧小于当前元素的个数，在最后还会给出一个非递归版本的归并排序。其中剑指offer51题和LeetCode315题能够通过在线OJ验证，其他的代码都通过了对数器的验证。
递归归并排序
//递归归并排序
#include &lt;iostream&gt;
#include &lt;vector&gt;
#include &lt;algorithm&gt;
#include &lt;cstdlib&gt]]></description><category></category></item><item><title><![CDATA[虚继承以及虚函数对象的内存大小]]></title><link>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/108241039</link><guid>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/108241039</guid><author>Jesse_Liu666</author><pubDate>Wed, 26 Aug 2020 16:01:02 +0800</pubDate><description><![CDATA[关于虚继承的介绍可以看这个网课菱形继承，下面我将介绍虚继承后对象大小的问题
#include &lt;iostream&gt;
using namespace std;
class Animal{
public:
    int m_Age;
};

class Sheep : virtual public Animal{};
class Camel : virtual public Animal{};
class Sheep_Camel : public Sheep, public Camel{};

i]]></description><category></category></item><item><title><![CDATA[C语言的数组名]]></title><link>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/108235922</link><guid>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/108235922</guid><author>Jesse_Liu666</author><pubDate>Wed, 26 Aug 2020 11:01:10 +0800</pubDate><description><![CDATA[#include &lt;stdio.h&gt;

void test(){
    //数组名是一个指针常量，指向的是第一个元素的地址
    //当数组名作为sizeof操作符或单目操作符&amp;的运算数时，不用指针常量来表示，
    //sizeof返回数组的长度，取一个数组名的地址所产生的是一个指向数组的指针
    int array[5] = {7, 8, 3, 2, 6};
    int* p = (int*)(array + 1);     //array为指向数组第一个元素的指针常量]]></description><category></category></item><item><title><![CDATA[C++的类和对象以及初始化的小知识]]></title><link>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/108098017</link><guid>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/108098017</guid><author>Jesse_Liu666</author><pubDate>Wed, 19 Aug 2020 12:39:06 +0800</pubDate><description><![CDATA[#include &lt;iostream&gt;
using namespace std;

class Dummy{
public:
    int b = 10;
    Dummy(){
        cout &lt;&lt; "construtor" &lt;&lt; endl;
    }
    void print(){
        cout &lt;&lt; "hello world" &lt;&lt; endl;
    }
    ~Dummy(){
        cout ]]></description><category></category></item><item><title><![CDATA[Linux系统管道间通信]]></title><link>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/107006514</link><guid>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/107006514</guid><author>Jesse_Liu666</author><pubDate>Sun, 28 Jun 2020 21:02:21 +0800</pubDate><description><![CDATA[引子：在Linux系统的终端上输入ps aux | grep bash，会在终端上输出：
lapvir@ubuntu:~$ ps aux | grep bash
lapvir     3330  0.0  0.2  29568  5060 pts/0    Ss+  15:47   0:00 /bin/bash
lapvir     3507  0.0  0.2  29476  4988 pts/4    Ss   15:58   0:00 bash
lapvir     5482  0.0  0.0  2]]></description><category></category></item><item><title><![CDATA[手把手教你在Ubuntu18.04上安装Typora]]></title><link>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/106809969</link><guid>https://blog.youkuaiyun.com/Jesse_Liu666/article/details/106809969</guid><author>Jesse_Liu666</author><pubDate>Wed, 17 Jun 2020 16:19:49 +0800</pubDate><description><![CDATA[Typora官网上推荐的安装方式为：
# or use
# sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAE
wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -

# add Typora's repository
sudo add-apt-repository 'deb https://typora.io/li]]></description><category></category></item></channel></rss>