自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

orangleliu 笔记本

lzz的编程之旅,技术,思考,分享,happy

  • 博客(553)
  • 资源 (5)
  • 收藏
  • 关注

原创 [MongoDB] 聚合嵌入的数组

mongo-aggregate-nested-array 文档中嵌入了数组,此时就是要聚合这个嵌入的array。MongoDB 3.6数据样本{ "_id" : ObjectId("5aa63f7034cdbd6928f831ff"), "domain" : "metacafe.com", "cdn" : "LLNW", "

2018-04-09 18:29:45 4239

原创 [MongoDB] 聚合嵌入 object 的 key

标题比较拗口,下面给一个具体的例子MongoDB 3.6数据样本{ "_id" : ObjectId("5a79391534cdbd692825e978"), "cdn" : "Conversant", "domain" : "7img1.xxxx.com", "status_code" : { &

2018-04-09 18:06:24 2334

原创 [MongoDB] 按时间分组统计(任意时间段)

统计任意时间段内和sum,avg等信息记录样本{ "_id" : ObjectId("5a2a290320fc1abc16104c0c"), "netservice" : "Brasil_OiVelox", "repstime" : 0.014, "stattime" : ISODate("2017-12-08T13:45:00

2018-04-09 12:19:53 20512 8

原创 Flask 中的登陆校验

请求的登陆校验是个常见的需求,如果使用 Flask 框架,一般会使用 flask-login 这个库,说说使用遇到几点问题怎么全局禁用login检查呢?flask-login 提供了一个配置项 LOGIN_DISABLED, 开发和mock的时候有时候有这个需求。app = Flask(__name__)app.secret_key = "session secret...

2018-04-09 10:57:10 2461

原创 axios 处理 302 状态码

比如说浏览器打开了一个单页面(SPA)应用,过了一段时间token(或者session)过期了,这个时候页面上发起 Ajax请求之后,后端返回302状态码跳转到login页面。 我这是使用的是 Vue + axios ,发现 axios 无法拦截到 302请求,下面是处理的过程。思考google axios 302 handle 看到 axios github 上的两个讨论...

2018-04-09 10:20:31 28032 1

原创 [OpenResty动态] 20180328 沙尘暴

今天沙尘暴很牛 我们团队的泽轩同学最近给 OpenResty 新增了 ngx.resp 这个 Lua FFI 模块的 add_header() 函数,可以像标准的 nginx 配置指令 add_header 那样只追加新的响应头,而不会覆盖已有的响应头。 文档在这里: https://github.com/openresty/lua-resty-core/blob/master/li...

2018-03-28 09:57:15 891

原创 [kong] 使用docker搭建测试环境

安装记录,参考链接https://hub.docker.com/_/kong/ 这里默认用的是 cassandrahttps://getkong.org/install/docker/ 然这里默认的是 pg所以在设置数据库的时候保持一致,我这里用的pg,然后把本地的kong代码挂载到docker里面了(非必要),主要方面看代码时候调试(对于开发环境还是弱了点)docker的宿主...

2018-03-28 09:03:37 1743 3

原创 python 实现 i18n 多语言国际化

下面的例子中实现 python i18n 英文和中文 双语显示,因为实现这个功能还是需要几个步骤的,网络上有些例子,但是当时没有找到一个符合心意的,于是写一个备用,尽量好上手。测试环境MacOS 10.13.1Python2.7.xpython gettext docgettext首先需要一个工具 gettext, macos 上已经有了但是没有放到 /usr...

2018-03-26 23:31:26 5717 1

原创 vue 中使用 axios 下载pdf

axios 是个轻量级的 http 客户端,vue项目中使用非常普遍,现在需要对接一个 pdf 报表接口,发现 axios 无法直接直接下载下来,也就是说用 axios 请求,返回的结果是二进制文件,但是浏览器没有直接下载下来,下面是解决的方案的代码片段。当然也适用于其他二进制文件下载。代码let url = 'http://localhost:5000/static/exam...

2018-03-26 15:40:42 6593

原创 SSH和Netcat完成临时内网穿透

场景是这样的,前几天问运维同学要了一个测试机,只有内网IP,大部分情况够用,但是呢,偶尔也需要看看web页面什么的,怎么解决呢,正好我有个VPS,所以就想用SSH做个反向隧道,可以在家里也能访问到测试机的web服务,大部分都是临时使用,用完就关闭就好,安全风险也不是很大。连接互联网的电脑 ---> 公网IP(vps) <--ssh隧道--> 内网测试机解决方案...

2018-03-20 00:00:54 2859

翻译 怎样使用Google chrome播放 .swf 文件

How can I play an .swf file using Google Chrome?昨天遇到一个问题,本来有个 .swf 的流媒体测试工具,但是直接拖到 chrome 中,总是直接被下载,也就是无法直接使用 chrome 打开 .swf 文件, 在 osf 找到一个不错的解决办法。解决方案新建一个 html 文件,比如 flash.html, 然后输入如下的代码。...

2018-03-16 09:39:59 31570 4

原创 vuejs loading 模态窗口例子

可以根据需要自行修改,效果如下环境条件vue2,两个组件文件,还有一个使用的例子. 用到了 pug 和 scss 语法, 也可以改成 html 和 css ,loading 图标的参考来源 https://nguyenvanduocit.github.io/vue-loading-spinner/ Loading.vue <template lang="p...

2018-03-07 10:05:27 4843

原创 Python Golang 解析web日志正则一例

有部分日志文件解析的需求,现在使用的python做的,想看看golang的下表现怎么样,由于对golang没那么熟悉,所以没有做什么优化,对比下看两种语言正则提取的代码和性能。仅做参考和思考环境macos 11.13.x 15年版本python2.7 brew直接安装的go 1.8.1都是内置的 re 库日志格式188.24.51.81 - - [01/Feb/2...

2018-02-24 11:25:41 1684

原创 [OpenResty]使用nginx lua清除proxy cache

分享2篇文章,介绍了nginx proxy cache的原理,以及怎么使用lua做 cache purge, 包括单一url的清除,特别的支持了通配符的purge操作。核心代码 gist url-- Tit Petric, Monotek d.o.o., Tue 03 Jan 2017 06:54:56 PM CET---- Delete nginx cached assets with a

2018-01-03 10:20:04 3876 2

原创 orangleliu的2017年总结

不管过的好坏,回头看看一年的经历总是好的年初的时候对自己说 这一年一定要有所收获,不管是赚钱还是生活水平。事实上这一年收获了很多,但是账面上却毫无起色。梦碎从16年10月到17年9月,接近一年的时间里,工资从来没有发完整过,每个月3000块不到。我想能接受这样的经济收入继续创业,并且连个大饼都没给过的人也没几个,不是极度 傻 就是有无比坚定的信念,我承认我是 傻。 最后实在坚持不下去了,我们几个非

2017-12-27 22:52:19 797 3

原创 MySQL终端显示格式化

默认的mysql cli客户端非常方面,但是有时候表字段太多就会显示交错行,看起来很费劲。测试环境macos 10mysql 5.6 +mysql 自带客户端 mysql 命令来看一个例子mysql> select *from radacct limit 2;+-----------+-----------------------------------+----------------

2017-09-19 11:53:41 22594 1

原创 Django unittest 设置跳过某些case

按理说unittest 中是不应该测试那种外部依赖很强的用例,但是呢,有时候有些接口总是调试好之后怕忘了,就写了一些简单的测试case,想要通过在settings中增加一些配置来开启和关闭这些case,这样的话就可以在正常跑单元测试的时候隔离开这些不怎么正规的测试用例。环境 * Django1.8 * Python2.7.xunittest 中提供了这么一个装饰器,用起来也很简单。这里是一

2017-09-05 18:33:47 1628

翻译 OpenResty 限制下载速度

http://blog.donatas.net/blog/2017/07/25/limit-bandwidth-openresty/Nginx 有两个非常棒的模块用来限制响应(responses)的速度limit_rate 对一个客户端限制速率 bytes/每秒limit_rate_after 一般情况没问题,但是视频流传输就不好用了location / { limit_rate

2017-09-01 09:42:45 2772

原创 Openresty 动态2017.8

8.27agentzh:Mashape 公司最近赞助了我们 OpenResty Inc 公司把 ngx_stream_lua 模块重写了一遍。现在我们迁移到了 nginx 1.13.3 核心的新的 stream 子系统上面,现在 Lua 驱动的 nginx TCP 服务器也支持 nginx 变量等更多特性了。GitHub 仓库地址是:https://github.com/openresty/stre

2017-08-27 09:45:55 2490

原创 Django实践之配置文件

一个django项目通常有几个环境,开发环境,测试环境,单元测试环境,以及生产环境,这里每一种环境的settings配置都有一些区别。默认的settings是一个py文件,这里采用一个模块来组织。目标 - 每个环境不冲突 - git中不冲突配置管理Django启动时候指定settings一般有2中形式采用 DJANGO_SETTINGS_MODULE 环境变量,例如 export DJANG

2017-08-11 16:43:00 2630

原创 MySQL 分区表以及操作

对现有表进行分表, 对过期数据进行归档等操作。分表的一般 参考(只是参考): 表体积大于2g,简单查询表数据超过1000w行,复杂查询表超过200w行。 两种分表的思路 * 横行分表 比较常见的是按时间切分 * 纵向分表 对于字段的冷热程度区分很明显的情况注意的点 * 分表之前要搞清楚数据库引擎,数据现有的量,多大磁盘空间,多少行 * 分表之前 需要备份数据 * 分区之后,索引和数

2017-07-24 15:23:55 1745

原创 django views中 request, response的常用操作

以问题的形式记录一些请求和响应的常见写法,django1.8为例子。request获取post请求中的json数据def hello(request): data = json.loads(request.body) ...json格式还有一些 非表单序列化 的格式,都可以从 request.body 中获取请求体中的数据,对于ajax请求可以使用 request.is_aja

2017-07-17 14:03:24 4118

原创 【Django】源码分析之session生命周期

Web应用中session是至关重要的一个概念,有了它http就有了状态。 我们才能方面的开发出各种基于用户的应用。说到session 不得不说cookies,不过cookies在服务端基本没有太多需要实现的逻辑,基本就是存取和报文格式之类,所以不做研究。 (下面是根据django1.8代码分析)session在django源码中的主要配置(django/contrib/sessions),主要的

2017-07-13 10:52:59 3357 1

原创 Python 中 time模块 time.time() 是不是系统调用

事情是这样的,最近公司自己定义了一个api规范,其中有一部分是请求时候用时间戳做 md5摘要。 然后我看到领导在文档中说 python 的 time.time() 是系统系统调用,调用的消耗太大,md5摘要中不用时间戳,而是用其他的字段。 于是我就不太相信这个说法。线上的环境一般是 CentOS6.7 , CentOS 7, Python 的版本 2.6(惭愧),2.7。下面的测试环境是 Cen

2017-07-09 16:30:39 3655

原创 python logging模块 init格式配置传递参数

Python项目中,logging模块的配置使用了 ini 这种配置,也叫做 fileconfig 配置,然后不想把存放 log 文件的目录 硬编码。抽象出来就是怎么给 init 格式配置文件传递参数。利用 fileConfig 中的 defaults 参数可以实现 文档地址py文件import loggingimport logging.configlogconf = os.path.joi

2017-07-05 15:29:57 3305

原创 Python date 类型转 datetime 类型

datetime to date在 Python 中,通过 datetime 获取到日志的 date 类型比较简单, datetime 提供了 date() 方法In [1]: from datetime import datetimeIn [2]: help(datetime.date)In [3]: datetime.now()Out[3]: datetime.datetime(2017,

2017-06-22 11:12:51 15849 1

原创 Python使用pycrypto进行RSA长字符串加密

Python RSA 长字符串加密标签(空格分隔): 未分类 今天有位群友在 “Python那点事” 群里问到了一个使用 pycrypto 进行rsa报错的问题。问题使用 pycrypto 进行 rsa 加密解密,padding模式是 RSA_PKCS1_PADDING, 加密比较短的字符串没问题,加密长的字符串就报错。 raise ValueError("Plaintext is to

2017-06-09 17:00:43 18470 11

原创 Django 禁用Migrations 给 Unit Test 提速

文章地址:https://simpleisbetterthancomplex.com/tips/2016/08/19/django-tip-12-disabling-migrations-to-speed-up-unit-tests.htmlDjango 框架提供了 test 接口,很简单,自从1.7版本之后添加了 migrations 特性,默认的 test 命令会在每次执行的时候进行 migr

2017-06-08 12:51:31 1729

原创 MySQL 错误 “could not be resolved: ..” 和引发的思考

早上的时候发现mysql从库有点异常,看完了从库的日志,也看看主库的error log吧,这一看不得了啊,什么乱七八糟的ip都出现在日志里面,是不是叫人 密码爆破了。。mysql版本5.6.132017-06-04 09:29:19 45300 [Warning] IP address '123.206.224.80' could not be resolved: Temporary failure in name

2017-06-04 16:42:14 17698

转载 MySQL Join算法与调优白皮书

转载自 InsideMySQL 公众号,微信公众号不好被搜索引擎收录,所以转载一份备看。原文地址: https://mp.weixin.qq.com/s/vt7YjxaikJh14pnY2FAWvg 写作时间 2015-07-23正文Inside君发现很少有人能够完成讲明白 MySQL 的 Join类型与算法,网上流传着的要提升Join性能,加大变量 join_buffer_size(me:这是个

2017-06-03 11:28:52 5595 1

转载 Go Tracing Roadmap

Go Tracing Roadmap golang 分布式追踪的路演, 直接从语言层面支持这些特性,golang真是太棒了, 原始文档在 google doc 上,可能有些同学网络不太方面,所以转一份在这里。Jaana B. Dogan (jbd@golang.org), May 15, 2017This document summarizes the state of the distribu

2017-05-27 10:04:54 1433

原创 [django]禁用 Django Rest Framework 的 Browsable API

如果您用django来开发 restful 接口一定听说过或者使用过 Django Rest Framework 这个项目(简称DRF), 它可以帮助django用户方面快捷的开发 restful api,并且提供了完善的文档。 DRF提供了一个非常好用的功能,叫做 Browsable API ,也就是说在浏览器中访问某个接口,就会自动获取到这个借口文档化的信息,非常方面接口查询,使用。开发环境或

2017-05-25 10:12:35 3164

原创 golang websocket 模拟pc扫码登录

之前写了一篇 微信第三方扫码登录抓包小记 ,正好最近看golang,于是面向google编程写了个服务端的程序。第一次写golang程序,用来学习的。 模拟PC浏览器二维码扫描登录的过程,手机APP端用 微信 模拟,简单起见,APP端只要发送token给服务端就算登录,服务端主动提示登录成功信息。依赖包 用到了 websocket 和 二维码 * golang 1.5 version * gol

2017-05-20 08:14:23 3848

原创 微信第三方扫码登录抓包小记

微信第三方扫码登录流程抓包,主要了解扫码登录机制。主要有2个角色,PC端浏览器(下面简称PC端),手机端微信APP(下面简称微信), 浏览器端的抓取使用 Chrome的开发者工具,手机端的抓取使用 Charles (mac上的一款抓包工具),下面是一次交互中的抓包记录,顺序进行。PC端 点击osc上的微信登录按钮https://open.weixin.qq.com/connect/qrconne

2017-05-18 07:54:06 18745 4

原创 [OpenResty动态] 201705微信群

17年5月 OpenResty 一些动态,主要来自微信群,方面大家检索和查找。OpenResty 新特性enable_privileged_agent院生同学最近给 OpenResty 贡献了 ngx.process 模块,可以开启一个特殊的特权 nginx agent 进程,类似 worker 进程,但不监听虚拟主机的那些端口,同时也继承和 nginx master 进程一样的系统帐号。文档在这

2017-05-15 15:08:15 2534

原创 pycrypto 和 lua-resty-rsa 进行跨语言的RSA加密解密.md

最近需要在 OpenResty(Nginx lua) 和 Python 中做RSA的加密和解密操作,客户端是Python的使用 pycrypto 库,而服务端使用 OpenResty 来做解密,使用了德江的 lua-resty-rsa。如果不熟悉2个库的同学可能会遇到一些问题,下面说下遇到问题和简单的示例。主要遇到的问题就是 rsa padding的问题, lua-resty-rsa 默认使用的是

2017-05-15 11:09:04 7291 1

原创 利用 Headless Chrome 根据url生成pdf

Google developers 最近发布了一篇文章,关于 Headless Chrome 的入门 ,从 Chrome 59 版本以后就可以在服务端使用 无头Chrome了,不仅有 cli 的接口,还有多种语言的接口,给 Web 自动化测试带来新动力呀,当然很多有意思的东西可以更方面的做出来了。原委开始想把微信收藏夹里的文章抓取并生成pdf,找了几个python的库,用requests 抓取 h

2017-05-13 15:06:31 5286

原创 《MySQL运维内参》书籍目录备忘

这本是MySQL专家写的书(周彦伟,王竹峰,强昌金),介绍 MySQL 数据库知识的专业书籍,从核心原理到最佳实践,逐步深入浅出, 层层抽丝剥茧,不仅从源码和运维两个角度介绍了MySQL 大部分重要概念和运维要点,还 讲述了MySQL 最优秀的集群组件Galera的实现原理和运维经验,同时,也介绍了作者独立开发的 MySQL 审核系统 Inception的设计、实现与功能。一直关注他们的公众号,觉

2017-05-12 13:51:16 5390 2

原创 Django template 中优雅的自定义权限过滤filter

由于业务原因需要在Django模版中自定义一种权限过滤方式,作用类似于django auth系统中提供的 permissions filter.下面是我看到一种写法,实现起来比较简单,用起来也比较简单 django-user-permissions-in-your-templatesfilter部分代码from django import templateregister = template.L

2017-05-10 10:22:06 2808

原创 Django model中设置多个字段联合唯一约束

使用Django中遇到这样一个需求,对一个表的几个字段做 联合唯一索引,例如学生表中 姓名和班级 2个字段在一起表示一个唯一记录。Django中model部分的写法, 参见 unique-together 部分文档。class MyModel(models.Model): field1 = models.CharField(max_length=50) field2 = models.C

2017-05-08 10:39:19 21147 1

Coroutines

python 携程相关的

2015-09-22

精通正则表达式英文版

Mastering_Regular_Expressions chm版本 不错

2013-03-29

fileupload的jar包

方面官网资源不好的下载 主要用于servlet3.0之前的版本,文件上传用的第三方类

2012-03-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除