- 博客(33)
- 资源 (1)
- 收藏
- 关注
原创 consul 简介
1、前言在分布式架构中,服务治理是一个重要的问题。在没有服务治理的分布式集群中,各个服务之间通过手工或者配置的方式进行服务关系管理,遇到服务关系变化或者增加服务的时候,人工配置极其麻烦且容易出错。2、zookeeper和consul比较开发语言方面,zookeeper采用java开发,安装的时候需要部署java环境;consul采用golang开发,所有依赖都编译到了可执行程序中,即插即用。部署方面,zookeeper一般部署奇数个节点方便做简单多数的选举机制。consul部署的时候分serv
2021-10-15 21:15:00
414
原创 freeswitch 使用记录
在FreeSWITCH中,每一次呼叫都由一条或多条“腿”(Call Leg)组成,其中的一条腿又称为一个 Channel(通道),每一个Channel都有很多属性,用于标识Channel的状态、性能等,这些属性称为Channel Variable(通道变量),可简写为Channel Var、Chan Var或Var。在这里使用X-PRE-PROCESS设置的变量都称为全局变量,它们在FreeSWITCH运行期间永远都是有效的。而局部变量,它们通常在拨号计划中,在一个呼叫的生命周期中才有效。.
2020-08-24 11:57:22
588
原创 centos上freeswitch 1.8.5 源码编译安装
1、下载1.8.5源码2、执行./bootstrap.sh ./bootstrap.sh 3、configure./configure不使用 prefix参数默认安装到/usr/local/freeswitch目录下,如果想安装到其他目录,如下:./configure --prefix=/usr/local/freeswitch2可能出现的错误:<1>、no usable zlib; please install zlib devel packa...
2020-05-08 17:51:00
1837
原创 epoll边缘触发和水平触发
Level_triggered(水平触发):当被监控的文件描述符上有可读写事件发生时,epoll_wait()会通知处理程序去读写。如果这次没有把数据一次性全部读写完(如读写缓冲区太小),那么下次调用 epoll_wait()时,它还会通知你在上没读写完的文件描述符上继续读写,当然如果你一直不去读写,它会一直通知你!!!如果系统中有大量你不需要读写的就绪文件描述符,而它们每次都会返回,这样会大大降...
2020-04-15 09:08:06
492
原创 sed使用小记
log.txt文件内容如下:num:[zhangsan],name:[lisi]num:[wangwu],name:[liuyi]1、提取name字段值grep -nr yourname log.txt|sed -r 's/.*name:\[(.*)\]/\1/'执行结果如下:lisiliuyi2、提取num字段值grep -nr yourname log...
2020-04-01 14:36:07
192
原创 git使用小记---工作区、暂存区、本地仓库、远程仓库
工作区、暂存区、本地仓库、远程仓库1.概念工作区:工作区就是你克隆项目到本地后,项目所在的文件夹目录。暂存区:用于存储工作区中添加上来的变更(新增、修改、删除)的文件的地方。操作时,使用git add .会将本地所有新增、变更、删除过的文件的情况存入暂存区中。本地仓库:用于存储本地工作区和暂存区提交上来的变更(新增、修改、删除)过的文件的地方。操作时,使用git commit ...
2020-01-03 17:32:52
362
原创 select函数详解
Select的函数格式:int select(int maxfdp,fd_set *readfds,fd_set *writefds,fd_set *errorfds,struct timeval*timeout);第一个参数:int maxfdp是一个整数值,是指集合中所有文件描述符的范围,即所有文件描述符的最大值加1,不能错!第二三四各参数:都是fd_set结构的结构体指针,分别...
2019-06-21 17:08:31
925
原创 freeswitch
x-Lite下载链接: http://www.sipsoft.cn/downloads/X-Lite.exe1.在虚拟机启动freeswitch2.配置X-Lite客户端如图所示,只需要填写红框以内的即可,其中的192.168.178.133是虚拟机中CentOS系统的地址。密码默认是1234,User ID与后面的两个name都写1000~1019以内即可。点击OK。...
2019-05-27 16:34:00
491
原创 c++ STL的list用法总结
#include<list>声明一个int型的list:list<int> a;1、list的构造函数list<int>a{1,2,3}list<int>a(n) //声明一个n个元素的列表,每个元素都是0list<int>a(n, m) //声明一个n个元素的列表,每个元素都是mlist<int&g...
2019-03-26 22:55:57
236
原创 智能指针
1,你知道智能指针吗?智能指针的原理。 2,常用的智能指针。 3,智能指针的实现。1答案:智能指针是一个类,这个类的构造函数中传入一个普通指针,析构函数中释放传入的指针。智能指针的类都是栈上的对象,所以当函数(或程序)结束时会自动被释放, 2, 最常用的智能指针: 1)std::auto_ptr,有很多问题。 不支持复制(...
2019-03-15 14:43:18
137
原创 linux c小记
1、编写统计一个数二进制表示中有多少个1的函数 int count_bit1(int m) { int count = 0; while(m) { m = m & (m-1); count++; } return count; }2、编写一个函...
2019-03-12 14:48:03
121
原创 docker 命令整理
一、构建镜像构建镜像有两种方式docker commit命令和Dockerfile文件。1、docker commit命令可以分为三步:运行容器修改容器把修改的容器保存为新镜像,docker commit 旧容器名 新镜像名2、Dockerfile文件docker build -t 标签名 .二、从镜像创建容器1、docker run----从镜像创建容器并运...
2019-02-26 11:30:29
162
原创 python小记 列表、元组、字典、集合
列表 列表使用方括号mylist1 = ['ming', 'jan', 2];mylist2 = [1, 2, 3, 4, 5, 6, 7 ];mylist1[0]就是mingmylist2[1:5]就是 [2,3,4,5],[1:5]指的是取第二个值到第六个值,左闭右开。mylist1 + mylist2 = ['ming', 'jan', 2,1,2,3,4,5,6,...
2019-01-28 14:32:00
201
原创 dokcer build 命令详解
docker build 命令用于使用 Dockerfile 创建镜像。 --tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签-f :指定要使用的Dockerfile路径;-m :设置内存最大值;--quiet, -q :安静模式,成功后只输出镜像 ID;--rm :设置镜像成功后删除中间容器;-...
2018-12-14 10:20:10
4699
1
转载 iptables基础知识
基本概念:1.防火墙工作在主机边缘:对于进出本网络或者本主机的数据报文,根据事先设定好的检查规则对其检查,对形迹可疑的报文一律按照事先定义好的处理机制做出相应处理对linux而言tcp/ip协议栈是在内核当中,意味着报文的处理是在内核中处理的,也就是说防火墙必须在工作在内核中,防火墙必须在内核中完成tcp/ip报文所流进的位置,用规则去检查,才真正能工作起来。iptables用来衡量t...
2018-12-05 16:44:30
683
原创 linux install命令
install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。install命令和cp命令类似,都可以将文件/目录拷贝到指定的地点。但是,install允许你控制目标文件的属性。install通常用于程序的makefile,使用它来将程序拷贝到目标(安装)目录。--backup[=CONTROL]:为每个已存在的目的地文件进行备份。-b:类似 --backup,但不接受任何参...
2018-11-09 16:20:00
2367
原创 spec文件知识整理
rpmbuild目录下各个文件的用途:spec文件一般包含以下部分:==================================文件头====================================================Name: hellorpm #名字为源码tar.gz 包的名字...
2018-11-08 17:17:19
17595
1
原创 使用gcc生成动态库及使用动态库的方法
gcc常用编译选项: 选项 含义 -static 链接静态库,禁止使用动态库 -shared 进行动态库编译,链接动态库 -Ldir 在动态库的搜索路径中增加dir目录 -lname 链接静态库(libname.a)或动态库(libname.so)的库文件 -fPIC(或fpic) 生成使用相对地址无关的目标代码 方法一...
2018-10-30 15:23:32
22790
2
原创 dockerfile文件详解
FROM功能为指定基础镜像,并且必须是第一条指令。如果不以任何镜像为基础,那么写法为:FROM scratch。同时意味着接下来所写的指令将作为镜像的第一层开始语法:FROM <image>FROM <image>:<tag>FROM <image>:<digest>三种写法,其中<tag>和<diges...
2018-09-19 11:33:51
261
原创 docker知识汇总
一个base操作系统的镜像怎么才200M,不是应该几个G吗?主要是因为:Linux 操作系统由内核空间和用户空间组成。内核空间是 kernel,Linux 刚启动时会加载 bootfs 文件系统,之后 bootfs 会被卸载掉。用户空间的文件系统是 rootfs,包含我们熟悉的 /dev, /proc, /bin 等目录。对于 base 镜像来说,底层直接用 Host 的 kernel...
2018-09-18 15:48:39
212
原创 makefile详解
Makefile的组成部分Makefile包含五个东西:显示规则,隐式规则,变量定义,文件指示,注释。1、显式规则。显式规则说明了,如何生成一个或多的的目标文件。这是由Makefile的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。2、隐式规则。由于我们的make有自动推导的功能,所以隐晦的规则可以让我们比较粗糙地简略地书写Makefile,这是由make所支持的。3、...
2018-09-03 17:18:15
628
原创 linux 防火墙firewall规则策略
1、查看防火墙状态 systemctl status firewalld2、关闭防火墙 systemctl stop firewalld3、开启防火墙 systemctl start firewalld4、禁止防火墙开机自启动 systemctl disable firewalld5、设置防火墙开机自启动 systemctl enable firewalld6、查...
2018-08-24 17:02:40
5064
原创 c语言内核笔记
一、宏函数container_of(ptr,type,member) 这个宏的作用就是利用member成员的地址计算其所在结构体的首地址。#define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ (type *)( (char *)__mp...
2018-08-10 14:51:43
399
原创 记:宏定义中的##和#的作用
内核中有很多的宏定义,在宏定义define中经常看到两个字符串##和#,这里把它的用法做一下说明: 一、 ##是一个连接符号,用于把参数连在一起 例如: > #define FOO(arg) my##arg 则 > FOO(abc) 相当于 myabc 二、 #...
2018-07-31 15:44:05
221
原创 selenium报错Element is not clickable at point及四种解决方法
使用Selenium时,触发点击事件,经常报如下异常:Element is not clickable at point 1、未加载没加载出来就等待元素加载出来,再往下执行。可以使用python库time不过最好还是使用selenium自带WebDriverWait2、在iframe里如果元素在iframe里,在窗口里找是找不到元素的,更是无法点击。所以,要切换到i...
2018-07-27 16:20:54
4429
转载 windows Sublime text3 安装及插件安装
安装Sublime text3软件官方网址:https://www.sublimetext.com/3选择Windows - also available as a portable version一项,点击下载安装。安装packagecontrol插件官方网址:https://packagecontrol.io/选择Installation项选择SUBLIME TEXT...
2018-07-26 09:54:11
3594
转载 centos7 下安装gimp
1. 先修改yum源进入到yum源管理目录cd /etc/yum.respos.d备份原系统的Base源mv CentOS-Base.repo CentOS-Base.repo.bak根据不同操作系统选择不同url源Centos 7wget -O CentOS-Base.repo https://lug.ustc.edu.cn/wiki/_export/code/mirro...
2018-07-19 15:42:57
1533
转载 centos7 安装selenium和firefox
之前有一篇文章介绍过在ubuntu下安装selenium和firefox现在介绍下centos7注意以下都是下载的linux64位的软件,32位的请自己找下链接,现在使用的python的版本是3,请注意,2应该也可以运行需要的版本有firefox 57.0.4cd /usr/local/firefoxwget https://download-ssl.firefox.com.cn/releases...
2018-07-03 16:18:04
1207
原创 centos下python安装requests包和beautifulSoup包
首先切换为root用户。1、安装epel扩展源:yum install epel-release2、安装python-pip:sudo yum install python-pip3、升级pip:pip install --upgrade pip4、安装requests包:pip install requests如果这一步失败,就把原来的pip备份,mv /usr/local/pip /usr/l...
2018-07-01 20:07:23
5433
原创 centos系统下 python2.7升级到python3.5.3
1、下载Python 3.5.3安装包wget https://www.python.org/ftp/python/3.5.3/Python-3.5.3.tgz2、解压tar -zxvf Python-3.5.3.tgz3、创建目录:mkdir /usr/local/Python3.5.34、编译、安装cd python3.5.3./configure --prefix...
2018-06-30 17:42:46
784
1
原创 centos 下制作U盘启动
确保当前为root用户,如果不是在终端执行命令:su 回车然后提示输入密码,就进入root用户下。1、打开终端,查看u盘盘符,如图为/dev/sdb2、格式化u盘,先卸载u盘,输入umount /dev/sdb然后以vfat格式来格式化u盘2、使用dd命令把iso写入u盘这期间不会有任何的提示,需要等一段时间,时间的长短取决于机器读写的快慢。...
2018-06-28 16:54:03
2053
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人