自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 window环境编译在linux环境运行的golang程序

1、打开windows命令行界面进入项目根目录,执行如下命令:SET CGO_ENABLED=0SET GOOS=linuxSET GOARCH=amd642、编译golang程序,得到与目录名相同的二进制可执行文件:go build注1:仅可以在windows命令行界面设置,git bash界面设置无效注2:在项目根目录设置的变量,仅在此项目生效,为临时配置,重启消失...

2022-03-04 15:25:02 1440

原创 并发和并行的区别

你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。你吃饭吃到一半,电话来了,你停了下来接了电话,接完后继续吃饭,这说明你支持并发。你吃饭吃到一半,电话来了,你一边打电话一边吃饭,这说明你支持并行。并发的关键是你有处理多个任务的能力,不一定要同时。并行的关键是你有同时处理多个任务的能力。并发和并行的区别在于能否“同时”处理任务。比如多线程处理任务:多线程程序在一个核的cpu上运行,就是并发。每个被分配到时间片的线程才可以运行,其他线程等待时间片。.

2021-08-31 15:53:35 203

原创 golang协程介绍和理解

1、介绍协程前先需要了解进程和线程进程:程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。线程:进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。进程和线程的关系:一个进程可以创建和撤销多个线程;同一个进程中的多个线程之间可以并发执行。2、介绍协程协程:独立的栈空间,共享堆空间,调度由用户自己控制,本质上有点类似于用户级线程,这些用户级线程的调度也是自己实现的。线程和协程的关系:一个线程上可以跑多个协程,协程是轻量级的线程。3、

2021-08-27 15:36:27 716

原创 windows环境搭建golang的gin框架简易教程

第一步:安装golang下载go1.16.7.windows-amd64.msi安装程序,按照界面提示安装第二步:配置golang代理库地址(此步可忽略)set GOPROXY=https://go.proxy.xxx.net第三步: 创建项目首先使用go env查看GOPATH目录,在该目录下创建bin、pkg、src目录然后在src目录下创建项目,比如studygin,并在项目下创建go.mod文件第四步:安裝gin包直接在项目目录下执行命令安装:go get gi

2021-08-25 17:01:26 899

原创 golang实现子网掩码和网络位长度相互转换

1、子网掩码地址转换为网络位长度// 如 255.255.255.0 对应的网络位长度为 24func SubNetMaskToLen(netmask string) (int, error) { ipSplitArr := strings.Split(netmask, ".") if len(ipSplitArr) != 4 { return 0, fmt.Errorf("netmask:%v is not valid, pattern should like: 255.255.255.0

2021-08-20 17:11:17 2922 1

原创 TortoiseSVN使用方法

一、下载项目到本地,并修改后提交到远程库第一步:从svn主分支checkout项目:1、鼠标右键选择“TortoiseSVN”-> "Repo-browser",填写项目地址路径,点击“OK”2、选中一个项目文件夹,鼠标右键选择“Checkout”,然后填写检出的目录,即将项目存储在指定目录第二步:提交代码1、选中项目文件或者目录,点击右键“SNV Commit",填写提交内容描述,点击“OK”即可二、其他功能选中项目文件或者目录,点击右键选择“TortoiseSVN”,显示效果

2021-03-31 15:42:30 597

原创 Linux磁盘格式化和挂载

格式化:将磁盘格式化为指定文件系统格式,比如ext、gfs、xfs、cramfs等挂载:服务器装上磁盘之后无法直接使用,需要挂载到指定目录才可用一、查询磁盘列表fdisk -l二、查询已挂载的磁盘-目录列表df -h三、创建目录(用于挂载)mkdir /dev/linshi四、格式化磁盘(此步骤可忽略)1、根据需要进行格式化mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.gfs2 mkfs.minix m...

2021-03-29 17:01:09 762

原创 软件工程项目经理必备能力

项目经理是团队组织的核心,其综合素质直接影响项目的成败。一般要求具备如下能力:一、领导能力。项目经理必须具备高超的领导才能和强烈的科技意识和较强的业务处理能力。1、项目经理应懂得如何授权和分配职责,采取参与和顾问式的领导方式,发挥导向和教练作用,让成员在职责范围内充分发挥能动性,自主地完成项目工作。2、项目经理应善于激励。由于项目经理通常没有太大的权力对成员进行物质方面的激励,因此,非物质激励方式就特别重要。3、项目经理应该为成员树立榜样,表现出积极的心态,成为团队的典范和信心的源泉。4、项目经

2021-02-22 11:43:42 3622

原创 软件文档编写规范

软件设计、开发和管理过程中,需要编写多种类型文档,文档的质量甚至关乎项目的最终成败和可维护性。文档编写需要遵守以下规范:1、针对性。文档编制前应分清读者对象。对不同的类型、不同层次的读者,决定如何满足适应他们的需要。2、精确性。文档的行文应当十分确切,不能出现多义性的描述。3、清晰性。文档编写应力求简明,如有可能,配以适当的图表,以增强其清晰性。4、完整性。任何一个文档都应当是完整的、独立的,它应自成体系。例如,前言部分应做一般性介绍,正文给出中心内容,必要时还有附录,列出参考资料等。5、灵活性

2021-02-20 17:03:31 1568 1

原创 IPv6协议简介及与IPv4对比

IPv6简介:全称是“互联网协议第6版”,即下一代的网际协议。IPv6地址的128位是以16位为一段共分为8段,每段的16位转换为一个4位的16进制数字,每段之间用冒号“:”分开。比如:2001:0da8:d001:0001:0000:0000:0000:0001。IPv4协议的缺点:地址空间耗尽、路由表急剧膨胀、缺乏对QoS的支持、本身并不提供任何安全机制、移动性差。IPv6的优势:1)IPv6具有更大的地址空间。IPv4中规定IP地址长度为32位,而IPv6中IP地址的长度为12

2021-01-26 16:25:22 1106

原创 git远程版本硬删除

使用场景:代码提交并push到远程后,发现此版本有问题。为了遵循一个功能一次commit的规范,想要删除提交记录,修改代码后重新提交。方法:第一步:git log查询提交记录,查询到想要返回版本的commit id,比如:commit 5792b6e123d6556fe1352b6c4c0461000334565 (origin/master, origin/HEAD)第二步:git reset --hard 5792b6e123d6556fe1352b6c4c0461000334565,

2021-01-18 16:06:35 734

原创 linux系统模块管理

查询已加载的系统模块:lsmod载入系统模块:insmod ***.ko删除系统模块:rmmod 模块名

2021-01-18 15:33:46 112

原创 常见的进程调度算法

1、先来先服务(FCFS),又称先进先出(FIFO)调度算法。就绪队列按先来后到原则排队。2、优先数调度优先数反映了进程优先级,就绪队列按优先数排队。有两种确定优先级的方法,即静态优先级和动态优先级。静态优先级是指进程的优先级在进程开始执行前确定,执行过程中不变,而动态优先级则可以在进程执行过程中改变。3、轮转法(Round Robin)就绪队列按FCFS方式排队。每个进程执行一次占有处理器时间都不超过规定的时间单位(时间片)若超过,则自行释放自己所占有的CPU而排到就绪队列的末尾,等待

2021-01-14 13:49:51 1757

原创 内存常用的页面调度算法

1、最优(OPT)算法选择不再使用或最远的将来才被使用的页,这是理想的算法,但是难以实现。2、随机(RAND)算法随机地选择被淘汰的页,开销小,但是可能选中立即就要访问的页。3、先进先出算法(First In and First Out,FIFO)选择在内存驻留时间最长的页似乎合理,但可能淘汰掉频繁使用的页。FIFO算法简单,易实现。4、最近最少使用(Least Recently Used,LRU)算法选择离当前时间最近的一段时间内使用得最少的页。这个算法的主要出发点是,如果某个

2021-01-14 12:01:56 1462

原创 iscsi映射管理

发现iscsi映射iscsiadm -m discovery -t st -p ip地址:端口登录iscsi映射iscsiadm -m node -T 启动器名称 -l退出iscsi映射iscsiadm -m node -T 启动器名称 -u退出所有iscsi会话iscsiadm -m session -u

2021-01-13 11:22:29 732

原创 磁盘读写速度测试

读取磁盘内容写入到文件dd if=/dev/sda of=/tmp/a count=1 bs=1M写入文件到磁盘dd if=/tmp/a of=/dev/sda count=1 bs=1M

2021-01-13 11:15:35 399 1

原创 逻辑卷、物理卷、卷组相关操作

逻辑卷相关:lvs:查询所有逻辑卷信息(Display information about logical volumes)创建逻辑卷:lvcreate 卷路径删除逻辑卷:lvremove 卷路径物理卷相关:pvs:查询所有物理卷信息(Display information about physical volumes)创建物理卷:pvcreate 卷路径删除物理卷pvremove 卷路径卷组相关:vgs:查询所有卷组信息(Display information about volum

2021-01-13 11:09:34 121

原创 刻录iso到光盘的简单方法

环境准备:windows电脑、安装UltraISO软件、空光盘一张(普通光盘只允许写一次,后期不可修改)方法:1、将光盘放入光驱,打开UltraISO软件2、选择“工具”->"刻录光盘映像"3、选择“刻录机”为当前空光盘(可以按照前面的盘符识别)4、选择“映像文件”,即为要刻录的ISO文件5、最后点击“刻录”,等到时间稍长,即可完成刻录...

2020-11-04 09:46:40 9703

原创 查询已安装rpm包信息

1、查询已安装的yum包yum list installed2、查询rpm包释放了哪些文件rpm -ql package_name3、rpm包大小排序rpm -qa --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n

2020-10-30 11:56:38 783

原创 etcdctl命令查询etcd信息

1、查询etcd的key信息etcdctl get --prefix /2、查询集群状态etcdctl endpoint status --cluster3、查询租约列表etcdctl lease list4、查询租约过期时间etcdctl lease timetolive 7d127433a30b9208 --keys

2020-10-30 11:54:39 3472

原创 firewall-cmd命令管理防火墙

1、查询防火墙端口列表firewall-cmd --list-ports2、查询防火墙IP+端口限制列表firewall-cmd --list-rich-rules3、设置端口白名单firewall-cmd --add-port 8888/tcp4、设置服务的来源IP和目的IP白名单firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=192.168.0.1 port protocol=tcp

2020-10-30 11:52:13 465

原创 pacemaker集群管理相关命令

pacemaker集群管理:一、查询集群所有节点和资源状态pcs status --full二、集群节点资源重新加载pcs resource cleanup三、查询集群配置信息pcs config

2020-10-22 17:52:33 965

原创 linux配置临时IP和永久IP

配置临时IP:ipaddr add 192.168.0.100/24 dev ens1route add default gw 192.168.0.1配置永久IP:nmcli c add type ethernet con-name ens1 ifname ens1 ip4 192.168.0.100/24 gw4 192.168.0.1

2020-10-22 17:49:23 1257

原创 systemd常见使用总结

一、服务管理:systemctl status/restart/start/stop httpd二、查询错误日志journalctl -xe三、配置修改后重新加载systemctl daemon-reload四、配置系统服务地址/usr/lib/systemd/system

2020-10-22 17:43:51 102

原创 sqlite常见使用总结

sqlite操作:访问数据库:sqlite3 database_name.db查询所有表.tables查询某一个表数据select * from table_name;删除表所有数据delete from table_name;

2020-10-22 17:41:11 81

原创 Linux安装指定版本Angular Cli

环境准备:1、安装nodejs不同版本Angular Cli需要安装不同版本的nodejs,本文安装v10.16.0版本的nodejs,可以支持7.x版本的Angular Cli。由于开发需要使用ng-alain框架要求Angular Cli版本为7.x,具体步骤如下所示:(1)下载nodejscurl https://nodejs.org/dist/v10.16.0/node-...

2019-06-17 19:51:11 1286

原创 python快速安装pip

1、下载官网的pip.py文件curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py2、本机可能安装多版本python,想给哪个版本安装pip,直接使用该版本python命令执行。例如给python3.6版本安装pippython36 get-pip.py3、安装成功[root@VM ~]# python36 ge...

2019-04-26 22:27:23 1553

原创 python安装MySQLdb包遇到的坑:EnvironmentError: mysql_config not found

问题:运行程序提示:ImportError: No module named MySQLdb解决步骤:1、安装MySQL-python包,提示错误:EnvironmentError: mysql_config not found[root@VM static]# pip2 install MySQL-pythonLooking in indexes: http://mirror...

2019-04-19 15:15:39 1501

原创 方差、标准差、协方差理解与区别

1、方差用来度量随机变量和其数学期望(即均值)之间的偏离程度。计算:各个数据与平均数之差的平方的平均数2、标准差能反映一个数据集的离散程度。计算:方差开根号3、协方差用于衡量两个变量的总体误差。而方差是协方差的一种特殊情况,即当两个变量是相同的情况。变化分析:(1)如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值,另外一个也大于自身的期望...

2019-03-20 17:49:26 19650

原创 访问域名不走dns服务问题排查,报错could not resolve host

问题:访问域名无法解析成功,提示error:could not resolve host排查过程:1. 查询dns配置/etc/resolv.conf发现配置的dns服务器地址可以ping通,并且使用nslookup制定dns可以解析域名成功。2.查看域名解析文件/etc/hosts发现域名被指定解析到具体IP,发现此IP已经不可以用,删除此纪录,依旧无法访问域名。3.查看...

2019-03-13 14:35:48 20325

原创 mysql保存中文异常Incorrect string value: '\xE4\xBD\xA0\xE5\xA5\xBD' for column'

现象:更新表字段为中文字符时,提示报错Incorrect string value: '\xE4\xBD\xA0\xE5\xA5\xBD' for column 'description'修改字符集:1、查看表字符集show create table table_name;发现字符集为latin1,需要修改为utf8ALTER TABLE hosts DEFAULT ...

2019-03-06 18:47:03 848

原创 mysql5.7.25数据库安装

环境:centos 7.2下载yum包:https://dev.mysql.com/downloads/repo/yum/安装步骤(参考地址):1、安装rpm包rpm -Uvh mysql80-community-release-el6-n.noarch.rpm2、设置yum包yum repolist all | grep mysqlsudo yum-config-m...

2019-03-05 15:20:45 641

原创 zabbix代理服务器搭建

环境:centos 7.3安装方式:rpm包安装,参考准备:1、配置linux服务器可访问外网,修改resolv.conf配置dns服务器2、安装好mysql数据库安装zabbix_proxy步骤:1、安装资源配置包,此包包含yum源配置文件rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix...

2019-03-05 15:07:56 808

原创 hosts和resolv.conf区别

hosts:作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在命令行中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。查看配置:vim /etc/hosts10.10.10.10 www.a.com20.20.20.20 ...

2019-03-05 11:45:05 2543

原创 电气相关信号种类

电流、电压:电流是由电压产生的,因此有电流必须要有电压。谐波:是指对周期性非正弦交流量进行傅里叶级数分解所得到的大于基波频率整数倍的各次分量,通常称为高次谐波。谐波电流:是由设备或系统引入的非正弦特性电流。谐波电流叠加在主电源上。谐波电压:是由谐波电流和配电系统上产生的阻抗导致的电压降。电磁波:电磁波是由相同且互相垂直的电场与磁场在空间中衍生发射的震荡粒子波。电磁波在真空中速率固定...

2019-02-27 17:21:04 2222

原创 信号处理常用算法介绍

对于许多信号,低频成分相当重要,它常常蕴含着信号的特征,而高频成分则给出信号的细节或差别。快速傅里叶变换(FFT):朴素高精度乘法时间O(n2),但FFT能O(nlog2n)的时间解决可以反映出信号的整体内涵,但表现形式往往不够直观,并且噪声会使得信号频谱复杂化离散小波变换(DWT):在数值分析和时频分析中很有用,一维小波变换,二维小波变换小波分解:意义就在于能够在不同尺度上对...

2019-02-27 17:15:05 19508

原创 php语言使用statsd统计指标模板

statsd可进行数据的简单计算,作为数据中间层服务,支持原值gauge,时间值timing,计数值counter等数据类型,用于常用数据统计场景。php语言推送udp数据到statsd服务代码示例如下:/** 标准gauge统计,用于记录固定值 * metric: 指标名 * value: 固定值 * ags: 用户自定义tags,用于指标查询展示 ...

2019-02-27 17:01:14 290

原创 telegraf output input 配置用法

使用场景:作为数据中转层,简单处理数据。支持多种方式输入数据,同时支持多种方式输出数据,具体可参考https://github.com/influxdata/telegraf输入数据组件:使用statsd,使用场景为收集监控数据,为了保证不影响业务性能,固采用不需要建立连接的UDP协议收集数据。# Statsd UDP/TCP Server[[inputs.statsd]] ...

2019-02-27 15:57:52 3427

原创 贪心算法区间调度问题思路&代码&证明

1、活动安排问题问题:有若干个活动,第i个开始时间和结束时间是[Si,fi),只有一个教室,活动之间不能交叠,求最多安排多少个活动?解题思路:将活动按照结束时间进行从小到大排序,挑选出结束时间尽量早的活动,并且满足后一个活动的起始时间晚于前一个活动的结束时间,全部找出这些活动就是最大的相容活动子集合。C代码示例:正确性证明:我们可以从贪心算法得到的结果集仅进行倒推。首先去掉结果...

2019-01-04 22:25:46 3053

原创 mysql数据库各表、数据库数据容量查询

1、查询数据库各表记录数、数据容量(MB)、索引容量(MB)select table_schema as '数据库',table_name as '表名',table_rows as '记录数',truncate(data_length/1024/1024, 2) as '数据容量(MB)',truncate(index_length/1024/1024, 2) as '索引容量(...

2019-01-02 16:34:31 486

空空如也

空空如也

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

TA关注的人

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