- 博客(138)
- 收藏
- 关注
原创 ORM了解
*ORM(Object-Relational Mapping,面向对象关系映射)**是一种。常见状态码:200、201、204、400、401、403、404、500、503。,让开发者可以使用面向对象的方式操作数据库,而无需直接编写 SQL 语句。:程序员用面向对象的方式操作资源(User 对象)。:ORM 把结果转换为对象,应用代码可直接使用。ORM 自动生成 SQL,有时可能不够优化。SQL 在数据库执行,结果返回 ORM。ORM 将结果转换为对象返回给应用。:执行 SQL,返回结果。
2025-08-27 09:00:28
262
原创 速记HTTP
(HTTP Request Message)是浏览器或客户端发送给服务器的完整请求内容,按照。它包含了请求方法、资源路径、协议版本、请求头和请求体等信息。→ 发送给服务器的数据(如表单、JSON、文件)。中返回的三位数字,用于告诉客户端请求的处理结果。形式呈现,描述客户端环境、内容信息、授权等。→ 附带客户端信息、授权信息、数据格式等。用于提交表单数据、JSON 数据、文件等。包含请求行、请求头、(可能有)请求体。请求头和请求体之间必须有一行空行。请求头:解析客户端信息和数据格式。
2025-08-27 08:59:33
403
原创 Flask 和 FastAPI 二选一就够了&HTTP 请求 → CRUD → Flask/FastAPI → ORM → 数据库 → 响应” 全流程
如果项目只需要一个 Python Web 框架,:轻量级 Web 框架简单易学,上手快插件丰富,可扩展性强适合中小型项目或原型开发社区成熟,文档丰富灵活自由,可以自定义架构性能相对慢(同步处理请求)API 自动生成和类型检查不如 FastAPI 方便:现代异步 Web 框架支持 async/await 异步处理,高性能自动生成 OpenAPI 文档和 Swagger基于 Python 类型提示(Type Hints),可自动校验数据性能高,适合高并发接口代码清晰,易于维护。
2025-08-27 08:57:16
381
原创 一文讲清楚Flask、FastAPI、RestfulAPI、CRUD、Redis、SQLite、Mysql、MongoDB
轻量、灵活,适合小项目。
2025-08-27 08:55:34
448
原创 025综合项目实战思路(Flask、FastAPI + 前端 + 数据库 + Redis)
可在此基础上继续扩展:用户认证、权限管理、接口测试、监控告警等。前端展示与交互(Vue/React 或纯 HTML/JS)数据 CRUD(数据库操作)缓存热点数据(Redis)
2025-08-27 08:53:52
259
原创 024前后端分离与 RESTful API 设计
负责界面展示与交互逻辑(HTML/JS/CSS 或框架 Vue/React/Angular):负责业务逻辑、数据处理、接口提供(Flask/FastAPI/Django)RESTful API 核心:资源 + HTTP 方法 + 状态码。Flask/FastAPI 都可快速搭建 RESTful API。配合前端框架可实现完整 Web 应用。适合多端(Web、移动端、小程序)前后端分离通过 API 进行通信。URL 表示资源,方法表示操作。对单个资源使用 ID,如。URL 设计要简洁、语义化。
2025-08-27 08:52:02
197
原创 023单元测试与接口测试(pytest + Postman)
提供 test_client / TestClient 支持。支持 GET/POST/PUT/DELETE。添加参数 / Body / Header。支持参数、Header、Body 设置。目标:确保函数、方法、模块按预期工作。创建请求 → 设置 URL + 方法。编写测试脚本(断言状态码、响应内容)初始化资源(数据库、文件等)支持断言、环境变量、集合测试。:确保 API 功能正确。:Python 测试框架。:可视化、自动化接口测试。发送请求 → 查看响应。:确保函数、模块正确。
2025-08-27 08:49:54
351
原创 023单元测试与接口测试(pytest + Postman)
提供 test_client / TestClient 支持。支持 GET/POST/PUT/DELETE。添加参数 / Body / Header。支持参数、Header、Body 设置。目标:确保函数、方法、模块按预期工作。创建请求 → 设置 URL + 方法。编写测试脚本(断言状态码、响应内容)初始化资源(数据库、文件等)支持断言、环境变量、集合测试。:确保 API 功能正确。:Python 测试框架。:可视化、自动化接口测试。发送请求 → 查看响应。:确保函数、模块正确。
2025-08-27 08:49:20
373
原创 022安全防护与 Web 安全
Web 安全是 Web 开发基础,Flask/FastAPI 都提供防护机制。浏览器自动带上 Cookie,实现非法操作。恶意网站诱导用户访问请求 URL。页面直接渲染,执行 JS。:HTML 特殊字符转义。:表单中隐藏 token。:输出转义 / 前端验证。:ORM / 参数化查询。:限制类型、目录隔离。
2025-08-27 08:48:41
289
原创 021日志与监控(Logging & Monitoring)
结合 Prometheus + Grafana 可实现应用与系统性能监控。Flask/FastAPI 都可集成日志功能。日志是系统调试、运维和安全的重要工具。:Flask 默认会打印访问日志。模块可满足大部分需求。
2025-08-27 08:47:02
333
原创 020缓存与性能优化(Redis + 缓存策略)
支持多种数据类型:String、Hash、List、Set、Sorted Set。Flask/FastAPI 都可轻松集成 Redis。:热点数据过期瞬间大量请求访问数据库。缓存穿透:布隆过滤器 / 缓存空对象。:将热点数据存放在内存中,加速访问。:请求不存在的数据,持续访问数据库。缓存击穿:热点数据加锁 / 互斥锁。:大量缓存同时过期,数据库压力大。缓存策略要防止穿透、击穿、雪崩。高频访问的内容重复计算/查询。缓存可显著提升 Web 性能。缓存雪崩:过期时间随机化。支持过期时间,适合缓存。
2025-08-27 08:46:06
129
原创 019第十九章:WebSocket 与实时通信
长连接(Persistent Connection),FastAPI 原生支持 WebSocket。减少请求开销(不需要每次建立 TCP 连接)双向通信(服务器可主动推送数据)WebSocket 提供。WebSocket 是。股票、体育比分实时推送。适合实时性要求高的场景。"收到服务器消息:"IoT 设备状态监控。
2025-08-27 08:43:23
259
原创 transformer-rap记忆法
Yo!打破循环,平行加速,未来是 deep。从 Embedding Position,全局都能 see,Transformer 崛起,改变了整个语义。
2025-08-27 08:42:07
350
原创 018中间件与请求钩子(Request Hooks)
在 Flask/FastAPI 中,提供。作用:在请求到达路由或响应返回前进行处理。中间件 / 请求钩子位于。可理解为特定的中间件函数。提高系统可维护性与安全性。FastAPI 提供。跨域处理(CORS)
2025-08-27 08:40:46
252
原创 017文件上传与下载
Flask/FastAPI 实现方式类似,FastAPI 支持异步操作。文件上传:前端 FormData + 后端接收。文件名处理(secure_filename)数据文件(CSV/Excel)防止覆盖已有文件(唯一命名)文件类型限制(图片/文档)防止安全风险(路径穿越等)文件下载:返回文件响应。
2025-08-26 13:05:47
292
原创 016用户认证与授权(JWT + OAuth2)
Flask/FastAPI 都支持 JWT 与 OAuth2。:无状态、可跨域,适合 RESTful API。角色权限(admin/user/guest)使用 Access Token 获取用户信息。与 RESTful API 结合良好。Payload:用户信息、权限。Header:算法 + 类型。Signature:加密校验。无状态:服务器不需要保存会话。用户访问应用,选择第三方登录。第三方登录(OAuth2)用户授权 → 第三方返回。应用重定向到第三方授权页。判断用户是否有操作权限。
2025-08-26 11:26:02
253
原创 015异步任务与后台处理(Celery + Redis)
Flask/FastAPI 都可集成 Celery。:Redis / RabbitMQ,负责任务传递。:将耗时操作放到后台执行,提高响应速度。Result Backend:任务结果。,Flask 返回任务 ID。Worker 在后台执行。,结果存储在 Redis。邮件发送 / 短信通知。Broker:任务队列。Worker:后台执行。,耗时操作会阻塞响应。解决耗时操作阻塞问题。
2025-08-26 11:25:00
296
原创 014前后端交互与 AJAX、Fetch
Flask/FastAPI 可快速提供 JSON 数据接口。:前端负责界面展示和交互,后端负责数据处理和业务逻辑。前端通过 JS 渲染 JSON 数据,实现动态交互。新式 JS 异步请求,基于 Promise。进行通信(通常使用 JSON 格式)实现异步请求,页面无需刷新。异步请求,不刷新页面。
2025-08-26 11:23:58
218
原创 013RESTful API 设计与实践
Flask/FastAPI 都可快速实现 CRUD 接口。使用标准 HTTP 方法操作资源。配合前端与移动端,实现前后端分离。RESTful API 使用。URL 设计应简洁、语义清晰。:一种 Web 架构风格。统一接口(统一资源标识)无状态(每个请求独立)
2025-08-26 11:23:25
288
原创 012数据库与 ORM
Flask SQLAlchemy 和 FastAPI SQLAlchemy ORM 使用类似。关系型数据库适合结构化数据,NoSQL 适合高并发和非结构化数据。特点:表结构固定、支持 SQL 查询、事务处理。特点:灵活数据结构、高性能、高扩展性。代码风格统一,操作数据库像操作对象。减少 SQL 编写,提升开发效率。ORM 将表映射为对象,简化操作。数据库迁移工具方便版本管理。:存储数据的基本单位。,将数据库表映射为类。
2025-08-26 11:22:49
392
原创 011Web 项目结构与实践
蓝图(Flask)/ 路由模块(FastAPI)用于。Flask/FastAPI 都有类似的模块化方案。:分离配置、静态资源、模板、模型、业务逻辑。分环境管理(开发/测试/生产):蓝图/路由模块,便于维护。:提升可维护性和调试效率。:按环境区分开发/生产。
2025-08-26 11:22:03
266
原创 010静态资源与模板渲染
CSS/JS/图片等,不需动态生成,放。支持变量、循环、条件、模板继承等高级功能。:将 HTML + 数据结合生成网页。Flask 默认使用。欢迎, Alice!
2025-08-26 11:20:56
204
原创 009跨域与 CORS
Cookie / LocalStorage / IndexedDB 读取。:浏览器页面请求的源(协议+域名+端口)与目标服务器不一致。Flask/FastAPI 都可以轻松配置 CORS。是一种机制,允许服务器指定哪些外部域可以访问资源。(PUT/DELETE/带自定义头)服务器响应允许后,才真正发送主请求。复杂请求需预检(OPTIONS)AJAX / Fetch 请求。允许服务器指定可访问的外部域。,直接访问跨域资源会被限制。是浏览器安全策略的限制。简单请求直接响应头放。
2025-08-26 11:19:41
244
原创 008Web会话与用户认证
由三部分组成:Header + Payload + Signature。服务器生成 Token,客户端保存(通常在本地或 Header)每次请求携带 Token,服务器验证签名和有效期。服务器根据 Session ID 查找用户信息。客户端每次请求带上 Session ID。:用户身份令牌,通常用于无状态认证。用户登录成功后,服务器生成。:服务器端存储状态,安全可靠。:无状态认证,适合分布式系统。保护敏感接口必须验证用户身份。用户首次使用时创建账户。服务器验证密码是否正确。登录注册是用户管理基础。
2025-08-26 11:19:12
373
原创 007表单与文件上传
标签定义,内部可包含输入控件(Input、Select、Textarea 等):数据提交方式不同,GET 在 URL,POST 在请求体。Flask 可轻松处理表单与文件上传。:网页向服务器提交数据的主要方式。:请求方法(GET/POST)数据附加在 URL 查询参数中。数据放在请求体中,安全性更高。
2025-08-26 11:18:05
314
原创 006Cookie 与 Session
实践中常结合使用:Cookie 保存 Session ID。服务器根据 ID 查找对应 Session 数据。客户端每次请求带上 Session ID。过期可控(如 30 分钟未访问自动销毁):存储在服务器端,更安全,可保存敏感信息。服务器生成唯一 Session ID。:不能通过 JS 访问,提高安全性。:存储在客户端,轻量,跟踪用户信息。发送给客户端 Cookie 保存。有大小限制(约 4KB/域名)每次请求会自动发送给服务器。存储在服务器端,更安全。:Cookie 内容。可以保存复杂数据结构。
2025-08-26 11:17:34
344
原创 005HTTP 方法与 RESTful API
实践中可以使用 GET/POST/PUT/PATCH/DELETE 对资源进行操作。500 Internal Server Error → 服务器错误。RESTful API 以资源为中心、使用状态码表示结果。400 Bad Request → 请求错误。404 Not Found → 资源不存在。201 Created → 创建成功。200 OK → 成功获取资源。URL 代表资源,而不是动作。PATCH → 更新(部分)HTTP 方法决定资源操作。PUT → 更新(整体)DELETE → 删除。
2025-08-26 11:16:52
270
原创 004HTTP 响应
响应头用于描述服务器返回的额外信息,如内容类型、长度、缓存策略、Cookie 等。:返回内容类型,如 text/html、application/json。:requests 模块可获取状态码、头部信息和响应内容。响应体是服务器返回的核心内容。:显示请求结果(状态码+说明):图片、音频、视频、压缩文件。:核心内容,支持多种类型。:如 HTTP/1.1。:设置 Cookie。:携带服务器额外信息。
2025-08-26 11:16:17
359
原创 003HTTP 请求
POST/PUT/PATCH 可携带请求体。:requests 模块可以模拟浏览器请求。:POST/PUT/PATCH 携带数据。:HTTP 方法 + URL + 版本。GET 请求常用,用于筛选或分页。OPTIONS:获取可用方法。服务端可通过参数决定返回内容。GET 请求通常没有请求体。PATCH:部分更新资源。DELETE:删除资源。HEAD:只获取响应头。:URL 中传递参数。
2025-08-26 11:15:42
286
原创 002HTTP 协议概述
每次请求都是独立的,服务器不会保存客户端之前的状态。RESTful API 与 HTTP 方法对应。理解 HTTP 方法与 REST 的对应关系。学会用 Flask 创建简单 API。Session:在服务器保存状态。Cookie:在客户端保存状态。DELETE → 删除资源。HTTP 的特点、版本演进。POST → 创建资源。报文结构、请求与响应头。GET → 获取资源。PUT → 更新资源。
2025-08-25 22:05:28
364
原创 001Web 基础概念
用户使用的设备或应用程序,例如:浏览器(Chrome、Firefox、Edge)、手机 App。功能:向服务器发送请求(Request),接收服务器响应(Response),并进行渲染显示。
2025-08-25 22:04:41
598
原创 验证 GPU 是否可用 + 错误排查
检查 PyTorch 的 CUDA 版本(比如 PyTorch-cu118 要求驱动版本 >= 525.x)。它会显示显卡型号、驱动版本、CUDA Runtime 版本以及显存使用情况,是诊断GPU问题的常用工具。确认已安装正确的 NVIDIA 显卡驱动(版本需支持你安装的 CUDA 版本)。检查显卡驱动版本:显卡驱动必须支持你运行的 CUDA Runtime 版本。确认 PyTorch 版本匹配你的 CUDA 版本(通过官网安装命令)。升级或降级显卡驱动,或者重新安装匹配的 PyTorch 版本。
2025-06-10 19:30:00
462
原创 用 Conda 创建干净环境 + 安装 PyTorch(指定 CUDA 版本)
选择操作系统、包管理器(pip 或 conda)、Python 版本以及对应 CUDA 版本,复制官网给出的安装命令。conda 是更强大的跨语言包管理和环境管理工具,可以管理 Python、R、C/C++ 等多种依赖。一般推荐先用 conda 创建环境,再用 conda 或 pip 安装包,根据具体包支持情况灵活选择。conda 安装包通常包含编译好的二进制库,安装速度快且依赖处理更全面,适合科学计算环境。pip 是 Python 官方的包管理工具,专注于 Python 包的安装和管理。
2025-06-10 18:15:00
403
原创 显卡、CUDA、PyTorch-CPU、PyTorch-GPU的关系讲清楚
组件作用依赖关系显卡(GPU)提供硬件计算资源必须有支持CUDA的NVIDIA显卡CUDA驱动/Runtime显卡上运行CUDA程序的基础环境由显卡驱动包提供,需与显卡匹配开发CUDA程序用的工具和库开发者用,训练环境中不一定必须安装不依赖CUDA,用CPU计算不依赖显卡和CUDA使用CUDA调用GPU计算依赖对应版本的CUDA Runtime和显卡驱动。
2025-06-10 18:00:00
1340
原创 一个好的conda环境,想要复现,怎么办
复现一个 **好的 Conda 环境**,标准做法是导出环境配置文件(`YAML` 文件),然后在其他机器上通过该配置一键构建相同环境。
2025-06-10 17:45:00
372
原创 【深度学习】环境冲突与 pip check 报错修复
Python环境冲突是常见问题,主要由版本不兼容或缺失依赖包引起(如包A需要numpy 1.24.4而包B装了2.1.2)。使用pip check可检测冲突,报错表明存在依赖问题。解决方法包括:安装缺失包、调整版本至兼容、卸载冲突包。推荐使用Conda创建新环境(conda create -n new-env),优先用conda安装包,再验证pip check无报错。实用技巧包括:pip list查看版本、pipdeptree分析依赖树、备份requirements.txt。规范管理依赖能有效避免环境冲突。
2025-06-10 13:26:31
519
原创 适配他人电脑的显卡(可复制方案)
根据驱动版本,参考 NVIDIA 驱动与 CUDA 版本兼容表(如 NVIDIA 官网说明),确认你的驱动版本支持你需要安装的 CUDA 版本。每台电脑显卡型号和支持的 CUDA Compute Capability 不一样,安装对应版本的驱动和 PyTorch 很重要。NVIDIA 驱动版本决定了系统支持的 CUDA Runtime 版本。记录显示的显卡型号、驱动版本和 CUDA Runtime 版本。CUDA 版本不匹配,换合适的 PyTorch CUDA 版本。驱动版本太低,升级驱动。
2025-06-10 13:25:45
413
原创 Conda & PyTorch 常用命令大全
整理一份**Conda 环境与 PyTorch 安装相关的常用命令大全**,包括创建环境、导出环境、安装包、检查CUDA支持等。
2025-06-10 13:22:39
305
原创 实操与科普:查看和确认 NVIDIA 驱动 CUDA Runtime 版本 & CUDA Toolkit 版本匹配
摘要: NVIDIA驱动自带CUDA Runtime版本,可通过nvidia-smi查看(如CUDA 12.9),该版本为驱动支持的CUDA最高版本。开发时使用的CUDA Toolkit版本(如PyTorch的CUDA 12.8)必须≤驱动Runtime版本才能兼容。若驱动版本过低,需升级或选择适配的PyTorch版本。验证步骤:1)nvidia-smi查驱动版本;2)根据官网选择匹配的PyTorch CUDA版本;3)安装后通过torch.cuda.is_available()确认GPU可用性。核心规则:
2025-06-10 13:21:58
1307
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人