<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xiaozhidian的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xiaozhidian</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xiaozhidian]]></copyright><item><title><![CDATA[使用Docker部署PDF多功能工具Stirling-PDF]]></title><link>https://blog.youkuaiyun.com/xiaozhidian/article/details/135484745</link><guid>https://blog.youkuaiyun.com/xiaozhidian/article/details/135484745</guid><author>xiaozhidian</author><pubDate>Tue, 09 Jan 2024 17:06:50 +0800</pubDate><description><![CDATA[使用Docker部署PDF多功能工具Stirling-PDF，并且可以通过域名访问。]]></description><category></category></item><item><title><![CDATA[C++回调函数]]></title><link>https://blog.youkuaiyun.com/xiaozhidian/article/details/134196680</link><guid>https://blog.youkuaiyun.com/xiaozhidian/article/details/134196680</guid><author>xiaozhidian</author><pubDate>Fri, 03 Nov 2023 09:58:48 +0800</pubDate><description><![CDATA[回调函数的概念涉及两个主要角色：调用方和回调函数。调用方是一个函数或对象，它接受一个函数指针、函数对象或函数类型的参数，并在适当的时候调用这个参数来实现某种功能。回调函数则是作为参数传递给调用方的函数，当满足特定条件时，调用方会调用该回调函数来执行特定的操作。在C++中，回调函数是一种常见的编程模式，用于将函数作为参数传递给其他函数，并在特定事件发生或特定条件满足时被调用执行。回调函数的回调指的是当特定事件或条件满足时，调用该函数以完成相应的操作。]]></description><category></category></item><item><title><![CDATA[vue实现预览PDF、Excel、Docx、Txt、PPT文件的功能]]></title><link>https://blog.youkuaiyun.com/xiaozhidian/article/details/131074551</link><guid>https://blog.youkuaiyun.com/xiaozhidian/article/details/131074551</guid><author>xiaozhidian</author><pubDate>Tue, 06 Jun 2023 20:09:04 +0800</pubDate><description><![CDATA[微软解析地址：https://view.officeapps.live.com/op/view.aspx?src=你的文件地址。主要是用 iframe 组件，src地址即为要展示的文件地址。注意：1. 文件地址必须公网；2. 静态资源不要有访问权限。word、xls、ppt这些文件要用 微软官方的预览地址。假设有这些变量：attachment是附件的意思。1、使用的是vue和elementUI，最后，你控制的只是src地址。Excel文件预览；]]></description><category></category></item><item><title><![CDATA[elementUI设置失效日期，当天以及之后的日期不可选，一个月前的日期不可选]]></title><link>https://blog.youkuaiyun.com/xiaozhidian/article/details/130582722</link><guid>https://blog.youkuaiyun.com/xiaozhidian/article/details/130582722</guid><author>xiaozhidian</author><pubDate>Tue, 09 May 2023 16:26:58 +0800</pubDate><description><![CDATA[elementUI设置失效日期，当天以及之后的日期不可选，一个月前的日期不可选。]]></description><category></category></item><item><title><![CDATA[C++反射]]></title><link>https://blog.youkuaiyun.com/xiaozhidian/article/details/129842271</link><guid>https://blog.youkuaiyun.com/xiaozhidian/article/details/129842271</guid><author>xiaozhidian</author><pubDate>Wed, 29 Mar 2023 18:04:17 +0800</pubDate><description><![CDATA[【代码】C++反射。]]></description><category></category></item><item><title><![CDATA[vue-element-admin导出数据到Excel]]></title><link>https://blog.youkuaiyun.com/xiaozhidian/article/details/129815985</link><guid>https://blog.youkuaiyun.com/xiaozhidian/article/details/129815985</guid><author>xiaozhidian</author><pubDate>Tue, 28 Mar 2023 14:50:33 +0800</pubDate><description><![CDATA[然后将链接中的代码复制到Export2Excel.js。在vendor新建文件Export2Excel.js。步骤二：在src新建目录vendor。步骤三：在vue中使用。]]></description><category></category></item><item><title><![CDATA[vscode无法远程连接Linux服务器]]></title><link>https://blog.youkuaiyun.com/xiaozhidian/article/details/129705938</link><guid>https://blog.youkuaiyun.com/xiaozhidian/article/details/129705938</guid><author>xiaozhidian</author><pubDate>Wed, 22 Mar 2023 11:22:07 +0800</pubDate><description><![CDATA[下载方式2：wget https://update.code.visualstudio.com/commit:$COMMIT_ID/server-linux-x64/stable。3、将压缩包移至  ~/.vscode-server/bin/$COMMIT_ID/vscode-server-linux-x64.tar.gz。获取COMMIT_ID方式1：vscode点击“帮助”-->"关于", 查看版本信息中的 Commit。2、下载压缩包，将 $COMMIT_ID 替换为上一步中的提交编号。]]></description><category></category></item><item><title><![CDATA[vue+echarts中国地图数据可视化展示]]></title><link>https://blog.youkuaiyun.com/xiaozhidian/article/details/129167311</link><guid>https://blog.youkuaiyun.com/xiaozhidian/article/details/129167311</guid><author>xiaozhidian</author><pubDate>Wed, 22 Feb 2023 18:10:03 +0800</pubDate><description><![CDATA[vue+echarts中国地图数据可视化展示]]></description><category></category></item><item><title><![CDATA[vue根据后端返回的base64图片数据转成图片并下载]]></title><link>https://blog.youkuaiyun.com/xiaozhidian/article/details/129166541</link><guid>https://blog.youkuaiyun.com/xiaozhidian/article/details/129166541</guid><author>xiaozhidian</author><pubDate>Wed, 22 Feb 2023 17:22:19 +0800</pubDate><description><![CDATA[vue根据后端返回的base64图片数据转成图片并下载]]></description><category></category></item><item><title><![CDATA[Python求两个列表的交集、并集、差集]]></title><link>https://blog.youkuaiyun.com/xiaozhidian/article/details/128389447</link><guid>https://blog.youkuaiyun.com/xiaozhidian/article/details/128389447</guid><author>xiaozhidian</author><pubDate>Tue, 20 Dec 2022 19:39:04 +0800</pubDate><description><![CDATA[Python求两个列表的交集、并集、差集]]></description><category></category></item><item><title><![CDATA[C++11 使用std::function和std::bind实现类B的成员函数注册为类A的回调]]></title><link>https://blog.youkuaiyun.com/xiaozhidian/article/details/123486656</link><guid>https://blog.youkuaiyun.com/xiaozhidian/article/details/123486656</guid><author>xiaozhidian</author><pubDate>Mon, 14 Mar 2022 19:53:38 +0800</pubDate><description><![CDATA[关于std::function()

在C语言的时代，我们可以使用函数指针来吧一个函数作为参数传递，这样我们就可以实现回调函数的机制。到了C++11以后在标准库里引入了std::function模板类，这个模板概括了函数指针的概念
函数指针只能指向一个函数，而std::function对象可以代表任何可以调用的对象，比如说任何可以被当作函数一样调用的对象。
当你创建一个函数指针的时候，你必须定义这个函数签名（表征这个函数的入参，返回值等信息）；同样的，当你创建一个std::function对象的时候，你也必]]></description><category></category></item><item><title><![CDATA[函数指针详解]]></title><link>https://blog.youkuaiyun.com/xiaozhidian/article/details/123426464</link><guid>https://blog.youkuaiyun.com/xiaozhidian/article/details/123426464</guid><author>xiaozhidian</author><pubDate>Fri, 11 Mar 2022 15:41:43 +0800</pubDate><description><![CDATA[1） 函数指针的初始化。

函数如下：


intCompareString(conststring&amp;str1,conststring&amp;str2)
{
returnstr1.compare(str2);

}

函数的初始化有两种方式：

第一种，也是最普遍的方式：


int(*CompareFunction)(conststring&amp;,conststring&amp;)=CompareString;

第二种，是使用typedef定义函数类...]]></description><category></category></item><item><title><![CDATA[指向类成员的指针]]></title><link>https://blog.youkuaiyun.com/xiaozhidian/article/details/123424465</link><guid>https://blog.youkuaiyun.com/xiaozhidian/article/details/123424465</guid><author>xiaozhidian</author><pubDate>Fri, 11 Mar 2022 14:43:58 +0800</pubDate><description><![CDATA[指向类成员的指针总的来讲可以分为两大类四小类（指向数据成员还是成员函数，指向普通成员还是静态成员），下面一一做介绍：

一、指向类的普通成员的指针（非静态）

1、指向类成员函数的指针

简单的讲，指向类成员函数的指针与普通函数指针的区别在于，前者不仅要匹配函数的参数类型和个数以及返回值类型，还要匹配该函数指针所属的类类型。总结一下，比较以下几点：

a）参数类型和个数

b）返回值类型

c）所属的类类型（特别之处）

究其原因，是因为非静态的成员函数必须被绑定到一个类的对象或者指针上，才能得到被调用对象]]></description><category></category></item><item><title><![CDATA[linux服务器挂载nfs设置]]></title><link>https://blog.youkuaiyun.com/xiaozhidian/article/details/121842456</link><guid>https://blog.youkuaiyun.com/xiaozhidian/article/details/121842456</guid><author>xiaozhidian</author><pubDate>Thu, 09 Dec 2021 19:42:32 +0800</pubDate><description><![CDATA[1.安装nfs服务


apt-get install nfs-kernel-server nfs-common

2.设置参数


vim /etc/exports

在文件中加入以下内容，并保存退出：


/home/work/ *(rw,sync,no_subtree_check,no_root_squash)


说明：
/home/work/ ： 将/home/work/目录挂载到别的服务器/设备上，若没有该目录则需先创建
* ： 允许所有的网段访问，也可以使用具体的IP
rw ： 挂载此目...]]></description><category></category></item><item><title><![CDATA[linux搭建服务器的配置]]></title><link>https://blog.youkuaiyun.com/xiaozhidian/article/details/121395525</link><guid>https://blog.youkuaiyun.com/xiaozhidian/article/details/121395525</guid><author>xiaozhidian</author><pubDate>Thu, 18 Nov 2021 11:26:53 +0800</pubDate><description><![CDATA[1.安装好linux系统之后，如果无法连接网络，先设置代理，配置apt的流量走代理：


#命令
vim /etc/apt/apt.conf
#配置文件内容
Acquire::http::Proxy "http://192.168.1.29:2345";
#测试
sudo apt update
sudo apt upgrade

2.安装一些必要的工具和软件


#安装net-tools
apt-get install -y net-tools
#安装ssh-server
apt-get install..]]></description><category></category></item><item><title><![CDATA[Ubuntu配置Samba服务器]]></title><link>https://blog.youkuaiyun.com/xiaozhidian/article/details/121394696</link><guid>https://blog.youkuaiyun.com/xiaozhidian/article/details/121394696</guid><author>xiaozhidian</author><pubDate>Thu, 18 Nov 2021 10:20:40 +0800</pubDate><description><![CDATA[1、Samba的安装

sudo apt-get insall samba // (sudo get temp root auth)
	sudo apt-get install smbfs //旧版本
	sudo apt-get install cifs-utils //新版本
	上面的命令将会安装 Samba 和其他相关的工具。在旧版的 Ubuntu 中，你可能需要使用 smbfs 替代 cifs-utils。
	
	sudo apt-get install samba-common
2、创建共享目录

]]></description><category></category></item><item><title><![CDATA[docker搭建开发环境操作步骤]]></title><link>https://blog.youkuaiyun.com/xiaozhidian/article/details/121291915</link><guid>https://blog.youkuaiyun.com/xiaozhidian/article/details/121291915</guid><author>xiaozhidian</author><pubDate>Fri, 12 Nov 2021 17:15:56 +0800</pubDate><description><![CDATA[1.服务器上安装docker
见另外的博客教程

2.部署镜像2.1.从镜像仓库harbor上拉取镜像
修改服务器上的docker配置文件，命令：


vim /etc/docker/daemon.json

文件内容：


{
"registry-mirrors":[],
"insecure-registries":["harbor.xiaozhidian.com"]
}

重启docker
注：如果无法重启的话，需要把上面的那个文件名称由daemon.json改为daemon.conf



服务器上登]]></description><category></category></item><item><title><![CDATA[Linux的tar命令、chmod命令]]></title><link>https://blog.youkuaiyun.com/xiaozhidian/article/details/120772394</link><guid>https://blog.youkuaiyun.com/xiaozhidian/article/details/120772394</guid><author>xiaozhidian</author><pubDate>Thu, 14 Oct 2021 21:17:18 +0800</pubDate><description><![CDATA[Linux的tar命令解压、压缩到指定目录

比如，有这样一个目录结构：


/home/install/       /home/package/ 


/install/目录用来存放装载的库和可执行程序。

/package/目录用来存放打包好的库，即 .tar.gz是install里面对应的库文件的压缩包。

即：


/home/install/A/a.so  , /home/install/A/b.so  , /home/install/B/hello.s...]]></description><category></category></item><item><title><![CDATA[vim设置代码文件作者信息等]]></title><link>https://blog.youkuaiyun.com/xiaozhidian/article/details/119939261</link><guid>https://blog.youkuaiyun.com/xiaozhidian/article/details/119939261</guid><author>xiaozhidian</author><pubDate>Thu, 26 Aug 2021 20:39:54 +0800</pubDate><description><![CDATA[1.代码中自动添加作者信息

vim添加代码的作者和创作时间等信息，需要修改配置文件，在


/root/.vim/plugged/prepare-code/autoload/prepare/

路径下的 prepare.vim 文件里面末尾，添加如下内容：


 " 生成作者信息
 function! s:gen_information(suffix)
     if a:suffix == 'sh' || a:suffix == 'py'
         call setline(1, "######]]></description><category></category></item><item><title><![CDATA[Increase the views]]></title><link>https://blog.youkuaiyun.com/xiaozhidian/article/details/119460490</link><guid>https://blog.youkuaiyun.com/xiaozhidian/article/details/119460490</guid><author>xiaozhidian</author><pubDate>Fri, 06 Aug 2021 17:41:49 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;

&lt;html&gt;

&lt;head&gt;

&lt;meta charset="utf-8"&gt;

&lt;meta http-equiv="refresh" content="5"&gt;

&lt;title&gt;look&lt;/title&gt;

&lt;/head&gt;

&lt;body&gt;

&lt;iframe frameborder=1 width=100% height=800px marginheight...]]></description><category></category></item></channel></rss>