自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 C++复盘

复盘前先总结下学习编程该注意的地方:1.多总结,多列思维导图2.去理解,而不是死记硬背3.多写代码,多动手4.重基础,基础知识很重要

2021-05-08 19:30:12 167

原创 windows核心编程总结

windows核心编程总结第一章 错误处理1.常见windows函数返回值数据类型VOID:不可能失败BOOL:失败返回0,否则返回一个非0值HANDLE:失败返回NULL,否则HANDLE标识一个可操作的对象POVID:失败返回NULL,否则将标识一个数据块的内存地址2.定义自己的错误代码。第二章 字符和字符串处理1.字符编码。本地化的核心问题是处理不同字符集的问题。我们一直将文本字符串编码成一组以0结尾的单字节字符。2.unicode和ANSI字符串第三章 内核对象1.何为内存对

2020-12-01 10:52:22 1155

原创 切分字符串

切分代码#!/usr/bin/env zshgDiskFileName=/opt/RaptorDeamon/diskInfo.infoList=(sda/data0 sdbb/data1 sdccc/data2 sddddd/data3 sdeee/data4 sdfffff/data4)function getDiskSN() { return `udevadm info -n ${1} | grep -i "ID_SERIAL_SHORT=" | awk -F '=' '{print

2020-12-01 10:50:57 203

原创 项目中用到的命令记录

项目中用到的命令记录Lsblk 用于列出所有可用的设备的信息ll 查看一个目录下的文件和子目录的详细信息df –h 查看磁盘使用情况,删除无用部分rm-rf 删除当前目录下的所有文件,且不能恢复mv-t 移动到目标目录选项rpm安装命令:rpm –ivhiftop –I em1ps –ef | grep emictrl + r查看之前的操作vi中全部替换:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 skyrpm -

2020-12-01 10:50:19 162

原创 常见算法总结

常见算法总结1.贪心算法将一个大问题分成若干个子问题,求子问题最优解,然后把子问题的解合并成原来问题的解。例题:小明手中有 1,5,10,50,100 五种面额的纸币,每种纸币对应张数分别为 5,2,2,3,5 张。若小明需要支付 456 元,则需要多少张纸币?const int N = 5; int Count[N] = {5,2,2,3,5};//每一张纸币的数量 int Value[N] = {1,5,10,50,100};int solve(int money) { int

2020-11-30 15:43:28 327

原创 Effective C++ 读书笔记-1让自己习惯c++

Effective C++ 读书笔记-1让自己习惯c++1.视C++为一个语言联邦 开始,C++只是在C的基础上加上一些面向对象的特性,后来的 C++更加大胆,它多了异常、模板编程及STL等。 C++由C、面向对象C++、模板C++和STL四部分组合而成。2.尽量用const、inline、enum来替换#define 用编译器替换预处理器...

2020-09-15 23:13:38 124

原创 c++ data structure

1.引用作为函数参数#include <iostream>using namespace std;int main(){ int a = 10; int &b = a; cout<<a<<endl; cout<<b<<endl; cout<<&a<<endl; cout<<&b<<endl; return 0;}

2020-08-20 14:44:53 187

原创 博客知识汇总

https://www.jianshu.com/p/828a40ae4bddhttps://blog.csdn.net/gltangwq/article/details/103069611https://blog.csdn.net/enweitech/article/details/79379203https://blog.csdn.net/zhongbeida_xue/article/details/78679601https://www.linuxidc.com/Linux/2013-06/85

2020-08-06 16:23:01 106

原创 Fio常用参数总结

Fio参数filename=/dev/emcpowerb 支持文件系统或者裸设备,-filename=/dev/sda2或-filename=/dev/sdbdirect=1 测试过程绕过机器自带的buffer,使测试结果更真实rw=randwread 测试随机读的I/Orw=randwrite 测试随机写的I/Orw=randrw 测试随机混合写和读的I/Orw=read

2020-06-10 15:01:46 2551

原创 大话存储终极版阅读笔记

大话存储读书笔记一、存储技术的发展,计算机I/O1.存储发展存储即记录信息,伴随着人类活动出现的一门技术。存储的发展历史:竹简和纸张—选数管—穿孔卡—穿孔纸带—磁带—磁鼓存储器—硬盘—软盘—光盘—Flash芯片和卡式存储—硬盘阵列—大型网络化硬盘阵列2.计算机I/O什么是I/O,就是IN和OUT的意思。CPU需要从内存中提取数据来运算(IN),运算完再放回内存中去(OUT)。对于磁盘来说,IN是数据写入磁盘的过程,OUT是指数据从磁盘读出的过程。2.1 PCI总线PCI总线是目前台式机与服务

2020-06-10 14:29:16 707

原创 yum软件包学习记录

Yum学习笔记一、简介Yum是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。可以一次安装所有依赖的软件包,无须频繁的一次次下载、安装。二、常用命令及参数1.列举包文件列出资源库中所有可以安装或更新的rpm包yum list列出资源库中特定的可以安装或更新以及已经安装的rpm包yum list perl //列出名为perl 的包yum list pe...

2020-04-26 17:54:52 410

原创 YAML语言学习笔记

YAML学习笔记YAML是专门用来写配置文件的语言,是一种对人类设计友好的数据序列化语言,十分简洁和方便。一、 YAML的基本语法规则:① 大小写敏感;② 文件名以.yaml结尾;③ 使用缩进表示层级关系;④ 每个冒号后面一定要有一个空格;⑤ 缩进不允许使用Tab,只允许使用空格;⑥ 想要表示列表项,使用一个短横杠加一个空格;⑦ 缩进的空格数目不重要,相同层级的元素左侧要对齐;...

2020-04-26 17:53:39 186

原创 fio参数

Fio参数filename=/dev/emcpowerb 支持文件系统或者裸设备,-filename=/dev/sda2或-filename=/dev/sdbdirect=1 测试过程绕过机器自带的buffer,使测试结果更真实rw=randwread 测试随机读的I/Orw=randwrite 测试随机写的I...

2020-04-26 17:52:40 676 1

原创 平时遇到的c++数据机构和算法总结概括

1.找出数组中重复的数字bool duplicate(int numbers[], int length, int *duplication){if(numbers == nullptr || length <= 0)return false; for(int i = 0; i < length; +++i) { if(numbers[i] < 0 || n...

2020-03-07 18:47:20 131

原创 MySQL数据库知识点总结

MySQL数据库知识点总结一.SQL基础数据库:是一个以某种有组织的方式存储数据的集合(容器)。表:某种特定类型数据的结构化清单(文件)。主键:唯一标识表中每行的这个列SQL:结构化查询语言,一种专门用来与数据库通讯的语言。二.MySQL简介MySQL:是一个客户机-服务器DBMS三.使用MySQL显示表的信息;SHOW DATABASES;获取数据库内表的列表:SHOW TA...

2020-01-27 19:01:19 860

原创 Python3序列化

代码:#! /usr/bin/env python-- coding: utf-8 --import simple_pb2为 SimpleMessage 填充数据sims = simple_pb2.SimpleMessage()sims.lucky_number = 6对数据进行序列化data = sims.SerializeToString()对已经序列化的数据进行反序列化t...

2019-12-30 16:09:35 291

原创 linux下安装protobuf的python模块时报错的解决办法

linux下安装protobuf的python模块时报错的解决办法执行python setup.py build时报错:Traceback (most recent call last):File “setup.py”, line 7, in import pkg_resourcesImportError: No module named pkg_resources解决办法:安装pip...

2019-11-05 15:18:54 543

原创 Linux多线程服务端编程知识点总结

Linux多线程服务端编程知识点总结重点讲解多线程网络服务器的一种IO模型,即one loop per thread。以muduo网络库为例,讲解这种模型的编程方法及注意事项。muduo是一个基于非阻塞IO和事件驱动的现代C++网络库。第一部分 C++多线程系统编程线程安全的对象声名周期,...

2019-10-29 00:02:58 420

原创 软件测试

软件测试第一部分 数学背景测试概述测试的主要原因是对质量或可接受性做出判断,以及发现问题。基本定义,错误、缺陷、失效、事故、测试、测试用例标识测试用例,功能性测试和结构性测试第二部分 功能性测试边界值测试...

2019-10-29 00:01:52 79

原创 数据结构、算法与应用

数据结构、算法与应用C++回顾函数与参数(实参会把值赋给形参),异常,动态存储空间分配,自有数据类型(class)

2019-09-28 18:10:15 478 1

原创 C++ Primer知识点整理

C++ Primer知识点整理C++必须有一个main函数,return0 返回0表示程序执行完毕。定义函数必须指定4个元素:返回类型、函数名、圆括号内形参表和函数体。cin(读see-in)输入,cout(读see-out)输出,预处理命令会告诉编译器要做一些事情。endl称为操纵符,具有输出换行的效果。C++中通过定义类来定义自己的数据结构。第一部分 基本语言类型是所有程序的基础。C++...

2019-08-23 11:29:40 2001

原创 STL源码剖析读书笔记 第7章 仿函数

第7章 仿函数7…1 仿函数概观一种具有函数特质的对象7.2 可配接的关键扮演一种“策略”角色,能让STL算法更灵活的演出。7.2.1 unary_function用来呈现一元函数的参数型别和返回值型别。7.2.2 binary_function用来呈现二元函数的第一参数型别,第二参数型别以及返回值型别。7.3 算数类仿函数7.4 关系运算类的仿函数7.5 逻辑运算类仿函...

2019-08-16 22:25:48 98

原创 STL源码剖析读书笔记 第6章 算法

第6章 算法6.1 算法概观算法,解决问题的方法。质变算法,改变元素内容。拷贝(copy)、互换(swap),替换(replace)“非质变算法”,不改变元素的值。查找(find)、匹配(search)、计数(count)...

2019-08-15 12:25:21 135

原创 STL源码剖析 第5章 关联式容器

第5章 关联式容器STL关联式容器分为set(集合)和map(映射表)两大类,底层均是红黑树。关联式容器每个元素都有一个键值(key)和一个实值(value)。5.1 树的导览5.1.1 二叉搜索树以前讲过,二叉树是指“任何节点最多允许两个子节点”,二叉搜索树,任何节点的键值一定大于它左子树每个节点的键值,一定小于它右子树中每个节点的键值。5.1.2 平衡二叉搜索树“平衡”...

2019-08-15 11:53:09 126

原创 STL源码剖析读书笔记 第4章 序列式容器

第4章 序列式容器4.1 容器的概观与分类4.1.1 序列式容器元素都可序,但未排序。C++语4.2 vector4.2.1 vector概述vector的数据安排以及操作方式与array非常相似,唯一差别在空间的运用弹性。array是静态空间,一旦配置了就无法更改。要换一个大点的房子,可以,首先要配置一块新空间,然后将元素从旧地址一一搬到新地址,最后再把就空间释放给内存。ve...

2019-08-15 10:32:21 126

原创 深度探索C++对象模型读书笔记 第2章 构造函数语意学

第2章 构造函数语意学2.1 Default Constructor 的建构操作带有一个Virtual Base Class的class总结2.2 Copy Constructor的建构操作不要Bitwise Copy Semantics2.3 程序转化语意学每次foo被调用,都会传入xx的值2.4 成员们的初始化队伍...

2019-08-14 17:24:05 112

原创 STL源码剖析读书笔记 第3章 迭代器概念与traits编程技法

第3章 迭代器概念与traits编程技法3.1 迭代器设计思维 —STL关键所在3.2 迭代器是一种smart pointer迭代器是一种行为类似指针的对象3.4 Traits编程技法 - STL源码门钥迭代器所指的物件的型别,称为该迭代器的value type。所谓value type 是指迭代器所指对象的型别。 型别2:difference type ,用来表示两个迭代器之间...

2019-08-14 15:43:59 128

原创 STL源码剖析读书笔记 第2章 空间配置器

第2章 空间配置器在说第二章之前,先简单说下第一章的知识。STL包括6大组件:1.容器,vector,list,deque,set,map。用来存放数据。2.算法,sort,copy,search,erase等。3.迭代器,扮演者容器与算法的胶合剂。4.仿函数,行为类似函数,可作为算法的某种策略。5.配接器,用来修饰容器或仿函数或迭代器接口的东西。queue和stack6.配置器,...

2019-08-14 15:10:41 131

原创 深度探索C++对象模型读书笔记 第1章 关于对象

第1章 关于对象1.1 c++对象模式简单对象模型表格驱动对象模型C++对象模型对象模型如何影响程序1.2 关键词所带来的差异关键词的困扰策略性正确的struct关键字1.3 对象的差异C++程序模型直接支持三种(程序设计典范)1.程序模型2.抽象数据类型模型3.面向对象模型(通过class封装起来)C++以下方法支持多态1.经由一组隐含的转化操作2.经由...

2019-08-14 11:51:20 79

原创 算法图解读书笔记 第11章 接下来怎如何做

接下来如何做这部分只取自己感兴趣的部分进行记录11.1 树二叉树类似下面这样:对于每一个节点,左子节点都比它小,而右子节点都比它大。假设你查找MAGGIE。为此,你先检查根节点。MAGGIE排在DAVID后面,因此你往右边找。MAGGIE排在MANNING前面,因此你往左边找。终于找到,二叉查找树平均速度O(logn),最糟糕O(n),有序数组查找时最糟糕也有O(log...

2019-08-14 10:22:16 125

原创 算法图解读书笔记 第9章 动态规划

动态规划将大问题分解成小问题,并先着手解决这些小问题。9.1 背包问题9.1.1 简单算法尝试各种可能的组合,并找出价格最高的组合。9.1.2 动态规划先解决小背包的问题,再逐步解决原来的问题。9.2 背包问题先解决小问题,在逐步解决大问题9.3 最长公共子串9.3.1 绘制网络9.3.2 填充网络9.3.3 揭晓答案9.3.4 最长公共子序列9.3.5 最...

2019-08-14 09:57:47 156

原创 C++web服务器开发

C++web服务器开发1. 首先介绍一下这个项目;这个项目是通过C++11编写的web服务器,模型为Reactor+非阻塞I/O(epoll作为I/O多路复用实现方式)+线程池,支持get、head请求,支持HTTP长连接,并实现了优雅关闭连接。I/O多路复用是什么技术呢? I/O多路复用(multiplexing)的本质是通过一种机制(系统内核缓冲I/O数据),让单个进程可以监视多个文件描述...

2019-08-14 08:55:56 11791 4

原创 算法图解读书笔记 第8章 贪婪算法

第8章 贪婪算法8.1 教室调度问题思路:①选取结束时间最早的课,它就是这件教室上的第一节课。②选择必须第1节课结束后才开始的课,选择结束最早的为第二堂课。③重复贪婪算法很简单:每步都采用最优的做法。8.2 背包问题8.3 集合覆盖问题方法:①列出每个可能的广播台集合。②在这个集合中选择覆盖全美50个州的最小集合近似算法①选出这样一个广播台,即它覆盖了最多的为覆盖州。...

2019-08-13 11:40:15 121

原创 算法图解读书笔记 第7章 狄克斯特拉算法

狄克斯特拉算法继续讨论图,介绍加权图。为了能够找出加权图中前往X的最短路径,引出此算法。前一章使用的是广度优先搜索算法,找出的是最少的路径,但不一定是最快的路径,想要找出最快的路径需要狄克斯特拉算法。7.1 使用狄克斯特拉算法狄克斯特拉算法有4个步骤:① 找出在最短时间内到达的节点。② 更新该节点的邻居的开销③ 重复这个过程,直到对图中的每个节点都这样做了。④ 计算最短路径7.2...

2019-08-13 10:55:57 124

原创 UNP卷2读书笔记 第三部分 同步

同步第7章 互斥锁和条件变量7.1 概述为允许在线程和进程间共享是数据,同步是必须的。7.2 互斥锁:上锁和解锁互斥锁用于保护临界区,以保证任何时刻只有一个线程/进程在执行其中的代码。7.3 生产者-消费者问题又称为有界缓冲区问题隐式的同步: 生产者和消费者不知道内核在执行同步当共享内存区用作生产者和消费者的IPC形式时,必须执行某种类型显示的同步。线程间共享的全局变量命令...

2019-08-12 20:49:35 112

原创 UNP卷2读书笔记 第二部分 消息传递

第4章 管道和FIFO4.1 概述管道是最初的UNIX IPC形式。尽管对许多操作系统很有用,但因为它没有名字,从而智能由有亲缘关系的进程使用。4.2 一个简单的客户——服务器例子图中,客户从标准输入(stdin)读进一个路径名,并把它写入IPC通道。服务器从该IPC通道读出这个路径名,并尝试打开文件来读。如果服务器能打开该文件,它就读出其中的内容,并写入IPC通道,以作为对客户的响应;...

2019-08-12 15:44:37 125

原创 算法图解读书笔记 第6章 广度优先搜索

广度优先搜索本章介绍的是图,首先介绍什么是图,然后再介绍一种图算法----广度优先搜索。广度优先搜素能够让你找出两样东西间的最短距离,含义很多,比如:①编写国际象棋AI,计算最少多少步获胜②编写拼写检查器,计算最少编写多少个地方就可以将拼错的单词改为正确的单词。③根据你的人际关系网络找到最近的医生。6.1 图简介例如前往东直门,最短路径需要倒2次车(3步),这种问题成为最短路径问题。...

2019-08-12 11:36:43 144

原创 算法图解读书笔记 第5章 散列表

散列表散列表用途广泛,学习散列表的内部机制:实现、冲突、和散列函数假设你在杂货店上班,顾客买东西时你需要查找价格,如果商品名称没按字母排序你查找apple时间复杂度为O(n)(简单查找),如果按字母排序了,时间复杂度为O(logn)(二分查找),当然如果能找到一个背诵了所有商品的雇员就再好不过了,因为他能立即回答出商品的价格,时间复杂度为O(1),5.1 散列函数将输入映射到数字,条件是;...

2019-08-12 09:08:55 107

原创 算法图解读书笔记 第4章 快速排序

快速排序学习分而治之。学习快速排序,快速排序使用分而治之的策略。4.1 分而治之例子,一个农场主将土地分成方块。步骤:①找出基线条件,这种条件必须尽可能简单。②不断将问题分解,知道符合基线条件。首先找两个大方块,会余下一个小长条,将小长条再分成俩大方块,继续分,知道分到两个小方块为止。工作原理:①找出简单的基线条件②确定如何缩小问题的规模,使其符合基线条件编写涉及数组的 递归函数时,...

2019-08-08 10:46:41 127

原创 算法图解读书笔记 第3章 递归

递归递归是很多算法都使用的一种方法,学习如何将问题分为基线条件和递归条件。3.1 递归例子,盒子里面找钥匙(盒子里面还有盒子)方法一:①创建一个要查找的盒子堆②从盒子堆取出一个盒子,在里面找③如果找到的是盒子,就将其加入盒子堆中,以便以后再查找④如果找到钥匙,大功告成⑤回到第二步方法二:①检查盒子里的每样东西②如果是盒子就回到第一步③如果是钥匙就大功告成其实第一种方法使...

2019-08-08 09:36:08 155

空空如也

空空如也

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

TA关注的人

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