- 博客(49)
- 收藏
- 关注
原创 redis 有序集合zrange和zrangebyscore的区别
ZRange基于索引位置获取元素,更关注元素在有序集合中的顺序。基于分数范围获取元素,更关注元素的分数。在实际使用中,需要根据具体的需求选择合适的命令。
2025-04-29 18:55:20
699
原创 PyQt6中 QWidget 和QMainWindow的区别
是一个高级窗口类,适合用作应用程序的主窗口。根据具体需求选择合适的类可以更高效地完成开发任务。是 PyQt 中两个常用的类,它们在功能和用途上有显著区别。是基础窗口部件类,用于构建所有类型的窗口部件;
2024-12-20 17:10:20
600
原创 PyQt6 学习记录1
PyQt6 是基于 Python 的一系列模块。它是一个多平台的工具包,可以在包括 Unix、Windows 和 Mac OS 在内的大部分主要操作系统上运行。
2024-12-20 11:26:17
365
原创 os.path.dirname(os.getcwd()) 和 os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 的区别
方法路径依据用途当前工作目录适合在单独运行的脚本中快速获取上级路径,但对文件结构稳定性要求较高。当前文件路径适合在模块化或复杂项目中使用,确保路径稳定,适用于跨文件调用。使用哪种方式,取决于路径是否应与文件结构关联,通常推荐使用__file__,尤其是在构建模块或复杂目录结构的项目中。
2024-11-13 12:02:22
402
原创 playwright学习记录2--定位方式
Playwright 可以与 HTML 输入元素进行交互,例如文本输入、复选框、单选按钮、选择选项、鼠标单击、键入字符、按键和快捷键以及上传文件和焦点元素。Playwright 的 CSS 选择器支持大多数 CSS 选择器功能,包括类名、ID、属性选择、子元素等。Playwright 可以通过元素的文本内容来定位元素,支持精确匹配和部分匹配。等相对定位方法来定位元素,适用于定位同类元素中的特定一个。Alt文本选择器 (get_by_alt_text())文本选择器 (get_by_text())
2024-11-11 14:53:23
1428
原创 playwright学习记录1
每个上下文相当于一个独立的浏览器窗口,拥有自己的 cookies、缓存和存储,这使得在多会话测试中避免相互影响变得更容易。URL 是可选的,你始终可以在没有它的情况下运行命令,然后将 URL 直接添加到浏览器窗口中。Playwright CLI 提供了录制功能,可以录制用户在浏览器中的操作并生成代码,大大提高了使用效率。这就是本次学习的内容了,后续继续深入了解不同的操作方式,框架,截图等内容。执行完上述命令,会打开2个页面,可以记录所有操作,生成对应的代码。指定打开的浏览器,默认是chromium,
2024-11-07 18:45:14
820
原创 python读取视频并转换成gif图片
总结:通过moviepy可以生成gif图片,通过resize方法可以有效减少生成文件的大小。GIF 支持的颜色最多是 256 色,减少颜色数量可以减小文件大小。GIF 不需要太高的帧率,通常 10-15 fps 就足够了。生成gif 后发现大小比原视频还大。降低 GIF 的分辨率可以显著减少文件大小。将视频转换成gif,需要使用 moviepy库。通过以上方法,可以有效减少生成gif的大小。替换完成之后就可以生成gif格式的动图了。方法已经在新的版本中移除了,替换成了。通过上述报错可以发现 方法调用是在。
2024-10-31 19:15:03
1023
2
原创 webp动图压缩功能实现记录
业务需求:动态资源太大,导致客户端性能较差,高峰时期容易出现卡顿等情况。在此基础上进行资源压缩优化。使用 Python 压缩一个.webp格式的动图,同时保证图片质量与原图高度一致,使用了下方的三方库.webp.webp。
2024-10-16 16:19:43
1429
2
原创 算法学习---递归算法
递归算法是一种直接或间接调用自身的算法,通常用于解决可以分解为更小的子问题的任务。递归的核心思想是通过将问题分解为更小的相同问题,直到达到一个基本情况(base case),即问题足够简单,能够直接解决。递归算法通过将问题拆解为相似的子问题并调用自身来解决问题。每个递归函数都需要一个基准条件以防止无限递归。
2024-10-16 15:33:08
327
原创 cookie,session token 的区别
Cookie:小数据文件,存储在客户端,用于存储用户偏好设置和会话状态,容易受限于大小和安全性。Token:身份验证凭证,通常用于 API 请求,存储在客户端,便于跨域和无状态认证。Session:服务器端会话管理,通过 Session ID 关联客户端和服务器端的会话数据,适用于存储大量用户数据和状态信息。
2024-07-29 22:41:08
425
原创 性能测试中qps 一直上不去的原因
在性能测试中,QPS(每秒查询率)一直上不去可能由以下几种原因导致:服务器硬件限制:应用程序瓶颈:数据库瓶颈:网络延迟:负载均衡问题:资源竞争:配置问题:第三方服务:缓存策略:针对这些问题,可以通过以下方法进行排查和优化:
2024-07-28 21:09:29
702
原创 python ssl报错 aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host:443解决
报错信息id原因: 在使用 aiohttp 进行 HTTPS 请求时,如果没有设置 正确的SSL 证书验证,就可能会出现以上问题。
2024-07-17 18:43:10
1698
原创 HTTP 常见状态码
2xx: 代表请求已成功被服务器接收、理解、并接受。3xx: 重定向,需要客户端采取进一步的操作才能完成请求4xx: 客户端的请求错误5xx: 服务器在处理请求的过程中有错误或者异常状态发生403 Forbidden 错误通常是由于服务器拒绝了客户端的请求而引起的最常见的情况是客户端没有足够的权限来访问请求的资源。这可能是因为文件或目录的权限设置限制了对其的访问,或者需要特定的身份验证才能访问资源。有时服务器会限制特定 IP 地址范围的访问权限。
2024-06-27 15:18:45
989
2
原创 直播流程探索
采集:使用摄像头和麦克风实时采集音视频数据。前期处理:对音视频数据进行降噪、同步等处理。编码:将处理后的数据压缩编码成流媒体格式。推流:通过RTMP协议将编码后的数据传输到流媒体服务器。转码:服务器进行转码操作,生成不同码率的流。分发:通过CDN将流媒体数据分发到全球各地的节点。拉流:观众通过应用程序或播放器拉取流媒体数据。画面呈现:播放器解码并播放音视频数据,最终呈现高质量的直播画面。
2024-06-18 16:05:05
387
原创 客户端性能测试相关指标
启动速度一般指的是应用从点击启动到完全加载完成所需的时间。测试方法可以通过使用启动时间分析工具来实现。TotalTime :应用自身启动耗时 = ThisTime + 应用 application 等资源启动时间(毫秒)流畅度指的是应用在使用过程中的响应速度和滑动流畅度。流量消耗指的是应用在使用过程中所消耗的移动数据流量。内存占用率指的是应用在运行过程中所占用的内存资源比例。测试方法可以使用性能分析工具来实现。CPU占用率指的是应用运行时所占用的CPU资源比例。电量消耗指的是应用在运行过程中所消耗的电量。
2023-10-22 22:19:02
250
原创 【mysql 多表查询】
示例:假设有两个表,一个是"Orders"(订单)表,包含订单的基本信息,另一个是"Customers"(客户)表,包含客户信息。右连接与左连接相反,返回右表中的所有记录以及满足连接条件的左表中的匹配记录。如果左表中没有匹配的记录,则返回NULL值。左连接返回左表中的所有记录以及满足连接条件的右表中的匹配记录。如果右表中没有匹配的记录,则返回NULL值。全连接返回左表和右表中的所有记录,如果存在匹配记录则进行关联,否则返回NULL值。内连接是最常用的连接类型之一,它返回两个表中满足连接条件的所有记录。
2023-10-17 21:24:33
313
原创 记录一次线上数据查询,从单句查询到 子查询
业务需求: 查询 参与活动的人数 和获得奖励的次数惯性思维: 简单查询 一个个的查询,最后汇总。造成这样思考的原因是工作中 查询不是太多,基本上都是单表单个用户的查询;也算是复习下 子查询的用法这样只能拿到抽奖或人数的 数据,需要手动加思考: 对数据进行分组 并统计其中2个组的总和对用户进行分组 ,统计人数, 并对获奖的用户进行过滤。
2023-10-17 19:22:33
229
原创 音画不同步的原因和解决办法
音画不同步是指直播过程中主播嘴巴动作和声音不同步,或者画面和声音不同步的现象。网络延迟:如果网络延迟过高,会导致直播画面和声音不同步。这通常是因为网络带宽不足,或者网络信号质量不好。编码器设置:直播过程中使用的编码器可能设置不正确,导致画面和声音不同步。这通常是因为编码器设置的帧率、采样率等与直播平台不匹配。直播平台问题:直播平台自身的技术问题也可能导致音画不同步。这可能是由于服务器故障、平台更新等原因造成的。
2023-10-13 18:10:11
5488
原创 音视频相关知识
从功能流程上说,它包含了采集、编码、前后处理、传输、解码、缓冲、渲染等诸多环节,每一个细分环节,还有更细分的技术模块。比如,前后处理环节有美颜、滤镜、回声消除、噪声抑制等,采集有麦克风阵列等,编解码有VP8、VP9、H.264、H.265等等。泛指各种数据的实时传输,包括音频,视频,文本,图片等媒体和非媒体数据的实时传输。音视频传输:涉及音视频数据的传输协议,如HTTP、RTMP、RTP等。音视频处理:对音视频进行编辑、剪辑、合成、调整等处理。图像处理:涉及视频图像的编辑、剪辑、合成、调整等处理。
2023-10-13 17:59:20
93
原创 面试问题汇总 持续更新ing
在这个例子中,我们创建了一个列表对象并将其赋值给变量“a”,然后将“a”赋值给变量“b”。由于“b”和“a”指向同一个列表对象,因此“b is a”将返回True。需要注意的是,深拷贝会复制整个对象的完整结构,包括所有嵌套的对象,因此深拷贝的过程可能会比较耗时和占用内存。在Python中,“is”和“==”是两种不同的比较运算符,它们的区别在于比较的对象和方式不同。“is”运算符用于比较两个对象的身份是否相同,即它们是否指向内存中的同一个对象。“==”运算符用于比较两个对象的值是否相等。
2023-10-11 19:04:38
97
1
原创 【AI助手】appium UI自动化简单实现
安装Appium之前,你需要先安装Node.js,安装方法请参阅官方文档:https://nodejs.org/en/download/。到此为止,我们已经介绍了如何使用Python进行APP的自动化测试。当然这只是一些简单的示例,实际上在实际生产中,我们需要编写更多的自动化测试用例,对APP的各个功能进行全面的测试。接下来,我们将使用Appium和Uiautomator2框架进行自动化测试。在开始编写代码之前,我们需要先设置Appium的配置。安装完成之后,接下来我们将开始编写自动化测试代码。
2023-10-10 11:18:32
434
1
原创 python+allure+jenkins 集成接口自动化 问题总结
jenkins配置源码管理部分:执行shell脚本:构建后生成allure报告:错误1: Can’t find allure commandline配置了allure 之后提示错误,是因为 全局工具配置的路径有问题 把全部路径都配上去了(/usr/local/allure-2.23.1/bin/allure),导致识别不到allure,把bin后面的去掉即可错误2:这里是因为shell脚本中的allure-result 要和生成报告的名字不一致导致的,2处的名字要保持一致最开始sh
2023-07-28 10:42:22
174
1
原创 docker安装python第三方包,解决pip is configured with locations that require TLS/SSL 问题
找到安装python的目录, 如果不记得了 可以通过 python 进入查看。找到 Modules/Setup 把下面圈出来的部分 解除掉注释。
2023-07-27 16:43:24
238
1
原创 This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error 解决办法
2023-07-02 18:04:26
690
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人