- 博客(189)
- 资源 (18)
- 收藏
- 关注
原创 七种排序算法(golang实现)
冒泡排序选择排序冒泡排序从左到右依次比较两个相邻元素,如果左边元素大于右边元素,就将两者交换;如果左边元素小于等于右边元素,不进行任何操作。Version1package mainimport "fmt"func main() { slice := []int{7, 5, 8, 4, 3, 2, 6, 9, 1} //执行次数 for i := 0; i < len(slice)-1; i++ { //比较次数 for j := 0; j < len(..
2021-08-02 07:26:34
632
原创 K8S 环境准备(kubeadm 方式)
目录:准备克隆模板单控制平面集群准备基础环境操作系统:Ubuntu 20.04容器运行时的引擎: Docker 19.03ceKubernetes:v1.19主机时间同步sudo systemctl start chronydsudo systemctl enable chronyd# 查看服务状态sudo systemctl status chronyd防火墙sudo ufw disable && sudo ufw status禁用S
2021-04-10 16:34:32
393
原创 Kubernetes 四组基本概念
目录:Pod/Pod控制器Name 和 NamespaceLabel 和 Label选择器Service 和 Ingress1. Pod/Pod控制器容器之所以会被称作容器,要实现六种资源隔离:PID:进程、线程Mount:相当于文件系统User:用户管理相关UTS:容器自身的hostnameNET: 网络相关IPC:容器自身的共享内存,信号量,进程间通信PodPod是K8S中能够被运行的最小逻辑单元(原子单元)。1个Pod中可以运行多个容器,它们共享UT.
2020-09-12 17:44:35
548
原创 AWS ec2 Instance Status Checks failed. 实例启动失败解决流程。
目录:问题出现解决过程问题出现当使用相同组件AMI(镜像)来创建不同架构的实例时, 例如使用C3.xlarge 类型做出镜像来创建 m5a.large 类型的实例时, 会出现如下图所示的check error。查看实例的system log会发现有如下的报错:原因基本是因为不同架构的实例(m5a.large是nitro架构),磁盘卷的名称是不同的。 例如 /dev/xvdf1 == > /dev/nvme0n1 ,所以要修改根分区的/etc/fstab,来使实例正常.
2020-09-01 23:27:34
2572
原创 Solar-Putty如何修改显示字体大小
进入Solar-Putty的设置界面。Window–>Appearance–>Font settings–>Change选择好需要的字体大小和字体,点击ok4.最重要的一步改好的配置保存到默认settings,选择session–>Default Settings旁的save。...
2020-05-15 16:03:14
2412
1
原创 Solar Putty如何修改命令提示符颜色PS1(ssh登录后执行脚本)
导入编写好了script.txt文件,分配给指定的会话。或者在session中,指定的会话中设置post-authenticate script。点击save,打开会话时,提示符的颜色已经修改为script中指定的颜色...
2020-04-27 15:54:14
854
原创 Postgre和拓展PostGIS 搭建和配置
目录:搭建过程安装PostGIS搭建过程安装PG[root@localhost ~]# yum install readline* -y[root@localhost ~]# wget https://ftp.postgresql.org/pub/source/v9.5.1/postgresql-9.5.1.tar.gz[root@localhost ~]# tar xv...
2020-02-26 17:18:51
809
原创 xymon监控搭建
groupadd xymonuseradd -g xymon -m xymonyum install gcc make -ywget http://fping.org/dist/fping-3.2.tar.gztar zxf fping-3.2.tar.gzcd fping-3.2./configuremake && make installcd ..yum...
2020-02-10 14:05:19
1530
1
原创 python面试准备练习题21-40
目录:21.字典和json的区别22.什么是可变、不可变类型23.存入字典里的数据有没有先后排序24.字典推导式25.描述下dict的item()方法与iteritems()的不同26.请反转字符串“aStr”27.请按list1中元素的age由大到小排序28.常用的字符串格式化哪几种29.简述字符串驻留机制30.下面代码的输出结果将是什么?31.写一个列表生成式,产生一个...
2019-12-06 20:15:51
1015
原创 ubuntu vnc_server安装脚本
#!/bin/bash# by jeff# install env and vncserversudo apt-get update && sudo apt-get upgrade -ysudo apt-get install ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-...
2019-12-06 19:44:05
405
原创 python面试准备练习题1-20
引用:https://www.cnblogs.com/xiaoyuanqujing/p/11729174.html索引:1.Python 和 Java、PHP、C、C#、C++等其他语言的对比2.简述解释型和编译型编程语言3.Python 解释器种类以及特点4.位和字节的关系5.b、B、KB、MB、GB 的关系6.请至少列举 5 个 PEP8 规范(越多越好)7.求结果:or...
2019-12-05 12:00:50
783
原创 Git lab部署
目录:Git lab介绍Git lab安装修改Git lab登录界面Git lab创建项目Git lab介绍Git lab是代码VCS的一个开源项目, 使用git作为代码管理工具,并在此基础上搭建起来的web服务,可通过web界面来访问公开的或者私人项目,它拥有与github类似的功能,能够浏览源代码,并且管理团队对于仓库的访问。它非常易于浏览提交过的版本并提供一个文件历史库...
2019-11-28 18:42:14
928
原创 Linux 性能优化
目录:可以被性能优化的点性能评估表Linux 内核优化可以被性能优化的点硬件层面CPU、内存、硬盘容量、硬盘I/O读写、网卡自身带宽容量等,通常对硬件层面因素的优化主要是考虑增加其配置软件层面Linux系统下各个应用程序:Nginx、Tomcat、MYSQL、Redis、程序代码、网站代码等,对其网站代码、软件的配置文件参数优化、优化软件架构、是否增加集群、分布式结构以扩...
2019-11-27 16:40:52
303
原创 Keepalived 结合 LVS
目录:lvs搭建keepalived 配置测试结果lvs搭建参考 LVS 负载均衡 的实战部分移除vipifdown eno16777736:1keepalived 配置安装yum install keepalived* -y修改配置文件[root@localhost ~]# cat /etc/keepalived/keepalived.conf...
2019-11-27 11:21:16
167
原创 LVS 负载均衡
目录:LVS介绍NAT模式工作原理DR模式工作原理LVS TUN 原理LVS 实战LVS介绍LVS(Linux Virtual Server),1998年5月国人开发,章文嵩博士对外开放,目前LVS得到互联网广泛的青睐和使用。LVS负载均衡工作原理:用户请求LVS负载均衡器-VIP地址,LVS服务器会根据转发的方式和转发的算法,将用户的请求发往后端集群池中,后端服务...
2019-11-26 16:49:04
208
原创 Keepalived 高可用
目录:Keepalived介绍Keepalived介绍web架构的高可用方案:基于SHELL脚本实现高可用基于Keepalived软件实现高可用(主流的高可用软件)基于Heartbeat软件实现高可用(最早期使用软件)Keepalived 是一个类似于工作在 layer3, 4 & 7 交换机制的软件,Keepalived 软件有两种功能,分别是监控检查VR...
2019-11-26 10:54:09
311
原创 Tomcat WEB服务
目录:Java 相关概念Tomcat 多实例搭建Nginx 负载均衡TomcatJava 相关概念Tomcat基于JAVA语言开发JAVA程序,WEB容器(服务器)JAVA主流开发语言,跟PHP、ASP、HTML类似网站设计语言JDKJDK是JAVA语言开发的SDK环境,包括:JAVA工具+JRE运行时环境JREJRE是JAVA运行时的环境,主要用于...
2019-11-25 15:30:05
480
原创 Nginx 配置文件详解及优化
目录:Nginx 服务的难点在于对配置文件的理解和优化,熟练掌握 Nginx 配置文件参数的含义可以更快的掌握 Nginx,如下为 Nginx.conf 配置文件常用参数详解:#定义 Nginx 运行的用户和用户组user www www;#启动进程,通常设置成和 cpu 的核数相等worker_processes 8;worker_cpu_affinity 000000...
2019-11-23 23:18:28
212
原创 Nginx 日志分析
目录:日志分析日志的常用需求分析Nginx 日志切割日志分析Nginx 默认日志路径/usr/local/nginx/logs/,其中包含访问日志 access.log 和错误 记 录 日 志 error.log。查看 nginx 访问日志 :cat /usr/local/nginx/logs/access.log | moreNginx 访问日志打印的格式可以自定义...
2019-11-22 16:01:07
3904
原创 Nginx rewrite规则
目录:rewrite概念rewrite示例rewrite概念Rewirte 规则也称为规则重写,主要功能是实现浏览器访问 HTTP URL 的跳转,其正则表达式是基于 Perl 语言。通常而言,几乎所有的 WEB 服务器均可以支持 URL 重写。Rewrite URL 规则重写的用途:对搜索引擎优化(Search Engine Optimization,SEO)友好,利于...
2019-11-22 10:48:44
193
原创 Nginx 企业网站架构模拟
目录:架构图Mysql主从架构图Mysql主从使用yum安装Lamp架构在192.168.197.11、192.168.197.12上[root@localhost ~]# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm[root@localhost ~]# rpm -ivh ...
2019-11-15 15:02:12
462
原创 Nginx location规则
目录:Location匹配方式Location匹配优先级示例Location匹配方式Nginx 由内核和模块组成,其中内核的设计非常微小和简洁,完成的工作也非常简单, 仅仅通过查找配置文件将客户端的请求映射到一个location block,而location 是Nginx配置中的一个指令,用于访问的 URL 匹配,而在这个 location 中所配置的每个指令将会启动不同的模...
2019-11-13 14:39:11
250
原创 Nginx 虚拟主机(同80端口,多域名)
目录:修改host文件修改nginx.conf虚拟主机配置目录发布目录验证修改host文件windows,host路径:C:\Windows\System32\drivers\etc192.168.197.10 www.test1.com192.168.197.10 www.test2.comlinux ,host路径:/etc/hosts修改nginx....
2019-11-13 12:12:36
364
1
原创 Nginx 版本升级
目录:初始环境nginx1.12nginx1.16编译原nginx目录备份,并替换验证初始环境现有nginx1.12版本,预升级为1.16并且添加ssl模块[root@localhost nginx-1.12.2]# /usr/local/nginx/sbin/nginx -Vnginx version: nginx/1.12.2built by gcc 4.8.5 ...
2019-11-13 11:23:50
331
原创 Go select(信道选择)、mutex(互斥锁)和异常处理
目录:select使用select随机选取MutexGo 异常处理select使用select 用于在多个发送/接收信道操作中进行选择func process1(ch chan string) { time.Sleep(10500 * time.Millisecond) ch <- "process successful"}func main() { c...
2019-11-12 17:12:24
408
原创 Go 缓冲信道
目录:缓冲信道声明使用for循环读写信道长度和容量WaitGroup缓冲信道声明当缓冲已满或者为空时,才会阻塞定义func main() { //声明缓冲信道a make初始化容量 a:=make(chan int,3) a<-1 a<-2 a<-3 //a<-4 fmt.Println(<-a) fmt.Println(...
2019-11-12 16:07:13
224
原创 Go 协程、信道
目录:Go 协程Go 信道Go 协程Go 协程可以看作是轻量级线程。与线程相比,创建一个Go协程的成本很小。因此在Go应用中,常常会看到有数以千计的Go协程并发地运行Go 协程相比于线程的优势相比于线程而言,Go 协程的成本低。堆栈大小只有若干kb,并且可以根据应用的需求进行增减。而线程必须制定堆栈的大小,其堆栈是固定不变的。Go协程会复用(Multiplex)数...
2019-11-12 15:35:40
228
原创 Go 接口(二)
目录:指针接收器与值接收器实现多个接口接口嵌套接口零值指针接收器与值接收器当用指针接收器来实现接口,需要注意。当方法赋值给接口类型时,需要传递地址给接口type Describer interface { Describe()}type Person struct { name string age int}func (p Person) Describ...
2019-11-12 12:02:15
139
原创 Go 接口(一)
目录:接口声明接口使用空接口类型断言类型可以和接口相互比较接口声明在面向对象的领域里,接口一般是这样定义的: 接口定义一个对象的行为。接口值指定了对象应该做什么,至于如何实现这个行为,则由对象本身去确定。接口是方法签名的集合接口指定了一个类应该具有的方法,并由改类型决定如何实现这些方法定义一个接口package mainimport "fmt"// 定...
2019-11-12 09:15:55
118
原创 Go 方法
目录:方法的声明指针接收器与值接收器匿名字段方法在方法中使用值接收器,在函数中使用值参数在方法中使用指针接收器, 在函数中使用指针参数在非结构体上的方法方法什么是方法方法其实就是一个函数,在 func 这个关键字和方法名中间加入了一个特殊的接收器类型。接收器可以使结构体类型或者是非结构体类型。接收器是可以在方法的内部访问的。方法定义package mainim...
2019-11-11 18:16:14
121
原创 Go 结构体
目录:结构体的声明匿名结构体结构体零值结构体字段嵌套结构体导出结构体和字段结构体相等性结构体的声明什么是结构体结构体是用户定义的类型, 表示若干个字段(field)的集合。有时应该吧数据整合在一起,而不是让这些数据没有联系例如一个职员有firstname、lastname和age三个属性,而吧这些属性组合在一个结构体employee中和很合理。声明type...
2019-11-11 16:21:50
286
原创 Go 指针
目录:指针定义指针零值指针的解引用不要向函数传递数组的指针,而应该使用切片Go不支持指针运算指针定义什么是指针指针是一种存储变量内存地址的变量如图所示,变量a存储了变量b的内存地址,此时a指向b,a就是指针指针声明* 反解 解引用& 取地址符号func main() { b:=156 // 定义指针a,得到b的地址 var a *int=...
2019-11-11 14:36:36
235
原创 Go Map(哈希)
目录:Map定义并初始化Map 操作Map 是引用类型Map 相等性Map 内的键值对是无序的什么是MapMap是Go中内置的一种数类型,Map内的键值对是无序的,将键与值建立对应关系,可以通过键来获取对应的值。Go中Map定义两种方式:直接定义map类型 map[key的类型]value的类型,此时默认为nilfunc main() { var a m...
2019-11-11 11:33:27
642
原创 Mysql主从复制(docker)
目录:Mysql主从原理Mysql主从部署过程连接到数据库测试主从同步Mysql主从原理MYSQL 主从复制集群在中小企业、大型企业中被广泛使用,MYSQL 主从复制的目的是实现数据库冗余备份,将 Master 数据库数据定时同步至 Slave 库中,一旦 Master 数据库宕机,可以将 WEB 应用数据库配置快速切换至 Slave 数据库,确保 WEB 应用较高的可用...
2019-11-07 12:10:36
152
原创 Firewalld
目录:Firewalld介绍Firewalld使用Firewalld介绍从CentOS7开始,默认是没有iptables的,而是用了firewall防火墙Firewalld提供了支持网络/防护墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具动态防火墙 是指不需要全部清空防火墙规则,再重新全部加载Firewalld和iptables之间的关系Firew...
2019-11-06 15:16:43
273
原创 IT安全以及iptables
目录:IT运维安全iptables概念及应用iptable NAT转发IT运维安全为了保障企业IT设备、门户网站、业务系统、应用软件&程序高效稳定的运行,需要通过一下一些方面来强化安全安全从点滴做起硬件层面IDC机房门禁、设备静电、灭火器、管理人员权限、摄像头监控、操作权限、供电系统、空调、大风扇、服务器硬件等软件层面应用程序可读、可写、执行、控制访问权限...
2019-11-06 11:25:21
250
原创 Go 切片
目录:切片定义修改切片切片的长度和容量通过make函数来初始化切片切片的函数传递类型切片定义切片是有数组建议的一种方便、灵活且功能强大的包装(wrapper)。切片本身不拥有任何数据,它只是对现有数组的引用创建一个切片第一种方式package mainimport "fmt"func main() { a:=[9]int{1,2,43} fmt.Pr...
2019-11-05 17:04:31
186
原创 Go 数组
目录:Go中的数组for 循环遍历数组多维数组Go中的数组在Go语言中,数组是同一类型元素的集合,而不像python,里面可有多种数据类型。Go语言中不约需混合不同类型的元素,例如包含字符串和整数的数组。当时interface{}类型的数组,可以包含任意类型数组的声明示例:// [3]表示数组长度,int表示数组内元素类型var a [3]int=[3]int{1,...
2019-11-05 15:38:29
245
1
原创 Python 中的深浅复制
直接赋值:其实就是对象的引用(别名)。浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。直接赋值示例:from copy import copy, deepcopydef main(): a = [1, 2, [3, 4]] b = a ...
2019-11-05 15:17:58
179
原创 Go 流程控制语句
目录:if 语句for 循环Switch 语句if语句示例:package mainimport ( "fmt")func main() { a := 11 //大括号必须和条件在一行 if a < 10 { fmt.Println("<10"); } else if a > 10 { fmt.Println(">10");...
2019-11-05 14:28:28
128
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人