自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(115)
  • 资源 (4)
  • 收藏
  • 关注

原创 防火墙基础

centos7.0+查看防火墙状态firewall-cmd --state防火墙操作停止:systemctl stop firewalld.service启动:systemctl start firewalld.service重启:systemctl restart firewalld.service状态:systemctl status firewalld.service开始启动:禁止开机启动:systemctl disable firewalld.service开机启动:syste

2021-03-19 13:36:23 266 1

原创 centos双网卡聚合

遇到在centos下使用双网口聚合来提升服务器的数据接入能力的问题。就这个问题做一个记录,方便以后使用时查阅。1. 环境及条件系统:CentOS Linux release 7.6.1810 (Core)硬件:包含有多个物理网卡(实验时使用虚拟机模拟多网卡)2. 什么是网卡聚合网卡绑定也称作"网卡捆绑",就是使用多块物理网卡虚拟成为一块网卡,以提供负载均衡或者冗余,增加带宽的作用。当一个网卡坏掉时,不会影响业务。这个聚合起来的设备看起来是一个单独的以太网接口设备,也就是这几块网卡具有相同的IP地址

2021-01-04 17:13:55 6042 1

原创 golang学习笔记-排序

前言这一段时间用到了一个对一组类型的数据排序,由于golang没有提供类似c++中set的内置数据结构,这里需要对一个slice中的元素进行排序,由浅到深学习golang中的排序。1. 基础数据类型golang提供了一个名为sort的包,里面提供了基础数据类型的排序:int,float64,string,其他的类型,比如:int32,int64,float32等并没有实现,但是只要使用者实现了sort包中Interface接口的三个函数就可以实现这些类型的排序,sort包中Interface的接口:

2020-12-30 20:09:46 396

原创 linux五种网络模型

1. Unix网络编程中的五种IO模型阻塞IO(Blocking IO )非阻塞IO(NoneBlocking IO )IO多路复用(IO multiplexing )信号驱动IO(signal driven IO)异步IO(asynchronous IO)由于信号驱动IO不常见,因此主要学习其他的四种。2. IO事件2.1 IO发生的关联对象应用程序(app)系统内核(kernel)2.2 发生的过程内核等待数据,并准备收集数据将数据从内核中拷贝到用户进程中3. 网

2020-12-29 09:43:23 474

原创 linux三种IO多路复用模型

这里写自定义目录标题IO复用的三种机制1. linux操作系统中的基础概念1.1 用户控件&内和空间1.2 进程切换1.3 进程阻塞1.4 文件描述符1.5 缓存IO2. select2.1 函数原型分析2.2 运行机制2.3. 存在的问题3. poll3.1 poll函数原型3.2 存在的问题4. epoll4.1 函数解释5. 总结IO复用的三种机制I/O多路复用(multiplexing)的本质是通过一种机制(系统内核缓冲I/O数据),让单个进程可以监视多个文件描述符,一旦某个描述符就绪

2020-12-23 19:54:29 571

原创 golang学习笔记-go test的使用

go test1 ) go test -v .\example_test.go 执行用例,-v 表示显示执行的结果,以下加v和不加v:2 ) //output

2020-09-14 22:43:11 1453

原创 golang学习笔记-golang调用c实现的dll接口细节(二)

  各种原因需要与c或者c++打交道,之前对cgo有一点的了解,曾经了在了解的过程中记录了学习的过程。仅在使用的角度上讲,但是好多东西确实是模棱两可。一个契机,需要在go的框架下用到c++语言的sdk,顺便就记录一下cgo的学习过程,然后再给自己挖个坑,再深入了解一下cgo的机理和更加广泛的使用。本篇文章主要从主调的角度入手,介绍如何在go中使用c的代码,面对工程级的如何模块化,对于小的c代码如何在一个文件中实现;介绍如何在c中使用go的导出函数,作为c函数的回调函数使用。1. go调用c1.1 快速

2020-09-14 22:24:55 3525 2

原创 golang学习笔记-基于promethues客户端的数据统计

本文主要介绍基于promethues的go统计功能,利用promethues配合grafana进行实时数据的展示。因此promethues和promethues的测试功能是以docker的形式存在,并且以默认的方式启动docker,并不能用于实际的生产环境中。1.promethues的docker环境准备这里使用了promethues的service和exporter两部分。exporter类似一个代理,安装了exporter的机器可以将配置的需要采集的信息发送给service,service集中展示各

2020-08-21 20:49:15 926

原创 golang学习笔记-调度任务

实际业务中有一种需求,需要一个时刻或者时间段需要执行某种业务。最简单的一种方式就是使用定时器来检测时间,当定时器触发事件时,获取当前的时间,判断当前时间与任务执行时间是否匹配,匹配的情况下开始执行调度任务。除此之外,在linux平台下,系统提供了定期执行任务的命令crontab。在go中有一个第三方包cron也是能够提供类似的功能,下面我们就这两个大的方面记录一下。1.定时器调度任务1.1. 匹配字符串获取当前的时间,将时间格式化成特定的格式,再通过字符串匹配的方式判断当前的时间是否是需要的时间点。如

2020-08-17 20:05:22 664

原创 golang学习笔记-gin中间件

简述gin中间件类似java的拦截器,通过中间件可以在处理具体的route请求时,提前做一些业务。比如用户有效性的校验,特定日志格式的打印,错误日志的打印等等。gin的中间件大致可以分为两类,全局中间件和路由中间件,下面记录gin的中间件学习过程中的一些问题。一、全局中间件1. 默认中间件全局中间件作用于所有的路由上,所有的路由请求都需要经过这些全局中间件。gin本身提供了一些基础的中间件:func BasicAuth(accounts Accounts) HandlerFuncfunc Ba

2020-07-28 23:34:52 3078

原创 elasticsearch常用操作

http://172.20.32.70:9200/_cat/indices?v查询es中所有的模板

2020-06-01 09:42:10 196

原创 route命令学习笔记

    route命令用来显示并设置Linux内核中的网络路由表,route命令设置的路由主要是静态路由。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。    在Linux系统中设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的ip地址设置为Linux机器的默...

2020-04-09 19:48:04 385

原创 iptables学习笔记-基础篇

最近一段时间用到了不少网络的知识,设计到防火墙的配置,数据包的路由等等。在此过程中主要使用到了linux自带的iptables来完成一些功能,同样是迷迷糊糊的。以下为学习iptables的一些笔记,以备以后复习。一、防火墙知识通过对linux内核防火墙的配置便能够完成上面描述的防护功能。llinux防火墙的配置用iptables工具来配置完成。1、什么是iptables?iptables...

2020-04-07 18:21:58 418

原创 netperf使用笔记

一、netperf是什么netperf是一个基于client-server模式的网络测试工具,可以测量TCP和UDP传输的吞吐量、时延、CPU占用率等性能参数。它可以测试以下几种模式的TCP核UDP网络性能:TCP_STREAM:client端向server端发送批量TCP数据UDP_STREAM:client端向server端发送批量UDP数据TCP_RR和TCP_CRR:前者是在同一个...

2020-04-02 11:39:38 5041 1

原创 GDB调试学习笔记-stl容器的查看

默认情况下的gdb调试在遇到stl容器时,打印容器里面的内容很不友好。看起来很不方便,以下记录几种方式用来查看容器。方法一:打开 这个链接,复制里面的内容,根目录下创建一个文件.gdbinit,注意是有一个英文的.:之后查看容器的时候直接用p coll即可:方法二:自己实现打印函数,用gdb call调用该函数void dump(vector<int>& myV...

2020-04-01 22:33:55 469

原创 VMware搭建虚拟机隔离内外网

VMware搭建虚拟机隔离内外网目的一、宿主机的配置二、VMware虚拟网卡配置1.配置外网的虚拟网卡2.配置内网的虚拟网卡(对应的无线网卡)1)添加一个虚拟网卡2)配置新添加的虚拟网卡三、centos添加新的虚拟网卡四、检查配置是否生效1.检测网络1)测试内网:a. 在内网网卡eth1启动的情况下ping内网主机192.168.2.13:b.将内网eth1停掉后再ping:c.内网eth1恢复后...

2020-03-27 17:22:28 11478 1

原创 c++对象内存布局学习笔记(二)

以下的示例在x64的平台下测试,一些类型的占用字节数如下:intint*一、单个的类1、不包含虚函数的类1.1 代码示例注意类CBase0中的析构函数,不是虚函数。类中不存在任何的虚函数。#include <iostream>#include <string>using namespace std;class CBase0 {public: CBas...

2020-03-17 14:52:37 191

原创 c++对象内存布局学习笔记(一)

目的对c++对象的内存布局有点迷糊,学习之中简单记录一下,以便复习查阅。环境:g++:g++ (Ubuntu 8.3.0-16ubuntu3~16.04) 8.3.0一. 示例1存在一个类,包含有三个虚汗数,分别打印不同的字符串。在main.cpp函数中定义一个类的示例对象,通过分析示例对象的信息,达到学习的目的。#include <iostream>using name...

2020-03-16 23:10:55 152

原创 CMake学习笔记-基础篇

一 简单用法1 g++编译cpp文件编译一个main.cpp的文件,生成可执行程序main:1)直接使用命令编译

2020-03-14 23:47:41 119

原创 DPDK编译和使用

编译指令:make install T=x86_64-native-linuxapp-gcc启用DPDK用户控件I/O的模块:sudo modprobe uio_pci_generic;sudo modprobe uio;sudo insmod igb_uio.ko查看网络端口状态(网卡的信息):./dpdk_nic_bind.py --status编译例子:在当前文件夹下编译,...

2020-03-14 19:50:38 2052

原创 gdb调试学习笔记

调试的一些指令1 启动GDB调试输入:GDB ./test【在GDB下运行 test文件】输入run,启动程序进入后, 以下操作开始调试2 添加断点b ParamsTest.cc:3563 开始运行run4 程序停在断点处,单步调试(进入)s5 查看当前代码l6 单步调试(不进入)n7 跳出当前代码(之前跳入调试)finish8 继续单步调试n9 程...

2020-03-14 19:45:01 450

原创 centos升级gcc版本

当前机器版本信息:1、系统版本:cat /etc/redhat-release2、gcc版本:gcc --version因为要用到c++11,所以要更新版本。计划更新MinGW64的使用版本:更新过程以下的过程经过测试,都适合6~8的版本sudo yum install centos-release-sclsudo yum install devtoolset-8scl en...

2020-03-06 15:44:33 550

原创 在win7平台上搭建基于MinGW-w64的vscode开发c++环境

一、安装vscode和cc++的插件二、安装MinGW-w64并配置1、下载及安装下载MinGW-w64,下载完成之后安装,安装时安装目录自定义或者默认都行,安装过程中需要设置的选项:Version :GCC 版本,直接选最高;Architecture :CPU 架构,系统如果为64位,则选择 x86_64;Threads :API 模式,使用默认选项;Exception :异常处...

2020-02-26 10:42:31 1736 1

原创 golang学习笔记-优雅的退出golang服务2

前言前不久介绍了如何比较 优雅的退出golang服务 ,虽然能够优雅的退出,不过还是存在一些问题。比如只能捕获一些系统的信号量,但是对于服务启动的子协程的声明周期显然没有考虑到。经过一些时间的实践和阅读大佬们的代码,对如何优雅的退出golang服务再做一个简单的记录,顺带的记录一下另一个开源的性能分析工具的简单使用,就是大家耳熟能详的 go-torch ,以备不时之需。一、源码packag...

2020-01-10 10:19:07 727

原创 shell学习笔记-sed的简单使用

1.删除文件中匹配行,在文件中直接体现sed -i "/export PKG_CONFIG_PATH/d" file1.替换文件中匹配的值sed -i 's/abc/xxx/g' file

2019-12-27 15:17:56 142

原创 golang学习笔记-定时器相关

前言用golang已经有一段时间了,中间用到了定时器,也在实践了不少go经典的for+select模型,一直不太明白,正好最近有一个自己挖的坑——服务cpu占用率极高。初步定位了一下应该是由于定时器的使用不当导致的cpu占用率居高不下的情况。这边简单记录一下golang定时器的一些使用陷阱和正确的姿势,以需求的方式描述并分析记录。需求一:实现定时打印一句话需求二:定时打印一句话,并同时累计一...

2019-12-05 14:54:18 305 1

原创 consul学习笔记-docker中使用(持续更新)

环境系统:CentOS Linux release 7.6.1810 (Core)(已经关闭防火墙)consul版本:1.6.1(latest)一、单机1、单节点在一台服务器172.20.36.40上的docker中部署一个consul,开启常用的端口及外部可以web访问,使用命令:docker run -d -p 8400:8400 -p 8500:8500 -p 8600:53/u...

2019-11-14 14:34:23 161

原创 nginx学习笔记-在线安装

环境centos1 添加yum源sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm2 安装sudo yum install nginx3 配置设置开机启动:sudo systemctl enable nginx启动服务:sud...

2019-11-13 11:35:58 134

原创 docker使用笔记-vsftpd

启动:docker run -d \-v /home/ftp:/home/vsftpd \-v /home/ftp/log/vsftpd/:/var/log/vsftpd/ \-p 20:20 -p 21:21 -p 21100-21110:21100-21110 \-e FTP_USER=admin -e FTP_PASS=admin \-e PASV_ADDRESS=172.20...

2019-11-13 10:26:08 301

原创 docker使用笔记-redis篇

1、拉去redis镜像2、启动redisdocker run \-p 6379:6379 \-v /home/redis/data:/data \-v /home/redis/conf/redis.conf:/etc/redis/redis.conf \--privileged=true \--name myredis \-d redis:3.2 redis-server /etc...

2019-11-13 10:10:19 120

原创 docker使用笔记-mysql篇

1、拉去mysqldocker镜像docker pull mysql:latest2、启动mysql直接启动mysqldocker run -d \-p 3306:3306 --privileged=true \-e MYSQL_ROOT_PASSWORD=123456 \--name mysql mysql:latest在宿主机上配置mysql的存储目录并且启动mysqldocker run -d \-p 3306:3306 \-v /docker/mysql-lates

2019-11-13 10:08:17 114

原创 LVS学习笔记-lvs+nginx+keepalived

LVS负载均衡环境搭建准备准备3台centos服务器172.20.x.40,172.20.x.41,172.20.x.42作为一个LVS+nginx的负载集群,其中172.20.x.40作为LVS-master,172.20.x.36.41作为LVS-Backup;172.20.x.42作为nginx负载向后面业务服务器负载。一、环境配置1. 防火墙查看防火墙状态firewall-cmd...

2019-11-11 13:41:40 1073

原创 nginx学习笔记-文件代理服务

编译安装nginx之后,想试一下nginx代理的简单的文件服务器,记录一下,方便以后使用时查阅。一、准备工作1、hosts文件修改在hosts文件中增加自己的域名www.netdisk.cn和服务器IP的映射关系,并使之生效。2、文件服务器在centos上创建自己的文件服务目录,我这边在/netdisk下,存储了一下文件,大概的目录如下:二、配置user nginx nginx; ...

2019-11-08 10:44:34 159

原创 nginx学习笔记-默认支持的功能模块

进入下载的nginx安装包,可以通过查看解压包中的auto/options信息了解到nginx默认支持的一些模块。进入nginx的安装包中auto目录:/nginx-1.14.0/auto,执行cat options |grep "YES",以下为默认支持的第三方模块。HTTP=YESHTTP_CACHE=YESHTTP_CHARSET=YESHTTP_GZIP=YESHTTP_SSI...

2019-11-07 11:44:20 1415

原创 nginx学习笔记-编译选项说明

参数名称备注–prefix=value指向安装目录–sbin-path指向(执行)程序文件(nginx)–conf-path=指向配置文件(nginx.conf)–error-log-path=指向错误日志目录–pid-path=指向 pid 文件(nginx.pid)–lock-path=指向 lock 文件(nginx.lock)(...

2019-11-07 11:31:39 501

原创 nginx学习笔记-配置篇之反向代理&负载均衡

参考引用:nginx中gzip配置nginx安装及配置

2019-11-06 16:56:23 293

原创 nginx学习笔记-源码编译安装

源码编译安装nginx1、下载nginx源码wget http://nginx.org/download/nginx-1.14.0.tar.gz2、增加用户组nginxgroupadd nginx3、增加用户ngnix到用户组nginxuseradd nginx -g nginx -s /sbin/nologin -M4、安装gccyum -y install gcc-c++5、...

2019-11-06 16:20:18 272

原创 gcc添加动态库目录引发的惨案记录

起因因为需要写一个部署脚本来方便在linux下部署和卸载服务,需要加载第三方的一些动态库。解决方案:1、拷贝第三方的动态库到/usr/lib64/目录下;优点:简单粗暴,缺点:卸载不干净,操作不当,有挂系统的风险2、创建和加载第三方动态库的目录到/etc/ld.so.conf.d,优点:方便卸载,结构清晰,缺点:无基于上面的解决方案我选择了第二种,下面是整个操作的过程。过程:1、在/...

2019-09-11 15:28:24 341

原创 golang学习笔记-golang调用c实现的.so接口细节

目的本篇文章主要介绍golang在调用c实现的.so时,具体的一些方式。比如值传递、参数传递、指针等等的一些使用,使用的是cgo来调用。一、动态库的实现hello.h#ifndef _CALL_H_#define _CALL_H_void hello(char *name,int len);void storeFile(char* name , int len);#endif ...

2019-08-19 13:38:45 2616 3

原创 golang学习笔记-oci8连接oracle

因为项目要求,需要在linux平台上连接oracle数据库。因为之前使用的是oci8,所以面对的问题就是oci8在centos上的移植问题。下面记录一下在centos下安装,使用oci8时遇到的一些问题。一、版本及安装包1、centos 版本:CentOS Linux release 7.6.1810 (Core)2、oci客户端版本:instantclient-basic-linux.x6...

2019-07-24 16:05:04 1620 2

PicGo-Setup-2.2.2.zip

PicGo-Setup-2.2.2

2021-08-01

Desktop.rar

typora-setup-x64和pandoc-2.10.1-windows-x86_64的安装包合集,用于能够直接安装在windows-x64版本,能够导出markdown文档到docx,并且自动生成目录结构

2020-08-13

source insight 支持lua的语言包

source insight 支持lua的语言包,source insight 支持lua的语言包,

2018-02-06

ipmsg飞鸽源代码

飞鸽源码,vc6.0编译通过, 生成可执行程序, 方便查看学习

2015-11-14

空空如也

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

TA关注的人

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