自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python装饰器

装饰器(Decorator) 是一个函数,它可以在不修改原函数代码的前提下,增强或修改函数的行为。本质上,装饰器就是“函数的函数”。

2025-04-06 16:05:21 897

原创 catch-all路由

Catch-All 路由 指的是:一个能匹配“任意路径”的通配型路由。它一般会使用。

2025-04-02 23:02:04 786

原创 CORS与OPTIONS请求

跨域不是后端的问题,是。

2025-04-02 22:59:55 969

原创 5G-A技术

最近的iOS 18.4 推送了 新功能,最引人注目的便是这个5G-A的这个功能,那什么是5G-A呢 ?目前北京 四环内 还是有能显示出5G-A标志的。🌐 一句话概括:✅ 5GA 是什么?5GA(5G Advanced)是 3GPP(全球通信标准组织)在Release 18中定义的5G演进技术标准,相较于当前的5G网络,5GA带来了更强的性能与智能化能力,主要体现在:📶 性能增强:• 速度更快:峰值下载速率预计可达 10Gbps+• 时延更低:可支持 <1ms 的超低延迟• 连接更多:更高密度设备连接,适

2025-04-01 23:30:07 1074

原创 APScheduler定时

🔍 背后原因:apscheduler 的 job 函数是同步调用的虽然我们使用的是 AsyncIOScheduler(支持 asyncio 的调度器),但是它 内部的 add_job() 方法要求传入的是一个 普通函数(sync function),而不是 async def 的协程函数。这个 wrapper() 是普通函数,apscheduler 就可以调度它,而它内部通过 asyncio.create_task() 启动了异步任务。🔧 APScheduler 本质机制:🔁 它内部怎么工作的?• s

2025-04-01 23:03:50 951

原创 定时任务(python)

• 自由度高:可以灵活计算下一次执行时间。• 无需额外依赖,原生 asyncio 就能跑。• 跟 Redis 结合很好,可以做跨进程/跨机器任务协调。• 手动管理定时逻辑(get_next_run_time + asyncio.sleep())。• 多任务可能不好管理,比如暂停/重启某个 job。• 不支持 cron 表达式等复杂调度。import osself.push_interval_seconds = 600 # 推送间隔时间。

2025-04-01 23:02:37 670

原创 单例模式解析

一个类在整个程序运行过程中,只能被创建一次实例,且这个实例是全局共享的。

2025-03-30 22:54:20 856

原创 接口等幂处理

等幂。

2025-03-30 19:09:21 890

原创 主键id设计

主键id的 设计比较: uuid、自增、雪花、uuidv7

2025-03-26 23:52:03 1314

原创 .git 文件夹

没错,.git/objects/ 里那些奇奇怪怪的哈希文件,其实就是 Git 真正存储所有数据的地方,它们不是普通的“文件”,而是 Git 自己的。这些文件夹名(如 1a)和文件名(如 2b3c…Git 有• 它们不是普通文本文件,是。• 你如果直接 cat 它们,会看到乱码。• 要查看内容,得用 Git 自己的工具来“解码”。你查看的是一个 commit 对象,它,不直接包含代码内容,而是指向一个 tree 对象,那个 tree 才是“这次提交的文件结构”。

2025-03-26 23:10:29 989

原创 .gitattributes与git lfs

是 Git 官方推荐的用于管理大文件的扩展工具。“Git 适合管理代码,不适合管理大文件;但我们可以用 Git 来记录大文件的‘引用’,真正的文件存在其他地方。

2025-03-26 23:08:18 1370

原创 Git 删除敏感密钥

如果你现在遇到了这个场景,在github 上不小心 上传了私钥操作同时新版本 已经领先于之前的版本了输入git log 如下:这是我的模拟场景•••确实会导致git filter-repo 本质上是,它会:•••永久性地从历史中如果输出为空,说明确实没有 remote。

2025-03-25 23:55:20 745

原创 python 格式化利器

【代码】python 格式化利器。

2025-03-25 23:24:02 449

原创 docker使用uv安装依赖

📌 作用是:• ✅(不安装你项目代码)• ✅ 使用 lock 文件精确控制版本• ✅✔️ 只要你没改 pyproject.toml 或 uv.lock,这一层永远不需要重建!这是 Docker 构建中非常重要的一环 —— 利用文件不变来缓存 layer,加快构建速度。📌 作用是:• ✅• 因为第一次用了 --no-install-project,项目代码没有装进去🚨 如果你更新了项目源码,但没改 pyproject.toml,就只会触发第二次构建。

2025-03-25 23:14:53 532

原创 pytest测试代码专用

pytest是一个功能强大、灵活且易用的 Python 测试框架,用于编写和运行单元测试、集成测试等。它是 Python 社区中最受欢迎的测试工具之一,相比内置的 unittest 模块,pytest 提供了更简洁的语法、更丰富的功能和更好的扩展性。不需要继承特定的基类(如 unittest.TestCase),只需写普通的 Python 函数。使用 assert 语句即可进行断言,无需复杂的 self.assertEqual 等方法。

2025-03-24 23:38:58 1118

原创 langfuse追踪Trace

Langfuse 是一个专门为 LLM 应用(如 OpenAI / LangChain / 自定义 Agent) 设计的 观测与追踪平台(Observability Platform)。

2025-03-23 23:56:42 700

原创 openai工具调用

使用工具链OpenAI:• 会分析你的 user 提问;• 判断是否需要调用某个工具;• 如果需要,就会返回一个,说明它“决定调用哪个函数 + 参数”。

2025-03-23 18:33:48 345

原创 Python工厂基类

这个 @classmethod 的作用是——将一个函数 fn 注册进当前类的 registry 字典中,键是函数名,值是函数本体。Python 的 inspect.signature(fn) 是标准库中的函数,用来。的框架,就像你现在做的那样 —— 类似于一个「工具工厂」。,装饰的作用是把函数。

2025-03-23 18:32:12 171

原创 Cloudfare内网穿透配置

注册cf后需要绑定自己的域名后,可以实现更多的功能写入CF的DNS ,即表示已经激活只要显示的是 Cloudflare 的两个 NS,就表示验证成功 ✅这样就表示添加成功了:然后搜索cloudflared 便可以下载对应的链接。Cloudflare 并不像其他平台要求你添加 TXT 验证记录,它是来确认你是该域名的管理员。

2025-03-23 16:32:26 737

原创 Picgo 配置--免费图床使用

下载 pigco ,然后去github 建一个仓库,可以命名为https://github.com/jacinli/image-hosting这是一个免费的图床方案使用了picgo + github 仓库的方案可以配置CDN ,强烈建议配置cdn (见最下)通过 PicGo + GitHub 实现免费图床的核心是利用 GitHub 仓库存储图片,PicGo 负责自动化上传并生成链接。你不需要自己搭建服务器,GitHub 本身就是存储和托管的“服务器”。

2025-03-23 01:00:17 768

原创 SSL证书与CA证书

CA 证书(Certificate Authority Certificate)是由「数字证书颁发机构」签发的证书,它的作用是:✅ 证明一个网站/服务器的身份是可信的✅ 用于建立HTTPS 安全连接(SSL/TLS)✅ 支持公钥加密和身份验证字段说明版本一般是 X.509 v3序列号证书的唯一编号签名算法比如 SHA256-RSA颁发者(Issuer)颁发证书的 CA 机构名称主题(Subject)被认证的网站/组织信息公钥网站用于加密通信的公钥有效期起始时间和过期时间扩展字段。

2025-03-23 00:12:39 1018

原创 网络HTTPS协议

HTTPS(Hypertext Transfer Protocol Secure)是 HTTP 协议的加密版本,它使用协议来加密客户端和服务器之间的通信。具体来说:•:在用户请求访问一个 HTTPS 网站时,客户端(如浏览器)和服务器通过来建立一条加密的通道。这个过程包括证书验证、密钥交换等步骤,最终生成一个用于加密的会话密钥。•:一旦加密通道建立,浏览器和服务器之间的所有通信数据都会使用对称加密技术(如 AES)加密。

2025-03-22 23:47:33 1088

原创 扫码登录(前后端双重解决方案)

• 前端拿到 code,再调用自己后端 /users/third_login/login_call/ 交换 token。了,Web 端的轮询 /login/status/{uuid} 状态变为。/login/status/{uuid},体验流畅。pending 生成二维码,等待扫码 40 秒。code**,可以掌控整个流程**(或 redirect_uri)。uuid**,导致失败**。• **缺点:**code。

2025-03-22 23:34:32 1048

原创 手机号登录与高并发思考

这个设备标识可以基于设备的硬件信息、安装的应用ID,或者生成一个唯一的UUID。最好的解决方案是在验证码过期之前提供验证码重发、动态刷新或者适当的过期提醒等方式来保障用户的体验,同时确保系统的安全性和效率。:将 OTP 所需的密钥(通常是一个随机生成的密钥)通过二维码的方式呈现给用户,用户可以使用 TOTP 兼容的应用(如 Google Authenticator 或 Authy)来生成验证码。:每次请求时,记录用户请求的时间戳,在每次请求时检查用户在最近一分钟内的请求次数,如果超过限制,则拒绝该请求。

2025-03-22 23:13:09 910

原创 OpenAI流式解析

在 Python 中,导入模块时使用的是库的模块名,而不是 PyPI 上的包名。load_dotenv 是这个库提供的一个函数,用于读取 .env 文件并将其中定义的键值对设置为系统的环境变量。在异步迭代 response 中的每个 chunk,如果它有内容,就通过 yield 一块一块地“流式返回”。的用法,结合了 Python 的异步编程(async for)和生成器(yield)机制。,特别是在异步函数中逐步输出内容的场景下,它是可接受的。yield 是生成器的关键,它不是“返回”值,而是“

2025-03-22 22:49:47 841

原创 SSE流式FastAPI

SSE(Server-Sent Events)是一种,特别适合用来实现像 GPT 这种「流式输出」的效果。• 客户端(浏览器)发起请求后• 服务器可以不断「推送消息」给客户端• 使用 MIME 类型:text/event-stream• 天然支持断线重连(Last-Event-ID)用途。

2025-03-22 22:48:39 450

原创 Python协程调度

Python 协程调度指的是的机制。这主要依赖于 Python 内置的 asyncio 模块。•:使用 async def 定义的函数,这类函数在遇到 await 时会挂起执行,将控制权交还给事件循环,然后在适当时刻恢复执行。•:利用协程实现非阻塞的代码执行,即使只有一个线程也可以同时处理多个 I/O 密集型任务。•是 Python 协程调度的核心,它不断轮询任务,检查哪些任务准备好继续执行。

2025-03-22 22:46:27 666

原创 Sqladmin - FastAPI框架下一键生成管理后台

Github 开源地址:网站说明链接地址:一个现代、优雅的 SQLAlchemy 管理后台工具,非常适合用在 FastAPI 项目中是一个基于构建的管理后台框架,灵感来自于 Django Admin,目标是为 Python 项目提供:• 🚀 简洁易用的后台界面• 📋 基于 SQLAlchemy 的模型自动管理• ⚙️ 快速 CRUD(增删改查)• ✨ Jinja2 渲染漂亮的 Bootstrap 风格后台。

2025-03-22 17:31:45 791

原创 UV-Python包高效管理工具

uv 是一个,兼容 pip / virtualenv / pyproject.toml,专注于:• 🚀• 📦 支持 requirements.txt 和 pyproject.toml• 🧱 内置虚拟环境(不依赖 venv)• 🔒 完整的依赖锁定机制(支持 uv pip compile)• 💡 使用 Rust 编写,性能强悍。

2025-03-22 16:54:20 998

原创 ElasticSearch 简单使用

Elasticsearch 与传统的关系型数据库不同,它并不使用“数据库”和“表”的概念。相反,Elasticsearch 使用“索引”(index)来存储数据,索引相当于数据库中的“表”。而“文档”(document)则相当于表中的一行数据。Elasticsearch是NOSQL类型的数据库。索引(index)类似mysql的表,代表文档数据的集合,文档指的是ES中存储的一条数据。Elasticsearch存储结构MYSQL存储结构index(索引)表文档行,一行数据Field(字段)

2024-10-11 17:57:32 859

原创 Alembic使用 (SqlAlchemy)

Fastapi 使用ORM 使用的是SqlAlchemy,这里使用alembic进行数据库文件迁移与数据库迁移。

2024-09-30 15:50:05 1611

原创 Redis 简单的消息队列

使用redis 进行简单的队列很容易,不需要使用较为复杂的MQ队列,直接使用redis 进行,不过唯一不足的需要自己构造生产者消费者,这里使用while True的方法进行消费者操作

2024-09-30 15:02:56 1481

原创 AES算法与接口解密

AES算法与接口解密

2024-09-08 18:58:59 2408 1

原创 微信小程序登录与获取手机号 (Python)

微信小程序登录模块后端设计【python】

2024-09-08 15:27:43 2116

原创 腾讯云COS异步操作上传(Python)

COS全称“云对象存储”(Cloud Object Storage),是一种分布式存储服务,通过将数据作为对象存储,可以实现数据的高可靠性和可扩展性。它通常用于**存储非结构化数据**,如文本、视频、图片等,非常适合需要**大量数据存储和高速访问**的场景。

2024-07-21 20:36:03 1462 1

原创 FastApi+WebSocket 解析

FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,特别适合于构建微服务。它基于标准 Python 类型提示,这使得它的一大特点是**自动数据验证和自动生成 API 文档**(包括 Swagger 和 ReDoc)。

2024-07-07 19:01:45 2562 1

原创 Django 日志配置解析

在 Django 中设置和使用日志是一个有效的方式来监控和调试应用程序。日志可以帮助你理解应用的运行状态,记录错误信息,以及跟踪重要的系统事件。Django 使用 Python 的标准 logging 模块来配置和管理日志。

2024-06-28 20:02:30 1732 1

原创 Nginx 反向代理

Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎.

2024-06-28 16:24:57 1091 1

原创 Python import解析

的顺序组织代码,且各类型导包逻辑中建议按照字母顺序进行排列。

2024-06-23 19:29:56 1345

原创 django DRF增删改查

本文在django所有的增删改查样例使用的DRF框架序列化操作,并非是简单的orm操作。涉及到数据库设计原则、DRF增删改查、原生SQL操作

2024-06-23 16:34:14 1130

空空如也

空空如也

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

TA关注的人

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