centos7 python3 bottle+nginx+uwsgi搭建 1、依赖python3版本: 安装python3yum install python32、安装uwsgi包yum groupinstall "Development tools"yum install python3-devel.x86_64pip3 install uwsgi 配置uwsgi[uwsgi]socket = 127.0.0.1:9000maste...
python3 mysql|MariaDB 重连异常 pymysql.OperationalError 背景信息:使用之前python2的mysql库,在python3下运行,由于MariaDB重启,或者句柄失效重连MariaDB时出现bug:在机器重启启动MariaDB后,发现API接口报错,报错日志如下:sql error:'OperationalError' object does not support indexing,pymysql.err.OperationalErro...
python3 bottle框架 解决跨域 所谓同域:两个页面具有相同的协议,主机,端口号。同域策略是浏览器的一个安全功能,不同域的客户端在没有明确授权的情况下,不能访问对方资源。HTTP请求方法:OPTIONS:允许客户端查看服务器性能。bottle后端处理方法:增加一个勾子函数,在勾子函数中对请求前后都进行修改。bottle收到请求后,Access-Control-Request-Method发出请求时报头用于预检请求让...
AES对称加密算法实践 python3 下面是在python3中使用MODE_CBC(需要salt)的最佳实践python2环境的见:https://blog.csdn.net/feitianxuxue/article/details/102960785如果AES加密是MODE_ECB模式,则不需要随机向量,代码中注释部分加解密过程:通过 python encode.py 加密本地data目录下的file.jpg文件(二...
AES对称加密算法实践 python2 加解密流程与python3加解密流程一致,参考:https://blog.csdn.net/feitianxuxue/article/details/102961733区别主要在于:python2 与python3的编码问题。python3中读取文件只能以二进制方式打开。写二进制文件时候,以二进制方式写入。python2 则容易的多。python3中文本字符和二进制数据分的很清洗,...
bottle框架使用一个小坑-获取中文参数乱码 背景描述:在bottle中,获取参数一般使用request.query.items()和request.POST.allitems()获取参数。当参数中有中文的时候,使用python3运行会出现乱码。解决办法:from bottle import requestparams = dict(request.headers)args = request.query.decode("...
关于逆序的一些基本操作 1. 字符串逆序,abcde->edcba2. 单词逆序,how are you->you are how3. 单链表逆序,[1,2,3,4,5]->[5,4,3,2,1]a = 'abcde'print '原始字符串:', aprint '翻转字符串:',a[::-1]def reverse(arr, left, right): """ ...
对大量有重复数字的数组进行排序 题目:#给定一个数组,已知数组中有大量的重复数字,如何对数字进行高效的排序思路一:Hash法#coding=utf-8#对大量有重复数字的数组进行排序#给定一个数组,已知数组中有大量的重复数字,如何对数字进行高效的排序arr = [16,13,16,3,3,13,3,4,13,101,4,4]def sort_hash(a): """ Hash法...
论软件架构的选择 论软件架构的选择摘要: 2016年3月,我公司承担了国家某安全中心漏洞挖掘系统的开发工作,我在该项目中担任系统架构设计师职务,主要负责系统的架构设计。该项目是分析互联网流量,进行漏洞挖掘,主要包括流量捕获、流量存储、流量分析等。 本文以漏洞挖掘系统为例,针对不同架构风格的使用场景及优缺点,讨论了软件架构的选择。整个系统采用了面向服务的架构风格。在各个子服务中,又...
论高可靠性系统中软件容错技术的应用 论高可靠性系统中软件容错技术的应用摘要: 2016年3月,我公司承担了国家某安全中心漏洞挖掘系统的开发工作,我在该项目中承担系统架构设计师的职务,主要负责系统的架构设计。该项目的主要目的是依托大数据平台从互联网流量中挖掘未知漏洞。 本文以漏洞挖掘系统为例,从多个角度对系统的可靠性进行了分析,重点讨论了两种软件容错技术。针对互联网流量的需要实时捕获,在流量捕获模...
论软件系统架构评估 论软件系统架构评估 2016年3月,我公司承担了国家某安全中心漏洞挖掘系统的开发工作,我在该项目中承担系统架构设计师的职务,主要负责系统的架构设计。该项目的主要目的是依托大数据平台从互联网流量中挖掘未知漏洞。 本文以漏洞挖掘系统为例,论述了软件系统的架构评估。首先分析了软件架构评估所普遍关注的质量属性并阐述了其性能、可用性、可修改性和安全性的具体含义。整个系统采用了面向服...
系统架构师回顾-大意失荆州 2017年下半年我参加了全国的系统架构师考试,现已经尘埃落定。3门考试综合部分高分通过,但是论文却41分名落孙山(45分及格),死在了自己认为考的最好的一项,也许这就是所谓的大意失荆州吧。 考试虽然挂了,但是我并不服输,不是我准备的不充分,更不是我自己论文写的有问题,因为论文这玩意主观性太强了。一次考试失败并不能说明什么,但是成王败寇,挂了就是挂了。 下面把考前我准备的三篇论文与
一句话理解23种设计模式 设计模式的几大原则Ø 开放-封闭原则:对扩展开放,对修改封闭,可以用新的类来解决问题Ø 单一职责原则:设计目的单一的类。也就是降低程序的耦合程度Ø 李氏替换原则:用子类去替代父类Ø 依赖倒置原则:依赖与抽象,而不依赖于具体的实现;针对接口编程,不针对实现编程Ø 接口隔离原则:使用多个接口总比使用单个接口要好Ø 组合重用原则:尽量使用组合,而不是使用继承来达到重用
创建型-抽象工厂模式 工厂模式种,类的创建依赖于工厂类,如果想对工厂类进行扩展,就必须对工厂类进行修改,这违背了闭包|开闭原则(对扩展开放,对修改关闭)。通过抽象工厂模式可解决该问题。抽象工厂--创建多个工厂类,一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。 抽象工厂模式是工厂模式的进一步延伸。产品不只是一个接口或者一个父类而是有多个接口和父类,形成了一个产品族的概念。
创建型模式--工厂模式 工厂模式包含一个超类(父类),这个超类提供了一个抽象化的接口来创建一个特定类型的对象,而不是决定哪个对象可以被创建。也就是说:定义一个创建对象的接口,但由子类决定要实例化类的哪一个;即通过子类来创建对象。工厂方法使一个类的是实例化延迟到其子类。基本思想:l 定义一个抽象的工厂接口类l 定义一个抽象的产品接口类l 根据需要从产品接口派生产品子类l 对于每一个产
使用supervisord管理python进程 使用supervisord管理python进程1. 简单介绍:supervisord是一个c/s系统,它允许用户在UNIX系统中监控和控制一系列进程。supervisord与monit类似,都可以对进程进行监控区别在于:supervisord管理进程必须由supervisord来启动,monit可以管理正在运行的程序。Supervisord管理的进程是非daemon程序,sup
让python cookie支持特殊字符 让python cookie支持特殊字符先对cookie做下简单的介绍cookie的作用:tcp协议可以通过三次握手建立连接,客户端发送的多次请求可以通过句柄维护同一个连接,但是http协议是一种无状态的协议,对于浏览器发送的多次请求,服务器是无法区分是不是同一个浏览器发送的。这样就需要使用额外的数据维护会话。服务端收到浏览器的请求,在响应的时候可以种cookie,这样客户端与服务
使用c语言调用python小结 最近在做一个漏洞展示平台,攻击实现部分使用python实现,c语言实现部分使用libcli库做一个类似telnet的东东,回调函数run的时候调用python模块。针对c调用python,做个了小demopython模块:demo.pydef print_arg(str): print strdef add(a,b): print 'a=', a print
Epoll之ET、LT模式 Epoll之ET、LT模式在使用epoll时,在函数 epoll_ctl中如果不设定,epoll_event 的event默认为LT(水平触发)模式。使用LT模式意味着只要fd处于可读或者可写状态,每次epoll_wait都会返回该fd,这样的话会带来很大的系统开销,且处理时候每次都需要把这些fd轮询一遍,如果fd的数量巨大,不管有没有事件发生,epoll_wait都会触发这些fd的轮询判
python 关于配置文件,日志,传参总结 python 关于配置文件,日志,传参总结前段时间用python做了些工作,说实在的,之前也就是了解一点python,没有用其做过东西,这次做完之后,感觉python脚本挺强大的,在日志,配置,字符处理与mysql的连接都做得比较好。现将其总结下一、python的日志功能只要在程序中添加import logging,就可以使用其日志功能,其日志级别包括:日志级别包括:NOTSET