WAF自研开发——如何把Web流量转给WAF

2021-05-05
阅读 2 分钟
4.2k
WAF作为基础安全能力建设的必要一步,在为业务提供抵御Web攻击方面,发挥着重要作用,但是不管是公司内部自研WAF还是购买成熟的商业WAF产品,都绕不过一个问题——如何保证WAF不会降低业务的稳定性。举个例子,如果WAF挂了,怎么能保证业务正常运行?旁路部署,就能很好的解决上述问题,既可以测试WAF产品性能和稳定性,也...

如何优化Python占用的内存

2019-07-24
阅读 5 分钟
7.8k
如果程序处理的数据比较多、比较复杂,那么在程序运行的时候,会占用大量的内存,当内存占用到达一定的数值,程序就有可能被操作系统终止,特别是在限制程序所使用的内存大小的场景,更容易发生问题。下面我就给出几个优化Python占用内存的几个方法。

同样是Python,怎么区别这么大

2019-05-28
阅读 3 分钟
2.7k
上周,我的测试同事告诉我,你的用户名怎么还允许中文啊?当时我心里就想,你们测试肯定又搞错接口了,我用的是正则w过滤了参数,怎么可能出错,除非Python正则系统出错了,那是不可能的。本着严谨的作风,我自己先测试一下,没问题看我怎么怼回去。可是当我测试,我就懵逼了,中文真TM都验证通过,不对啊,我以前也是这...

关于Python编码这一篇文章就够了

2019-05-25
阅读 7 分钟
4.9k
在使用Python或者其他的编程语言,都会多多少少遇到编码错误,处理起来非常痛苦。在Stack Overflow和其他的编程问答网站上,UnicodeDecodeError和UnicodeEncodeError也经常被提及。本篇教程希望能帮你认识Python编码,并能够从容的处理编码问题。

如何编写快速且线程安全的Python代码

2019-05-22
阅读 5 分钟
3.7k
如今我也是使用Python写代码好多年了,但是我却很少关心GIL的内部机制,导致在写Python多线程程序的时候。今天我们就来看看CPython的源代码,探索一下GIL的源码,了解为什么Python里要存在这个GIL,过程中我会给出一些示例来帮助大家更好的理解GIL。

你应该使用Python3里的这些新特性

2019-05-20
阅读 5 分钟
1.6k
由于Python2的官方维护期即将结束,越来越多的Python项目从Python2切换到了Python3。可是,在实际的工作中,我发现好多人都是在用Python2的思维去写Python3的代码,Python3给我们提供了很多新的、很方便的特性,可以帮助我们快速的编写代码。

Python数据结构

2019-05-18
阅读 9 分钟
6.1k
数据结构是组织数据的方式,以便能够更好的存储和获取数据。数据结构定义数据之间的关系和对这些数据的操作方式。数据结构屏蔽了数据存储和操作的细节,让程序员能更好的处理业务逻辑,同时拥有快速的数据存储和获取方式。

Python更快的解析JSON大文件

2017-07-11
阅读 3 分钟
12.1k
今天用python的simplejson库解析一个 >200MB 的JSON文件,发现一次decode/encode都得要 >10s,这个在我开来,实在太慢了,有没有更快的库了?

开源情报订阅OpenTaxii+mysql+nginx 配置教程

2017-07-07
阅读 2 分钟
3.2k
opentaxii默认安装是0.1.9,但是0.1.9有个关于格式的问题,所以,如果实际环境中发现无法push 和pull 数据,请使用0.1.8版本

开源人脸识别seetaface入门教程(一)

2016-09-22
阅读 4 分钟
33k
seetaface由中科院计算所山世光研究员带领的人脸识别研究组研发。代码基于C++实现,不依赖第三方库。然而,目前开源的代码,是在windows vs上编译的,对于我们这帮mac/linux用户来说,用起来还是挺麻烦的。经过这几天的学习,对seetaface总算有了全面的了解。下面,听我娓娓道来。

coverage教程(译)

2016-02-02
阅读 4 分钟
8.9k
当你通过pip install coverage成功安装完coverage后,就会在python命令的同级目录,生成一个coverage可执行程序。coverage对应不同版本的python程序,生成了不同版本的可执行程序,如python2平台的coverage2,python3平台的coverage3,以及coverage-X.Y,X、Y为python的版本号。

那些提升工作效率的shell命令

2016-01-25
阅读 2 分钟
2.3k
欢迎大家光临我的博客 对于刚使用linux或者对shell命令不熟的开发者,有了这些命令,你会很开心的。 切换目录 注意:当前用户是xiaochao,系统为centos6,并且,shell命令是严格区分大小写的。 显示当前目录路径:pwd {代码...} 切换目录:cd 1、使用相对路径 {代码...} 2、使用绝对路径 {代码...} 点号(.)的使用 {代码....

delorean使用教程

2015-09-22
阅读 6 分钟
3.9k
首先,约定三个概念。 navie datetime:没有指定时区的datetime对象 localized datetime:指定时区的datetime对象 localizing:指定市区的的navie datetime normalizing:datetime时区切换 一些例子 首先,导入Delorean {代码...} 使用UTC格式的当前时间创建一个datetime {代码...} 简单的时区切换 {代码...} 转换成datetime...

撸了一个查询全球所有城市的 API,提供给大家使用,望轻拍。

2015-09-15
阅读 2 分钟
14.2k
欢迎大家访问我的博客,查看更多内容。 cities 国内所有省、市以及对应的id,以及世界上主要的城市 数据来源 在此感谢鹅厂,所有的数据都是从鹅厂注册页面获取到的 github 演示地址 使用方法: 输入国家名称,获取到国家ID 输入省,获取到国家和省ID 输入城市,获取到国家、省和市ID API url = '[链接]' 根据城市名字获...

android ios主流浏览器User-Agent

2015-02-03
阅读 3 分钟
19.8k
chrome:Mozilla/5.0 (Linux; Android 4.4.4; HTC D820u Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.89 Mobile Safari/537.36

为setup.py添加c/c++ 头文件或者库的搜索路径

2015-01-19
阅读 1 分钟
10.6k
通过源码安装python第三方库时,经常会出现该库依赖的c/c++头文件、库找不到的情况,特别是自己编译安装的c/c++库时。比如leveldb,mysql等等。我今天安装leveldb的python库时,就遇到了这个情况。

Django session源码阅读

2014-12-20
阅读 3 分钟
7.9k
欢迎大家访问我的博客,查看更多内容。 背景 {代码...} session总体结构 session目录结构如下图 backends这个目录中定义了session的数据结构和几种存储模式 base.py这个定义了session的类dict的数据结构 cache.py定义了session的缓存存储,缓存从django.core.cache中获取 cached_db.py定义了session的缓存+数据库存储方...