2019年7月25日
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 version:'3'services:nginx:image:nginx:1.……
阅读全文
2019年7月25日
1 2 3 4 5 6 7 8 9 10 11 12 13 #!/bin/bash echo "Switch Directory : /home/pktgen-2.9.0" dir="/home/pktgen-2.9.0" cd $dir cmd="./pktgen_20180410 -c f -n 4 --proc-type auto --socket-mem 512 -b 01:00.1 --file-prefix pg1 -- -T -m 3.0 -s 0:voip-udp.pcap:2 -d 10000 --bps 1500" eval $cmd ……
阅读全文
2019年7月25日
钩子脚本的具体写法就是操作系统中shell脚本程序的写法,请根据自己SVN所在的操作系统和shell程序进行相应的写作
所谓钩子就是与一些版本库事件触发的程序,例如新修订版本的创建,或是未版本化属性的修改。每个钩子都会被告知足够多的信息,包括那是什么事件,所操作的对象,和触发事件的用户名。通过钩子的输出或返回状态,钩子程序能让工作继续、停止或是以某种方式挂起。
svn在每个代码仓库下有一个hooks目录用于放hook脚本, svn为我们提供了模板
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [root@idcflow2175 hooks]# pwd /home/svn/csvn/data/repositories/tr2/hooks [root@idcflow2175 hooks]# ll -rw-r--r-- 1 svn svn 1977 Jul 1 2013 post-commit.tmpl -rw-r--r-- 1 svn svn 1638 Jul 1 2013 post-lock.tmpl -rw-r--r-- 1 svn svn 2289 Jul 1 2013 post-revprop-change.tmpl -rw-r--r-- 1 svn svn 1567 Jul 1 2013 post-unlock.……
阅读全文
2019年7月25日
svn简介 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
svn的docker搭建方法 请提前在服务器安装好docker服务
本篇教程选用的docker镜像为garethflowers/svn-server
安装并启动容器代码
1 2 3 docker run --restart always --name svn -d -v /root/dockers/svn:/var/opt/svn -p 3690:3690 garethflowers/svn-server 简析 /root/dockers/svn为宿主机的文件目录,/var/opt/svn为容器内的文件目录
–restart always命令可以实现容器在宿主机开机时自启动
-p 3690:3690表示将宿主机的3690端口映射到容器的3690端口,此端口为svn服务的默认端口,可以根据需要自行修改
创建svn仓库和账户 进入容器中进行配置 1 2 3 docker exec -it svn /bin/sh 创建名称为svn的资源仓库 1 2 3 svnadmin create svn 创建成功后svn目录内应该包含以下文件:……
阅读全文
2019年7月25日
原因 docker在xfs文件系统中,过于频繁create/destory container、pull/push image,当thin pool满时,DeviceMapper后端默认文件系统xfs会不断retry 失败的IO,导致进程挂起。
解决办法 不用xfs文件系统
加入启动参数 dm.xfs_nospace_max_retries=0
……
阅读全文
2019年7月25日
引用:原文
1 2 3 4 5 6 7 8 9 10 11 from mongoengine import * class Employee(Document): name = StringField() boss = ReferenceField("self", reverse_delete_rule = NULLIFY) ……
阅读全文
2019年7月25日
1 2 3 sudo docker run -dt --name ssserver -p 6443:6443 -p 8188:8188/udp mritd/shadowsocks -m "ss-server" -s "-s 0.0.0.0 -p 6443 -m chacha20-ietf-poly1305 -k yourpassword" -x -e "kcpserver" -k "-t 127.0.0.1:6443 -l :8188 -mode fast2" ……
阅读全文
2019年7月25日
Mac 1 2 3 4 5 sudo ifconfig en0 down sudo ifconfig en0 up Linux
/etc/init.d/networking restart
……
阅读全文
2019年7月25日
可能出现的问题 多进程启动
gevent启动
运行的服务可能不会停止
解决 我先参考了一下这一篇文章使用Coverage分析WSGI项目的代码覆盖率,他基本能够解决掉1.2两个问题,第三个问题我是使用了一个接口来停止当前进程的coverage,接口返回一个当前进程的work_id,可以判断是否所以进程都结束了,然后进行coverage combine就行了……
阅读全文
2019年7月25日
原理 首先取出查找表中每个关键字及其对应的权值,采用如下公式计算出每个关键字对应的一个值:
其中 wj 表示每个关键字的权值(被查找到的概率),h 表示关键字的个数。
表中有多少关键字,就会有多少个 △Pi ,取其中最小的做为次优查找树的根结点,然后将表中关键字从第 i 个关键字的位置分成两部分,分别作为该根结点的左子树和右子树。同理,左子树和右子树也这么处理,直到最后构成次优查找树完成。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 typedef int KeyType;//定义关键字类型 typedef struct{ KeyType key; }ElemType;//定义元素类型 typedef struct BiTNode{ ElemType data; struct BiTNode *lchild, *rchild; }BiTNode, *BiTree; //定义变量 int i; int min; int dw; //创建次优查找树,R数组为查找表,sw数组为存储的各关键字的概率(权值),low和high表示的sw数组中的权值的范围 void SecondOptimal(BiTree T, ElemType R[], float sw[], int low, int high){ //由有序表R[low.……
阅读全文