自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (2)
  • 收藏
  • 关注

原创 深入理解c++11读书笔记

深入理解c++11读书笔记第二章:保持稳定性和兼容性1.1__func__预定义符__func__预定义标识符,其基本功能:返回所在函数的名字#include<string>#include<iostream>//__func__ 预定义标识符对于轻量级的调试代码具有十分重要的作用const char* hello(){ return __func__;}const char* world(){ return __func__;}int main

2022-12-09 13:59:38 164

原创 modern-cpp-tutorial 读书笔记

c++11 17语法

2022-12-09 13:59:09 195

原创 shell基础

shell 基础

2022-12-09 13:58:17 148 1

原创 Qt入门学习

重载问题解决:因为重载 无法判断函数地址,具有二义性,而函数指针可以锁定利用函数指针#找到 void void Teacher::hungry(Qstring)// 找到 void void Teacher::hungry()lamda表达式在连接上的使用int m = 10;QDebug

2022-11-30 18:52:56 1388

原创 编写docker

上面是构建镜像需要用到的指令,其他volume、EXPOSE等一般不适用,而是在容器构建时再使用。

2022-11-24 21:20:14 457

原创 12章 高性能I/O框架库Libevent

事件驱动(event-driven),高性能;轻量级,专注于网络,不如ACE那么臃肿庞大;源代码相当精炼、易读;跨平台,支持Windows、Linux、*BSD和Mac Os;支持多种I/O多路复用技术, epoll、poll、dev/poll、select和kqueue等;支持I/O,定时器和信号等事件;注册事件优先级;Libevent已经被广泛的应用,作为底层的网络库;比如memcached、Vomit、Nylon、Netchat等等。

2022-10-18 11:06:16 78

原创 11章 定时器

实现一个可用的时间轮定时器

2022-10-05 17:43:59 160

原创 第十章信号

信号

2022-10-04 18:06:48 99

原创 C语言常用函数

因为memcpy函数不能将一个数组的中的数据拷贝到自身(也就是目标数据是自己,源数据也是自己,只不过是一个数组里面不同的位置的数据拷贝到另外一个位置上),如果像这样拷贝就会出现重叠拷贝,会导致结果不是我们预期的结果。:test字符串在定义时未初始化,test字符串在定义时,拿到一片内存,此时这片内存里面可能储存有值,导致使用strlen计算test字符串时找不到字符串结束标志 ’\0‘,而会在test申请的那片内存后面一直找下去,找到 ’\0‘ 后输出,计算的结果,此时输出的结果肯定错误的结果。

2022-10-04 17:49:03 913

原创 第九章 I/O复用

第九章 I/O复用

2022-10-03 17:46:31 92

原创 第八章 高性能服务器框架

高性能服务器框架笔记

2022-10-03 17:05:10 636

原创 第7章 Linux服务器程序规范

Linux高性能服务器编程笔记

2022-10-03 09:37:39 111

原创 CMake入门05-设置编译方式

设置编译方式什么是编译标志(或者 叫编译选项):可执行文件的生成离不开编译和链接,那么如何编译,比如编译时使用C++的哪一个标准?这些编译设置都在CMAKE_CXX_FLAGS变量中。(C语言编译选项是CMAKE_C_FLAGS)一 文件树├── CMakeLists.txt├── main.cpp1.1 main.cpp#include <iostream>int main(int argc, char *argv[]){ std::cout << "H

2022-04-05 21:18:29 1306

原创 CMake入门04-设置构建类型

设置构建类型1 文件树├── CMakeLists.txt├── main.cpp1.1 main.cpp#include <iostream>int main(int argc, char *argv[]){ std::cout << "Hello Build Type!" << std::endl; return 0;}1.2 CMakeLists.txtcmake_minimum_required(VERSION 3.5)#

2022-04-05 21:04:38 630

原创 CMake入门03-动态库编译

CMake入门之动态库编译文件树├── CMakeLists.txt├── include│ └── shared│ └── Hello.h└── src ├── Hello.cpp └── main.cpp1.1 Hello.h/*声明了Hello类,Hello的方法是print(),*/#ifndef __HELLO_H__#define __HELLO_H__class Hello{public: void print();};

2022-04-05 20:53:33 504

原创 CMake入门02-CMake中的静态库

CMake中的静态库静态库文件树├── CMakeLists.txt├── include│ └── static│ └── Hello.h└── src ├── Hello.cpp └── main.cpp1.1 Hello.h/*声明了Hello类,Hello的方法是print(),*/#ifndef __HELLO_H__#define __HELLO_H__class Hello{public: void print();}

2022-04-05 20:36:27 3724

原创 CMake入门01-编译一个hello_cmake

编译一个hello_cmake文件树├── CMakeLists.txt├── main.cppmain.cpp#include <iostream>int main(int argc, char *argv[]){ std::cout << "Hello CMake!" << std::endl; return 0;}CMakeLists.txtcmake_minimum_required(VERSION 3.5) #设置CMak

2022-04-05 20:02:07 168

原创 十大排序之桶排序

桶排序将值为i的元素放入i号桶,最后依次把桶里的元素倒出来。算法思想设置一个定量的数组当作空桶子。寻访序列,并且把项目一个一个放到对应的桶子去。对每个不是空的桶子进行排序。从不是空的桶子里把项目再放回原来的序列中。一句话总结:划分多个范围相同的区间,每个子区间自排序,最后合并。桶排序需要尽量保证元素分散均匀,否则当所有数据集中在同一个桶中时,桶排序失效。#桶排序算法,array 为待排序序列#Python:def bucketSort(array): bucket = [

2022-02-26 13:27:31 112

原创 十大排序之堆排序

堆排序视频讲解堆排序讲解预备知识堆排序堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。首先简单了解下堆结构。堆堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。如下图:同时,我们对堆中的结点按层进行编号,将这种逻辑结构映射到数组中就是下面这个样子该数组从逻辑上讲就是一个堆结构,我们用简单的公式来描述

2022-02-26 11:33:50 191

原创 十大排序之快速排序

快速排序算法思想选取一个数为基准将比基准小的数交换到前面,比基准大的数交换到后面对左右区间重复第二步,直到各区间只有一个数我们从数组中选择一个元素,我们把这个元素称之为中轴元素吧,然后把数组中所有小于中轴元素的元素放在其左边,所有大于或等于中轴元素的元素放在其右边,显然,此时中轴元素所处的位置的是有序的。也就是说,我们无需再移动中轴元素的位置。从中轴元素那里开始把大的数组切割成两个小的数组(两个数组都不包含中轴元素),接着我们通过递归的方式,让中轴元素左边的数组和右边的数组也重复同样的

2022-02-26 10:29:30 107

原创 git多人开发

git开发操作1 master分支管理者准备工作:将ssh key 加入账户库git config git config --global user.email "you@example.com"git config --global user.name "Your Name"git add . 将文件加入暂存区git commit -m"message" 提交到本地工作区git remote -v 查看远程库源git remote add or

2021-11-26 10:47:40 50

原创 istio内安装Prometheus,Grafana等插件

istio内安装Prometheus,Grafana等插件部署istio有多种模式,即便以demo模式部署仍然发现无法成功部署部分组件$ kubectl get pods -n istio-systemNAME READY STATUS RESTARTS AGEistio-egressgateway-74d887f9bf-h2t8q 1/1 Running 0 55mistio-

2021-09-08 21:54:32 151

原创 istio1.11.2版本安装

istio1.11.2版本安装使用 Helm 安装(istio1.7后重新启用helm)阅读大约需要 3 分钟 页面测试请跟随本指南一起,使用 Helm 安装、配置、并深入评估 Istio 网格系统。 本指南用到的 Helm chart、以及使用 Istioctl、Operator 安装 Istio 时用到的 chart,它们都是相同的底层 chart。此特性目前处于 alpha 阶段。先决条件下载 Istio 发行版.执行必要的平台安装.检查 Pod 和服务的要求.安

2021-09-08 21:42:01 586

原创 通过docker 创建mysql

通过docker 创建mysql拉取mysql镜像源docker pull mysql创建mysql容器–restart=always 设置docker重启时容器也重启-p 33066:3306 指定容器的3306端口映射到宿主机的33066端口e MYSQL_ROOT_PASSWORD=123456 指定root账户的密码 e=envdocker run -itd --name mysql --restart=always -p 3306:3306 -e MYSQL_ROOT_PASSWO

2021-06-27 13:52:07 209

原创 2021-06-25

在windows powershell(管理员)中运行mysqld install报错:在初始数据库时输入mysqld --initialize --console 报错mysqld : 无法将“mysqld”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。所在位置 行:1 字符: 1mysqld -install -console + CategoryInfo : ObjectNotFound:

2021-06-25 13:10:07 140

原创 Redis初级

redis初级笔记根据狂神说Java的视频以及redis中文官网文档所做的笔记 --yuhang.tang默认16个数据库(0-15)redis-cli #进入redis127.0.0.1:6379> select 3 #选择3号数据库OK127.0.0.1:6379[3]> dbsize #数据库当前大小 (integer) 0127.0.0.1:6379[3]> keys * #查看所有ke

2021-05-27 17:08:33 97

原创 多线程c++11详解

多线程c++11详解介绍c++11引入五个头文件来支持多线程编程<condition_variable><atomic>:该头文主要声明了两个类, std::atomic 和 std::atomic_flag,另外还声明了一套 C 风格的原子类型和与 C 兼容的原子操作的函数。<thread>:该头文件主要声明了 std::thread 类,另外 std::this_thread 命名空间也在该头文件中。<mutex&

2021-05-22 17:05:11 570

原创 python

python初级基于Python编程从入门到实践conda#### conda查看conda虚拟 conda env list \# 创建一个名为python34的环境,指定Python版本是3.4conda create --name python34 python=3.4\# 安装好后,使用activate激活某个环境activate python34 **# for Windows**source activate python34 **\# for Lin

2021-05-18 20:57:31 66

原创 Docker初级

Docker初级service docker restartsystemctl status docker 查看docker服务状态docker daemon 守护进程docker不需要硬件虚拟化,所以比虚拟机快的多[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B72EgBsw-1620820108338)(C:\Users\sd\AppData\Roaming\Typora\typora-user-images\image-202104282206

2021-05-12 19:54:53 102

原创 c++

指针1函数声明与定义:函数声明可以很多次,但是定义只能一次。函数的声明int max(int a,int b)函数的定义int max(int a,int b){ return a>b?a:b; }指针就是一个地址定义指针int *p; //p为指针p=&a; //与a建立关系*p; //解引用指针在32位(x86)下占4个字节空间 64位下占8个字节2空指针和野指针:空指针:指针变量指向内存中编号为0的空间用途:初始化指针变量

2021-05-12 19:48:15 178

原创 shell初级

shell初级unsetunset命令从当前shell中删除函数或变量删除变量时,使用-v选项(没有任何选项的情况下,默认此选项),删除函数时,使用-f选项#!bin/bashvar=123echo $var #123unset var #nullhello() #定义函数{ echo "hello world!"}unset -f hello #删除函数常用环境变量名变量名描述HOME用户专属目录PATH外部命令的搜索路径

2021-05-12 19:44:55 171 2

转载 2021-05-06

REDIS入门笔记https://blog.csdn.net/qq_41918166/article/details/109426266https://blog.csdn.net/qq_41918166/article/details/109426266如何改变文本的样式加粗文本 加粗文本标记文本删除文本引用文本H2O is是液体。210 运算结果是 1024.插入链接与图片链接: link.图片: 带尺寸的图片: 居中的图片: 居中并且带尺寸的图片: 当然,我们为了让用

2021-05-06 10:50:18 57

原创 /etc/sudoer文件权限详解

这里写自定义目录标题sudoer文件执行过程sudoer文件所遇到的问题sudoer文件详情如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入sudoer文件执行过程将当前用户切换到超级用户下,或切换到指定的用户下,然后以超级用户或其指定切换到的用户身份执行命令,执行完成后,直接退回到当前用户。工作

2020-10-16 17:31:40 1408

canal-master.zip

适合数据库与canal主从同步,介绍了canal部署

2021-07-12

基于Python的嵌入式实验指导书.pdf

适合嵌入式学习者对于树莓派的初步掌握

2021-05-28

空空如也

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

TA关注的人

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