自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(145)
  • 资源 (25)
  • 收藏
  • 关注

原创 Python 高级用法

python反射

2022-08-09 16:21:54 160

原创 RabbitMQ消费将消息放回队列

一,背景问题:正式环境RabbitMQ开了三个线程消费消息,导致数据被重复创建,消费几乎是同一时刻消费的.解决:在Redis中加锁,判断锁是否存在,如果存在将消息重新放回队列之中.二,代码实现import datetimeimport jsonimport collectionsimport pikaclass Mq_custom(object): def __init__(self, queue_name='', exchange='', exchange.

2020-12-23 16:01:51 1568 2

原创 RabbitMQ 死信+延迟队列

前菜死信消息:消息被拒绝(Basic.Reject或Basic.Nack)并且设置 requeue 参数的值为 false 消息过期了 队列达到最大的长度​​​​​​​过期消息: 在 rabbitmq 中存在2种方可设置消息的过期时间,第一种通过对队列进行设置,这种设置后,该队列中所有的消息都存在相同的过期时间,第二种通过对消息本身进行设置,那么每条消息的过期时间都不一样。如果同时使用这2种方法,那么以过期时间小的那个数值为准。当消息达到过期时间还没有被消费,那么那个消息就成为...

2020-08-19 20:19:43 293

转载 Leetcode算法题之二叉树模板

一、树的定义Definition for a binary tree node.class TreeNode: def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = right二、树的遍历1、前序遍历思路:从根节点开始,每次迭代弹出当前栈顶元素,并将其孩子节点压入栈中,先压右孩子再压左孩子.

2020-08-02 15:00:20 322 2

原创 Kafka集群生产者消费者使用实例(一)

名词解析:broker: 一个Kafka节点就是一个broker,多个broker可以组成一个Kafka集群。topic: 主题 ,代表一类消息partition:topic物理上的分组,一个topic可以分为多个partition,每个partition是一个有序的队列。每个partition都对应唯一的消费者!!!offset:每个partition都由一系列有序的、不可变的消息组成,这些消息被连续的追加到partition中。partition中的每个消息都有一个连续的序列号叫做offset

2020-05-28 11:39:37 667

转载 Zookeeper+Kafka集群部署

主机规划:10.200.3.85   Kafka+ZooKeeper10.200.3.86   Kafka+ZooKeeper10.200.3.87   Kafka+ZooKeeper软件下载地址:#wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.6/apache-zooke...

2020-01-04 14:45:43 358 2

原创 Python 二进制

1. 与运算(AND):a & b2、 或运算(OR):a | b3、非运算(NOT):~a

2024-03-31 13:55:07 172

原创 Leecode算法之模拟

解题思路:通过题目描述和案例找到规律,然后模拟案例的行为即可。

2024-03-19 23:54:55 295

原创 计算机二进制和十进制的抉择

计算机底层是使用十进制还是二进制?

2024-03-17 16:16:59 161

原创 functools工具包之singledispatch方法

【代码】functools工具包之singledispatch方法。

2023-07-19 15:04:42 567

原创 Python多个if代码优化

【代码】Python多个if代码优化。

2023-07-19 14:48:03 804

原创 Python property属性

【代码】Python property属性。

2023-07-19 13:46:54 366

原创 Python实现单分派泛型函数

我们为该函数提供了两个实现:一个默认实现和两个特定于整数和字符串类型的实现。当我们调用add函数时,它将根据参数的类型选择适当的实现。如果参数是整数或浮点数,则将调用默认实现;如果参数是字符串,则将调用特定于字符串类型的实现。在这个例子中,我们定义了一个名为add的函数,并使用@singledispatch装饰器将其转换为单分派泛型函数。

2023-07-06 15:26:30 138

转载 Python h5py包详解

h5py文件是存放两类对象的容器,数据集(dataset)和组(group),dataset类似数组类的数据集合,和numpy的数组差不多。group是像文件夹一样的容器,它好比python中的字典,有键(key)和值(value)。group中可以存放dataset或者其他的group。”键”就是组成员的名称,“值”就是组成员对象本身(组或者数据集)。总结:一个h5py文件是 “dataset” 和 “group” 二合一的容器。

2023-06-28 22:22:39 924

原创 统计http请求最近5s内的请求成功率。

正常来说我们使用方案一即可满足我们的需求,同时内存消耗也比较小,但是有一点需要注意的是,方案一如果请求量特别小,随机值特别大的话可能导致请求的结果不准确。

2023-06-13 16:49:37 579

原创 Python责任链模式

例如,我们创建了三个不同的子类,分别是处理数字的处理程序、处理字符串的处理程序和处理其他类型的处理程序。当请求到达责任链时,数字处理程序首先会处理请求,如果不能处理,则将请求转移到字符串处理程序,依此类推。这是一个基本的处理程序类,它包括一个指向继任者的成员变量,并有一个处理请求的handle方法和一个子类可以实现的私有处理方法_handle。这是一个示例模拟责任链模式的基本实现,实际上,我们可以结合上下文和业务需求制定更复杂的责任链,以实现更灵活的请求处理。

2023-06-13 15:17:54 773

原创 Python适配器模式

SQLAlchemy ORM:SQLAlchemy 是一个流行的 Python ORM 库,它使用适配器模式来支持多种不同的 SQL 数据库(例如 PostgreSQL、MySQL 或 SQLite)。requests模块:requests 是一个用于发送 HTTP 请求的 Python 库,它使用适配器模式来兼容不同的底层传输库(例如 urllib3 或 PySocks)。通过使用适配器模式,我们可以使两个不兼容的类之间进行通信,并将它们融合在一起。现在需要编写一个使用千米而不是英里测量距离的应用程序。

2023-06-12 16:32:01 969

原创 Python 策略模式

Shipping 类的构造函数接收一个计算运费的函数(即策略)。Django框架:Django 是一个 Python 的 Web 应用程序框架,它使用策略模式来提供不同的存储后端(例如 SQL 数据库,非关系型数据库等)。Scikit-learn模块:Scikit-learn 是一个流行的机器学习库,它使用策略模式来实现不同的机器学习算法(如分类,聚类,降维等)。Pygame模块:Pygame 是一个用于创建游戏的 Python 库,它使用策略模式来处理游戏中的不同角色或敌人的行为。

2023-06-12 15:49:11 2007

原创 Python原型模式(克隆模式)

我们使用字典(self.objects)来存储已注册的对象,每个对象都有一个名称。然后,它将关键字参数用于更新新对象的属性,并将其返回。在这个例子中,我们创建了一个名为Person的类,它表示一个人员。我们创建了一个原型对象Prototype,它注册了一个名为“person”的Person对象。然后我们使用clone方法来创建两个新的Person对象,它们都是根据原型Person对象创建的。在这个例子中,我们创建了一个原型类Prototype,它包含了注册对象、注销对象和克隆对象的方法。

2023-06-12 15:22:25 863

原创 Python外观模式

使用外观模式,我们可以隐藏_Socket类的底层复杂性,并将其转化为一个简单易用的接口。在这个例子中,我们创建了一个名为Network的类,该类包含一个名为_Socket的内部类,该类实现了当前网络库的一些底层功能。然后,我们定义了几个方法,这些方法简单地调用_Socket类中的方法。使用该网络库时,我们可以使用外观Network类的接口,而不需要了解_Socket类的底层实现。下面是一个使用外观模式的例子,其中包含一个网络库,该库的实现非常复杂,但是我们可以使用外观模式来简化它。

2023-06-12 15:13:27 925

原创 Python模板模式

在这个例子中,我们定义了一个抽象类Game,并定义了三个抽象方法initialize、start_game和end_game。在这个例子中,我们创建了一个Chess对象和一个Checkers对象,并分别调用它们的play方法。通过这种方式,我们可以确保这些类的方法按照正确的顺序被调用,这遵循了模板方法模式的基本原则。注意,这里Game类也包含了一个名为play的方法,该方法包含一个模板方法,其中定义了initialize、start_game和end_game方法的执行顺序。

2023-06-12 14:52:06 939

原创 Python建造者模式

建造者模式是一种设计模式。它将复杂对象的构建过程和表示相分离,并通过一步步创建对象来构建复杂对象。建造者模式可以帮助我们在创建对象时保持灵活性和可扩展性。

2023-06-12 14:49:49 761

原创 Python工厂方法和抽象工厂详解

工厂方法模式和抽象工厂模式在 Python 中也有类似的区别。Python中的工厂方法模式与其他语言中的实现方式类似,使用一个定义抽象方法的类来创建对象。我们通过编写一个特殊的方法来创建对象,这个方法是抽象的,由具体的子类来实现。抽象工厂模式则通过创建一组相关或相互依赖的对象来工作,而不是单一对象。在 Python中,使用抽象类和接口来创建对象系列,这些系列可以是继承自抽象类的类,或实现由接口定义的方法的类。这样可以更加灵活地创建,扩展和维护对象,并易于避免代码重复。

2023-06-12 14:15:17 411

原创 MQTT消息实例

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。这就是为什么在介绍里说它非常适合“在物联网领域,传感器与服务器的通信,信息的收集”,要知道嵌入式设备的运算能力和带宽都相对薄弱,使用这种协议来传递消息再适合不过了。(5)小型传输,开销很小(固定长度的头部是2字节),协议交换最小化,以降低网络流量。

2023-05-29 17:45:01 1307

原创 Leecode 贪心

贪心

2022-09-10 16:52:04 115

原创 Leecode 回溯

回溯

2022-08-29 19:20:26 94

原创 Python 常用数据结构的时间复杂度

常用数据结构的时间复杂度

2022-08-28 00:42:17 191 1

原创 Leecode 链表

链表

2022-08-28 00:20:18 186

原创 Leetcode 双指针

双指针

2022-08-26 12:50:34 120

原创 Python any用法

ALL

2022-08-25 17:52:39 269

原创 Leecode DFS深度优先搜索

DFS

2022-08-25 15:02:37 112

原创 Leetcode 动态规划

动态规划

2022-08-24 14:21:17 64

原创 Leecode SQL语句

SQL语句

2022-08-23 20:19:12 78

原创 Leetcode 位运算

位运算

2022-08-23 13:02:33 90

原创 Leetcode 滑动窗口

滑动窗口汇总类型汇总。

2022-08-22 16:09:46 51

原创 Leetcode 二分查找

二分查找

2022-08-14 14:07:32 110

原创 编程基础-代码规范

编程基础,以及约定俗成的规定。

2022-08-10 16:27:09 563

原创 监测kafka消费者,钉钉报警并且增加消费者

一. 背景 监测kafka消费者消费消息是否堆积,当达到一定的值,钉钉提示报警. 适当的增加消费者进行消息的消费. 二. 钉钉报警import jsonimport requestsfrom pykafka import KafkaClientservers = ['172.18.10.48:9092']topic_name = 'student_name_logs'class DingMessageManage(object): """钉钉消息提醒预警

2020-12-04 18:41:06 593

转载 使用 amazonriver将postgres 数据实时同步 至Kafka (基于PG的逻辑复制功能)

一、简介amazonriver 是一个将postgresql的增、删、改实时同步到es或kafka的服务(基于pg的逻辑复制功能),go语言实现,哈罗单车开源的一个项目。amazonriver 利用pg内部的逻辑复制功能,通过在pg创建逻辑复制槽,接收数据库的逻辑变更,通过解析test_decoding特定格式的消息,得到逻辑数据,与es的通讯是发布订阅的方式,效果要比触发器好的多,并且配置简易.二、安装配置1) 获取项目:https://github.com/Zhenbin2...

2020-12-03 09:10:04 829

原创 Python retry模块

背景: 回调其他接口失败的时候,需要多次重复回调 代码:from retrying import retryimport randomclass Demo(): '''输出: 一直重试,直到运行成功''' @retry(stop_max_attempt_number=100) def make_trouble(self): '''Retry until succeed''' temp = random.randint(0,

2020-11-30 16:51:16 1052

Elasticsearch、Logstash、Kibana核心套件安装包

ELK是Elasticsearch、Logstash、Kibana的简称,这三者是核心套件,但并非全部。 Elasticsearch是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能;是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统。它构建于Apache Lucene搜索引擎库之上。 Logstash是一个用来搜集、分析、过滤日志的工具。它支持几乎任何类型的日志,包括系统日志、错误日志和自定义应用程序日志。它可以从许多来源接收日志,这些来源包括 syslog、消息传递(例如 RabbitMQ)和JMX,它能够以多种方式输出数据,包括电子邮件、websockets和Elasticsearch。 Kibana是一个基于Web的图形界面,用于搜索、分析和可视化存储在 Elasticsearch指标中的日志数据。它利用Elasticsearch的REST接口来检索数据,不仅允许用户创建他们自己的数据的定制仪表板视图,还允许他们以特殊的方式查询和过滤数据

2020-08-10

Kafka多分区消费实践.rar

多分区生产及消费问题 当kafka中的某一个topic数据量很大的时候就会导致消费者处理数据很慢,那我们可能会想着适当的增加分区(partition)来提高消费者的消费速度,那么我们创建多个分区的时候,生产者是如何分配生产的消息到分区的尼,让我走进科学世界.

2020-06-11

redis_cluster实战栗子.rar

Redis集群搭建实战,包括html版和PDF版本的教程及可直接启动的例子,从搭建到常见指令的应用以及一些常见文件的解决和处理,结论小结等.

2020-05-14

redis_cluster.zip

Redis集群搭建实战,包括html版和PDF版本的教程,从搭建到常见指令的应用以及一些常见文件的解决和处理,结论小结等.

2019-12-25

Django中自带的Signal的使用

Django中自带的Signal的使用,利用signal实现代码的解耦,提高代码的可维护性,更重要的是当达到某种条件自动触发相应的方法处理相关逻辑.

2019-07-29

利用django自带的routers实现对url路由的分发

利用django自带的routers实现对url路由的分发,可以减少对url路由表的定义,并且可以实现代码的解耦,极大的节省了开发的时间。

2019-07-13

利用django自带的filte实现精准、模糊查询

利用django自带的filte实现精准、模糊查询,包括复选框多值准确查询,输入框精准和模糊查询,日期区间查询。

2019-07-11

Mysql、Python、Django、Flask面试笔记大全

Mysql、Python、Django、Flask、Redis面试笔记大全,不断学习。

2019-06-28

Python必学资料全家桶

Python必学资料全家桶,包含单点登录、TCP/Ip、面向对象,《python高效开发实战——Django、tornado、flask、twisted》《轻量级Django》《flask web开发实战:入门、进阶与原理分析》。

2019-06-28

对Python、Mysql、Redis、TCP/Ip等笔记的整理及其详细的实例说明。

对Python、Mysql、Redis、TCP/Ip等笔记的整理及其详细的实例说明。

2019-06-21

flask_demo Hook应用

flask中的请求钩子, 对其实战和应用,demo有待完善。

2019-06-03

Flask_Restful.rar

Flask_Restful实战,实习对restful风格的应用,包括CURD等操作。

2019-06-03

flask_demo.rar

使用Flask-HTTPAuth认证用户,初试对Flask Restful的使用

2019-05-31

celery异步代码实测

celery异步代码实测,使用celery实现对任务的异步调用。

2019-04-24

数据结构与算法

数据结构与算法,了解数据结构和算法是为了更好的去思考问题和解决问题。

2019-04-19

Tornado认证实例

Tornado认证实例,自定义tornado用户认证,定制化返回响应的内容。

2019-04-16

tornado实战之一

tornado实战之一,对tornado有个初步的认识和一些基本的操作。

2019-04-12

Tornado实战Demo全集

Tornado实战Demo全集,适合新手对Tornado项目的研究,包括认证、mysql数据库操作等

2019-04-10

Tornado项目实战

Tornado项目实战,参考教程http://demo.pythoner.com/itt2zh/ch4.html

2019-04-09

Django富文本实测

Django富文本实测,最简单的实例实现文章的相关操作,同时结合富文本。

2019-04-03

Django restframework课件笔记详解

Django restframework课件笔记详解,对Django restframework各功能模块的介绍以及真实案例分析。

2019-03-21

Django课件笔记详解

Django课件笔记详解,对django各功能模块的介绍以及真实案例分析。

2019-03-21

Celery课件笔记

Celery课件笔记,对celery有个完整的介绍和案例演示。

2019-03-21

celery手动安装依赖包

celery手动安装依赖包,解决没有网络下对celery的安装。

2019-03-21

celery测试代码

celery测试代码

2018-12-08

空空如也

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

TA关注的人

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