- 博客(66)
- 收藏
- 关注
原创 heapq 模块实现优先队列
heapqheap[0]heapq导入heapq模块初始化优先队列优先队列本质上是一个列表插入元素默认是最小堆,值越小优先级越高因为堆是一个a[k] <= a[2k+1]并且a[k] <= a[2k+2]的数组,所以输出为[1, 3, 2],但弹出顺序仍然为1,2,3弹出优先级最高的元素(最小元素)查看优先级最高的元素(不弹出)处理带优先级的任务(元组形式:(优先级, 数据))实现最大堆(通过插入负值实现)
2025-09-02 10:28:15
318
原创 DataFrame数据的接口响应
自定义转换函数"""将 DataFrame 转换为自定义格式的 JSON"""# 转换为字典# 添加元数据result = {},# 使用自定义函数print("自定义格式的 JSON:")
2025-09-01 13:16:53
701
原创 导入自定义模块的过程中出现ModuleNotFoundError错误
python代码在导入自定义模块的过程中有时会出现错误出现这种情况一般出现在项目运行目录与自定义模块不在同级的情况下其中utils为自定义模块,在foo.py中引入utils中的util文件有可能会报错错误。
2025-08-29 16:04:30
223
原创 FastAPI记录日志
如果需要将不同级别的日志分开存储(如错误日志单独存为error.log# 创建日志记录器# 格式器# 控制台处理器(输出 INFO 及以上级别)# 普通日志文件处理器(输出 INFO 及以上级别,文件大小限制 10MB,保留 5 个备份)# 错误日志文件处理器(只输出 ERROR 及以上级别)# 添加处理器到日志记录器。
2025-08-26 13:48:53
535
原创 FastAPI定时任务
print(f"定时任务执行: {now}")# 启动时执行print("应用启动中...")# 启动定时任务yield # 应用运行中# 关闭时执行print("应用关闭中...")
2025-08-25 14:48:18
780
原创 Python面试1
String.replace(old, new, count):将字符串中的old字符替换为new字符, count为替换个数。深拷贝:深拷贝会将原对象的引用对象重新复制一份,修改原对象不会对拷贝对象产生影响。is:判断对象之间的内存地址是否一致(对象的内存地址可以通过id()方法查看。集合(set):key的集合,每个元素都是唯一的,所有元素不重复且无序。浅拷贝:只复制原对象的所有引用对象,修改原对象会对拷贝对象产生影响。列表(list):列表是有序的集合,内部元素可以改变。
2025-05-26 15:42:59
645
原创 运维监控Grafana部署
export GF_SECURITY_ADMIN_USER=true # GF_ 固定 SECURITY 是SectionName ADMIN_USER 是配置的key 转大写 . 转 _配置文件中指定,也可以使用环境变量指定。默认账户密码:admin/admin。支持常见的绝大多数操作系统, 如。服务器之上. 所以本课程也是基于。具有许多配置选项,这些选项可以在。的元数据mysql共用一个实例。自定义配置文件路径可以被参数。使用的数据库作为元数据存储.# 将下面的内容复制进去。文件中全局表示注释 ()
2024-09-13 17:49:04
989
原创 运维监控Zabbix部署
Zabbix 由 Alexei Vladishev 创建,目前由其成立的公司—— Zabbix SIA 积极的持续开发更新维护, 并为用户提供技术支持服务。Zabbix 是一个==企业级分布式开源监控解决方案==。Zabbix 软件能够==监控==众多网络参数和服务器的==健康度、完整性==。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。
2024-09-12 14:39:44
993
原创 分布式内存计算Flink环境部署
Flink同Spark一样,是一款分布式内存计算引擎,可以支撑海量数据的分布式计算。Flink在大数据体系同样是明星产品,作为最新一代的综合计算引擎,支持离线计算和实时计算。在大数据领域广泛应用,是目前世界上除去Spark以外,应用最为广泛的分布式计算引擎。我们将基于前面构建的Hadoop集群,部署Flink Standalone集群Spark更加偏向于离线计算而Flink更加偏向于实时计算。
2024-09-11 11:13:38
834
原创 分布式内存计算Spark环境部署
Spark是一款分布式内存计算引擎,可以支撑海量数据的分布式计算。Spark在大数据体系是明星产品,作为最新一代的综合计算引擎,支持离线计算和实时计算。在大数据领域广泛应用,是目前世界上使用最多的大数据分布式计算引擎。我们将基于前面构建的Hadoop集群,部署Spark Standalone集群。
2024-09-10 13:47:32
1165
原创 大数据NoSQL数据库HBase集群部署
HBase 是一种分布式、可扩展、支持海量数据存储的 NoSQL 数据库。和Redis一样,HBase是一款KeyValue型存储的数据库。不过和Redis设计方向不同Redis设计为少量数据,超快检索HBase设计为海量数据,快速检索HBase在大数据领域应用十分广泛,现在我们来在node1、node2、node3上部署HBase集群。
2024-09-09 10:54:53
2409
原创 大数据集群(Hadoop生态)安装部署
1)Hadoop是一个由Apache基金会所开发的分布式系统基础架构。2)主要解决,海量数据的存储和海量数据的分析计算问题。Hadoop HDFS 提供分布式海量数据存储能力Hadoop YARN 提供分布式集群资源管理能力Hadoop MapReduce 提供分布式海量数据计算能力。
2024-09-06 14:46:09
1462
原创 Kafka集群安装部署
Kafka是一款分布式的、去中心化的、高吞吐低延迟、订阅模式的消息队列系统。同RabbitMQ一样,Kafka也是消息队列。不过RabbitMQ多用于后端系统,因其更加专注于消息的延迟和容错。Kafka多用于大数据体系,因其更加专注于数据的吞吐能力。Kafka多数都是运行在分布式(集群化)模式下,所以课程将以3台服务器,来完成Kafka集群的安装部署。
2024-09-03 14:43:49
579
原创 Zookeeper集群安装部署
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。除了为Hadoop和HBase提供协调服务外,Zookeeper也被其它许多软件采用作为其分布式状态一致性的依赖,比如Kafka,又或者一些软件项目中,也经常能见到Zookeeper作为一致性协调服务存在。
2024-09-02 14:27:55
1144
原创 配置SSH免密登录
SSH服务是一种用于远程登录的安全认证协议。我们通过FinalShell远程连接到Linux,就是使用的SSH服务。SSH服务支持:通过账户+密码的认证方式来做用户认证通过账户+秘钥文件的方式做用户认证SSH可以让我们通过SSH命令,远程的登陆到其它的主机上,比如:在node1执行:ssh root@node2,将以root用户登录node2服务器,输入密码即可成功登陆或者ssh node2,将以当前用户直接登陆到node2服务器。
2024-08-30 11:39:18
464
原创 ElasticSearch安装部署
全文搜索属于最常见的需求,开源的(以下简称 es)是目前全文搜索引擎的首选。它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。Elasticsearch简称es,在企业内同样是一款应用非常广泛的搜索引擎服务。很多服务中的搜索功能,都是基于es来实现的。
2024-08-29 16:17:12
658
原创 Redis安装部署
redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。快,可以基于内存存储数据并提供超低延迟、超快的检索速度一般用于在系统中提供快速缓存的能力。
2024-08-28 16:10:38
506
原创 RabbitMQ安装部署
RabbitMQ一款知名的开源消息队列系统,为企业提供消息的发布、订阅、点对点传输等消息服务。RabbitMQ在企业开发中十分常见,课程为大家演示快速搭建RabbitMQ环境。
2024-08-27 17:32:23
1052
原创 Nginx安装部署
Nginx(engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。同Tomcat一样,Nginx可以托管用户编写的WEB应用程序成为可访问的网页服务,同时也可以作为流量代理服务器,控制流量的中转。Nginx在WEB开发领域,基本上也是必备组件之一了。
2024-08-26 17:29:39
418
原创 Tomcat安装部署
Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对 Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。简单来说,Tomcat是一个WEB应用程序的托管平台,可以让用户编写的WEB应用程序,被Tomcat所托管,并提供网站服务。即让用户开发的WEB应用程序,变成可以被访问的网页。
2024-08-23 16:46:34
1043
1
原创 MySQL数据库管理系统安装部署
MySQL数据库管理系统(后续简称MySQL),是一款知名的数据库系统,其特点是:轻量、简单、功能丰富。MySQL数据库可谓是软件行业的明星产品,无论是后端开发、大数据、AI、运维、测试等各类岗位,基本上都会和MySQL打交道。让我们从MySQL开始,进行实战的Linux软件安装部署。本次课程分为2个版本进行安装:MySQL 5.7版本安装MySQL 8.x版本安装由于MySQL5.x和8.x各自有许多使用者,所以这两个版本我们都演示安装一遍。
2024-08-22 17:52:24
1307
原创 Linux基础命令
比如,简单的ls命令就有:-a -A -b -c -C -d -D -f -F -g -G -h -H -i -I -k -l -L -m -n -N -o -p -q -Q -r-R -s -S -t -T -u -U -v -w -x -X -1等选项,可以发现选项是极其多的。/home/itheima/a.txt,表示根目录下的home文件夹内有itheima文件夹,内有a.txt。参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用””将关键字包围起来。
2024-08-21 17:33:51
755
原创 nacos集群搭建
官方给出的Nacos集群图:其中包含3个nacos节点,然后一个负载均衡器代理3个Nacos。这里负载均衡器可以使用nginx。
2024-08-20 10:41:56
4609
原创 Django ORM数据增删改查接口
Django的对象关系映射系统(Object-Relational Mapper, ORM)提供了丰富的数据查询接口, 让你无需使用原生SQL语句即可通过对模型的简单操作实现对数据库里的数据进行增删改查。查询得到的结果叫查询集(QuerySet), 所以这个接口被称为QuerySet APItitle = models.CharField('标题', max_length=200, unique=True)body = models.TextField('正文')
2024-08-19 16:37:00
1110
原创 IP、子网掩码、网关
如果将子网掩码设置过大,也就是说子网范围扩大,那么,根据子网寻径规则,很可能发往和本地主机不在同一子网内的目标主机的数据,会因为错误的判断而认为目标主机是在同一子网内,那么,数据包将在本子网内循环,直到超时并抛弃,使数据不能正确到达目标主机,导致网络传输错误;IP地址有唯一性,即每台机器的IP地址在全世界是唯一的。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址(每个机器都有一个编码,如MAC上就有一个叫MAC地址的东西)的差异。
2024-08-16 15:08:07
514
原创 xml文件
XML 被设计用来传输和存储数据。HTML 被设计用来显示数据。XML 指可扩展标记语言(eXtensible Markup Language)。可扩展标记语言(英语:Extensible Markup Language,简称:XML)是一种标记语言,是从标准通用标记语言(SGML)中简化修改出来的。它主要用到的有可扩展标记语言、可扩展样式语言(XSL)、XBRL和XPath等。XML 指可扩展标记语言(EXtensible Markup Language)。XML 是一种很像HTML的标记语言。
2024-08-15 14:14:24
381
原创 Python Selenium网页自动化
Selenium是一个自动化测试工具,主要用于模拟用户在Web应用程序中的交互操作。虽然它最初被设计用于自动化测试,但也被广泛用于网页数据抓取、网页自动化操作和网页测试。
2024-08-13 10:20:30
1862
原创 部署 Django 到生产环境的设置
在这种托管中,你不必担心大多数生产环境(Web 服务器,应用程序服务器,负载平衡器),因为主机平台会为你处理这些(以及为了扩展你的应用程序,而需要做的大部分工作)。如果你选择一个 Python/Django 友好的托管服务提供商,他们应该提供有关如何使用不同配置的网络服务器,应用服务器,反向代理等设置 Django 网站的说明(如果你选择 PaaS,这就没有关系了)。在开发过程中,不会为密钥指定环境变量,因此将使用默认值(在此处使用的密钥,或密钥“泄漏”无关紧要,因为你不会在生产环境中使用它)。
2024-08-12 13:59:55
754
原创 Django-文件上传
当用户的请求方法为POST时,我们通过`form.cleaned_data.get('file')`获取通过验证的文件,并调用自定义的`handle_uploaded_file`方法来对文件进行重命名,写入文件。- `handle_uploaded_file`方法里文件写入地址必需是包含`/media`/的绝对路径,如果/media/files/xxxx.jpg,而该方法返回的地址是相对于/media/文件夹的地址,如/files/xxx.jpg。- 上传文件的大小默认是以B显示的,数字非常大。
2024-08-09 15:04:03
958
原创 Django Rest Framework -解析器
看到这里,心中有了疑惑,Django Rest Framework框架是在那里触发解析器这个功能的,在上面的源码分析中并未调用任何一个关于解析相关功能的方法,只是做了一个读取配置文件,封装新的request对象的过程,所以是在我们需要读数据的时候才会去触发解析器这个功能,所以我们从request.data入手,我们知道,django原生的request请求,会被drf通过Request对象封装,那么就跳转到Request类定义中看看这个“data”的实现。返回的请求数据就会保存到“Request”类的“
2024-08-08 11:38:37
1042
原创 orm排序
在Django中使用ORM进行中文排序时,可以通过几种方法来实现。一种常见的方法是使用extra()函数配合order_by()来进行排序。例如,如果需要对中的name字段进行中文排序,可以使用以下方式:这行代码通过extra()函数添加了一个名为的字段,该字段是通过将name字段转换为GBK编码实现的,然后通过对结果进行排序。这种方法利用了数据库的特定函数来实现中文排序,适用于MySQL等支持字符集转换的数据库。另一种方法是使用字符串函数对中文进行排序。
2024-08-07 11:47:14
770
原创 Django-表单
Django提供了两种自定义表单的方式:继承Form类和ModelForm类。前者你需要自定义表单中的字段,后者可以根据Django模型自动生成表单# 定义一个普通的表单# 定义一个与模型关联的表单fields = '__all__' # 这里可以指定字段,例如 ['field1', 'field2']Django模型里用来给字段添加一个别名或描述, 而表单用的是label。自定义的表单类一般位于app目录下的forms.py,这样方便集中管理表单。如果要使用上述表单,我们可以在视图里。
2024-08-06 13:48:48
384
原创 Django-外键
在Django中,可以使用外键(ForeignKey)来建立两个模型之间的关联关系。在定义一个模型时,可以使用ForeignKey字段来引用另一个模型,从而创建外键关系。例如,以下是一个简单的示例,展示了如何在Django模型中使用外键:在上面的示例中,Book模型中的author字段是一个外键,它引用了Author模型。这意味着每本书都必须关联到一个作者,这种关系称为一对多关系(One-to-Many relationship)。
2024-08-05 14:43:17
956
原创 Django 路由
路由简单的来说就是根据用户请求的 URL 链接来判断对应的处理程序,并返回处理结果,也就是 URL 与 Django 的视图建立映射关系。Django 路由在 urls.py 配置,urls.py 中的每一条配置对应相应的处理方法。
2024-08-02 16:03:57
624
原创 Django框架——auth模块
auth模块是对登录认证方法的一种封装,之前我们获取用户输入的用户名及密码后需要自己从user表里查询有没有用户名和密码符合的对象,而有了auth模块之后就可以很轻松的去验证用户的登录信息是否存在于数据库中。除此之外,auth还对session做了一些封装,方便我们校验用户是否已登录。
2024-08-01 14:20:54
785
原创 Django视图函数Request对象
定义视图函数时def get(request, *args, ** kargs)总是要包含request这个变量,比如经常用request.user来判断当前访问用户状态。在的执行过程中,可以用request的方法和属性来获取当前HTTP请求的头部信息(比如,正在加载这个页面的用户是谁,IP地址是多少,或者用的是什么浏览器)。
2024-07-31 13:20:34
1034
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅