Python的日志模块

本内容详细说明Python标准库里的logging模块。不管做基于命令行的工具,还是Web应用,都离不开日志记录。 logging 模块中有几个概念: Logger:日志记录器,是应用程序中能直接使用的接口; Handler:日志处理器,用以表明将日志保存到什么地方,以及保存多久; Formatte…

django中清理makemigrations的方法

1. 简介 1.1 为什么要复用migrations? 很多时候,我们需要重建我们的数据库,例如:从演示时使用sqlite,到发布时使用MySQL;又或者我们在开发时,需要重置数据库;又或者我们发布前需要清空/重置数据库。 1.2 它们究竟在背后做了什么? 我们先来回顾在django的项目中,与数据…

实现LRU缓存算法

不积跬步无以至千里 1. 需求说明 LRU,全称Least Recently Used 近期最少使用,是开源世界里最常用的缓存算法,应用范围非常广泛,例如:HTTP缓存服务器工具 -- Squid、LVS、Redis淘汰键的规则、Memcached等。它的处理逻辑:删除那些最少被使用的条目。 当我们…

搭建本地的PyPI仓库-devpi

快乐的秘密不在于成就卓越,而在于不断成长。 0. 简介与背景 为什么要部署私有的PyPI? 1)官方的PyPI 没有收入来源,纯粹靠捐款,由Python软件基金会运行; 2)简化了共享代码的维护; 3)使用setuptools 将整个项目打包是非常好的做法; devpi 主要有三部分组件: 1)de…

kubernetes 命令行工具 kube-shell

你对一项技能的兴趣越浓,掌握这项技能的速度就越快。 1. kube-shell 1.1 为什么会有kube-shell Kubernetes 自带了一个kubectl 工具,集成了所有与 Kubernets API Server 交互的操作,常见的如:创建、修改、删除 pod/deployment/…

4种语言实现-99乘法表

一个优秀的开发人员,至少懂2门以上的开发语言。 0. 开发的原则 思维比实现的工具更为重要! 就像你是救火队员,一个人被困车里,我们首先要确定的是营救方案,而不是考虑拿锤子,还是电锯。 以下以99乘法表为例,思路都是一样的,只是用了4种开发语言来实现而已。 1. shell 运维人员必须要懂的脚本语…

Python的生态圈工具

1. Python内置小工具 1.1 一秒钟启动一个web服务器 # 2.7 版本 [root@devPython-182 web]# ls stud_01.txt stud_02.txt stud_03.txt stud_04.txt stud_05.txt stud_06.txt stud_07…

成为真正的Python开发者.md

1. 关于编程 编程其实挺好玩的,部分乐趣来自逻辑方面,就像破案解题一样,另外一部分是创造力。我们必须正确地编写程序才能得到正确的结果,但是可以用任何喜欢的方式来完成它。这是一种不寻常的左右脑平衡思考训练。 对于一名程序员来说: 逻辑思考能力最重要; 语言能力也很有用; 耐心很重要(找bug); 2…