<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Rong_11的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Rong_11</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Rong_11]]></copyright><item><title><![CDATA[lex yacc与C++编写代码解析字符串代码示例]]></title><link>https://blog.youkuaiyun.com/Rong_11/article/details/126979975</link><guid>https://blog.youkuaiyun.com/Rong_11/article/details/126979975</guid><author>Rong_11</author><pubDate>Wed, 21 Sep 2022 20:40:41 +0800</pubDate><description><![CDATA[介绍如何使用C++与lex yacc进行编程]]></description><category></category></item><item><title><![CDATA[Windows MongoDB服务无法启动，错误 1053的一种情况和解决办法]]></title><link>https://blog.youkuaiyun.com/Rong_11/article/details/123128196</link><guid>https://blog.youkuaiyun.com/Rong_11/article/details/123128196</guid><author>Rong_11</author><pubDate>Fri, 25 Feb 2022 10:59:08 +0800</pubDate><description><![CDATA[本人数据库情况简述：
搭建在自己本地，用于存储一些数据，MongoDB服务在上次电脑重启的时候挂掉了。
这里介绍一些踩坑经历和解决办法。

正常运行的时候，MongoDB服务应该是像上图这样，有一个正在运行的字样。
如果正在运行的地方写着启动，表示你的MongoDB服务正在启动的过程中，只是因为数据库里的数据量太大导致启动过慢，这个时候耐心等，耐心等，耐心等（重要的事情说三遍），我本地有180G的数据服务大概启动了3个小时就好了。
其实不需要像网上其他教程那样删掉服务重装（浪费时间）
也不能换数据存储路径（]]></description><category></category></item><item><title><![CDATA[muduo-学习笔记（八）日志类部分]]></title><link>https://blog.youkuaiyun.com/Rong_11/article/details/115707411</link><guid>https://blog.youkuaiyun.com/Rong_11/article/details/115707411</guid><author>Rong_11</author><pubDate>Wed, 14 Apr 2021 19:46:31 +0800</pubDate><description><![CDATA[日志类的作用：
开发过程中：调试错误、更好的理解程序
运行过程中：诊断系统故障并处理、记录系统运行状态
日志级别
TRACE：指出比DEBUG粒度更细的一些信息事件（开发过程中使用）
DEBUG：指出细粒度信息事件对调试应用程序是非常有帮助的。（开发过程中使用）
INFO：表明消息在粗粒度级别上突出强调应用程序的运行过程。
WARN:系统能正常运行，但可能会出现潜在错误的情形。
ERROR:指出虽然发生错误事件，但仍然不影响系统的继续运行。
FATAL:指出每个严重的错误事件将会导致应用程序的退出。
*具体]]></description><category></category></item><item><title><![CDATA[muduo-学习笔记（七）Singleton、ThreadLocal、ThreadLocalSingleton部分]]></title><link>https://blog.youkuaiyun.com/Rong_11/article/details/115707076</link><guid>https://blog.youkuaiyun.com/Rong_11/article/details/115707076</guid><author>Rong_11</author><pubDate>Wed, 14 Apr 2021 19:42:05 +0800</pubDate><description><![CDATA[Singleton以头文件的形式存在于代码中,保证对象只生成一个、某个函数只执行一次，保证线程安全，如果不是线程安全的则编译器会报错

#ifndef MUDUO_BASE_SINGLETON_H
#define MUDUO_BASE_SINGLETON_H
#include &lt;boost/noncopyable.hpp&gt;
#include &lt;pthread.h&gt;
#include &lt;stdlib.h&gt; // atexit

namespace muduo
{
templ]]></description><category></category></item><item><title><![CDATA[muduo-学习笔记（六）ThreadPool部分]]></title><link>https://blog.youkuaiyun.com/Rong_11/article/details/115653243</link><guid>https://blog.youkuaiyun.com/Rong_11/article/details/115653243</guid><author>Rong_11</author><pubDate>Tue, 13 Apr 2021 08:48:03 +0800</pubDate><description><![CDATA[线程池封装
ThreadPool.h
#ifndef MUDUO_BASE_THREADPOOL_H
#define MUDUO_BASE_THREADPOOL_H
#include &lt;muduo/base/Condition.h&gt;
#include &lt;muduo/base/Mutex.h&gt;
#include &lt;muduo/base/Thread.h&gt;
#include &lt;muduo/base/Types.h&gt;
#include &lt;boost/funct]]></description><category></category></item><item><title><![CDATA[muduo-学习笔记（五）BlockingQueue部分]]></title><link>https://blog.youkuaiyun.com/Rong_11/article/details/115643514</link><guid>https://blog.youkuaiyun.com/Rong_11/article/details/115643514</guid><author>Rong_11</author><pubDate>Mon, 12 Apr 2021 22:09:38 +0800</pubDate><description><![CDATA[BlockingQueue(无界缓冲区)、BoundedBlockingQueue(有界缓冲区)
头文件BlockingQueue.h
#ifndef MUDUO_BASE_BLOCKINGQUEUE_H
#define MUDUO_BASE_BLOCKINGQUEUE_H
#include &lt;muduo/base/Condition.h&gt;
#include &lt;muduo/base/Mutex.h&gt;
#include &lt;boost/noncopyable.hpp&gt;
#in]]></description><category></category></item><item><title><![CDATA[muduo-学习笔记(四.2）Thread-MutexLock/MutexLockGuard、Condition 、CountDownLatch]]></title><link>https://blog.youkuaiyun.com/Rong_11/article/details/115639469</link><guid>https://blog.youkuaiyun.com/Rong_11/article/details/115639469</guid><author>Rong_11</author><pubDate>Mon, 12 Apr 2021 21:01:14 +0800</pubDate><description><![CDATA[MutexLock头文件Mutex.h，其中有两个类MutexLock和MutexLockGuard
#ifndef MUDUO_BASE_MUTEX_H
#define MUDUO_BASE_MUTEX_H
#include &lt;muduo/base/CurrentThread.h&gt;
#include &lt;boost/noncopyable.hpp&gt;
#include &lt;assert.h&gt;
#include &lt;pthread.h&gt;

namespace mudu]]></description><category></category></item><item><title><![CDATA[VS2019安装mongo-c-driver]]></title><link>https://blog.youkuaiyun.com/Rong_11/article/details/115329252</link><guid>https://blog.youkuaiyun.com/Rong_11/article/details/115329252</guid><author>Rong_11</author><pubDate>Tue, 30 Mar 2021 16:41:20 +0800</pubDate><description><![CDATA[mongo-c-driver功能
使用C++链接MongoDB数据库，访问、查找或插入数据，进行个人的数据管理（虽然没有Python好用，但是为了找工作逼自己学一把呜呜呜）
mongo-c-driver下载地址
官方使用文档
一、下载

下载mongo-c-driver-1.17.4.tar.gc文件，并解压在自己的本地目录
在mongo-c-driver-1.17.4目录下进入命令行，输入以下命令
cmake -G "Visual Studio 16 2019" "-DCMAKE_INSTALL_PREF]]></description><category></category></item><item><title><![CDATA[使用GraphSAGE+DiffPool进行图分类记录]]></title><link>https://blog.youkuaiyun.com/Rong_11/article/details/109393118</link><guid>https://blog.youkuaiyun.com/Rong_11/article/details/109393118</guid><author>Rong_11</author><pubDate>Thu, 11 Mar 2021 21:00:39 +0800</pubDate><description><![CDATA[GraphSAGE和DiffPool操作实录简介（真的是很简单的介绍）实验过程记录使用GraphSAGE的操作一、数据准备二、	代码简述（无监督训练）三、	输出使用DiffPool的操作一、	数据准备二、	代码简述三、	训练输出：
简介（真的是很简单的介绍）
GraphSAGE主要是对图（Graph）的节点进行特征表示，特征表示出的节点用于下游任务：如节点分类、图表示等；DiffPool则是对输入的节点特征进行聚合，得到一个聚合的特征用来表示图，通常用于输入一堆图之后进行分类的任务。
实验过程记录
实验过程]]></description><category></category></item><item><title><![CDATA[muduo-学习笔记（四.1）Thread-pthread_atfork相关]]></title><link>https://blog.youkuaiyun.com/Rong_11/article/details/114679874</link><guid>https://blog.youkuaiyun.com/Rong_11/article/details/114679874</guid><author>Rong_11</author><pubDate>Thu, 11 Mar 2021 20:56:19 +0800</pubDate><description><![CDATA[fork函数的头文件为#include &lt;pthread.h&gt;
语法：
int pthread_atfork(void (*prepare)(void)，void (*parent)(void)， void (*child)(void));
调用fork时，内部创建子进程前在父进程中会调用prepare，内部创建子进程成功后，父进程会调用parent ，子进程会调用child
在fork之前可能有多个线程，fork可能在主线程也可能在子线程中调用，
如果fork在子线程中调用：fork得到一个新]]></description><category></category></item><item><title><![CDATA[muduo-学习笔记（四）Thread部分]]></title><link>https://blog.youkuaiyun.com/Rong_11/article/details/114678794</link><guid>https://blog.youkuaiyun.com/Rong_11/article/details/114678794</guid><author>Rong_11</author><pubDate>Thu, 11 Mar 2021 20:47:18 +0800</pubDate><description><![CDATA[线程标识符：linux下每个进程有一个pid
Linux中，每个进程有一个pid，类型pid_t，由getpid函数取得。Linux下的POSIX线程也有一个id，类型 pthread_t，由pthread_self()取得，该id由线程库维护，其id空间是各个进程独立的（即不同进程中的线程可能有相同的id）。Linux中的POSIX线程库实现的线程其实也是一个进程（LWP），只是该进程与主进程（启动线程的进程）共享一些资源而已，比如代码段，数据段等。
有时候我们可能需要知道线程的真实pid。比如进程P1要]]></description><category></category></item><item><title><![CDATA[muduo-学习笔记（三）Exception部分]]></title><link>https://blog.youkuaiyun.com/Rong_11/article/details/114410944</link><guid>https://blog.youkuaiyun.com/Rong_11/article/details/114410944</guid><author>Rong_11</author><pubDate>Fri, 05 Mar 2021 20:08:19 +0800</pubDate><description><![CDATA[Exception类继承自标准模板库的exception类
#ifndef MUDUO_BASE_EXCEPTION_H  //头文件
#define MUDUO_BASE_EXCEPTION_H
#include &lt;muduo/base/Types.h&gt;
#include &lt;exception&gt;

namespace muduo
{
class Exception : public std::exception
{
 public:
  explicit Exception(con]]></description><category></category></item><item><title><![CDATA[muduo-学习笔记（二）Atomic部分]]></title><link>https://blog.youkuaiyun.com/Rong_11/article/details/114377259</link><guid>https://blog.youkuaiyun.com/Rong_11/article/details/114377259</guid><author>Rong_11</author><pubDate>Thu, 04 Mar 2021 20:48:48 +0800</pubDate><description><![CDATA[Atomic.h在Thread部分作为头文件引入，原因应该是一个单独的线程中值的改变和计算需要原子性，操作在执行过程中不应该被切换，其代码如下
#ifndef MUDUO_BASE_ATOMIC_H
#define MUDUO_BASE_ATOMIC_H

#include &lt;boost/noncopyable.hpp&gt;
#include &lt;stdint.h&gt;

namespace muduo
{
namespace detail
{
template&lt;typename T&g]]></description><category></category></item><item><title><![CDATA[muduo-学习笔记（一）Timestamp部分]]></title><link>https://blog.youkuaiyun.com/Rong_11/article/details/114372288</link><guid>https://blog.youkuaiyun.com/Rong_11/article/details/114372288</guid><author>Rong_11</author><pubDate>Thu, 04 Mar 2021 20:08:36 +0800</pubDate><description><![CDATA[Timestamp.h头文件，定义了Timestamp类中的相关函数和变量
#ifndef MUDUO_BASE_TIMESTAMP_H  //预定义
#define MUDUO_BASE_TIMESTAMP_H

#include &lt;muduo/base/copyable.h&gt;  //头文件  copyable.h是一个空实现，仅为了做标识
#include &lt;muduo/base/Types.h&gt;    //基本类型的声明
#include &lt;boost/operators]]></description><category></category></item><item><title><![CDATA[muduo库编译SocketOps时报错：error: ‘::readv‘ has not been declared]]></title><link>https://blog.youkuaiyun.com/Rong_11/article/details/112259614</link><guid>https://blog.youkuaiyun.com/Rong_11/article/details/112259614</guid><author>Rong_11</author><pubDate>Wed, 06 Jan 2021 10:42:11 +0800</pubDate><description><![CDATA[在原码基础上添加sockets指定函数范围即可

（虽然不知道为什么这样就解决了bug，其他的read函数和write函数也没有这样的问题）

]]></description><category></category></item></channel></rss>