- 博客(44)
- 收藏
- 关注
原创 运维面试题
1、nginx为什么这么快?2、swap了解吗?3、网卡是全双工还是半双工4、防火墙是工作在几层的?5、保证数据库一致性的方法6、nginx4层和7层的实现方法7、kafka实现原理,为什么这么快8、解释下kafka的topic和分区9、redis高可用方案及切换方式10、keepalived实现原理及协议...
2020-07-28 00:13:19
125
原创 工作中常用到Shell命令合集及使用技巧
1、控制台使用技巧首先,我们来学习控制台的使用技巧,学习掌握控制台的使用技巧后可以帮助我们熟练快速地操作控制台,提高工作效率;还可以通过快捷键方式避免大量的命令输入,减少出错产生的概率。那么都有哪些快捷键供我们使用呢,基于我的运维工作经验给你汇总如下:操作快捷键Ctrl + r:可以快速查找历史命令;Ctrl + l:可以清理控制台屏幕;Ctrl + a \ Ctrl + e:移动光标到命令行首\行尾;Ctrl + w \ Ctrl + k:删除光标之前\之后的内容。VIM文件编辑快捷键快
2020-07-18 16:09:14
395
原创 K8S技术第一篇
K8S架构介绍这几天参加了k8s官网培训,在这总结一下学习到的知识给大家分享,后面会陆续更新上来,如果有对k8s感兴趣的,或从事k8s行业的,可以多交流,谢谢1、k8s是什么?kubernetes是一个开源,以集群方式部署调度容器应用,弹性伸缩以及运维容器集群的系统。kubernetes1.0版本在2015年12月21日正式发布,2015年7月google联合Linux基金会(Linux Foundation)创办了CNCF基金会(Cloud Native Foundation)并将kubernet
2020-06-20 23:14:38
386
原创 K8S---apiVersion对照表
k8s更新迭代比较快,apiVersion也在不断变化中,每个版本的对应的apiVersion略有不同,推荐大家去看官方文档:https://kubernetes.io/docs/reference/。对照表如下:Kind apiVersion CertificateSigningRequest certificates.k8s.io/v1beta1 ClusterRo...
2020-03-15 10:10:58
2127
原创 linux磁盘查看命令
df:列出文件系统的整体磁盘使用量; 选项与参数:-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;-k :以 KBytes 的容量显示各文件系统;-m :以 MBytes 的容量显示各文件系统;-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;-H :以 M=1000K 取代 M=1024K 的进位方式;-T ...
2019-05-27 23:37:29
270
原创 自动化运维技术Ansible
Ansible部署支持滚动式部署和金丝雀部署常见流水线部署工具有ThoughtWorks Go、Atlassian 、Bamboo、Jenkins条1、配置管理 Ansible CFEngine Chef Puppet Salt Serverspec Test kitchen 2、服务即时开通 Ansible 3、应用部署 An...
2019-04-12 11:44:42
168
原创 对运维的理解
什么是运维?什么是游戏运维?目录什么是运维?什么是游戏运维?运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常,在他运转的过程中,对他进行维护,他集合了网络、系统、数据库、开发、安全、监控于一身的技术运维又包括很多种。运维分类:有DBA运维、网站运维、虚拟化运维、监控运维、游戏运维等等。1、游戏运维分为开发运维、应用运维(业务运维)和系统运维 ...
2019-04-12 10:24:49
1384
原创 SRE Google运维解密——第二章Goolgle的生成环境介绍
SRE Google运维解密Goolgle的生成环境介绍1、硬件:物理服务器和软件服务器, 物理服务器和已运行任何类型的软件服务器, 物理服务器对资源管理采用集群管理系统分配资源,成为Brog。 每个物理服务器互相进行网络通信,采用虚拟网络交换机(Jupiter)这个交换机有几万个虚拟端口,Jupiter可以提供1.3Pb/s的交叉宽带。G...
2019-04-12 10:00:08
1170
原创 SpringMVC+Mybatis企业应用实战(1)
1、Mybatis的优点: (1)Mybatis提供了半自动化的ORM机制,对于业务逻辑实现人员而言,Hibernate会自动生产sql语句,但Mybatis则不会为程序员在运行期间自动生产Sql语句。具体SQL需要程序员编写,然后通过映射配置文件,将Sql所需的参数以及返回结果字段映射到指定的POJO中。 (2)Mybatis几乎消除所有的JDBC代码和参数的手工...
2018-12-11 16:53:14
689
1
原创 数据结构-c++模板的线性表链式存储
测试框架#include<iostream> #include"LinkList_cpp.cpp"using namespace std;struct Teacher{ char name[64]; int age;};int main(){ Teacher t1, t2, t3, t4, t5, tmp; t1.age = 21; t2.age = 22;...
2018-06-09 09:56:07
238
2
原创 排序算法—归并排序
#include<stdlib.h> #include<stdio.h> using namespace std; void Merge(int* src,int * des,int low,int mid,int hight){ int i = low; int j = mid + 1; int k = low; while (i<...
2018-06-08 21:50:23
128
原创 排序算法-快速排序
#include<stdlib.h> #include<stdio.h> using namespace std;void swap(int* arry,int low,int high){ int tmp = arry[low]; arry[low] = arry[high]; arry[high] = tmp;}int partiti...
2018-06-08 21:00:39
111
原创 排序算法-希尔排序
#include<stdlib.h> #include<stdio.h> using namespace std;void Shell_Sort(int* arry, int count){ int i = 0; int j = 0; int k = -1; int tmp = -1; int gap = count; do { gap =...
2018-06-08 19:53:19
174
原创 排序算法-冒泡排序
#include<stdlib.h>#include<stdio.h>using namespace std;void swap(int* a,int* b){ int tmp = *a; *a = *b; *b = tmp;}void Bubble_Sort(int* arry, int count)//O(n*n){ int i = 0; in...
2018-06-08 16:40:17
123
原创 排序算法-插入排序
#include<stdlib.h>#include<stdio.h>using namespace std;void Insert_sort(int* arry, int count){ int i = 0; int j = 0; int tmp=0; for ( i = 1; i < count; i++) { tmp = arry[i]...
2018-06-08 15:27:52
85
原创 排序算法-选择排序
#include<stdio.h>#include<stdlib.h>#include<iostream>using namespace std;void slect_sort(int *ary,int n){ int i=0; int j = 0; int min = 0; for ( i = 0; i < n; i++) { ...
2018-06-08 12:38:08
112
原创 数据结构#号创建树法
// 井创建二叉树.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include<stdlib.h>#include<stdio.h>using namespace std;typedef struct BiTNode{ int data; BiTNode *lchild, *rchild;};typedef...
2018-06-08 09:36:51
592
原创 c++模板库-线性表的顺序存储
测试框架:// c++模板库-顺序存储.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"//#include"SList.h"#include"SList.cpp"#include<iostream>using namespace std;struct Teacher{ char name[64]; int age;};in...
2018-06-07 15:24:50
264
原创 树的非递归遍历-中序
算法思想: 步骤一: (1)、如果结点有左子树,该节点入栈 (2)、如果该节点没有左子树,访问该节点步骤二: (1)如果结点有右子树,重复步骤一 (2)如果结点没有右子树(节点访问结束),根据栈顶指示回退,访问栈顶元素并访问右子树重复步骤一, (3)如果栈为空,遍历结束#include<stdlib.h>#include<stdio.h...
2018-06-06 10:48:50
207
原创 树的应用-树的叶子结点数、树的深度、树的拷贝
// 树的遍历.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include<stdlib.h>//二叉链表示法 typedef struct BiTNode{ int data; BiTNode *lchild, *rchild;};typedef struct BiTNode* Bitree;//先序遍历void P...
2018-06-06 10:17:04
226
原创 树的遍历
// 树的遍历.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include<stdlib.h>//二叉链表示法 typedef struct BiTNode{ int data; BiTNode *lchild, *rchild;};typedef struct BiTNode* Bitree;//先序遍历void P...
2018-06-05 15:51:15
117
原创 笔试常见试题
1、c++类的构造和析构? 构造函数: 1、定义与类名相同的成员函数叫构造函数 2、构造函数在定义时可以有参数 3、没有任何返回类型的声明 析构函数:1、清理对象的函数,没有参数也没有任何返回类型的声明 2、在对象销毁时自动调用先创建的对象后析构,类...
2018-06-05 15:31:19
109
原创 树的表示法
二叉链法三叉链法双清链表示法#include<iostream>#include<string.h>//二叉链表示法typedef struct BiTNode{ int data; BiTNode *lchild, *rchild;};typedef struct BiTNode* Bitree;//三叉链表示法typedef struct Tri...
2018-06-04 16:50:51
248
原创 数据结构-队列的链式存储(10)
测试框架#include<stdlib.h>#include<string.h>#include<iostream>#include"LinkQueue.h"void main(){ //LinkQueue* Queue_Create(); //void Queue_Destroy(LinkQueue* queue); //void Queue...
2018-06-04 14:06:32
120
原创 数据结构-队列的顺序存储(9)
测试框架#include<string.h>#include<iostream>#include"SeqQueue.h"using namespace std;void main(){ /*SeqQueue* Queue_Creat(int capacity); void Queue_Destory(SeqQueue* queue); void Queue_...
2018-06-01 22:29:53
140
原创 数据结构-栈的应用 后缀计算
算法思路;遍历后缀表达式中的数字和符号对数字:进栈对于符号: 从栈中弹出右操作数 从栈中弹出左操作数 根据符号进行运算 将结果压入栈中遍历结束: 栈中唯一数字为计算结果。// 栈的应用后缀表达式计算.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#inclu...
2018-05-30 21:56:43
116
原创 数据结构-栈的应用中缀转后缀(8)
算法思路:遍历中缀表达式中的数字和符号对于数字: 直接输出对于符号: 左括号: 进栈 运算符号:与栈顶符号进行优先级比较 若栈顶符号优先级高,此符号入栈 若栈顶符号优先级低,则将栈顶符号出栈并输出,之后此符号进栈 右括号:将栈顶符号弹出并输出,直到匹配左括号遍历结束...
2018-05-30 21:20:50
164
原创 数据结构-栈的应用就近匹配(7)
算法思路当需要检测成对出现,但不相邻的事物时,可以使用栈“后进先出”的特性,几乎所有的编译器都具有检测括号是否匹配的能力。从第一个字符开始扫描 当遇到普通字符时忽略 当遇到左符号时压入栈中 当遇到右符号时从栈中弹出栈顶符号并进行匹配 匹配成功:继续读入下一个字符 匹配失败: 立即停止报错。结束:成功:所有字符扫描完毕且栈为空失败:匹配失败...
2018-05-30 20:28:11
151
原创 数据结构-栈的链式存储(6)
测试框架#include"LinkStack.h" #include<stdio.h> #include<stdlib.h> #include<string.h> void main(){ int i = 0; int a[10]; LinkStack* stack = NULL; stack = Stack...
2018-05-30 20:08:41
140
原创 数据结构-栈的顺序存储(5)
测试框架#include"Stack.h" #include<stdio.h> #include<stdlib.h> #include<string.h> #include"SeqList.h"///*创建列表*///SeqStack * List_Create(int capacity);///*释放列表*///void ...
2018-05-30 10:36:38
146
原创 数据结构-双向链表4
测试框架#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<string.h> #include"DlinkList.h" using namespace std;struct Teacher{ DlinkListNode node...
2018-05-29 20:26:08
109
原创 数据结构-循环链表3
测试框架:#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<string.h> #include"CircleList.h" using namespace std;struct Teacher{ CircleListNode n...
2018-05-29 15:38:54
93
原创 数据结构 线性表中,顺序存储和链式存储的优缺点
简单对顺序存储和链式存储结构做对比: 存储分配方式; 顺序存储用一段连续的存储单元一次存储线性表的数据元素。 链式存储采用链式存储结构,用一组任意的存储单元存放线性表的元素。时间复杂度衡量; 查找元素: 顺序存储结构为0(1) ...
2018-05-08 10:33:17
2568
原创 数据结构——线性表 链式存储(2)
点击打开链接此处是线性表的顺序存储 代码案例,但是顺序存储插入和删除操作需要移动大量元素,当线性表长度较大时难以确定。故选择用链式存储,代码测试如下所示:测试框架:#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>#include"lin...
2018-05-07 23:14:02
115
原创 数据结构——线性表 顺序存储(1)
测试框架#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>#include"SeqList.h"using namespace std;struct Teacher{ int age; char name[64]; };...
2018-05-07 21:38:19
187
原创 图像直方图
直方图是一种数据分布情况的图形表示,是一种二位统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。在直方图中,横坐标的左侧为纯黑、较暗的区域,而右侧为较量、纯白的区域。因此一张图片的图像直方图中的数据多集中于左侧和中间部分,而整体明亮、只有少量阴影的图像则相反。计算机视觉领域长借助图像直方图来实现图像的二值化。直方图的意义如下:1、直方图是图像中像素强度分布的图形表达方式。2、它统计...
2018-04-01 15:35:06
331
原创 多边形区域填充算法一--递归种子填充
平面区域填充算法是计算机图形学领域的一个很重要的算法,区域填充即给出一个区域的边界(也可以是没有边界,只是给出指定颜色),要求将边界范围内的所有象素单元都修改成指定的颜色(也可能是图案填充)。区域填充中最常用的是多边形填色,本文中我们就讨论几种多边形区域填充算法。一、种子填充算法(Seed Filling) 如果要填充的区域是以图像元数据方式给出的,通常使用种子填充算法...
2018-03-24 11:06:48
5460
1
原创 Python Opencv中的gamma变换的使用
伽马变换就是用来图像增强,其提升了暗部细节,简单来说就是通过非线性变换,让图像从暴光强度的线性响应变得更接近人眼感受的响应,即将漂白(相机曝光)或过暗(曝光不足)的图片,进行矫正。伽马变换的基本形式如下: 大于1时,对图像的灰度分布直方图具有拉伸作用(使灰度向高灰度值延展),而小于1时,对图像的灰度分布直方图具有收缩作用(是使灰度向低灰度值方向靠拢)。#分道...
2018-03-20 10:10:51
7968
原创 ptyhon之matplotlib学习
matplotlib是python中最常用的可视工具之一,可以非常方便地创建海量类型的2D图表和一些基本的3D图表。matplotlib能够创建多数类型的图表,如条形图、散点图、饼图、堆叠图,3D图和地图图表一、2D图表 最基本的模块是pyplot (1)、基本图例、标题和标签import matplotlib as mplimport matplotlib.pyplot a...
2018-03-18 16:59:27
351
原创 Python之Random.randint()与numpy.random.randint()的区别
import numpyimport randomn=numpy.random.randint(0,3,100000)#打印n的值print('n')#[1 2 2 ..., 1 0 2]m=random.randint(0,3)#打印m的值print('m')# 2他们之间的区别:numpy.random.randint(0,3,100000)会在0、1、2中随机返回10...
2018-03-18 09:35:52
24425
12
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人