orangleliu 笔记本

lzz的编程之旅,技术,思考,分享,happy
私信 关注
orangleliu
码龄11年

快乐编程

  • 3,514,120
    被访问量
  • 490
    原创文章
  • 531
    作者排名
  • 1,479
    粉丝数量
  • 于 2010-04-26 加入CSDN
获得成就
  • 博客专家认证
  • 获得440次点赞
  • 内容获得249次评论
  • 获得514次收藏
  • GitHub 获得266Stars
荣誉勋章
TA的专栏
  • 如今Python
    174篇
  • 笔记
  • devops
    1篇
  • Django
    59篇
  • Linux
    43篇
  • MySQL
    28篇
  • 他山之石
    14篇
  • 自动运维
    24篇
  • 数据库
    28篇
  • 曾经的Java
    27篇
  • 商业思维
    1篇
  • 算法结构
    8篇
  • 读书笔记
    12篇
  • Git
    4篇
  • Nosql
    9篇
  • 生活随想
    29篇
  • Code
    8篇
  • Vim学习
    5篇
  • 前端
    14篇
  • 测试 test
    4篇
  • 各种错误
    17篇
  • Javascript
    2篇
  • Shell
    14篇
  • Golang
    5篇
  • Lua
    9篇
  • MongoDB
    7篇
  • flask
    8篇
  • tornado
    2篇
  • openresty
    20篇
  • 并行
    3篇
  • 安全
    4篇
  • nginx
    11篇
  • mac
    7篇
  • 问答
    7篇
  • AAA
    4篇
  • 树莓派
    1篇
我和我的朋友
独立博客
我的豆瓣
我的知乎
我的Github

欢迎技术交流 广告勿扰 感谢!

芮峰云
胡阳
艾晨
培强
Reboot运维开发
思聪
陈庆
王碧州
芮峰云2
张斌
邓磊
向军
沈灿
艾民
张少志
李京奥
钿畑
张强
钱威
Felix
邓世龙的学习笔记
IT鹏哥
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

这算个啥技术社区。。连个资讯都不算呀

发布Blink于 8 月前

这个社区氛围很诡异

 
发布Blink于 9 月前

[Maven]Nexus自建伺服切换地址之后遇到的问题

背景:公司有自建的nexus伺服,需要从老的地址 http://svn.xxxx:8081 (老地址) 切换到新的域名 (http://nexus.xx)。 过渡期已经有一两年了,最近老地址的机器要退了,所以必须迁移到新机器,记录下遇到的问题。Nexus 使用公司内部的开发,测试,以及发布都统一的Nexus仓库,包括Java服务端,安卓。下面说的502,是无法从老地址下载的一种统称问题和解决1 需要更怎么更新配置呢主要包括repositories pluginRepositories 节点中.
原创
286阅读
1评论
0点赞
发布博客于 9 月前

[devops]编译部署阶段

针对于后端服务非docker场景的pipeline
原创
201阅读
0评论
0点赞
发布博客于 1 年前

给企业内部用的产品一定要考虑api的设计,即使做到jira这种了灵活的配置性,依然有大量的集成工作需要用API做二次开发

 
发布Blink于 1 年前

各种分享太多 看不过来 最可怕的是同质化严重 也没啥营养

 
发布Blink于 1 年前

#经验总结#简单的代码质量扫描流程

发布Blink于 1 年前

今天地铁里几乎都戴了口罩

 
发布Blink于 1 年前

观点 就是用来质疑的。会议上的说观点,别说真理,真理大家都懂,太普适性。

 
发布Blink于 1 年前

信息爆炸,信息向洪水一样涌进我们的感官,被动接受的安逸容易让人放弃思考。独立思是很可贵的品质。

 
发布Blink于 1 年前

坚持一些自己喜欢的领域 别随风改航。。现在媒体太吓人,很多方向都是虚假繁荣

 
发布Blink于 1 年前

csdn 的文章标题党有点多。。

 
发布Blink于 1 年前

orangleliu的2019年小结

19年过的比较惶恐,突然感觉自己没有了竞争力,内心战斗力还是有的,就是感觉有力使不出,发挥不出来。去年的心愿旅行读书其他的完成度比较低说说今年的印象深刻的几个词失业随着老ken不能说服爱立信,elmeast一直无法盈利,5月份的时候公司就几乎停止开展业务了。从年后一直陆陆续续的裁员,5月底几乎全部走光了,甚至5月下半个月连办公室都退租了,蛮惨的。几乎从5月下半月就开始找工作...
原创
285阅读
2评论
0点赞
发布博客于 1 年前

[bpf]bcc-tools和bpftrac运行错误 Error creating printf map: Operation not permitted

最近把公司的电脑安装了 ubuntu系统,用来做日常开发和学习的环境,看到内核比较新,所以想弄点新玩意玩玩。环境为# cat /etc/issueUbuntu 18.04.3 LTS
\l# uname -aLinux zhizhiliu-hp 5.0.0-32-generic #34~18.04.2-Ubuntu SMP Thu Oct 10 10:36:02 UTC 2019...
原创
633阅读
0评论
0点赞
发布博客于 2 年前

[Python] MultiprocessTimedRotatingFileHandler

Python logging模块在多进程下不保证同步,所以 TimedRotating 的情况下可能会导致某些日志文件丢失,下面是一种简单的解决办法,对于日志完整行要求不是很严格的情况下可以使用。# coding:utf-8import timeimport osimport loggingfrom logging.handlers import TimedRotatingFileHan...
原创
241阅读
0评论
0点赞
发布博客于 2 年前

随笔201906

本年度Blog写的很少,加上去年的总结一共3篇,是什么原因呢?工作的事情不是很稳定,有些计划就被打乱了,之前蛮多的文章都是工作总结,还有就是看东西有些凌乱,不够专注,导致蛮多的知识只在皮毛,没有什么体系,所以就没啥记录。搬家4月份的时候已经交房拿到钥匙了,接着贴了墙纸,小修小补,然后就是看家具买家具,一直拖拖拉拉,直到租的房子到期才算搬过来,这段时间又把家里的生活用品,家电陆陆续续买买回来...
原创
238阅读
1评论
0点赞
发布博客于 2 年前

Flume avro client和hdfs sink 完成自定义目录文件收集

准备背景: 把分散在个边缘Node的访问日志收集到中央节点,然后在做后续的处理。边缘Node(例如hostname为BJ-NODE1) 上的日志每分钟切出来一个文件,通过 Flume avro client 把5分钟粒度内的日志上传到中央节点,生成一个文件,文件名类似 BJ-NODE1_timestamp.log。大概的逻辑如下图avro clientD中央avro clientavro ...
原创
916阅读
0评论
0点赞
发布博客于 2 年前

说说HTTP 202状态码的场景

最近线上有对接其他系统的HTTP请求,总是取不到数据,导致数据偶尔丢几次。这是个交接过来的系统,之前也没对过API,后来拿到API以及测试之后,才发现是202状态码的异步任务导致的。概念rfc2616MDN HTTP 202200 OK200 OK 表明请求已经成功. 默认情况下状态码为200的响应可以被缓存。不同请求方式对于请求成功的意义如下:GET: 已经取得资源,并将...
原创
33160阅读
8评论
4点赞
发布博客于 2 年前

Orangleliu的2018年小结

生活今年总的来说家庭合睦,身体健康,蛮好的。最大的事情就是买房子,借遍了亲戚朋友,加上父母的家底才凑够首付,虽然房子不大,也算有了自己的家,年后就可以搬进去了。虽然一下子欠下很多钱,有点不适应,但是有家的感觉还是蛮好的。18年房产调控比较厉害,所以买房的时机并不是很理想,稍微贵了些,从买房子整个过程来看,还是缺乏社会经验,考虑不周全,场面上也比较稚嫩,谈判中立场,以及沟通技巧都需要增强,以后才...
原创
434阅读
1评论
0点赞
发布博客于 2 年前

Golang 按行解析日志测试 ldetool

比较早的时候写过一篇 Python Golang 解析web日志正则一例 当时发现 Golang的正则模块性能不是很好。最近在逛 reddit的时候发现了这样一篇文章 Fast log parsing with Go ,文中提到了一个基于行做半结构化解析的库ldetool, 于是又做了一些尝试和学习。ldetool 这个工具更像一个DSL,通过一种语法来写解析的语法,然后通过 ldetool g...
原创
1395阅读
0评论
0点赞
发布博客于 3 年前

Mac上使用SecureCRT

之前在mac使用ssh是用的一个开源的python + expect 脚本来做的,简单的连接操作还是挺好的 https://github.com/upton/ssh-auto-login-manage ,最近一些工作这个方式不太好满足,一个是同时操作多个机器,一个是使用rzsz 来传输文件(mac终端使用expect之后 lrzsz就不好使了)。 于是开始用 SecureCRT 了。我这里用的是...
原创
6147阅读
1评论
0点赞
发布博客于 3 年前

Python 使用office365邮箱自动发送邮件

现在公司用的是 office365 的邮箱,有需要自动发邮件的需求,发现了一个还不错的库,写了个小demo,主要是smtp的配置注意下安装方式 pip install emailsimport emailsfrom emails.template import JinjaTemplate as TUSERNAME = 'xxx'PASSWORD = 'xxx'smtp_conf...
原创
7412阅读
0评论
0点赞
发布博客于 3 年前

Unix like系统清除 ^M

最近在接手其他人的项目,有些是用windows开发的,安装到linux发现执行不起来,出现了错误 -bash: /etc/init.d/tm: /bin/sh^M: bad interpreter: No such file or directory (还有一些配置无法读取等等了), 后来想起来windows 和unix 的换行符不同导致的,windows下默认为 \r
, mac和linu...
原创
387阅读
0评论
0点赞
发布博客于 3 年前

随笔201809

不好好读文档的惨痛教训大家都知道golang的 time layout是一个特殊的字符串 Mon Jan 2 15:04:05 -0700 MST 200, 比如最常用的格式就要这么写 "2006-01-02 15:04:05", 每个数字都是固定的含义。今天使用gokit做日志解析的时候愣是写成了 02/Jan/2006:03:04:05, 结果上午的数据解析的好好,下午的解析不了了...
原创
224阅读
0评论
0点赞
发布博客于 3 年前

Python 大文件多进程并行处理小例

这里的需求很简单,统计比较大的log文件的行数,最终版本请看最后一段代码。环境64G 32核心 机械盘python2.7.5文件的信息$ tail www.geniatech.net14.182.200.249 - - [23/Aug/2018:00:11:06 HKT] "GET http://www.geniatech.net/down-eng/upgrade/...
原创
10050阅读
1评论
3点赞
发布博客于 3 年前

Python日志解析入库优化

上周做了一些测试还有改进,这里简单的总结下。需求需求是这样的:网络存储Gluserfs每天的日志文件大概有400多G的样子,全是类似nginx的默认格式的web日志,文件的大小分布不一定,几kb也有,几个G的也有,目录深度3~4层的样子。 现在把网络存储挂载到ServerA上,需要做的就是扫描昨天的所有日志文件,然后解析日志,存储到另外的ServerB上,B上是一个单机的Cli...
原创
1391阅读
0评论
1点赞
发布博客于 3 年前

随笔201808

为了可以看看很大的世界,我和 远总 各买了VPS,主要用来搭建天梯,一般都是我来维护的。最近想看看流量使用情况,于是弄了下监控来把玩下, grafana + prometheus + node_exporter 做了一套简单的监控平台来监控我们的主机基础指标还有网络流量。 用作监控的是 openvz主机,1G内存,20G硬盘,比较惊讶的是这几个组件跑起来之后总的内存消耗不到 60m,记得之前用za...
原创
1031阅读
0评论
0点赞
发布博客于 3 年前

kubeadm安装k8s测试环境

目标是搭建一个可测试的k8s环境,使用的工具 kubeadm, 最终一个master节点(非高可用),2个node节点。环境以及版本Centos7.3kubeadm 1.11.1kubelet 1.11.1kubectl 1.11.1docker-ce-18.06 说明 kubeadm默认的etcd是本地的,所以这里使用的是本地 etcd,而不是kubeadm中的...
原创
2889阅读
0评论
0点赞
发布博客于 3 年前

[Macos] ssh登陆小工具 ssh-auto-login-for-macos

ssh-auto-login-for-macos SSH自动登陆小工具Macos 上登陆 ssh 其实在 terminal 或者 iTerm 使用原生的 ssh 命令就行,但是如果我们的服务器稍微多一点,即使用key的方式登陆,那么多ip总是难以记住。常见的几个解决方法配置 ~/.ssh/config ,设置免密码登陆使用 alias,设置免密码登陆使用第三方的客户端,例如...
原创
2400阅读
0评论
0点赞
发布博客于 3 年前

黑夜路人2聊天小群

17年的白天某个时间,不堪忍受灌水的 黑夜路人群 的群友们自建了一个非技术的聊天专用微信群,群主是被大家成为大姐大的 静姐(后来大家聊天太火热,她也不堪忍受,退群了 - -!)。 但是这个群促成了我第一次和网友聚会,然后还交到了几个朋友,这对于不善交际的我,有种收获不小的感觉,下面是根据回忆点评一下这些群友,以便以后回看。(顺便感谢 黑夜路人大哥)大小聚会3次,我都跟着去了。。少爷总也去了,先...
原创
1824阅读
0评论
0点赞
发布博客于 3 年前

Google Stackoverflow Github 访问问题

stackoverflow 和 自建 google镜像很多时候我们想要用google,但是呢梯子不太稳定,或者有时候用梯子还要维护pac等,反正就是不太爽。 这时候可以自己搭建一个 google mirror,最常用的网站一般就是google and stackoverflow, 下面说下简单又有效的方式。首先有个国外的主机,可以访问404网站,最好有个域名搭建google mirr...
原创
2928阅读
0评论
1点赞
发布博客于 3 年前

陈天-软件开发能力-live 笔记

工程师往往忽略的软件开发能力 slide 地址软件开发能力在刚开始的阶段大家对于语言的关注度往往大于系统层级,业务层级。软件系统是个大工程,包括 separate programs, configration files ,代码或者编程语言都只是一部分。发展阶段 idea -> mvp -> business -> real system(provid...
原创
1907阅读
0评论
1点赞
发布博客于 3 年前

[macos] 通过usb共享网络给iphone

主要是想抓iphone的包,现在只有一个mac pro电脑,一个iphone手机,有wifi网络,(通过uuid抓包的方式不稳定),所以需要iphone的流量都从mac上走,然后在mac上进行抓包。macos 10.13 phone7 ios11.3操作步骤首先是mac电脑连接上wifi,mac可以正常的上网 系统偏好设置 -> 共享, 看到左侧有复选框,点击 ...
原创
22833阅读
0评论
0点赞
发布博客于 3 年前

2018.06~7 阅读随笔

Your State is Not Mine: A Closer Look at Evading Stateful Internet Censorship 加州大学滨河分校的的一个关于gfw绕过的研究,gfw阻止网络有IP禁止,以及tcp reset的方式,这个研究主要是提出一种绕过TCP connection reset这种qiang的对抗方式。 Once a sensitive...
原创
1784阅读
1评论
0点赞
发布博客于 3 年前

[Macos] pptp 客户端安利

升级到macos 10.13版本之后,发现原来自带的pptp客户端没了,但是还是有用到pptp vpn的时候啊,找啊找,找到一个还不错的 pptp mac客户端 下载地址为 https://www.flowvpn.com/download-mac/下载的软件为 FlowVPN Connect.app,这个网站还有个VPN服务的客户端,请不要搞混了。 同时还支持openvpn以及ssh协议...
原创
10621阅读
0评论
0点赞
发布博客于 3 年前

内网IP端口扫描统计+服务识别简单思路

前提:内网是10网段的,几乎所有机器都开了80和22端口,所以以此为依据认为扫描到的都是在线的IP。 目标是得到在线的IP启动了哪些端口,尽量猜测端口对应的服务。Centos7 (macos用brew直接安装就行)Nmap 6.47Masscan 1.0.4Python 2.7.xcentos7 sudo yum install nmap## masscan 需要...
原创
6830阅读
0评论
0点赞
发布博客于 3 年前

[linux]非root账户 sudo cd 无法切换目录解决办法

在Centos上有个账户A(非root),有sudo权限(权限比较大),想要用 cd 命令切换到 B账号的 /home/B 下的目录,结果没作用[liuzz ~]$ sudo cd /home/xiejl/[liuzz ~]$ sudo cd 无法使用是因为 cd 是 bash 的内置命令。sudo 让A变成了root,然后 bash 再去查找 sudo 后面跟着的命令,然而找不到c...
原创
7469阅读
0评论
1点赞
发布博客于 3 年前

[python]使用pycrypto 或者 cryptography 生成rsa 公钥私钥对

简单的例子分别使用了 pycrypto 和 cryptography 库,可以根据自己的需求调整 key的长度或者是格式,默认是 PEM的。代码# coding:utf-8from Crypto.PublicKey import RSAfrom Crypto import Randomdef generate_rsa_keys(): """crpyto inst...
原创
3554阅读
0评论
0点赞
发布博客于 3 年前

[Flask] pytest 文件上传单元测试

http 小文件上传的接口一般采用 表单形式的上传(http post) 或者是 stream 的直接上传 (http put), 用flask实现了上传接口之后就需要测试,怎么造请求折腾了一会,下面记录下代码片段test_upload.py # coding:utf-8from cStringIO import StringIOimport pytestfrom .....
原创
3155阅读
2评论
0点赞
发布博客于 3 年前

[flask小坑] request.json 无法获取请求body的json数据

写接口自动化测试的时候,发现用httpie发送带有put请求,flask后端api可以获取到json数据,而我用robotframework发送的请求就不行,flask的 request.json 获取到的数据为 None怎么办?查文档,看代码呗代码 https://github.com/pallets/flask/blob/master/flask/wrappers.py#L53...
原创
20754阅读
5评论
11点赞
发布博客于 3 年前

orangleliu 的笔记分享

有些内容没有系统的整理,也因为经常编辑,所以通过链接的形式分享下,有空再整理分享s3cmd访问ceph rgw用fakes3作为ceph对象存储测试环境linuxcurl 常用case curl是简单手工测试的神器,非常有必要掌握...
原创
1350阅读
0评论
0点赞
发布博客于 3 年前

Openresty 反向代理返回非200进行retry到自定义upstream

利用 error_page 指令对反向代理返回的 404, 302... 等状态码,做子请求的二次处理。client -[1]-> nginx proxy <--[2]--> 站点A(返回404,302) |[3] V 站点B (返回200)比如作为CD...
原创
2962阅读
0评论
1点赞
发布博客于 3 年前

[Nginx] proxy cache 中对带有 Range header 请求的处理

media 文件下载服务需要一层cache,使用的是 Nginx 的 proxy_cache 模块,文件下载常见的一个需求就是要使用 Range 这个请求header来下载文件的一部分。下面就是测试 proxy_cache 模块,对这种请求的处理。思考前提下载服务本身支持range请求第一种情况:请求Range --> nginx proxy cach...
原创
4342阅读
0评论
1点赞
发布博客于 3 年前

Flask http 上传下载demo

说明http 上传通常有两种模式 利用 enctype 为 multipart/form-data的表单上传,通常我们上传图片等小文件都是用这种方式. 参考MDN的文档 Using FormData Objects。一般的web框架支持都还不错,注意稍大一些文件写到disk就好,否则可能内存用的比较多,常见的问题还有多文件批量上传。使用 Range 模式上传,思路就是把大文件拆分成很多...
原创
2354阅读
0评论
0点赞
发布博客于 3 年前

[MongoDB] 聚合嵌入的数组

mongo-aggregate-nested-array 文档中嵌入了数组,此时就是要聚合这个嵌入的array。MongoDB 3.6数据样本{ "_id" : ObjectId("5aa63f7034cdbd6928f831ff"), "domain" : "metacafe.com", "cdn" : "LLNW", "
原创
3576阅读
0评论
0点赞
发布博客于 3 年前

[MongoDB] 聚合嵌入 object 的 key

标题比较拗口,下面给一个具体的例子MongoDB 3.6数据样本{ "_id" : ObjectId("5a79391534cdbd692825e978"), "cdn" : "Conversant", "domain" : "7img1.xxxx.com", "status_code" : { &
原创
1992阅读
0评论
0点赞
发布博客于 3 年前

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

统计任意时间段内和sum,avg等信息记录样本{ "_id" : ObjectId("5a2a290320fc1abc16104c0c"), "netservice" : "Brasil_OiVelox", "repstime" : 0.014, "stattime" : ISODate("2017-12-08T13:45:00
原创
16447阅读
7评论
6点赞
发布博客于 3 年前

Flask 中的登陆校验

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

axios 处理 302 状态码

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

[OpenResty动态] 20180328 沙尘暴

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

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

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

python 实现 i18n 多语言国际化

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

vue 中使用 axios 下载pdf

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

SSH和Netcat完成临时内网穿透

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

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

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

vuejs loading 模态窗口例子

可以根据需要自行修改,效果如下环境条件vue2,两个组件文件,还有一个使用的例子. 用到了 pug 和 scss 语法, 也可以改成 html 和 css ,loading 图标的参考来源 https://nguyenvanduocit.github.io/vue-loading-spinner/ Loading.vue <template lang="p...
原创
4231阅读
0评论
0点赞
发布博客于 3 年前

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...
原创
1087阅读
0评论
0点赞
发布博客于 3 年前

[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
原创
2804阅读
2评论
0点赞
发布博客于 3 年前

orangleliu的2017年总结

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

MySQL终端显示格式化

默认的mysql cli客户端非常方面,但是有时候表字段太多就会显示交错行,看起来很费劲。测试环境macos 10mysql 5.6 +mysql 自带客户端 mysql 命令来看一个例子mysql> select *from radacct limit 2;+-----------+-----------------------------------+----------------
原创
15273阅读
0评论
2点赞
发布博客于 4 年前

Django unittest 设置跳过某些case

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

OpenResty 限制下载速度

http://blog.donatas.net/blog/2017/07/25/limit-bandwidth-openresty/Nginx 有两个非常棒的模块用来限制响应(responses)的速度limit_rate 对一个客户端限制速率 bytes/每秒limit_rate_after 一般情况没问题,但是视频流传输就不好用了location / { limit_rate
翻译
2065阅读
0评论
0点赞
发布博客于 4 年前

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
原创
2102阅读
0评论
0点赞
发布博客于 4 年前

Django实践之配置文件

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

MySQL 分区表以及操作

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

django views中 request, response的常用操作

以问题的形式记录一些请求和响应的常见写法,django1.8为例子。request获取post请求中的json数据def hello(request): data = json.loads(request.body) ...json格式还有一些 非表单序列化 的格式,都可以从 request.body 中获取请求体中的数据,对于ajax请求可以使用 request.is_aja
原创
3782阅读
0评论
0点赞
发布博客于 4 年前

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

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

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

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

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

Python项目中,logging模块的配置使用了 ini 这种配置,也叫做 fileconfig 配置,然后不想把存放 log 文件的目录 硬编码。抽象出来就是怎么给 init 格式配置文件传递参数。利用 fileConfig 中的 defaults 参数可以实现 文档地址py文件import loggingimport logging.configlogconf = os.path.joi
原创
2305阅读
0评论
0点赞
发布博客于 4 年前

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,
原创
10204阅读
0评论
1点赞
发布博客于 4 年前

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

Python RSA 长字符串加密标签(空格分隔): 未分类 今天有位群友在 “Python那点事” 群里问到了一个使用 pycrypto 进行rsa报错的问题。问题使用 pycrypto 进行 rsa 加密解密,padding模式是 RSA_PKCS1_PADDING, 加密比较短的字符串没问题,加密长的字符串就报错。 raise ValueError("Plaintext is to
原创
15779阅读
8评论
3点赞
发布博客于 4 年前

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
原创
1375阅读
0评论
0点赞
发布博客于 4 年前

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
原创
13479阅读
0评论
1点赞
发布博客于 4 年前

MySQL Join算法与调优白皮书

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

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
转载
1169阅读
0评论
0点赞
发布博客于 4 年前

[django]禁用 Django Rest Framework 的 Browsable API

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

golang websocket 模拟pc扫码登录

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

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

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

[OpenResty动态] 201705微信群

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

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

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

利用 Headless Chrome 根据url生成pdf

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

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

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

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

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

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

使用Django中遇到这样一个需求,对一个表的几个字段做 联合唯一索引,例如学生表中 姓名和班级 2个字段在一起表示一个唯一记录。Django中model部分的写法, 参见 unique-together 部分文档。class MyModel(models.Model): field1 = models.CharField(max_length=50) field2 = models.C
原创
18135阅读
1评论
0点赞
发布博客于 4 年前

17年结婚了!

今年最重要的事情就是 结婚, 圆满落幕。4月12号回沈阳,在老婆家里办了婚前宴,我爸妈第二次去沈阳,上次在沈阳市里溜达一圈,这次在辽中溜达一圈。没有举行什么仪式,就是吃了个 溜碗。4.19 日请了婚嫁,然后跟老婆去沈阳转了几天,看了看楼盘,发现房价被炒的可以,涨了好几千,浑南很多地方还有烂尾楼,老城区房价还行,设施各方面也不错,就是房子有点旧。4.26 回到淮北,买衣服,买结婚需要的东西,29号
原创
846阅读
0评论
1点赞
发布博客于 4 年前

Python 处理微信网页版消息中的emoji表情在命令行中显示

找了一个基于微信网页版API的微信机器人,主要在命令行中使用,然后发现消息中的表情都变成了 html的标签啊,然而想让表情正常在控制台显示,就有了下面的代码。问题因为我的微信名称中有emoji表情,收到的消息是这样的 4739723278617112577 orangleliu -> orangleliu<span cla
原创
6010阅读
0评论
1点赞
发布博客于 4 年前

DMP白皮书(RTB China 翻译)

DMP的是什么? DMP能给我们带来什么好处,以及应用在哪些领域
pdf
发布资源于 4 年前

django 中 MySQL: "Field 'id' doesn't have a default value" 错误

有一个比较老的表,使用innodb引擎,但是之前的表设计中没有使用自增ID,而是使用了类似UUID的字段作为主键,后来导致整个索引碎片很严重,影响查询效率。 新上线的系统也用了这个表,由于表已经存在了就通过 Alter 语句直接删除了原来的UUID主键,新建了一个自增ID主键。 结果在修改之后出现了如下的错误 (django1.8, python2.7, mysql5.6.27)错误日志...
原创
3451阅读
0评论
0点赞
发布博客于 4 年前

Python string中删除(过滤)掉emoji表情字符

最近做了一个需求,把公众号的用户信息同步到服务端,发现很多用户的昵称里面都有表情符号(emoji), 一般的处理方式是把MySQL的编码改成 utf8mb4,后来讨论了下,这些表情也没什么用,入库的时候直接删除就好了。Python怎么过滤 emoji表情符号呢? 下面是剔除表情字符串的代码片段 python2.7 下测试import reemoji_pattern = re.compile(
原创
26677阅读
0评论
2点赞
发布博客于 4 年前

[问答]Python 打开多个文件怎么使用 "with open"

来源 osf How can I open multiple files using “with open” in Python?python 中比较 pythonic 打开文件的方法是用 with open,如果一次打开多个文件,怎么写比较优雅呢?python2.7 和之后的版本中,例如同时打开文件a 和 文件b,可以像下面这样写with open('a', 'w') as a, open('b
原创
7825阅读
1评论
0点赞
发布博客于 4 年前

关键词分析和查找工具

这两天 微信指数 上线了,终于有了一个官方渠道来查看关键词趋势了。不管是个人站长还是网站运营,还是做 网络营销 等等,对于关键词的查找,挖掘,分析都是非常重要的技能。 关键词选择的好坏对产品的推广,传播也有非常重要的影响。下面就列出一些收集的工具指数类一种是排行榜,类似百度风云榜,看看现在哪些是热点,还有一种是自己选择一些关键词来看趋势,例如微信指数。搜索引擎百度指数360指数百度搜索风云榜
原创
2434阅读
0评论
0点赞
发布博客于 4 年前

基于 OpenResty 的二维码生成方案

做一个简单二维码生成API,先找找可用的轮子 lua-resty-QRcode 还有 qrencode 。 下面是安装和测试,第二个方案安装和使用更为简单一些,所以使用 qrencode 方案,可以给有兴趣的朋友一些启发。这两种方案都依赖 libqrencode 还有 libpng , 大概的使用流程是 安装这两个依赖,然后编译上面2个库中的c文件成动态库,openresty中lua调用动态库完成
原创
3515阅读
2评论
1点赞
发布博客于 4 年前

[问答] SVN查看某个用户的提交记录

在使用svn的时候,想要查询自己提交的记录怎么做呢?或者查询某个人的提交日志的方法是什么呢?查询指定用户的svn log,这里总结2个方法1.8 版本以前svn client 1.8版本之前,使用sed 命令svn log | sed -n '/USERNAME/,/-----$/ p' USERNAME 替换成要过滤的用户名1.8 版本和以后版本svn client 1.8 之后提供了一个选项
原创
30451阅读
0评论
3点赞
发布博客于 4 年前

MySQL5.6 架构图收藏欣赏

下面是收集的一些MySQL体系架构图等,有必要多看多思考,特别适合看过一遍之后,过一段时间再看一遍,对知识回忆很有好处mysql 架构图来源:Database blog by Rathish kumar来源:江疑innodb 架构图来源:姜老师
转载
5236阅读
0评论
0点赞
发布博客于 4 年前

[MySQL] 怎样使用Mysqlcheck来检查和修复, 优化表

mysqlcheck 是 MySQL 自带的一个工具,作用就是保养 表,其实就是检查,分析,修复和优化了。下面来介绍 mysqlcheck 工具的简单使用,官方文档在这里以下的例子都是基于 MySQL 5.6 版本运行状态下(mysqlcheck是个在线工具), 不同的存储引擎对于这个命令的支持程度不同(指的是 check, repair, analyze, optimize),下面内容偏于操
原创
17241阅读
2评论
3点赞
发布博客于 4 年前

说一说提问的那些事

做为一个技术人员往往需要解决各种问题,有问就有答,我的感觉是注重答案的人更多一些,有些同学忽略了提问的重要性。关于提问,很多人都看过一篇文章 提问的智慧(中文版) 或者是这篇文章的衍生版,各大论坛啊,QQ群类似的地方都能看到。哪里有提问我所在的QQ群中经常有人会问一些比较容易找到的答案的问题,容易到什么程度呢,只要把问题放到google的搜索框里就能马上找到非常准确的答案。这种朋友不是存在思考与不
原创
532阅读
0评论
1点赞
发布博客于 4 年前

MySQL 错误一例 ERROR 1785 (HY000) @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1..

MySQL5.6倒入实例数据库 sakila 的时候出现了如下的错误liuzhizhi@lzz-rmbp|sakila-db # mysql -uroot -p < sakila-data.sqlEnter password:ERROR 1785 (HY000) at line 81: When @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1, updates to
原创
4709阅读
0评论
0点赞
发布博客于 4 年前

Python requests 报错解决集锦

一台老Centos机器上跑着古老的应用,加了一个新模块之后报错/usr/lib/python2.6/site-packages/requests/packages/urllib3/util/ssl_.py:132: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 fr
原创
9526阅读
0评论
2点赞
发布博客于 4 年前

MySQL5.6 主从复制 ERROR 1776 (HY000): Parameters MASTER_LOG_FILE ...

上一篇 [mysqldump]不停止MySQL服务的情况下增加从库 操作中遇到的问题解决。主从都开启了gtid,在设置从库的时候遇到了问题mysql> CHANGE MASTER TO MASTER_HOST=‘xxx’,MASTER_USER='replicant',MASTER_PASSWORD=‘xxx’, MASTER_LOG_FILE='bin.000050', MASTER_LOG_
原创
8497阅读
1评论
2点赞
发布博客于 4 年前

查找python项目依赖并生成requirements.txt

一起开发项目的时候总是要搭建环境和部署环境的,这个时候必须得有个python第三方包的list,一般都叫做requirements.txt。 如果一个项目使用时virtualenv环境,还好办 pip freeze 就可以解决,但是如果一个项目的依赖list没有维护,而且又是环境混用,那就不好整理的呀,不过,这里安利一个工具 pipreqs,可以自动根据源码生成 requirements.txt
原创
48892阅读
3评论
9点赞
发布博客于 4 年前