交互动效设计
交互动效设计网页动效的核心是:让页面元素”动起来”,从而引导视线、反馈操作、增强体验。 动效本质上是改变元素的某个 CSS 属性,并控制它变化的节奏。实现手段主要有两条路线: 过渡 transition:由状态变化(如 :hover、:focus、类名切换)触发,平滑地从一个值过渡到另一个值。 动画 animation:定义好关键帧后自动播放,可以无限循环、延迟、反向等。 配合 transform 变换、filter 滤镜、clip-path 裁剪、SVG 描边动画、滚动驱动动画等,就能做出各类炫酷效果。 这篇笔记覆盖 2D/3D 变换、过渡、动画、逐帧动画、流光边框、3D 相册与导航、SVG 描边动画、裁剪、滤镜、CSS 变量与 calc、滚动时间线等动效相关知识点,适合快速复习。 一句话记忆:transition 是”从 A 过渡到 B”(需要触发),animation 是”自己会动”(自动播放)。 一、过渡 transition1. 基本语法12345.box { transition: 属性名 时长 速度曲线 延迟时间; /* 常用简写...
现代网页布局
现代网页布局现代网页布局的核心问题是:如何把一个个 HTML 元素稳定、整齐、可维护地摆到页面上。 这篇笔记包括显示模式转换、浮动、清除浮动、Flex 弹性布局、定位布局、Grid 网格布局、多栏布局、滚动容器、图片对齐与缩放,以及“小兔鲜首页项目”中的真实页面布局思路。 一、布局前的基础准备现代布局通常先做 CSS 初始化,减少浏览器默认样式干扰。 12345678910111213141516171819* { margin: 0; padding: 0; box-sizing: border-box;}ul,ol { list-style: none;}a { text-decoration: none; color: #333;}img { vertical-align: middle;} 常见作用: 代码 作用 margin: 0 清除默认外边距 padding: 0 清除默认内边距 box-sizing: border-box 让盒子宽高包含 pad...
CSS
CSSHTML 负责网页结构,CSS 负责网页样式。学习 CSS 的重点不是死记属性,而是理解“选中谁、改什么、改成什么样”。 这篇笔记覆盖 CSS 引入方式、选择器、文字样式、文本排版、继承与优先级、伪类伪元素、盒子模型、背景、阴影、过渡、文本省略、字体图标和精灵图等常用知识点。 一、CSS是什么CSS 全称是 Cascading Style Sheets,中文叫“层叠样式表”。 它主要解决这些问题: 文字显示成什么颜色、大小、字体。 盒子有多宽、多高、什么背景。 元素之间有多少间距。 鼠标移上去、输入框获得焦点时样式如何变化。 页面整体布局、卡片、按钮、导航栏、列表等如何呈现。 CSS 的基本语法如下: 1234选择器 { 属性名: 属性值; 属性名: 属性值;} 示例: 1234p { color: red; font-size: 16px;} 意思是:选中页面中所有 p 标签,把文字颜色设置为红色,字体大小设置为 16px。 二、CSS的三种引入方式1. 内联样式表直接写在 HTML 标签的 style 属性中,...
HTML
HTML基础知识HTML 是前端学习的第一块地基。它不负责“好不好看”,也不负责“能不能交互”,它最核心的任务是:用标签把网页内容组织成浏览器、人、搜索引擎、屏幕阅读器都能理解的结构。 这篇笔记覆盖基础结构、文本、图片、路径、音视频、链接、锚点、网页结构、列表、表格、表单和特殊字符等常见知识点。 一、HTML是什么HTML 全称是 HyperText Markup Language,中文叫“超文本标记语言”。 超文本:网页中不只有普通文字,还可以有图片、音频、视频、链接等内容。 标记语言:通过一对一对的标签告诉浏览器“这段内容是什么”。 HTML 文件通常以 .html 作为后缀,可以直接用浏览器打开。 一个最小的 HTML 页面如下: 1234567891011<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <meta name="viewport" content=&quo...
FastAPI RBAC权限管理系统实战
FastAPI RBAC 权限管理系统实战本文记录一个基于 FastAPI 的 RBAC 用户权限管理系统从需求分析、架构设计、数据库建模、接口实现到前后端联调的完整开发过程。项目定位不是生产级后台模板,而是一个具备完整业务闭环的学习型工程:通过尽量小的系统边界覆盖 Web 后端开发中常见的核心主题,包括分层架构、ORM 关系建模、JWT 登录认证、接口级权限控制、统一响应、前端登录态管理和权限驱动的页面控制。 项目路径如下: 1D:\pycharm_workspace\python_code\FastAPI\fastapi-rbac-admin 技术栈如下: 后端:FastAPI、SQLAlchemy 2.x、Pydantic、JWT、SQLite 前端:Vue3、Vite、Element Plus、Pinia、Axios 权限模型:RBAC,即 User、Role、Permission 三层模型 文档:README、设计文档、Swagger 自动接口文档 初始化数据:admin、editor、viewer 三类演示账号 选择 RBAC 作为实战主题的原因在于,它比普通 ...
SQLAlchemy2.0全面实战
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异步编程与高级特性
FastAPI学习笔记(二):异步编程与高级特性本篇核心定位很多开发者使用 FastAPI 开发时会遇到一个致命问题:明明用了 FastAPI,接口依然卡顿、并发极低、多请求互相阻塞,完全没有感受到 FastAPI 的高性能优势。归根结底,是没有吃透 FastAPI 底层异步运行机制,误用同步阻塞代码、混淆异步使用场景、不了解并发模型导致的。 本篇为 FastAPI 进阶核心篇章,专门解决 「为什么你的 FastAPI 会阻塞」 这一生产级核心痛点。全文深度拆解 asyncio 异步底层、同步异步使用规范、阻塞致命坑、并发高阶API、流式响应、WebSocket实时通信、项目性能优化方案,所有知识点配套原理讲解、正反案例、生产适用场景、完整实战代码。 学完本篇,可彻底规避99%的FastAPI并发阻塞BUG,独立开发高并发接口、AI流式接口、实时通信接口,掌握企业级FastAPI性能优化全套方案。 一、asyncio 核心底层原理(异步基石)FastAPI 的高性能完全依托 Python 原生 asyncio 异步库实现,想要彻底解决接口阻塞问题,必须吃透 asyncio 四大核...
FastAPI核心基础
FastAPI学习笔记(一):FastAPI 核心基础一、FastAPI 核心原理1.1 FastAPI 是什么FastAPI 是一款基于 Python 3.8及以上版本、依托原生类型提示语法开发的现代化、高性能、工程化 Web API 开发框架。相较于传统的 Flask、Django 框架,FastAPI 针对性解决了传统 Python 后端框架性能弱、无自动校验、无原生接口文档、工程化薄弱等痛点,是目前 Python 微服务、后台管理系统、移动端接口、第三方对接接口开发的主流首选框架。 FastAPI 的核心设计理念是高效开发、类型安全、高性能、零冗余配置。框架内置了完整的数据校验、接口文档、异常处理、依赖注入能力,无需引入大量第三方插件,开箱即用。同时完美兼容同步、异步两种开发模式,兼顾开发效率与服务并发性能,适配从小型接口项目到中大型分布式微服务项目的全场景开发。 核心特性详细解析: 全自动数据校验:依托 Pydantic 实现运行时参数校验、类型转换、数据清洗,无需手写 if 判断校验参数,大幅减少冗余代码与BUG。 零成本自动接口文档:根据代码路由、参数、模型自动...
朴素贝叶斯与聚类
朴素贝叶斯朴素贝叶斯介绍 复习常见概率的计算 知道贝叶斯公式 了解朴素贝叶斯是什么 了解拉普拉斯平滑系数的作用 【知道】常见的概率公式 条件概率: 表示事件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 联合概率 + 条件概率: 在女神喜欢的条件下,职业是程序员、体...
集成学习
集成学习集成学习简介学习目标: 1.知道集成学习是什么? 2.了解集成学习的分类 3.理解bagging集成的思想 4.理解boosting集成的思想 【知道】集成学习是什么?集成学习是机器学习中的一种思想,它通过多个模型的组合形成一个精度更高的模型,参与组合的模型成为弱学习器(基学习器)。训练时,使用训练集依次训练出这些弱学习器,对未知的样本进行预测时,使用这些弱学习器联合进行预测。 传统机器学习算法 (例如:决策树,逻辑回归等) 的目标都是寻找一个最优分类器尽可能的将训练数据分开。集成学习 (Ensemble Learning) 算法的基本思想就是将多个分类器组合,从而实现一个预测效果更好的集成分类器。集成算法可以说从一方面验证了中国的一句老话:三个臭皮匠,赛过诸葛亮 集成学习通过建立几个模型来解决单一预测问题。它的工作原理是 生成多个分类器/模型,各自独立地学习和作出预测。这些预测最后结合成组合预测,因此优于任何一个单分类的做出预测。 【了解】集成学习分类集成学习算法一般分为:bagging和boosting。 【理解】bagging集成Baggging ...