- 博客(249)
- 资源 (1)
- 收藏
- 关注
原创 HTML 中 class 属性介绍、用法
HTML 的 class 属性用法总结 class 是 HTML 元素的核心属性,主要作用包括: 🎨 连接 CSS 样式 ⚙️ 绑定 JavaScript 行为 🧩 表达语义结构 在原生 CSS 中,通过定义类样式并应用: 提交 Tailwind CSS 采用原子类组合: Alpine.js 通过:class动态绑定类名: 三元表达式适合二选一状态 对象语法适合多条件控制 注意:使用的类名需预先定义样式。
2025-06-02 11:33:46
766
原创 Jinja2 模板继承机制
Jinja2模板继承机制解析 本文介绍了Python常用模板引擎Jinja2的模板继承功能。模板继承可以避免代码重复,实现统一的网页布局,提高开发效率。关键语法包括extends声明继承关系和block定义可替换区域。文中提供了父模板和子模板的代码示例,展示了如何继承基础模板结构并替换特定内容区域。通过super()方法可以保留父模板原有内容。这种机制特别适用于多页面网站开发,能够有效减少重复代码和维护成本。
2025-05-31 22:32:56
239
原创 Linux 实用排查指南:如何快速查出谁在吃内存
Linux服务器内存占用排查指南 当服务器变慢或内存报警时,需要快速定位内存占用高的进程。本文介绍两种常用方法: ps命令:ps aux --sort=-%mem | head -n 15可静态列出内存占用前15的进程,包含PID、%MEM等关键信息,适合快速筛查。 top命令:动态监控系统资源,按Shift+M可排序内存占用,E切换单位为MB。适合实时观察进程变化。 找到高内存进程后,需判断是否为必要服务,决定是否关闭或优化。
2025-05-28 20:53:25
358
原创 内存不够?用 Swap 顶一顶:Linux 虚拟内存实战指南
本文介绍了Linux系统中的Swap(交换空间)功能及其配置方法。Swap是在内存不足时将不活跃数据临时存储到硬盘的机制,可防止系统因内存不足崩溃。文章详细讲解了使用swap文件的配置步骤:创建swap文件、设置权限、格式化、启用并设置开机自动挂载,推荐将swappiness值设为10以减少swap使用。同时提供了删除swap的方法和便捷的一键配置脚本。Swap适合小内存服务器使用,但过度依赖会影响性能,需权衡利弊。
2025-05-28 18:48:55
378
原创 tmux 入门实用指南(面向远程 Linux 开发者)
tmux:远程终端会话管理利器 tmux是一款终端复用工具,支持多窗口/面板操作,保持任务在SSH断开后持续运行。 核心功能: 安装:apt/yum install tmux 会话管理:new -s创建、attach -t恢复、Ctrl+B D脱离 窗口操作:Ctrl+B C/N/P新建/切换窗口,%/"分屏 持久化运行:后台执行命令tmux new -s build 'cmd' 适用场景:长时间编译、模型训练、云服务器任务等。通过tmux实现断网不中断,大幅提升远程工作效率。 一句话:"
2025-05-27 09:23:04
232
原创 MySQL权限管理:层级化作用域、权限分类、操作命令
MySQL权限体系基于层级化作用域设计,分为全局级、数据库级、表级、列级和例程级5个层级。权限分为管理权限(用户管理和服务器管理)和数据库权限(数据操作、对象定义和例程级权限)。使用SHOW GRANTS可查看用户权限,GRANT命令用于分配权限,支持全局、数据库、表、列和存储过程等多级作用域。权限分配时可指定用户、主机、密码及是否允许转授权,ALL PRIVILEGES表示当前作用域下的所有权限。
2025-05-25 15:42:41
884
原创 解析 Flask 上下文机制:请求上下文、应用上下文
Flask框架通过请求上下文和应用上下文实现环境隔离机制。请求上下文(request/session)处理单个HTTP请求的专属数据,在请求开始和结束时自动创建销毁;应用上下文(current_app/g)管理应用级资源,支持非请求场景访问。二者依赖LocalStack实现线程安全隔离,保证多线程并发下的数据安全。这种机制使开发者无需显式传参即可全局访问环境数据,是Flask处理请求逻辑和扩展开发的核心基础。理解上下文机制对掌握Flask数据库会话、模板渲染等功能至关重要。
2025-05-24 11:05:47
1241
原创 Flask 会话管理:从原理到实战,深度解析 session 机制
Flask 的 session 机制通过客户端 Cookie 实现会话管理,解决了 HTTP 协议无状态的问题。服务器在用户登录时生成签名并将会话数据存储在 Cookie 中,客户端在后续请求中自动携带该 Cookie。服务器通过验证签名确保数据完整性,防止篡改。Flask session 的优势在于轻量和分布式友好,但存在数据大小限制和明文存储的风险。使用时需设置 secret_key 并配置安全标志(如 Secure、HttpOnly、SameSite)以防御 XSS 和 CSRF 攻击。此外,可通过
2025-05-23 17:13:37
844
原创 Flask-SQLAlchemy数据库查询:query
在 Flask 中使用 SQLAlchemy ORM 时,继承自 db.Model 的模型类会自动获得 query 属性,这是 db.session.query(模型类) 的快捷方式,简化了数据库查询操作。通过 query 属性,可以方便地进行各种查询操作,如按主键查询 (get)、等值过滤 (filter_by)、复杂条件过滤 (filter)、排序 (order_by)、字段选择 (with_entities) 等。查询结果可以通过 first()、all()、one() 等方法获取,还可以使用 cou
2025-05-23 10:55:48
1257
原创 Flask 路由跳转机制:url_for生成动态URL、redirect页面重定向
在 Flask 开发中,url_for() 和 redirect() 是实现路由跳转的关键工具。url_for() 用于根据视图函数名动态生成 URL,支持静态路径、动态参数、查询参数、绝对路径和锚点等功能,避免硬编码,提高代码维护性。redirect() 则用于生成重定向响应,引导客户端跳转到指定 URL,支持多种 HTTP 状态码(如 302、301、303、307),适用于不同场景。两者结合使用,可以优雅地实现页面跳转逻辑,确保代码的灵活性和可维护性。例如,在用户登录后,通过 redirect(url
2025-05-22 11:32:22
617
原创 Flask 路由装饰器:从 URL 到视图函数的优雅映射
Flask 的路由装饰器 @app.route 是 Flask 框架中用于将 URL 路径与视图函数绑定的核心工具。它通过 app.add_url_rule() 方法将 URL 规则注册到 url_map 中,并在请求处理阶段通过 url_map 匹配 URL 并执行相应的视图函数。路由装饰器支持静态路径、动态参数捕获、多种 HTTP 方法以及通过蓝图(Blueprints)实现模块化路由管理。这些功能使得 Flask 能够优雅地处理复杂的 URL 映射,适用于从简单页面到大型项目的各种场景。
2025-05-21 21:15:15
1100
原创 Python 装饰器:从“语法糖”到“代码神器”的深度解析
Python装饰器是一种高阶函数,通过@语法糖在不修改原函数代码的情况下为其添加额外功能。其核心机制是高阶函数+闭包,典型应用包括日志记录、性能监控和权限校验等。装饰器可实现三层嵌套以接收参数,或通过类装饰器管理状态。使用时需注意保留原函数的元信息,推荐使用functools.wraps。装饰器能有效解耦非核心功能,提升代码复用性和可维护性。<|end▁of▁sentence|>
2025-05-21 17:47:25
762
原创 深入理解 Python 的with语法:资源管理的优雅解决方案
with语法在Python中用于自动管理资源,如文件、数据库连接和线程锁,通过上下文管理器协议(__enter__和__exit__方法)确保资源的正确释放。相比传统的try-finally,with更简洁且安全,避免资源泄漏。常见应用场景包括文件操作、数据库连接和线程锁管理。此外,开发者可以通过自定义类或使用contextlib模块创建上下文管理器,灵活应对各种资源管理需求。使用with时需注意避免滥用,确保其仅用于需要显式释放的资源,并遵循单一职责原则。
2025-05-21 16:21:20
637
原创 Flask-SQLAlchemy核心概念:模型类与数据库表、类属性与表字段、外键与关系映射
本文介绍了如何在 Flask 应用中使用 Flask-SQLAlchemy 进行数据库操作,重点讲解了模型类与数据库表的映射关系、类属性与表字段的对应关系,以及外键与关系映射的实现。通过代码示例,展示了如何定义模型类、配置数据库连接,并使用 db.create_all() 创建数据库表。文章还详细解释了 db.Column 的用法,包括字段类型
2025-05-21 10:11:15
886
原创 Python 中的类属性与实例属性详解
在 Python 面向对象编程中,类属性和实例属性是两个关键概念,分别用于描述类本身的状态和对象特有的状态。类属性定义在类体中,所有实例共享,通常用于存储通用信息,如类型或计数器。实例属性则在 __init__ 方法中通过 self 定义,每个实例独立拥有,用于描述对象自身的状态。类属性通过类名或实例访问,而实例属性必须通过对象访问。需要注意的是,实例属性可以覆盖同名的类属性,形成实例独有的副本。正确理解和使用这两种属性,有助于编写清晰、健壮的代码。
2025-05-20 18:10:47
427
原创 深入理解 Python 中的几种方法:实例方法、类方法、静态方法与特殊方法
Python 中的方法主要分为四类:实例方法、类方法、静态方法和特殊方法。实例方法是最常见的类型,通过 self 访问和修改实例属性,适用于对象特有的行为。类方法使用 @classmethod 装饰器,通过 cls 访问类属性,常用于工厂方法。静态方法使用 @staticmethod 装饰器,不依赖类或实例状态,适合作为工具函数。特殊方法(魔术方法)以双下划线开头和结尾,用于实现对象的内置行为,如运算符重载和容器协议。合理使用这些方法可以提高代码的封装性和可读性。
2025-05-20 17:54:12
1088
原创 深入解析`lsof`命令:查看系统中打开文件与进程信息
lsof(List Open Files)是一个强大的工具,用于查看系统中哪些进程正在访问哪些文件。它不仅限于常规文件,还包括网络连接、设备文件和管道等。lsof的输出包含多个字段,如COMMAND、PID、USER、FD、TYPE等,提供了详细的文件访问信息。常见用法包括查看所有打开的文件、特定进程打开的文件、特定文件被哪些进程打开、网络端口的使用情况、特定用户打开的文件以及特定目录下所有打开的文件。lsof在定位占用端口的进程、查找正在访问的文件、审计网络连接和调试文件系统等场景中非常有用。
2025-05-19 21:28:11
680
原创 Logrotate:配置日志轮转、高效管理Linux日志文件
Logrotate 是 Linux 系统中用于自动化管理日志文件的工具,主要功能包括日志轮转、压缩、删除和保留策略配置。它通过 Cron 作业定期执行,也可手动触发。配置文件通常位于 /etc/logrotate.conf 和 /etc/logrotate.d/ 目录下,支持多种指令如 daily、rotate、compress 等,用于定义日志轮转的频率、保留数量和压缩方式。Logrotate 还支持 postrotate 脚本,用于在轮转后执行特定操作,如重新加载服务。最佳实践包括合理配置轮转策略、使用
2025-05-19 18:05:13
785
原创 模型蒸馏(Knowledge Distillation)
是一种深度学习中的模型压缩技术,其核心思想是将大型、复杂模型(教师模型)所学到的知识迁移到较小、结构简单的模型(学生模型)中,从而在保持性能的同时,降低计算和存储成本。
2025-05-19 14:55:55
471
原创 Flask-SQLAlchemy_数据库配置
SQLAlchemy是 Python 生态中最具影响力的 ORM(对象关系映射)库,其设计理念强调 “框架无关性”,支持在各类 Python 项目中独立使用,包括 Flask、Django 等 Web 框架,以及脚本工具、数据处理程序等。作为SQLAlchemy这种分层设计使开发者既能享受 SQLAlchemy 的强大功能,又能遵循 Flask 的开发范式。
2025-05-18 15:02:38
1240
原创 Python包、模块、类的导入语法与机制解析
本文介绍了Python中的核心概念(模块、包、类)以及导入语法的常见用法。模块是单个.py文件,包是包含多个模块的目录,类是模块或包中的代码结构。导入语法通过from...import...将其他模块或包中的代码对象加载到当前命名空间。常见的导入方式包括直接导入模块或包、导入时重命名、从源中导入特定对象、导入多个对象以及导入所有对象(不推荐)。此外,文章还解释了导入的优先级机制,包括内置模块、当前目录、环境变量PYTHONPATH和标准库目录,并介绍了sys.path的作用,它存储了模块搜索的路径。
2025-05-15 16:05:14
768
原创 Ubuntu磁盘空间分析:du命令及常用组合
du(Disk Usage)是 Ubuntu 系统中用于查看目录或文件磁盘使用情况的命令,主要用于分析磁盘空间占用。其基本语法为 du [选项] [目录/文件路径],常用选项包括 -h(人性化显示大小)、-s(仅显示总大小)、-d(控制递归深度)、--exclude(排除特定文件或目录)等。du还可以与其他命令结合使用,如 sort 按大小排序、find 统计特定类型文件大小、watch 实时监控目录变化等。通过这些组合,用户可以快速定位大文件、比较目录大小、排除干扰文件等,从而高效管理磁盘空间。
2025-05-14 18:29:09
792
原创 什么是SQL注入?如何避免数据库被黑客攻陷?
SQL 注入是一种常见的安全漏洞,攻击者通过篡改用户输入,将恶意 SQL 代码注入到数据库查询中,从而执行非预期操作,如数据泄露、篡改或数据库崩溃。其核心原因是程序未对用户输入进行过滤或转义,直接将输入拼接到 SQL 语句中。典型示例包括绕过登录接口、获取敏感数据或删除数据库表。防范措施包括使用参数化查询、ORM 工具、输入验证与转义,以及遵循最小权限原则。开发中应始终避免信任用户输入,确保安全编码。
2025-05-12 14:38:27
659
原创 主流编程语言中ORM工具全解析
ORM(对象关系映射)工具旨在简化数据库操作,不同编程语言有各自的主流ORM工具。Python生态中,SQLAlchemy功能全面,适合中大型项目;Django ORM与Django框架深度集成,适合快速开发;Peewee轻量级,适合小型项目;Tortoise-ORM专为异步框架设计。Java生态中,Hibernate功能强大,适合企业级应用;MyBatis更接近原生SQL,适合性能敏感项目;Spring Data JPA与Spring框架深度集成。Node.js生态中,Sequelize支持多种数据库,适
2025-05-12 11:15:54
951
原创 Linux文件权限管理:chmod修改权限 与 chown修改所有者
`chmod` 命令:修改文件/目录权限 `chmod`(Change Mode)用于修改文件或目录的权限。> `chmod`控制“谁能做什么”。
2025-05-04 21:31:58
1261
原创 pip安装包时网络不畅,替换国内PyPI镜像源
是对官方仓库的复制。PyPI 是 Python 社区中最大的软件包仓库,存储着大量的 Python 包,供开发者们下载和使用。然而,由于 PyPI 服务器位于国外,在国内访问时可能会面临网络延迟高、下载速度慢等问题。为了解决这些问题,一些国内的高校、企业或者组织会定期从 PyPI 官方仓库同步软件包数据,创建自己的镜像源。
2025-05-04 18:31:56
353
原创 Ubuntu环境下使用uWSGI服务器【以flask应用部署为例】
由于从Python 3.11开始限制了在系统级 Python 环境中使用 pip 安装第三方包,以避免与系统包管理器(如 apt)产生冲突。所以开发时选择使用虚拟环境。
2025-05-04 17:51:17
1342
原创 Ubuntu环境下如何管理系统中的用户:创建用户、删除用户、修改密码、切换用户、用户组管理
主要是按提示输入密码和用户信息(可直接回车使用默认配置)。(组内无用户时才能删除)passwd 用户名。,按提示输入新密码。
2025-05-02 17:41:45
740
原创 Linux系统中的用户分类(为什么Linux系统中有很多我没有创建的用户?)
使用lslogins查看当前系统中的用户,如下图:看到了很多用户,但是我没有去创建这些用户,这些用户是怎么来的?
2025-05-02 17:00:55
357
原创 Linux_sudo命令的使用与机制
`sudo`(全称 `superuser do`)是 Linux/Unix 系统中**权限管理**的核心工具。允许普通用户在授权下以其他用户(默认是 `root`)的权限执行命令,而无需直接登录账户。
2025-05-02 15:42:05
868
原创 WSGI(Web Server Gateway Interface)服务器
WSGI 服务器是实现了 WSGI 规范 的软件。客户端 <---> Web 服务器 <---> WSGI 服务器 <---> Python Web 应用程序客户端发起请求Web 服务器接收后转发给 WSGI 服务器WSGI 服务器接收请求并传递给 Python 应用程序处理Python 应用程序再将处理后的响应返回给 Web 服务器最后由 Web 服务器将响应发送给客户端。
2025-05-01 14:36:24
708
原创 关于网络端口的介绍
在网络通信中,用于标识不同计算机,则标识同一计算机上的不同应用程序或服务。数据传输时,端口号能让计算机将数据精准发送至对应程序,确保各应用同时进行网络交互且互不干扰。
2025-04-29 18:30:37
841
原创 使用pip3安装软件包报错`externally-managed-environment`的几种解决方式
报错的原因:从开始引入了PEP 668规范,该规范限制了在系统级 Python 环境中使用 pip 安装第三方包,以避免与系统包管理器(如 apt)产生冲突。
2025-04-29 15:16:53
661
原创 在Ubuntu中安装python
在这些新版本系统中,Python 3 是主要支持的 Python 版本,要安装 Python 3 需使用具体的包名,如。从 Ubuntu 18.04 开始,系统默认不再安装 Python 2,并且。命令时,系统会安装 Python 2,而不是 Python 3。都不会自动下载 Python 3,你得明确指定安装。这个包默认对应的是 Python 2.x 版本。综上所述,无论是旧版还是新版 Ubuntu 系统,若还需要安装 Python 3 的包管理工具。可以安装 Python 3。命令,系统会提示找不到。
2025-04-29 10:32:17
475
原创 Nginx配置文件介绍
Nginx 的配置文件是模块化的,不同的配置文件承担着不同的功能,下面为你详细介绍常见的配置文件及其作用:这些文件在。
2025-04-27 22:06:18
1020
1
原创 MIME 类型是个什么东西?
MIME 类型(Multipurpose Internet Mail Extensions)即多用途互联网邮件扩展类型,它是一种标准,用于表示文档、文件或字节流的性质和格式。最初设计用于电子邮件系统,后来。
2025-04-27 22:04:01
527
原创 Nginx的默认主配置文件 “/etc/nginx/nginx.conf“ 解读
【代码】Nginx的默认主配置文件 "/etc/nginx/nginx.conf" 解读。
2025-04-27 18:31:53
466
STM32F10x大中小容量启动文件.zip
2020-08-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人