自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 ClickHouse使用总结

合理设置分区 1. 使用MySQL时,分表是应对大数据量的常用方案,因为Innodb引擎在单表数据达500W后性能急剧下降。 2. clickhouse的性能是随着数据量线性下降,没有MySQL的问题,分区是为了降低查询时需要扫描的数据量,在查询时更精准的找到数据。 3. 分区时设置的规则/字段,最好和where/order by/group by相关。 4. 分区不是分的越多越好,在分区列表中查找分区,最大时间复杂度是n。 5. 每个分区实际上是一个目录,结构如下所示,目录名

2022-12-04 22:32:26 811 1

原创 Python元类最通俗的解释

Python元类最通俗的解释对象的最大特征就是在于其拥有属性, 可以发现, 使用class关键字定义一个空类, 这个类就算不实例化, 也会拥有一些属性, 也就是说类本身也是一个对象, 除了使用class关键字, 还可以通过type()定义类.type(name, bases, attrs) 参数说明: name是一个字符串, 用来表示类名; bases是一个数组, 用来表示基类; attrs是一个字典, 用来表示类的属性和方法; type是一个类, 通过type(name, bases, attrs)方

2021-08-31 14:17:00 157

原创 json和pickle的dump,dumps,load,dumps方法的使用

"""序列化 (Serialization)将对象的状态信息转换为便于存储或传输的形式的过程称之为序列化, 该过程的逆向则称之为反序列化, 如:(1)数据和文本的转换(2)Python的数据类型和二进制数据类型的转化(3)Python的数据类型和json的转化本文介绍使用json和pickle进行序列化和反序列化, 它们都提供了四种方法: dump() 把数据序列化并保存至文件 dumps() 把数据序列化 load() 从文件中读取数据并反序列化 dumps(

2021-08-03 10:39:25 376

原创 Python实现二叉树的遍历

本文主要介绍了以下四种遍历的实现:(1) 先序遍历(2) 中序遍历(3) 后序遍历(4) 按层遍历# coding:utf-8from queue import Queueclass BTNode: """二叉树结点类""" def __init__(self, data=None, l_child=None, r_child=None): self.data = data # 数据域 self.l_child = l_child #

2021-06-06 22:51:39 151

原创 Python初始化二叉树的算法

Python初始化二叉树的算法在数据结构的学习中, 二叉树的初始化是很常见的一种操作.本文介绍一种基于队列, 从上到下从左到右的二叉树初始化方法.# coding:utf-8from queue import Queueclass BTNode: """二叉树结点类""" def __init__(self, data=None, l_child=None, r_child=None): self.data = data # 数据域 self

2021-06-06 10:36:53 1073

原创 用Python生成“年月日时分秒+自增数“格式的唯一码

本文介绍一种 “年月日时分秒 + 自增数” 格式的的唯一码生成方式自增数最大可以为999999(百万)import timedef _generate_code_func(): n = 0 previous_time = '' def inner(): nonlocal n nonlocal previous_time current_time = str(time.strftime("%Y%m%d%H%M%S", time.

2021-05-25 10:42:00 772

原创 2021-05-24

**工作一年总结**""" “工作只是锻炼我的技能, 我会的每一样技能都是自己主动学来的.” 以前人问我, 工作中学会了什么, 我答没有收获, 我觉得不应该把自己主动学习到的东西算在工作上, 后来想想, 算的, 因为就算是我的主动学习, 也是建立在工作需要的基础上的. 我毕业一年了, 认真想想, 觉得工作真的让我自己学会了很多, 一年前我刚毕业那会儿, 我只懂得一点Python基础, 以及路人皆会的爬虫基础, 那时我甚至连GIT都还不会用. 后来参加工作, 学习GIT、学习以前听都没听过的

2021-05-24 17:59:31 84

原创 Python虚拟环境virtualenv、pip的配置和使用

Python虚拟环境virtualenv、pip的配置和使用pip安装或升级python3.4 及以上版本已经默认安装pip 了 如果没有pip或者版本 比较低,可以执行以下命令:easy_install.exe pippip常用命令:# 安装依赖包pip install <包名> [-i <镜像地址>]# 卸载已安装的依赖包pip uninstall <包名> [-i <镜像地址>]# 升级已安装的依赖包pip insta

2021-05-08 10:21:10 1803

原创 一句话说清Python可迭代对象和迭代器的区别

Python可迭代对象和迭代器的区别可迭代对象可以使用for循环进行遍历, 如list, set, tuple, str等都是可迭代对象迭代器除了可以用for循环, 还可以使用next()进行遍历# 使用案例:a = [1, 2, 3, 4, 5]b = iter(a) # 此时 b 是迭代器# 使用next()遍历print(next(b))print(next(b))# while 和 next() 结合while True: try: print('w

2021-05-07 18:15:07 255

原创 使用F对象引发的CombinedExpression异常

引发异常代码:因为使用了F对象, 此时结果保存在内存中, 并没有刷新到数据库中, 所以序列化会出错 def retrieve(self, request, *args, **kwargs): instance = self.get_object() instance.read_count = F('read_count') + 1 # 阅读次数+1 instance.save() serializer = self.get_serializer(instance) re.

2021-01-28 10:30:43 330

原创 django应用基本优化方案

性能优化方案​ 注: 以下方案只针对单机服务器修改部署方式​ 不要用 manage.py runserver 做worker, django的默认启动方式使用的是python自带的WSGI服务器, 这个服务器性能和稳定没有很好的保证, 可以更换其他WSGI服务器, 如: uWSGI, gunicorn, gevent, tornado等, 很多方案会再加上nginx, nginx的强大主要体现在负载均衡,反向代理和静态资源处理, 单机服务器下主要使用nginx处理静态资源. (静态资源可以考虑走

2021-01-27 17:29:39 407

空空如也

空空如也

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

TA关注的人

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