自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

0.85度的博客

个人总结和技术分享

  • 博客(183)
  • 收藏
  • 关注

原创 内网穿透工具使用指南:ngrok 和 cpolar

由于国内和国外的网络环境差异,ngrok(国外最流行)和 cpolar(国内最稳定)是两个最常用的内网穿透工具。它们的作用是:给你的本地电脑(localhost)分配一个公网可以访问的网址。

2025-12-18 20:57:16 204

原创 活到老学到老之yt-dlp_macos(二)

yt-dlp_macos使用介绍(二)

2025-11-24 11:39:36 390

原创 Python开发:后端服务的异步处理

事件循环只能调度异步(可等待)的操作;如果在事件循环里运行同步阻塞代码(无论在主协程还是子协程里),都会阻塞整个事件循环 —— 因此必须把阻塞工作改为真正的异步或交给线程/进程去跑。

2025-10-27 17:02:07 506

原创 活到老学到老之URL中的 ? 和 & 是干什么用的?

1. 第一个查询参数前必须用 ?。 2. 后续参数前用 &。 3. 如果 URL 本身没有查询参数,直接加 ?。 4. 如果 URL 已经有查询参数,再加新参数就用 &。

2025-10-24 10:09:32 300

原创 活到老学到老之python异步方法中不可以使用raise HTTPException

python异步方法中不可以使用raise HTTPException(status_code=500, detail=str(e)),写法虽然语法正确、能运行,但在 异步后台任务场景(asyncio.create_task() 启动的任务) 下,直接 raise HTTPException 会有潜在问题。

2025-10-23 13:43:02 367

原创 Python开发:BackgroundTasks和asyncio.create_task()的区别

在前一篇文章中https://blog.csdn.net/zhang_jiamin/article/details/153329238?spm=1011.2415.3001.5331介绍了接口的场景设计,采用的设计方案是:后端异步任务 + 轮询进度接口,让前端立即得到“任务已开始”的响应,然后再异步处理解析任务。其中涉及到了后端异步任务,有两个常用方法:BackgroundTasks和asyncio.create_task()

2025-10-22 10:05:52 379

原创 Python开发:接口场景设计

我的开发场景是:前端选中某个文件后,点击提交,后端开始下载并解析文件,生成apks文件。涉及到两个接口,分别是getS3List和submitS3Path,已经调通了,后端可以成功收到前端的请求并进行下载和解析。遇到的的问题是:后端解析需要时间,前端在等待过程中提示:请求超时、请求失败,请稍后重试,后端解析需要一分钟左右。我的解决方案是:后端异步任务 + 轮询进度接口,让前端立即得到“任务已开始”的响应,然后再异步处理解析任务。

2025-10-21 10:07:54 216

原创 Vben-Admin + FastAPI 项目中解决 422 报错的实战经验

422 错误(Unprocessable Entity)在 FastAPI 中很典型,是请求格式或者参数名和后端接口定义不匹配。

2025-10-20 10:45:00 269

原创 前端调试必备技能:在 Vben-Admin 中优雅打印 URLSearchParams

摘要:在JavaScript中打印URLSearchParams对象时,直接访问formData.values无法正确显示参数。正确方法是调用toString()方法,如console.log(formData.toString()),这样会将参数转换为URL编码的查询字符串格式输出。本文展示了在submitS3Path方法中如何正确打印传递给后端的表单数据参数。

2025-10-17 10:44:12 182

原创 活到老学到老之Vben-Admin-Antd项目发送application/x-www-form-urlencoded格式的请求

活到老学到老之Vben-Admin-Antd项目发送application/x-www-form-urlencoded格式的请求

2025-10-16 10:40:19 223

原创 Python开发:接口response结构设计

{ data: { files: [...] }, code: 0, message: "ok" } 形式优点:(1)统一接口规范: a. code 表示业务状态(0=成功,非0=业务异常) b. message 提供错误提示或状态描述 c. data 承载业务数据(2)易于封装前端通用请求处理(axios 拦截器、全局错误处理)(3)便于扩展,例如后续增加分页信息、总条数、调试ID等

2025-10-15 10:40:00 365

原创 活到老学到老之Vben-Admin-Antd项目中requestClient封装层只返回response.data

在Vben-Admin-Antd项目中请求后端接口,使用的是requestClient方法,使用该方法发送请求后得到的响应数据是response.data,而不是完整的response。

2025-10-14 20:30:58 409

原创 活到老学到老之httpx与aiohttp的区别:FastAPI 中的最佳选择

我使用FastAPI写了两个接口,分别用到了httpx和aiohttp这两个模块,在调试的过程中发现,使用httpx模块的接口可以自动打印请求日志,但是使用aiohttp模块的接口却不能打印这样的请求日志,需要手动添加,于是引起了我的好奇,这两个模块到底有哪些区别,活到老学到老,总结一下

2025-10-13 20:40:43 708

原创 活到老学到老之Jenkins build triggers中的定时schedule规则细讲

Jenkins build triggers中的定时schedule规则细讲,在 Jenkins 的 Build Triggers -> Build periodically -> Schedule 里,定时任务的写法遵循的是 Cron 表达式,格式和 Linux 的 cron 一样

2025-09-26 10:14:02 445

原创 活到老学到老之log模块设计

python FastAPI log 模块设计,logging模块使用

2025-09-25 10:19:59 804

原创 python开发:使用logging记录服务端日志并按日期分割日志文件

在python FastAPI项目开发过程中,使用logging记录服务端日志并按日期分割日志文件

2025-09-24 14:50:20 287

原创 活到老学到老之python os模块常用方法

python os模块常用方法

2025-09-23 20:23:18 271

原创 Python开发:使用FastAPI创建后端服务

使用python FastAPI开发后端服务接口

2025-09-22 20:44:29 586

原创 python开发:创建虚拟环境

python项目开发:创建虚拟环境

2025-08-27 18:06:29 475

原创 活到老学到老之vue-vben-admin项目添加web页面

在vue-vben-admin项目中添加web页面

2025-08-21 20:22:48 395

原创 活到老学到老之vue-vben-admin项目安装

Vue Vben Admin 是 Vue Vben Admin 的升级版本。作为一个免费开源的中后台模板,它采用了最新的 Vue 3、Vite、TypeScript 等主流技术开发,开箱即用,可用于中后台前端开发,也适合学习参考。项目地址:https://github.com/vbenjs/vue-vben-admin/blob/main/README.zh-CN.md

2025-08-18 17:54:56 337

原创 活到老学到老之Jenkins Pipeline Job

每天早上都要打Android包和iOS包,多个人多个项目的时候打包就要排队,可能需要半个小时不止,等的比较焦急,有这样的情况,就可以使用Jenkins Pipeline Job定时打包了。

2025-08-15 11:15:32 345

原创 活到老学到老之使用jenv管理多个java版本

我本地安装的java版本是1.8,用来跑Android UI自动化的,Appium要求使用的java版本是1.8,现在有另一个需求是要在本地解aab包,bundletool要求使用的java版本是21,所以需要在本地管理两个java版本,根据需要随时切换java版本。

2025-08-08 20:30:36 267

原创 活到老学到老之AES加密

AES(Advanced Encryption Standard,高级加密标准)是一种对称加密算法,广泛应用于数据加密与传输安全。AES 是美国国家标准与技术研究院(NIST)在 2001 年正式发布的标准,取代了之前的 DES(Data Encryption Standard)。

2025-07-31 10:27:05 869

原创 活到老学到老之fabric group

fabric 提供的并发方法Group介绍。

2025-07-29 10:23:46 4393

原创 Python 实现多服务器并发启动 SDK-C Master 与 Viewer 的分布式方案

这次介绍一下使用python实现分布式在多台服务器上并发启动master和viewer,用以实现更高的并发和负载。

2025-07-28 10:55:23 1023

原创 AWS WebRTC:我们的业务模式

设备端(摄像机) 与 App端 是通过 AWS KVS WebRTC 信令服务进行“点对点连接”的,真正的媒体数据(音视频)是通过 WebRTC 的 ICE 通道(P2P 或 TURN)直接传输的,而不是经过 KVS 中转。

2025-07-25 14:59:25 346

原创 活到老学到老之用 ffprobe 查看视频中的 I/P 帧分布

ffprobe -select_streams v:0 -show_frames -show_entries frame=pict_type -of csv output.mp4 - -select_streams v:0:选择第一个视频流 - -show_frames:显示每一帧信息 - -show_entries frame=pict_type:只显示帧类型(pict_type) - -of csv:输出为 CSV 格式(也可以用 json 或 default)

2025-07-24 10:31:41 920

原创 活到老学到老之CDN简介

CDN(Content Delivery Network,内容分发网络)的作用是:让用户从最近的服务器访问内容,提高访问速度,减轻源站压力。

2025-07-23 10:41:18 356

原创 云录事件:m3u8和ts下载及解析

业务中云录事件是通过若干ts文件和一个m3u8文件实现的,固件端开始录像时生成m3u8文件,随着录制的进行生成若干ts文件,并上传至s3,事件录制结束后再上传一次m3u8文件覆盖之前的m3u8文件。

2025-07-22 11:12:40 1277

原创 细说I帧、P帧:运动矢量和残差

进一步解释 P 帧的原理:P 帧不是“截图变化区域”,它是“运动矢量 + 差异数据”,每一帧图像被分成很多 宏块(Macroblock,通常是 16x16 像素),然后每个宏块都去做下面这件事:1、去 前一帧中寻找“最相似的块”2、记录这个块 移动了多少(叫做运动矢量)3、再记录和原图的像素差异值(残差)所以,P 帧的内容是: - 哪些块和前一帧一样(跳过) - 哪些块变了,变了多少(矢量 + 差值)

2025-07-21 10:51:15 1094

原创 视频播放:开始、暂停、seek,说一下seek

“seek” 指的是在视频或音频中跳转到指定的时间点进行播放。

2025-07-18 10:12:27 762

原创 AWS WebRTC:RTP讲解

RTP简介:RTP(Real-time Transport Protocol,实时传输协议)是音视频领域非常基础和重要的一个协议。RTP 是一种用于通过 IP 网络实时传输音频和视频的协议,常用于视频会议、语音通话、实时监控等实时媒体传输场景。

2025-07-17 10:30:40 1000

原创 AWS WebRTC 并发 Viewer 拉流失败分析:0.3 秒等待为何如此关键?

前面的文章介绍了,在并发启动viewer的时候拉流失败,解决方法是在启动每个viewer后给它留0.3秒的初始化时间,这0.3秒是如何体现的呢?

2025-07-16 10:41:01 946

原创 使用 sudo iftop -i 分析服务器带宽使用情况

使用 sudo iftop -i 分析服务器带宽使用情况

2025-07-15 10:49:35 435

原创 通过 ip a 查看网络接口名

在监控服务器带宽使用情况的时候,需要知道服务器用的是哪个网卡,就是网络接口名。ip a 详解。

2025-07-14 10:28:14 611

原创 用鼠标点击终端窗口的时候出现:0;61;50M0;61;50M0;62;50M0

用鼠标点击终端窗口的时候出现:0;61;50M0;61;50M0;62;50M0

2025-07-11 10:30:06 477

原创 AWS WebRTC:SDK-C拉流并发测试结果

AWS WebRTC:SDK-C拉流并发测试结果总结分析、拉流失败问题解决、多服务器性能监控

2025-07-10 10:42:05 947

原创 三种帧类型介绍:I、P、B 帧

I 帧是完整图像,P/B 帧是压缩的差异图像;视频压缩就是“保存关键图像 + 补充变化部分”;I 帧决定是否能独立播放、seek、解码;

2025-07-09 10:32:59 822

原创 AWS规则引擎

AWS 的规则引擎,通常指的是 AWS IoT Core 规则引擎(AWS IoT Rules Engine),它是 AWS IoT 服务中的一个核心组件。

2025-07-08 10:23:52 476

空空如也

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

TA关注的人

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