链表练习--简易模拟学籍管理
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131#include#include#includetypedef struct stu{int num;char name[21];struct stu *next;}stu;stu* creat(int id,char str[]);void add(stu *p,int id,char str[]);int query_value(stu *p,char name[]);stu* query_id(stu ...
数据结构2-链表的增减删
链表的创建
函数:malloc(动态内存分配) void *malloc(unsigned int size)
1234567stu* creat(int id,char str[]){//创建链表节点 stu *new; if((new=(stu *)malloc(sizeof(stu)))==NULL){ printf("不能分配内存空间!"); exit(0); } }
链表查找
按照值查找1234567891011int query_value(stu *p,char name[]){//按照值查找节点,并返回节点序号 int i=0; while((p!=NULL)){ if (strcmp(p->name,name)==0){ return i; } p=p->next; i=i+1; } retur ...
数据结构1-结构体
结构体:在C语言中,*结构体(struct)*指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。
结构体定义结构体:将不同类型的数据封装成一种组合型的数据结构。例如:
12345struct stu{ int id; char name[21];};
结构体变量在定义结构体体时可以同时对结构体变量定义以及赋值:
只定义结构体:
12345struct stu{ int id; char name[21];};
定义结构体后定义变量
123456struct stu //开始定义结构体{ int id; char name[21];};//结构体定义结束struct stu boy1;//定义结构体变量
结构体定义时同时定义结构体变量
12345struct stu //开始定义结构体{ ...
Ping_Sever——测试服务器丢包率的脚本
写这个脚本是因为DigitalOcean和Vultr整天抽风,时不时丢包率飙上40%,目前(2017.4)这个博客是运行在DigitalOcean的NYC2机房上。现在是sgp1机房(2017.4.21)
非常简单的50+行代码,通过ping获取丢包率,如果超过设置的百分比,就会通过Sever酱推送消息(啥?你不知道啥是Sever酱??快点这里)
可以批量测试多个服务器,可以跑在树莓派上,NAS上甚至路由器上。具体使用说明在github上有。
代码在github上(https://github.com/kuailezhiyuan/ping_server)
码云上我放了github的镜像(https://git.oschina.net/klzy_vl/ping_server)
配置config.json host里可添加多个服务器信息
SCKEY是Sever酱推送信息到微信,详情查看http://www.kpro.xyz/archives/89
times是ping的次数10
loss是丢包率超过多少通过Sever酱推送报警
可通过Crontab定时执行
Supervisor 安装与使用笔记
Supervisor,一个Linux后台进程管理器,带有web 管理界面。可以控制台,可以web控制简直是神器!
安装这里使用pip安装
1pip install supervisor
配置文件首先生成默认的配置文件
1echo_supervisord_conf supervisor.conf # 生成 supervisor 默认配置文件
添加项目在配置文件底端(引用网上的例子)
123456789[program:myapp]command=/home/rsj217/rsj217/myproject/venv/bin/gunicorn -w4 -b0.0.0.0:2170 myapp:app ; supervisor启动命令directory=/home/rsj217/rsj217/myproject ; 项目的文件夹路径startsecs=0 ...
Nginx+gunicorn+flask 部署与配置笔记
Python的安装不再列举,可以自行百度。
virtualenv安装virtualenv进入想要设置虚拟环境的目录,运行下面的代码来搭建虚拟环境(venv是虚拟环境的名字):然后进入venv文件夹,执行命令:
12cd venvsource ./bin/activate
然后会发现终端发生了变化,这样就完成了虚拟环境的搭建与进入
关闭的命令:
1deactivate
安装flask和gunicorn12pip install flaskpip install gunicorn
配置Nginx我使用的是wdcp一起安装的Nginx等,首先在wdcp面板添加一个网站。默认设置就好。
打开/www/wdlinux/nginx-1.8.1/conf/vhost/里以网站域名为名的conf文件。(例如:www.kpro.xyz.conf)
将里面的内容更换成下面的
1234567891011 server { listen 80; server_name www.kpro.xyz; # 这是HOST机器的外部域名,用地址也行 location / { ...
School-Network-Control——简单的控制联网程序
github(https://github.com/kuailezhiyuan/School-Network-Control)
程序放在码云上(http://git.oschina.net/klzy_vl/School-Network-Control)
断网原理为更改IP和DNS,方便解决啥都不懂的小中高学生。
开源协议:MIT
具体请查看REANME.md
使用Sever酱推送微信消息
sever酱,英文名「ServerChan」,是一款「程序员」和「服务器」之间的通信软件。 只需要get访问sever酱的api就可以将消息推送到微信。 首先绑定sever酱,获取SCKEY。
http://sc.ftqq.com/[SCKEY(登入后可见)].send
Python使用下面的代码。
12345def send(text,desp): SCKEY='换成自己的sckey' text=urllib.quote(text.encode('utf-8')) desp=urllib.quote(desp.encode('utf-8')) urllib.urlopen('http://sc.ftqq.com/'+SCKEY+'.send?text='+text+'&desp='+desp)
发送消息时:
1send('测试','测试文本')
就可以推送消息,非常方便,可以添加在爬虫里,提醒自己 ...

