自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (3)
  • 收藏
  • 关注

原创 使用Docker部署PDF多功能工具Stirling-PDF

使用Docker部署PDF多功能工具Stirling-PDF,并且可以通过域名访问。

2024-01-09 17:06:50 1262 1

原创 C++回调函数

回调函数的概念涉及两个主要角色:调用方和回调函数。调用方是一个函数或对象,它接受一个函数指针、函数对象或函数类型的参数,并在适当的时候调用这个参数来实现某种功能。回调函数则是作为参数传递给调用方的函数,当满足特定条件时,调用方会调用该回调函数来执行特定的操作。在C++中,回调函数是一种常见的编程模式,用于将函数作为参数传递给其他函数,并在特定事件发生或特定条件满足时被调用执行。回调函数的回调指的是当特定事件或条件满足时,调用该函数以完成相应的操作。

2023-11-03 09:58:48 142

原创 vue实现预览PDF、Excel、Docx、Txt、PPT文件的功能

微软解析地址:https://view.officeapps.live.com/op/view.aspx?src=你的文件地址。主要是用 iframe 组件,src地址即为要展示的文件地址。注意:1. 文件地址必须公网;2. 静态资源不要有访问权限。word、xls、ppt这些文件要用 微软官方的预览地址。假设有这些变量:attachment是附件的意思。1、使用的是vue和elementUI,最后,你控制的只是src地址。Excel文件预览;

2023-06-06 20:09:04 5972 4

原创 elementUI设置失效日期,当天以及之后的日期不可选,一个月前的日期不可选

elementUI设置失效日期,当天以及之后的日期不可选,一个月前的日期不可选。

2023-05-09 16:26:58 479 1

原创 C++反射

【代码】C++反射。

2023-03-29 18:04:17 7

原创 vue-element-admin导出数据到Excel

然后将链接中的代码复制到Export2Excel.js。在vendor新建文件Export2Excel.js。步骤二:在src新建目录vendor。步骤三:在vue中使用。

2023-03-28 14:50:33 366

原创 vscode无法远程连接Linux服务器

下载方式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 替换为上一步中的提交编号。

2023-03-22 11:22:07 1210

原创 vue+echarts中国地图数据可视化展示

vue+echarts中国地图数据可视化展示

2023-02-22 18:10:03 3393 5

原创 vue根据后端返回的base64图片数据转成图片并下载

vue根据后端返回的base64图片数据转成图片并下载

2023-02-22 17:22:19 2769

原创 Python求两个列表的交集、并集、差集

Python求两个列表的交集、并集、差集

2022-12-20 19:39:04 1332

原创 C++11 使用std::function和std::bind实现类B的成员函数注册为类A的回调

关于std::function()在C语言的时代,我们可以使用函数指针来吧一个函数作为参数传递,这样我们就可以实现回调函数的机制。到了C++11以后在标准库里引入了std::function模板类,这个模板概括了函数指针的概念函数指针只能指向一个函数,而std::function对象可以代表任何可以调用的对象,比如说任何可以被当作函数一样调用的对象。当你创建一个函数指针的时候,你必须定义这个函数签名(表征这个函数的入参,返回值等信息);同样的,当你创建一个std::function对象的时候,你也必

2022-03-14 19:53:38 83

原创 函数指针详解

1) 函数指针的初始化。函数如下:intCompareString(conststring&str1,conststring&str2){returnstr1.compare(str2);}函数的初始化有两种方式:第一种,也是最普遍的方式:int(*CompareFunction)(conststring&,conststring&)=CompareString;第二种,是使用typedef定义函数类...

2022-03-11 15:41:43 1495

原创 指向类成员的指针

指向类成员的指针总的来讲可以分为两大类四小类(指向数据成员还是成员函数,指向普通成员还是静态成员),下面一一做介绍:一、指向类的普通成员的指针(非静态)1、指向类成员函数的指针简单的讲,指向类成员函数的指针与普通函数指针的区别在于,前者不仅要匹配函数的参数类型和个数以及返回值类型,还要匹配该函数指针所属的类类型。总结一下,比较以下几点:a)参数类型和个数b)返回值类型c)所属的类类型(特别之处)究其原因,是因为非静态的成员函数必须被绑定到一个类的对象或者指针上,才能得到被调用对象

2022-03-11 14:43:58 1524

原创 linux服务器挂载nfs设置

1.安装nfs服务apt-get install nfs-kernel-server nfs-common2.设置参数vim /etc/exports在文件中加入以下内容,并保存退出:/home/work/ *(rw,sync,no_subtree_check,no_root_squash)说明:/home/work/ : 将/home/work/目录挂载到别的服务器/设备上,若没有该目录则需先创建* : 允许所有的网段访问,也可以使用具体的IPrw : 挂载此目...

2021-12-09 19:42:32 1074

原创 linux搭建服务器的配置

1.安装好linux系统之后,如果无法连接网络,先设置代理,配置apt的流量走代理:#命令vim /etc/apt/apt.conf#配置文件内容Acquire::http::Proxy "http://192.168.1.29:2345";#测试sudo apt updatesudo apt upgrade2.安装一些必要的工具和软件#安装net-toolsapt-get install -y net-tools#安装ssh-serverapt-get install..

2021-11-18 11:26:53 2178

原创 Ubuntu配置Samba服务器

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-common2、创建共享目录

2021-11-18 10:20:40 3898

原创 docker搭建开发环境操作步骤

1.服务器上安装docker见另外的博客教程2.部署镜像2.1.从镜像仓库harbor上拉取镜像修改服务器上的docker配置文件,命令:vim /etc/docker/daemon.json文件内容:{"registry-mirrors":[],"insecure-registries":["harbor.xiaozhidian.com"]}重启docker注:如果无法重启的话,需要把上面的那个文件名称由daemon.json改为daemon.conf服务器上登

2021-11-12 17:15:56 464

原创 Linux的tar命令、chmod命令

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...

2021-10-14 21:17:18 264

原创 vim设置代码文件作者信息等

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, "######

2021-08-26 20:39:54 1966

原创 Increase the views

<!DOCTYPE html><html><head><meta charset="utf-8"><meta http-equiv="refresh" content="5"><title>look</title></head><body><iframe frameborder=1 width=100% height=800px marginheight...

2021-08-06 17:41:49 79

原创 C语言中用宏动态命名变量名及函数名以及宏字符 # 和 ## 的解释

宏# 和 ## 的解释1.在一个预处理器宏中的参数前面使用一个#,预处理器会把这个参数转换为一个字符数组。2 #是“字符串化”的意思。出现在宏定义中的#是把跟在后面的参数转换成一个字符串3.关于记号粘贴操作符(token paste operator): ## 简单的说,“##”是一种分隔连接方式,它的作用是先分隔,然后进行强制连接。4.其他相关 -- 单独的一个 # : 至于单独一个#,则表示对这个变量替换后,再加双引号引起来。5.#(stringizing)字符串化操作符。其作用是:将宏定义.

2021-08-06 16:26:06 11752

原创 Ubuntu安装Docker启动与停止

第一种方法从Ubuntu的仓库直接下载安装:安装比较简单,这种安装的Docker不是最新版本,不过对于学习够用了,依次执行下面命令进行安装。$ sudo apt install docker.io$ sudo systemctl start docker$ sudo systemctl enable docker查看是否安装成功$ docker -vDocker version 17.12.1-ce, build 7390fc6第二种方法从Docker仓库下载安装:这种

2021-08-04 18:40:00 14488

原创 jsoncpp的编译安装和使用

cmake源码编译安装jsoncpp1、下载jsoncpp源码wget https://github.com/open-source-parsers/jsoncpp/archive/master.zip2、安装unzip解压缩工具apt-get install unzip3、解压缩源码文件unzip -x master.zip4、配置、编译、安装cd jsoncpp-mastermkdir -p ./build/debugcd ./build/debugc

2021-07-27 17:33:43 1198

原创 glog安装编译和使用

记录一下glog的安装编译和使用过程,为了以后方便再次配置。一、glogBuilding glog with CMakeWhen building glog as a standalone project, on Unix-like systems with GNU Make as build tool, the typical workflow is:Get the source code and change to it. e.g., cloning with git:git cl

2021-07-27 17:27:12 823

原创 解决Ubuntu18.04无法安装pip的问题

sudo apt-get install python3-setuptoolssudo apt-get install python3-pip

2021-07-21 17:36:36 470

原创 Linux查看CPU、内存、指令集的命令

1.查看CPU信息cat /proc/cpuinfo //这个命令可以查看很详细的CPU信息2.查看CPU指令集gcc -march=native -Q --help=target | grep march //这个命令只查看CPU指令集3.查看内存信息cat /proc/cpuinfo //这个命令可以查看很详细的内存信息...

2021-07-16 11:57:42 7075

原创 centos安装python3.7步骤及各种问题的解决方法

终于成功了! 从搭建centos7.6服务器到安装python3.7 ,折腾了我一个星期。看过无数的经验贴和博客,还看了很多Stack Overflow和Unix & Linux Stack Exchange上面的很多解决办法,特此总结出这篇博客,一方面以留后用,另一方面也是想给大家参考一下。1.安装相关依赖 1.1下载依赖的官方网站 https://pypi.org ,可以在这里面根据依赖包的名字搜索,下载需要的离线版本yum install gcc openssl-devel.

2021-07-15 21:47:35 1572 1

原创 什么是回调?以及为什么要使用它们!

回调是一个类或函数接受的可调用(见下文),用于根据该回调自定义当前逻辑。使用回调的原因之一是编写通用代码,该代码独立于被调用函数中的逻辑,并且可以与不同的回调一起使用。标准算法库的许多函数都<algorithm>使用回调。例如,该for_each算法对一系列迭代器中的每个项目应用一元回调:template<class InputIt, class UnaryFunction>UnaryFunction for_each(InputIt first, InputIt l

2021-07-06 16:29:43 351 1

原创 Linux的tar解压命令

Linux下常见的压缩包格式有5种:zip tar.gz tar.bz2 tar.xz tar.Z其中tar是种打包格式,gz和bz2等后缀才是指代压缩方式:gzip和bzip2filename.zip的解压:unzip filename.zipfilename.tar.gz的解压:tar -zxvf filename.tar.gz其中zxvf含义分别如下z:   gzip          压缩格式x:   ext...

2021-07-06 11:15:41 6563

原创 NoExtraConfDetected: No .ycm_extra_conf.py file detected问题

用的vimplus是这位巨佬的https://github.com/chxuan/vimplus.git具体的使用方法见博客:https://www.cnblogs.com/highway-9/p/5984285.html出现 NoExtraConfDetected: No .ycm_extra_conf.py file detected 问题是因为缺少该文件,导致无法补全。请在.vimrc 配置let g:ycm_global_ycm_extra_conf = '' 其中引号部分需要手动

2021-06-29 19:21:07 1128 3

原创 用一个vector删除另一个vector中的元素

比如说有两个vector<int>col1和col2col1={2,3,6,9,4,8,11};col2={11,3}经过操作后col1={2,6,9,4,8};for(autoit=col2.begin();it!=col2.end();++it){col1.erase(std::remove(col1.begin(),col1.end(),*it),col1.end());}...

2021-06-07 15:21:56 1552

原创 C++集合 STL集合 set集和--交集、并集、差集、对称差

STL库中有丰富的集合运算方法,我们可以使用它们快速完成交集、并集、差集、对称差集的运算。(转载请指明出于breaksoftware的csdn博客)交集(intersection) 交集是集合运算中经常会用到的计算,其表达是两个集合共有的部分(图中红色区域) STL中有set_intersection方法可以实现该功能。它是C++17开始支持的方法,声明于<algorithm>中。其中一种形式是 template< class Executi...

2021-06-04 17:09:47 6159 3

原创 技术资料集合

C++documentation for GSimpleAsyncResult in the GIO library

2021-05-28 11:01:26 75

原创 找到数组中第二大的数

int FindSec( int *p, int len ) { assert( nullptr != p ); int maxv = p[ 0 ]; int secv = p[ 0 ]; for( int i = 1; i < len; ++i ) { if( maxv < p[ i ] ) { secv = maxv; maxv = p[ .

2021-03-07 22:54:10 278

原创 C语言打印1到1000之间所有素数

void PrintfPrime() { //1不是素数 //2是最小非奇数素数 //直接从3开始 printf( "2\n" ); bool b = false; for( int i = 3; i <= 1000; ++i ) { b = true; for( int j = 2; j <= i / 2; ++j ) { .

2021-03-07 22:51:21 4249

原创 C语言删除链表中值为value的所有元素

void DeleteFromList( Node *pHead, int Value ) { Node *pPrev = pHead; Node *pNext = pHead->mpNext; while( nullptr != pNext ) { if( pNext->mData != Value ) { pPrev = pNext; pNext.

2021-03-07 22:49:24 363

原创 C语言将字符串中所有字母转换为大写

char* MyUpper( char *pDest ) { assert( nullptr != pDest ); //assert()是断言函数,判断是否是空串 for( char *i = pDest; *i != '\0'; ++i ) { if( *i < 'a' || *i > 'z' ) { continue; .

2021-03-07 22:47:36 2701

原创 C语言实现在链表某个位置插入元素

void InsertFromList( Node *pHead, int Index, int Value ) { Node *pIter = pHead; for( int i = 0; i < Index && nullptr != pIter; ++i, pIter = pIter->mpNext ); assert( nullptr != pIter ); Node *pNew = new Node; ..

2021-03-07 22:44:11 2139

原创 C语言判断日期是本年的第几天

int GetDay( int Year, int Month, int Day ) { int MonthDays[ 13 ] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; if( ( Year % 4 == 0 && Year % 100 != 0 ) || ( Year % 400 == 0 ) ) { ++MonthDays[ 2 .

2021-03-07 22:41:52 508

原创 C语言实现链表逆序

Node* InvertedFromList( Node *pHead ) { //A->B->C Node *pPrev = pHead; //A Node *pNext = pHead->mpNext; //B Node *pNextNext = nullptr; //C while( nullptr != pNext ) { ...

2021-03-07 22:38:35 266

TaskQueue.cc

TaskQueue.cc

2021-05-23

Java开发小游戏雷霆战机

在老师的带领下,用java做的一个小项目,编写了一个雷霆战机的小游戏。

2019-01-03

C语言指针基础

C语言中的指针其实并没有那么可怕,我上传了一份C语言指针基础课件。欢迎大家下载。

2018-12-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除