Yang's Blog

Yang's Blog

FastAPI项目实战
发表于2026-05-31|PythonFastAPI
FastAPI + SQLAlchemy 项目实战:RBAC用户权限管理系统学习笔记前言RBAC(Role-Based Access Control,基于角色的访问控制)是目前企业级系统最通用的权限管理模型,核心思路是用户关联角色、角色关联权限,通过角色实现用户和权限的解耦,极大提升权限管理的灵活性和可维护性。 本笔记将完整记录一套轻量化企业级 RBAC 用户权限管理系统的开发全过程,涵盖需求分析、项目设计、数据库设计、代码实现、异常处理、接口测试等全流程,所有代码可直接复制运行,适合零基础入门 FastAPI 项目实战,同时掌握后台权限系统的核心开发逻辑。 技术栈:FastAPI + SQLAlchemy + Pydantic + JWT + Python3.10+ + SQLite(可无缝切换 MySQL/PostgreSQL) 一、项目需求分析1.1 功能需求本项目实现一套基础通用的后台权限管理系统,核心功能覆盖用户、角色、权限全链路管理,具体需求如下: 用户模块:用户注册、账号密码登录、用户新增/查询/修改/删除(CRUD)、用户...
FastAPI+SQLAlchemy项目实战
发表于2026-05-28|PythonFastAPI
FastAPI + SQLAlchemy 项目实战(用户权限管理系统)一、项目介绍本篇笔记将使用: FastAPI SQLAlchemy 2.x MySQL JWT Pydantic Alembic 实现一个完整的: 用户权限管理系统(RBAC)功能包含: 用户注册 用户登录 JWT 鉴权 用户 CRUD 角色管理 菜单管理 用户角色绑定 分页查询 全局异常处理 统一响应结构 Swagger 接口测试 项目采用: Router Service Schema ORM Model 分层架构。 二、项目结构设计推荐采用企业级目录结构: 12345678910111213141516171819202122232425262728293031323334353637fastapi_rbac/│├── app/│ ├── main.py│ ││ ├── core/│ │ ├── config.py│ │ ├── database.py│ │ ├── security.py│ │ ├── response.py│ │ └── ...
SQLAlchemy2.0全面实战
发表于2026-05-28|PythonFastAPI
FastAPI学习笔记(三):SQLAlchemy 2.0 全面实战本篇适用场景与核心定位前面两篇我们搞定了 FastAPI 基础接口开发、异步底层原理、高并发与阻塞问题。但任何后端项目,最终核心都是数据库读写、数据建模、事务一致性、查询性能。 本篇以企业通用后台:用户-角色-权限-部门真实业务场景切入,完整落地 SQLAlchemy 2.0 全套知识点,覆盖同步/异步双引擎、模型设计、会话管理、全套CRUD、高级查询、联表关系、懒加载优化、事务、分页、原生SQL、Alembic迁移、企业级封装。 本篇为 FastAPI 项目数据层终极指南,学完可直接搭建可上线、可迭代、高性能、规范标准的生产级数据库架构,彻底告别手写SQL、模型混乱、事务失控、N+1性能坑等常见问题。 技术栈版本:SQLAlchemy 2.0 + Python3.10+ + aiomysql/asyncmy + Alembic 一、SQLAlchemy 2.0 核心五大组件(必懂基石)SQLAlchemy 2.0 相比1.x版本做了大量语法重构、异步标准化、类型注解增强,是目前Python生...
FastAPI异步编程与高级特性
发表于2026-05-28|PythonFastAPI
FastAPI学习笔记(二):异步编程与高级特性本篇核心定位很多开发者使用 FastAPI 开发时会遇到一个致命问题:明明用了 FastAPI,接口依然卡顿、并发极低、多请求互相阻塞,完全没有感受到 FastAPI 的高性能优势。归根结底,是没有吃透 FastAPI 底层异步运行机制,误用同步阻塞代码、混淆异步使用场景、不了解并发模型导致的。 本篇为 FastAPI 进阶核心篇章,专门解决 「为什么你的 FastAPI 会阻塞」 这一生产级核心痛点。全文深度拆解 asyncio 异步底层、同步异步使用规范、阻塞致命坑、并发高阶API、流式响应、WebSocket实时通信、项目性能优化方案,所有知识点配套原理讲解、正反案例、生产适用场景、完整实战代码。 学完本篇,可彻底规避99%的FastAPI并发阻塞BUG,独立开发高并发接口、AI流式接口、实时通信接口,掌握企业级FastAPI性能优化全套方案。 一、asyncio 核心底层原理(异步基石)FastAPI 的高性能完全依托 Python 原生 asyncio 异步库实现,想要彻底解决接口阻塞问题,必须吃透 asyncio 四大核...
FastAPI核心基础
发表于2026-05-28|PythonFastAPI
FastAPI学习笔记(一):FastAPI 核心基础一、FastAPI 核心原理1.1 FastAPI 是什么FastAPI 是一款基于 Python 3.8及以上版本、依托原生类型提示语法开发的现代化、高性能、工程化 Web API 开发框架。相较于传统的 Flask、Django 框架,FastAPI 针对性解决了传统 Python 后端框架性能弱、无自动校验、无原生接口文档、工程化薄弱等痛点,是目前 Python 微服务、后台管理系统、移动端接口、第三方对接接口开发的主流首选框架。 FastAPI 的核心设计理念是高效开发、类型安全、高性能、零冗余配置。框架内置了完整的数据校验、接口文档、异常处理、依赖注入能力,无需引入大量第三方插件,开箱即用。同时完美兼容同步、异步两种开发模式,兼顾开发效率与服务并发性能,适配从小型接口项目到中大型分布式微服务项目的全场景开发。 核心特性详细解析: 全自动数据校验:依托 Pydantic 实现运行时参数校验、类型转换、数据清洗,无需手写 if 判断校验参数,大幅减少冗余代码与BUG。 零成本自动接口文档:根据代码路由、参数、模型自动...
朴素贝叶斯与聚类
发表于2026-05-03|Python机器学习
朴素贝叶斯朴素贝叶斯介绍 复习常见概率的计算 知道贝叶斯公式 了解朴素贝叶斯是什么 了解拉普拉斯平滑系数的作用 【知道】常见的概率公式 条件概率: 表示事件A在另外一个事件B已经发生条件下的发生概率,P(A|B) 在女神喜欢的条件下,职业是程序员的概率? 女神喜欢条件下,有 2、3、4、7 共 4 个样本 4 个样本中,有程序员 3、4 共 2 个样本 则 P(程序员|喜欢) = 2/4 = 0.5 联合概率: 表示多个条件同时成立的概率,P(AB) = P(A) P(B|A)特征条件独立性假设:P(AB) = P(A) P(B) 职业是程序员并且体型匀称的概率? 数据集中,共有 7 个样本 职业是程序员有 1、3、4 共 3 个样本,则其概率为:3/7 在职业是程序员,体型是匀称有 3 共 1 个样本,则其概率为:1/3 则即是程序员又体型匀称的概率为:3/7 * 1/3 = 1/7 联合概率 + 条件概率: 在女神喜欢的条件下,职业是程序员、体...
集成学习
发表于2026-04-28|Python机器学习
集成学习集成学习简介学习目标: 1.知道集成学习是什么? 2.了解集成学习的分类 3.理解bagging集成的思想 4.理解boosting集成的思想 【知道】集成学习是什么?集成学习是机器学习中的一种思想,它通过多个模型的组合形成一个精度更高的模型,参与组合的模型成为弱学习器(基学习器)。训练时,使用训练集依次训练出这些弱学习器,对未知的样本进行预测时,使用这些弱学习器联合进行预测。 传统机器学习算法 (例如:决策树,逻辑回归等) 的目标都是寻找一个最优分类器尽可能的将训练数据分开。集成学习 (Ensemble Learning) 算法的基本思想就是将多个分类器组合,从而实现一个预测效果更好的集成分类器。集成算法可以说从一方面验证了中国的一句老话:三个臭皮匠,赛过诸葛亮 集成学习通过建立几个模型来解决单一预测问题。它的工作原理是 生成多个分类器/模型,各自独立地学习和作出预测。这些预测最后结合成组合预测,因此优于任何一个单分类的做出预测。 【了解】集成学习分类集成学习算法一般分为:bagging和boosting。 【理解】bagging集成Baggging ...
决策树
发表于2026-04-25|Python机器学习
决策树决策树简介学习目标 1.理解决策树算法的基本思想 2.知道构建决策树的步骤 【理解】决策树例子决策树算法是一种监督学习算法,英文是Decision tree。 决策树思想的来源非常朴素,试想每个人的大脑都有类似于if-else这样的逻辑判断,这其中的if表示的是条件,if之后的else就是一种选择或决策。程序设计中的条件分支结构就是if-else结构,最早的决策树就是利用这类结构分割数据的一种分类学习方法。 比如:你母亲要给你介绍男朋友,是这么来对话的: 女儿:多大年纪了? 母亲:26。 女儿:长的帅不帅? 母亲:挺帅的。 女儿:收入高不? 母亲:不算很高,中等情况。 女儿:是公务员不? 母亲:是,在税务局上班呢。 女儿:那好,我去见见。 于是你在脑袋里面就有了下面这张图: 作为女孩的你在决策过程就是典型的分类树决策。相当于通过年龄、长相、收入和是否公务员对将男人分为两个类别:见和不见。 【知道】决策树简介决策树是什么? 决策树是一种树形结构,树中每个内部节点表示一个特征上的判断,每个分支代表一个判断结果的输出,每个叶子节点代表一种分类结果 决策树的建立过程: 1.特...
逻辑回归
发表于2026-04-22|Python机器学习
逻辑回归逻辑回归简介学习目标: 1.知道逻辑回归的应用场景 2.复习逻辑回归应用到的数学知识 【了解】应用场景 逻辑回归是解决二分类问题的利器 【熟悉】数学知识【知道】sigmoid函数 【理解】概率 【理解】极大似然估计核心思想: 设模型中含有待估参数w,可以取很多值。已经知道了样本观测值,从w的一切可能值中(选出一个使该观察值出现的概率为最大的值,作为w参数的估计值,这就是极大似然估计。(顾名思义:就是看上去那个是最大可能的意思) 举个例子: 假设有一枚不均匀的硬币,出现正面的概率和反面的概率是不同的。假定出现正面的概率为𝜃, 抛了6次得到如下现象 D = {正面,反面,反面,正面,正面,正面}。每次投掷事件都是相互独立的。 则根据产生的现象D,来估计参数𝜃是多少? 1234P(D|𝜃) = P {正面,反面,反面,正面,正面,正面} = P(正面|𝜃) P(正面|𝜃) P(正面|𝜃) P(正面|𝜃) P(正面|𝜃) P(正面|𝜃)=𝜃 *(1-𝜃)*(1-𝜃)𝜃*𝜃*𝜃 = 𝜃4(1 − 𝜃) 问题转...
线性回归
发表于2026-04-18|Python机器学习
线性回归线性回归介绍学习目标: 1.理解线性回归是什么? 2.知道一元线性回归和多元线性回归的区别 3.知道线性回归的应用场景 【理解】举个栗子假若有了身高和体重数据,来了播仔的身高,你能预测播仔体重吗? 这是一个回归问题,该如何求解呢? 思路:先从已知身高X和体重Y中找规律,再预测 •数学问题:用一条线来拟合身高和体重之间的关系,再对新数据进行预测 方程 Y = kX + b k160 + b = 56.3 – (1) k166 + b = 60.6 –- (2) 。。。。 k: 斜率 b:截距 若:y = 0.9 x + (-93) ​ 0.9*176 +(-93)= ? 【理解】线性回归线性回归(Linear regression)是利用 回归方程(函数) 对 一个或多个自变量(特征值)和因变量(目标值)之间 关系进行建模的一种分析方式。 注意事项: 1 为什么叫线性模型?因为求解的w,都是w的零次幂(常数项)所以叫成线性模型 2 在线性回归中,从数据中获取的规律其实就是学习权重系数w 3 某...
12…10
avatar
Yang
萌新打怪升级中......
文章
91
标签
201
分类
18
Follow Me
公告
This is my Blog
最新文章
FastAPI项目实战2026-05-31
FastAPI+SQLAlchemy项目实战2026-05-28
SQLAlchemy2.0全面实战2026-05-28
FastAPI异步编程与高级特性2026-05-28
FastAPI核心基础2026-05-28
分类
  • Git1
  • Java73
    • Docker1
    • ES3
    • JavaSE17
    • LangChain4J5
    • Linux1
    • Mybatis3
标签
DocumentSplitter 声明式事务 Pydantic 通知 Docker Dict 压缩流 控制反转 WorkQueues 高阶API 慢查询 欧氏距离 无监督学习 故障转移 KMeans 转换流 bean作用域 InputStream 缓存击穿 依赖注入 nginx 消息队列 Topic PromptTemplate List ChatMemory 幂等性 session 信息熵 Lua 正规方程 键值设计 DSL FunctionCall RDB 代理模式 分页插件 TCP FactoryBean Writer
归档
  • 五月 2026 6
  • 四月 2026 9
  • 一月 2026 5
  • 十月 2025 2
  • 九月 2025 2
  • 七月 2025 1
  • 六月 2025 1
  • 二月 2025 3
网站信息
文章数目 :
91
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2025 - 2026 By Yang框架 Hexo 7.3.0|主题 Butterfly 5.5.5-b1