自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 sqlalchemy

本文介绍了使用SQLAlchemy进行MySQL数据库操作的基本方法。主要包括数据库连接、表创建、数据查询(单表查询、条件查询)、数据增删改操作,以及一对多关联表的定义和查询。通过示例代码演示了如何创建表结构、执行CRUD操作、构建关联关系,并展示了关联查询的多种写法。SQLAlchemy作为Python的ORM工具,提供了简洁的API来操作数据库,既能满足基本需求,也支持复杂的关联查询场景。

2025-09-08 11:43:20 501

原创 【python】asyncio的理解

Python异步编程基于async和await关键字,使用协程实现非阻塞I/O操作。asyncio作为Python标准库,提供了事件循环机制来调度协程任务,实现高效的并发处理。这种主流技术避免了传统多线程的资源开销,适合处理大量网络请求等I/O密集型任务。协程通过挂起而非阻塞的方式,让单线程也能实现高并发性能。

2025-09-01 17:55:07 250

原创 AI工具使用

【代码】AI工具使用。

2025-08-31 11:42:16 152

原创 JWT功能

JWT(JSON Web Token)是一种基于JSON的开放标准,用于安全传递信息。它由三部分组成:Header(类型和算法)、Payload(数据声明)和Signature(签名验证)。文章提供了Java和Python的实现示例,展示如何生成、验证JWT令牌。Java示例使用io.jsonwebtoken库,包含令牌生成、用户名提取和有效性验证;Python示例使用PyJWT库,实现令牌生成和验证功能。两个示例都强调了密钥安全性和令牌过期机制,适用于身份验证等场景。

2025-08-18 20:38:08 229

原创 PHP项目运行

PHP安装PhpStorm下载

2025-08-10 17:38:12 328

原创 Python-UV-portry项目管理流程

文章摘要: uv 是一款基于 Rust 开发的 Python 依赖管理工具,旨在替代传统 pip 工具链。它提供快速依赖安装与项目初始化功能,支持自动生成项目结构(uv init)、创建虚拟环境(uv venv)和依赖管理(通过pyproject.toml文件)。特色功能包括:一键同步依赖(uv sync)、无需激活虚拟环境直接运行脚本(uv run),以及通过uv add命令动态添加依赖。其设计显著简化了Python项目依赖管理流程,特别适合新项目快速搭建。 (字数:150)

2025-08-09 11:25:56 892

原创 Python+AI

摘要:MCP是一种标准协议,支持AI模型通过Function Calling机制与API无缝交互,使AI Agent等智能系统能够自主执行任务。该协议的核心价值在于实现大模型与外部服务的高效连接,为智能代理提供标准化接口,从而提升任务分析与执行能力,推动AI系统的功能扩展与自动化水平。

2025-08-09 04:23:55 170

原创 日志库Loguru

日志库Loguru教程

2025-03-15 17:06:55 189

原创 知识库文档

staticmethod:静态方法没有类似 self 或 cls 这样的特殊参数,它和普通函数类似,只是定义在类的命名空间中。classmethod:类方法的第一个参数 cls 是类对象本身。可以通过 cls 访问类的属性和调用其他类方法。classmethod可以访问和修改类的属性,可以调用其他类方法,第一个参数为类本身(通常命名为cls)。staticmethod不能访问或修改类的属性,也不能调用其他类方法,它与类和实例无关。python中的classmethod和staticmethod有什么区别?

2025-02-06 11:02:05 1277

原创 并发编程(JUC)

并发编程的目的是为了让程序运行得更快,但是,并不是启动更多的线程就能让程序最大限度地并发执行。在进行并发编程时,如果希望通过多线程执行任务让程序运行得更快,会面临非常多的挑战,比如上下文切换的问题、死锁的问题,以及受限于硬件和软件的资源限制问题。this.wait()会释放锁this.notifyAll()自旋(while)一下就不会虚假唤醒Lock lock = new ReentrantLock()Condition condition = lock.newCondition()condition.aw

2024-09-29 15:10:49 1302

原创 日常记录X

将Java中的垃圾回收算法直接移植到Python中并不现实,因为Python使用的是不同的内存管理机制。虽然原理类似,但具体实现和优化是针对各自语言的需求而设计的。内存排序:如果内存足够,可以将所有用户数据加载到内存中,使用排序算法(如快速排序或归并排序)对用户按积分进行排序,然后获取最大积分的用户。内部处理: 当 Flask 接收到一个请求时,它会查找路由映射表,找到与请求路径匹配的视图函数,并调用该函数处理请求。1.如果有100万的用户数据,每个用户里有个积分字段,如何进行排序获取最大积分的用户。

2024-09-06 09:32:43 1034

原创 ELK study

1.索引(Index)(数据库)是一个包含了相关文档数据的集合,存数据的地方。索引可以包含多个类型(Type),每个类型代表一个类似数据库中的表。2.类型(Type)(表)类型是用来定义数据结构,是在索引中对文档进行分类的一种方式。每个类型都有自己的映射(Mapping),定义了文档中包含的字段和它们的类型。3.文档(Document)(行)是存储在索引(Index)中的基本数据单位(最小),一个文档就是一条记录。类似于 MySQL 中的一行。

2024-04-15 18:50:51 403

原创 RTC module design

RTC单元提供实时时钟和日历功能,包括自动闰年调整、闹钟和周期性中断支持。无论在何种工作模式下,RTC都不会关闭,即使在低功耗模式下也能正常运行。此外,RTC的输出寄存器和时钟校正寄存器不会被复位,以确保时钟的准确性。RTC模块的时钟源可选择Fosc时钟(默认)或Flrc时钟。而且,RTC模块的工作电压可以降至最低1V。

2024-03-19 18:51:56 1077

原创 STM32通讯设计

这些函数是与STM32的HAL库(Hardware Abstraction Layer)中I2C模块相关的中断处理和回调函数。1.这些函数是STM32的I2C(Inter-Integrated Circuit)总线操作函数,用于在不同模式下进行数据传输和通信。使用中断程序进行和2202进行通讯,2202芯片未获取到STM32发送的数据,需要排查原因。3.如果HT2202芯片能够收到STM32发送的数据则通讯成功,否则通讯失败。2.将STM32芯片配置为从机发送,中断模式下发送固定数据。

2023-11-29 13:15:42 737

原创 STM32调试功能

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iVG7IVyt-1685440276658)(C:\Users\ywwei.HITRENDTECH\AppData\Roaming\Typora\typora-user-images\image-20230530173114902.png)]Cortex-M内核(MO/M3/M4/M7等)集成了串行SWD/JTAG调试接口(SWJ-DP),包括JTAG-DP接口(5个引脚)和SW-DP接口(2个引脚)。

2023-05-30 17:53:11 2261

原创 STM32中断模块

EXTI—外部中断/事件控制器,管理了控制器的20 个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI 可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。HAL 库函数的EXIT 初始化非常简单,只需配置好IO 口的模式,然后配置中断源、中断优先级、使能中断。

2023-05-26 09:57:44 264

原创 Keil工程

1.1 右键点击项目名称,弹出菜单中选择Add Group…,我们把所有需要添加的源文件都放在这个Group中。1.2 比如这个Group取名Link,右键点击Link,弹出菜单中选择Add Existing Files to Group ‘Link’…。1.3 然后选择你需要添加的源文件所在的文件夹,按Ctrl+A全选此文件夹所有.c文件,点击Add。若有多个文件夹同样都加在Link这个Group中。1.4 现在添加头文件路径。

2023-04-26 16:22:49 8956

原创 Python Tips

在字典中查找某个值时,若key不存在时则会返回一个KeyError错误而不是一个默认值,这时候可以使用defaultdict函数。使用dict[key]=value时,若key不存在则报错;使用dict.get(key)时,若key不存在则会返回一个默认值。

2023-04-26 15:20:50 223

原创 PyCharm

Pycharm默认的风格是reStructuredText,可以通过以下路径修改,

2023-04-12 17:31:22 144

原创 Keysight示波器使用备注

功能 -> DVM => 触发电平。1.点击Tragger设置下降沿。3.single => 触发。2.点击analyze设置。

2023-03-27 12:25:34 4273 1

原创 I2C协议

对I2C总线来说工作在中断和非中断模式在时序上是相同的,只不过在非中断模式下是通过检测ACK信号来判断从设备响应了,在中断模式下是通过中断信号来判断从设备响应了,一般是读主CPU侧的I2C控制器的中断标志来判断的。I2C协议对数据的采样发生在SCL高电平期间,除了起始和停止信号,在数据传输期间,SCL为高电平时,SDA必须。I2C协议规定,SCL处于高电平时,SDA由高到低变化,这种信号是起始信号。I2C协议规定,SCL处于高电平,SDA由低到高变化,这种信号是停止信号。I2C 协议的一个示例。

2023-03-21 21:36:51 3014

原创 C语言积累

一个比特(Bit)位只有 0 和 1 两个取值,只有参与&运算的两个位都为 1 时,结果才为 1,否则为 0。例如1&1为 1,0&0为 0,1&0也为 0,这和逻辑运算符&&非常类似。十六进制的左移即是向左移动N位,把左边的N位去掉,右边缺的N位补零,也就是移动N位就乘以2的N次方(但此结论只适用于左移时被溢出舍弃的高位中不包含1的情况)参与|运算的两个二进制位有一个为 1 时,结果就为 1,两个都为 0 时结果才为 0。例如1|1为1,0|0为0,1|0为1,这和逻辑运算中的||非常类似。

2023-03-21 21:32:31 153

原创 I2C DEBUG记录

SDA数据线:00010101 -> 0x0A + 0x01(错误数据,应该为0x00),所以导致从机回复NACK,修改后正确回复。通过示波器抓取的波形,通道1为PA.2(SCL),实测频率为70.39khz。该示波器的图像含义为:1.主机发送起始信号 2.主机发送SLA + W。其中寄存器的设置为 CR[0:1] = 3, CR[3:9] = 9。通道一为:SDA 通道二为:SCL。

2023-03-21 18:56:52 491

原创 Jenkins基本修改

#${ENV.var=“测试项目”}

2023-03-02 22:49:36 699

原创 Python进阶

raise是什么意思呢?raise是用raise语句来引发一个异常。异常/错误对象必须有一个名字,且它们应是Error或Exception类的子类。当内部作用域想修改外部作用域的变量时,就要用到 global 和 nonlocal 关键字了。

2023-03-02 22:04:12 158

原创 GPIO功能描述

高阻态:数字电路常见术语,指的是电路的一种输出状态,既不是高电平也不是低电平,如果高阻态再输入下一级电路的话,对下级电路无任何影响,和没接一样,如果用万用表测的话有可能是高电平也有可能是低电平,随它后面接的东西定。同时IO浮空的时候,应该呈现一个接近0V的不稳定状态,翻转相邻的IO时,高阻态的IO可以看到一个同频的抖动,但是接到固定电平上时,第一IO上电流不超过100nA,第二IO会呈现固定电平,没有抖动。引脚开启和关闭 LVDIN 功能时,GPIO 模块寄存器的控制效果仍然有效。

2023-02-13 13:29:04 3824

原创 PyTest

1.pytest是一个非常成熟的python的单元框架,比unittest更灵活。2.pytest可以和selenium,requests,appium结合实现web自动化,接口自动化,app自动化。3.pytest可以实现测试用例的跳过以及reruns失败用例重试。4.pytest可以和allure生成非常美观的测试报告。5.pytest可以和Jenkins持续集成。6.pytest有很多非常强大的插件,并且这些插件能够实现很多的实用的操作。pytest。

2023-01-09 22:05:43 1126

原创 GPIO端口状态实现最大速度翻转

比如说,一个电路在它一个工作周期中有一半时间被接通了,那么它的占空比就是50%。同理,当占空比设置为20%时,阀门的开度显然应该为20%。占空比是指高电平在一个周期之内所占的时间比率,方波的占空比为50%,占空比为0.5,说明正电平所占时间为0.5个周期。若信号的周期为T,每周期高电平时间为t1,低电平时间为t2,T=t1+t2,则占空比D=t1/T。占空比(Duty Cycle)在电信领域中有如下含义:在一串理想的脉冲序列中(如方波),正脉冲的持续时间与脉冲总周期的比值。

2023-01-09 17:45:20 1707

原创 STM32CUBEIDE-简单案例生成

STM32CUBEIDE-简单案例生成

2023-01-09 15:07:38 1212

原创 仪器设备使用

测试设备、外部电路、信号源的“地”和电源零电位端接到一起,形成统一的0电位参考平面,这就是电路实验中常说的“共地”功能控制区按键:Run/Stop 终止/运作按钮 Autoset 自动设置 Measure 测量 Display显示设置 Acquired 获取设置 Cursors光标测量 Utility1.独立工作模式2.串联工作模式3.并联工作模式每次切换工作模式按 键,此电源会自动关闭输 出。需要手动打开输出开关才会有设定输出。切换工作模式属于大调整,应规范操作,先断开与外电路的连线。

2023-01-09 15:02:19 5605

原创 Confluence+Jira使用

confluence+jira的使用方式

2023-01-09 14:53:29 804

原创 Docker-compose安装ELK(单节点)

docker-compose安装ELK

2023-01-03 18:24:33 442

原创 Dcoker安装MQTT

Docker安装MQTT

2022-12-21 12:53:01 165

原创 unittest自动化测试框架

单元测试:指的是在软件开发当中,对程序的最小单元(函数,方法)进行测试的过程。unittest不仅可以用于单元测试,还可以用于自动化测试用例的开发和执行。组织执行自动 化测试用例。并且提供一些丰富的断言方法,判断用例是否通过,最终能够生成测试报告。

2022-09-04 16:26:01 789

原创 Docker-compose安装Kafka

Docker-compose安装Kafka

2022-07-03 11:16:30 1242

原创 树莓派入门

树莓派1.相关参数https://item.taobao.com/item.htm?spm=a1z0d.7625083.1998302264.6.e4ab4e690zcWIe&id=597477386998配置参数4B 主板4B8GB电源HDMI官方电源+官方HDMI线闪迪TF卡64GB硬件配置:树莓派4B和3B+对比变化部分2.下载和烧录镜像2.1镜像镜像下载:Raspberry Pi OS – Raspberry Pi官方镜像:F

2022-03-06 15:14:52 282

原创 Jenkins插件

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Doc

2022-02-24 21:32:28 204

原创 串口收发程序设计

串口收发程序设计1.基本知识1.1串口串行接口是一种可以将接收来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接收的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路,我们称为串行接口电路。串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节的通信方式。1.2波特率这是一个衡量符号传输速率的参数。指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数,如每秒钟传送240个字符,而每个字符格

2022-01-11 22:36:37 3710

原创 Flask学习记录--集成Flask和Swagger

Flask学习记录–集成Flask和Swagger采用如下命令安装flask-restpluspip install flask-restplus==0.13.0/usr/local/lib/python3.7/site-packages/werkzeug/init.py 文件中,添加:from werkzeug.utils import cached_property

2021-12-19 21:14:49 630

原创 Portainer管理多台Docker容器环境

Portainer管理多台Docker容器环境文章目录Portainer管理多台Docker容器环境1.环境准备2.管理docker2.1安装运行portaner2.2修改配置文件2.3添加节点2.4效果图3.踩坑记录3.1connection refused1.环境准备# aliyun 2核8G139.196.95.123 安装docker和Portainer# aliyun 1核2G 47.100.34.199 安装docker# qingcloud 1核2G139.198.16

2021-11-06 12:25:20 3844

芯片RTC材料的描述,特定芯片RTC材料的信息

芯片RTC材料的描述,特定芯片RTC材料的信息

2024-03-19

芯片CMU材料的描述,特定芯片CMU材料的信息

芯片CMU材料的描述,特定芯片CMU材料的信息

2024-03-19

芯片TBS材料的描述,特定芯片TBS材料的信息

芯片TBS材料的描述,特定芯片TBS材料的信息

2024-03-19

空空如也

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

TA关注的人

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