自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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实现断网不中断,大幅提升远程工作效率。 一句话:&quot

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

原创 Linux_su命令

su)用于直接切换用户身份,进入目标用户的 shell 环境。

2025-05-02 11:00:29 502

原创 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

原创 正向代理、反向代理机制与 Windows和Linux系统代理设置

代理 是一种位于客户端和目标服务器之间的中间服务器。

2025-04-30 11:12:13 940

原创 关于网络端口的介绍

在网络通信中,用于标识不同计算机,则标识同一计算机上的不同应用程序或服务。数据传输时,端口号能让计算机将数据精准发送至对应程序,确保各应用同时进行网络交互且互不干扰。

2025-04-29 18:30:37 841

原创 使用pip3安装软件包报错`externally-managed-environment`的几种解决方式

报错的原因:从开始引入了PEP 668规范,该规范限制了在系统级 Python 环境中使用 pip 安装第三方包,以避免与系统包管理器(如 apt)产生冲突。

2025-04-29 15:16:53 661

原创 创建Python虚拟环境

虚拟环境是一个完全独立的 Python 环境,它拥有自己独立的 Python 解释器、Python 包和依赖库。

2025-04-29 14:20:00 878

原创 在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

STM32F10x小容量启动文件,文件名"startup_stm32f10x_ld.s"; STM32F10x中容量启动文件,文件名"startup_stm32f10x_md.s"; STM32F10x大容量启动文件,文件名"startup_stm32f10x_hd.s";

2020-08-06

空空如也

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

TA关注的人

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