Posts under tag "Python"
Python日志:从原理到实践
日志是调试程序、记录代码执行过程和排查线上线下问题的重要手段,Python
中内置了logging
模块,可以很方便的根据需要输出日志。本文将详细的讲解和演示Python
中logging
模块的几个重要组件,并提供一些日志输出的经验和方法。
将m3u8.sqlite格式的文件转码成mp4的过程
个人习惯,比较偏爱将某些视频资料下载到线下进行离线播放。
分析m6u8.sqlite的数据内容
这次想看某投资app的视频,于是先利用app自带的下载功能将视频下载到手机上。发现手机上保存的是 m3u8.sqlite
格式,为了方便分析,于是把这些文件全部转到电脑上,文件大小200M,基本确认视频内容就保存在这个文件中。传到电脑上之后,直接开始使用Linux的sqlite3命令进行分析。
flask编写一个简易版的DnsPod
DNS是当前互联网最重要的基础设施,一般企业内也会部署自己的私有DNS服务器,在我们公司就是部署BIND9做内部域名解析,用DnsPod做外部域名解析,为了配合Nginx的运维自动化,所以对外封装了DnsPod的api接口,对内自己用flask封装了一套api。目前的过程是使用数据库记录DNS的解析记录,通过模板生成DNS的配置文件,并推送到DNS服务器,然后reload生效,过程比较复杂。
Python的重试模块retry
在某些场景下,代码执行出现异常的时候,我们希望代码能自动进行重试。比如,某个三方接口的token
时效时间是30分钟,在编码的时候,我希望能主动尝试登录。如果接口返回401了,重新获取token
,再用新token
请求一次。
Python编写简单的gRPC服务
感觉gRPC似乎一直在流行与不流行之间,似乎周围没什么人用,但是每隔一段时间都会听到一些gRPC的消息,今天刚好有团队要gRPC的支持,所以就自己也测试下怎么用Python来写gRPC的服务。RPC是远程过程调用(Remote Procedure Call)的缩写形式,基本可以理解为RPC就是要像调用本地的函数一样去调远程函数,gRPC就是Google开源的RPC框架。闲话不多说,show you the code!
Continue Reading ...
只是Flask-CAS的Demo而已
起了个轻松一点的标题,但其实是折腾CAS的心酸史,跨越大半年的时间,终于搞定了Flask-CAS这个模块。这是个悲伤的故事!
从头说起,CAS是central authentication service的缩写,也是一套单点登录协议标准。每个公司内部有很多自研的、商业的或者开源的系统,如果有了CAS,你只需要在某个接入CAS的站点登录,其它站点就可以自动登录了,不需要再单独验证。听起来很爽吧。这里不讲解具体原理,因为通过搜索引擎找到这篇文章的人应该都是和我曾经一样走投无路只想解决问题的人。。。
搭建Flask开发环境并在nginx上使用uwsgi部署
本来就想学习一门python的web框架,正好有需求要写个api,半天时间用flask写完接口,功能是从数据库中读取用户id,以json串格式返回。flask入门不难,简单看了文档的第一节就写好这个功能。在Nginx上部署的时候花了些力气,下面记录一下。