- 博客(551)
- 资源 (2)
- 收藏
- 关注
原创 python 协程asyncio
下面是个错误示例,因为他是顺序执行 并不能提高速度。执行和创建的顺序似乎有关,多个协程才会起作用。线程 进程 协程 的选择。
2025-06-10 15:27:30
77
原创 python调用grpc请求
gRPC是一款高性能、开源的RPC框架,支持多种编程语言。Protobuf是gRPC使用的默认序化协议,可以将结构化数据序列化为二进制格式,提高数据传输效率。
2025-06-05 10:48:11
296
原创 matplotlib 的TkAgg和中文字体问题
matplotlib报错:AttributeError: module ‘backend_interagg‘ has no attribute ‘FigureCanvas‘. Did you mean。
2025-05-28 10:16:37
203
原创 requests库爬取数据并保存到本地或者mongo
本文介绍了如何通过豆瓣网的API接口爬取热门国产电视剧数据,并将其保存到本地文件或MongoDB数据库中。首先,通过分析豆瓣API的URL参数(如type、tag、sort、page_limit和page_start),确定数据请求的规则。接着,使用Python编写爬虫程序,通过循环或递归方式逐页获取数据,并将每部电视剧的信息保存到文本文件中。最后,展示了如何将本地数据导入MongoDB数据库。整个过程涉及请求发送、JSON数据解析、文件操作和数据库存储等步骤,适合初学者学习网络爬虫的基本流程。
2025-05-23 09:43:56
371
原创 numpy 中数组的广播
在NumPy中,数组与标量进行算术运算时,标量会被广播成与数组相同形状,然后进行运算。例如,a1 + 2会将标量2广播为[2, 2, 2],结果为[3, 5, 7]。数组与不同形状的数组运算时,遵循广播原则:首先比较形状和维度,若维度不等,低维数组左侧填充1;若维度相等,对应轴长度相同或其中一个为1时,数组可广播,长度为1的轴会被扩展。例如,a2 + b2在不同形状下可能返回[[4, 6], [6, 8]]或[[4, 5], [5, 6]],但若形状不兼容(如(1,2)与(2,3)),则无法计算。
2025-05-14 16:09:19
216
原创 python django 使用celery
本文介绍了如何使用Celery和Redis作为队列工具进行任务处理。首先,通过pip install celery安装Celery,并使用redis-server启动Redis服务。接着,创建celery_task.py文件,配置Celery的backend和broker为Redis,并定义了两个任务函数send_email和send_msg。在Windows环境下,Redis可能因权限问题报错,需以管理员身份启动。然后,创建生产者produce_task.py来调用任务,但遇到ValueError错误,通
2025-05-11 23:39:55
371
原创 drf 使用jwt
本文介绍了如何在Django项目中实现JWT(JSON Web Token)认证。首先,通过pip install pyJwt安装JWT库,并在urls.py中添加登录和订单处理的URL路径。接着,创建了JwtLoginView和JwtOrderView视图类,分别用于处理用户登录和订单请求。在登录视图中,通过authenticate方法验证用户信息,并生成JWT token返回给客户端。订单视图则通过解析JWT token来验证用户身份。此外,文章还展示了如何将JWT的生成和验证逻辑抽取到单独的模块中,以
2025-05-10 14:19:55
360
原创 Django rest_framework 信号机制生成并使用token
3、写一个信号函数 使得创建用户时 自动创建token .在views.py中增加。5、使用方法 使用post 方法访问api-token-auth 方法。6、获取到token .就可以使用token认证访问接口了。1、在setting.py 中增加设置。4、创建获取token用的路由。2、生成token 表。
2025-05-08 18:43:43
381
原创 django 登录装饰器用法
注意使用 reverse_lazy 不要使用reverse 因为此时url尚未加载完成会出错。3、@login_required() 需要增加全局配置 在setting.py 加入。
2025-04-24 10:32:41
98
原创 Django 链接mysql
直接安装mysql 8.0.11以上版本。2、在文件__init__.py引入。3、settings.py配置文件。
2025-04-10 22:30:20
134
原创 flask 安装后不能识别
Windows 11 上,系统能够识别 Python 但无法识别 Flask, 使用python -m flask 方式可以 但是很麻烦百度查询 认为 环境变量未配置即使 Flask 已正确安装,如果其路径未添加到系统的环境变量中,系统也无法识别 flask 命令。可以通过以下步骤将 Flask 的路径添加到环境变量:找到 Python 的安装路径,通常是 C:\PythonXX(XX 为版本号)。打开“系统环境变量”,在“用户变量”或“系统变量”中找到 Path 变量并编辑。添加 C:\PythonXX
2025-03-05 16:48:47
478
原创 Flask 发送邮件
Flask db init 提示 ‘Flask‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。引入flask_mail。
2025-02-19 15:40:26
384
原创 windows 边框函数 画笔
错误“C2440: ‘=’: 无法从‘HGDIOBJ’转换为‘HPEN’”GetStockObject 和SelectObject 默认生成。,但直接赋值会导致类型不匹配的编译错误。是专门用于表示画笔对象的句柄类型。要解决这个问题,可以通过显式类型转换将。是一个通用的GDI对象句柄类型,而。类型,但你知道它实际上是一个。,可以直接将其强制转换为。通过强制类型转换,将。
2025-02-10 20:33:51
247
原创 windows 滚动条
设置滚动条的范围:-SetScrollRange。获取滚动条的范围: GetScrollRange。设置滚动滑块的位置:-SetScrollPos。获取滚动滑块的位置: GetScorllPos。-根据滚动条的变化更新客户区的内容。-处理传送给窗口过程的滚动条消息。-初始化滚动条的范围和位置。
2025-01-17 17:47:43
247
原创 C++动态库调用
visual studio 创建动态库项目DemoDll添加头文件mydll.h添加cpp文件mydll.cpp右键项目DemoDll,生成,即可生成mydll.lib mydll.dll 等文件创建引用动态库项目 控制台项目DemoInvokeDll创建cpp文件 引入动态库右键DemoInvokeDll项目-->配置属性-->C/C++-->常规-->附加包含目录-->新行-->选择动态库目录。添加依赖项右键DemoInvokeDll项目-->配置属性-->链接器-->输入-->附加
2024-12-03 18:25:35
437
原创 C++编写静态库
2、2 项目属性->配置属性->C++->附件包含目录 引入上一个项目的目录。useStaticApp设为项目,然后运行调试。1、新建项目创建静态库staticLib1.2、创建引用其的项目useStaticApp。修改文件 useStaticApp.cpp。将生成lib文件应用。2、3 生成解决方法。
2024-12-02 20:38:46
395
原创 WHQL安装过程
修改测试项目的文件位置:C:\HLK\HLK Version 2004 CompatPlaylist x86 x64 ARM64.xml。测试系统的安装包从安装完成的服务端获取。测试端OS: 要求英文版,中文版可能有未知问题。服务端要求必须原生英文版,非中文版改语言。服务端机器和测试机器直连成一个工作组。需要提前关闭服务端和测试机器防火墙。通过共享方式安装并重启机器。
2024-11-21 10:36:06
305
原创 JAVA 反射
JVM为每个对象都保留其类型标识信息(Runtime TypeIdentification)方法3:序列化(serialization)和反序列化(deserialization)Class 类型标识 可获取 成员变量、方法、构造函数、修饰符、包、父类、父接口…问题:如何创造一个对象来调用他的方法?Constructor:构造函数。方法1:静态编码并编译。方法4和5 : 反射。Method:成员方法。
2024-09-25 20:45:16
595
1
原创 try-with-resource
try-with-resource 原理:资源对象必须实现AutoCloseable 接口,即实现close方法。
2024-09-24 14:42:54
173
原创 接口与抽象类
子类(子接口)没有继承该静态方法,只能通过所在的接口名来调用。以default关键字标注,其他的定义和普通函数一样。相同点(截止至Java 12以前,接口和抽象类对比)不同点(截止至Java 12以前,接口和抽象类对比)该静态方法属于本接口的,不属于子类/子接口。Java 8接口的静态方法(带实现的)Java 9接口的私有方法(带实现的)接口 vs 抽象类(1)
2024-09-23 20:26:50
243
原创 Java的cnum类型
所有的enum类型都是Enum的子类,也继承了相应方法。ordinal()返回枚举值所在的索引位置,从0开始。compareTo()比较两个枚举值的索引位置大小。toString()返回枚举值的字符串表示。valueOf()将字符串初始化为枚举对象。valucs()返回所有的枚举值。Java的cnum类型。
2024-09-23 14:39:18
360
原创 Java 基础知识九(网络编程)
ServerSocketChannel 服务器TCP Socket 接入通道,接收客户端-SocketChannel TCP Socket通道,可支持阻寒/非阻塞通讯-DatagramChannel UDp 通道。3)服务器:ServerSocket接收到连接,创建一个Socket和客户的Socket建立专线连接,后续服务器和客户机的对话(这一对Sock会在一个单独的线程(服务器端)上运行。-客户端往Socket输入流写入数据,送到服务端-客户端从Socket输出流取服务器端过来的数据。
2024-09-19 19:38:05
880
转载 在 RHEL 8|CentOS 8|Rocky Linux 8|AlmaLinux 8 上安装 etcd
本指南将解释如何在 RHEL 8/CentOS 8/Rocky Linux 8/AlmaLinux 8 Linux 机器上安装 etcd。Etcd 是一个用 Go 编写的简单、可靠、快速且安全的开源键值存储。它使用Raft共识算法来管理高可用的复制日志。此处共享的安装不适用于生产环境,因为它位于单个节点(一个成员 etcd)上。:这是单节点集群设置,对于三节点集群,请参阅下面的指南。
2024-09-10 15:20:55
307
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人