自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 Docker容器化部署实战指南:Django+Vue

本文介绍了使用Docker容器化部署前后端分离项目的实践经验。主要内容包括:1) Docker基础概念(镜像、容器、挂载卷等)和常用命令;2) 项目结构说明及Dockerfile编写方法(Python后端和Vue前端);3) docker-compose.yml配置示例,包含MySQL、Milvus等服务的编排;4) 详细部署步骤,从环境准备到服务启动。文章建议使用AI工具辅助生成Dockerfile和docker-compose文件,并提供了B站学习资源链接。通过容器化部署,开发者可以快速搭建包含多个服务

2026-03-11 17:35:47 718

原创 MySQL EXPLAIN实战:6种索引失效场景验证与优化

摘要 本文通过EXPLAIN命令验证了6种常见的MySQL索引失效场景:模糊匹配(左模糊/左右模糊)、函数操作、表达式计算、隐式类型转换、联合索引非最左匹配和WHERE子句中的OR条件。测试表明,这些操作会破坏索引的有序性,导致全表扫描。针对每种场景,文章提供了优化建议,如改用右模糊查询、避免索引列计算、调整查询条件顺序等。通过合理设计索引和SQL语句,可有效提升查询性能。

2026-02-24 18:56:49 1125 1

原创 MySQL EXPLAIN命令详解:SQL查询性能分析与优化指南(基础篇)

MySQL EXPLAIN命令是分析SQL查询性能的重要工具,它通过展示执行计划帮助开发者识别性能瓶颈。本文详细介绍了EXPLAIN的用法和输出字段含义,包括id(查询标识)、select_type(查询类型)、type(访问类型)等关键指标。重点解析了type字段的不同访问类型(从最优的system到最差的ALL),并提供了实际SQL示例说明如何解读执行计划。通过理解EXPLAIN输出,开发人员可以优化查询结构、避免全表扫描、合理使用索引,从而提升数据库查询效率。

2026-02-23 23:39:50 956

原创 Django事务机制详解:确保数据一致性

摘要:Django事务管理指南 本文介绍了Django中事务管理的核心概念和实践方法。事务用于确保数据一致性,具有原子性、一致性、隔离性和持久性特性。Django默认自动提交每条SQL语句,可能导致数据不一致问题。通过transaction.atomic装饰器或上下文管理器可开启事务,支持自动回滚和手动回滚(set_rollback)。还介绍了嵌套事务与savepoint机制,以及ATOMIC_REQUESTS全局配置。最后总结了常见误区:避免过度使用事务、减少长事务、注意并发问题。

2026-02-20 00:00:00 1639 1

原创 Django查询集优化:惰性加载、N+1查询问题及解决方案

本文深入探讨了Django数据库查询优化中的N+1问题及其解决方案。首先介绍了Django查询集的惰性加载机制,分析了N+1查询问题的成因及性能影响。随后详细讲解了Django的四种模型关系:外键、反向外键、一对一和多对多关系,并结合项目代码示例进行说明。重点阐述了select_related和prefetch_related的使用场景:前者用于优化外键和一对一关系的查询,后者则适用于多对多和反向外键关系的优化。通过合理使用这两种方法,开发者可以有效避免N+1查询问题,显著提升Django应用的数据库查询性

2026-02-18 22:52:17 1010

原创 使用Ollama部署DeepSeek-OCR模型:从零开始的完整指南

随着人工智能技术的快速发展,OCR(光学字符识别)技术在文档数字化、图像文字提取等场景中发挥着越来越重要的作用。DeepSeek-OCR作为一款优秀的开源OCR模型,结合Ollama这一轻量级的大模型部署工具,可以让我们在本地快速搭建高效的OCR识别系统。本文将详细介绍如何使用Ollama部署DeepSeek-OCR模型,并通过Python代码实现图像文字识别功能,帮助大家快速上手本地OCR应用开发。

2026-01-18 18:38:13 4278 1

原创 LlamaIndex 实战 Milvus 向量数据库:从 CRUD 到 智能检索

本文将手把手教你如何使用 LlamaIndex 操作 Milvus 向量数据库,实现文档的 增、删、改、查 (CRUD) 。针对 Windows 用户,我们还专门解决了 RuntimeError: There is no current event loop 等常见大坑,并演示了如何通过 相似度阈值 (Similarity Cutoff) 解决“乱匹配”问题。适合 Python AI 开发初学者阅读。

2026-01-12 00:59:15 1317

原创 LangGraph 入门到上手:从模型定义到图运行

本文介绍了使用LangGraph构建AI应用执行图的核心概念和实现方法。图由节点(node)和边(edge)组成,通过状态(state)实现数据共享。关键点包括:1)使用Annotated和add_messages实现状态自动合并;2)通过节点函数返回增量更新而非全量状态;3)支持流式输出处理;4)利用MemorySaver实现记忆功能;5)通过thread_id区分不同会话。文章还提供了基于DeepSeek API的完整代码示例,展示了单节点图的构建、运行流程和状态管理机制,为开发可观测、可扩展的AI应用

2026-01-08 20:41:52 973

原创 Django DRF + SimpleJWT 实战 (一):基于纯自定义 Model 的 Token 鉴权与踩坑指南

本文是 Django DRF + SimpleJWT 认证系列的第一篇实战教程。与常见的继承 AbstractUser 不同,我们将挑战一种更灵活但也更易出错的场景: 基于纯 models.Model 自定义用户表结构,来实现标准的 JWT Token 鉴权 。文章详细复盘了从环境搭建、跨域配置 (CORS) 到 Token 签发与验证的全过程。重点攻克了自定义模型中缺失 is_active 、 is_authenticated 等核心属性导致认证报错的难题,并提供了“使用 @property 动态映射

2025-12-23 23:14:57 1124

原创 智演沙盘 —— 基于大模型的智能面试评估系统

简历解析与定岗 用户上传 PDF 简历,系统通过大模型提取关键技能(如 Python, Vue)和项目经历。用户随后确认目标岗位(如“Python 后端工程师”),系统根据简历和岗位生成匹配的初始题库。沉浸式面试(核心) 进入面试间,AI 面试官发起提问。- 用户输入回答后,系统进行实时分析。- 追问机制 :如果用户回答正确但不够深入,或者回答模糊,AI 会像真人一样发起追问,挖掘用户的技术深度。智能评分 每一轮对话结束后,后端都会实时调用大模型进行评分。系统不仅看对错,还评估逻辑性、完整性。

2025-12-19 00:25:05 877

原创 Vue 3 组合式API中的生命周期钩子函数介绍

生命周期钩子函数是Vue组件在不同阶段自动调用的函数,用于执行特定的逻辑,比如初始化数据、DOM操作、清理资源等。// 组件实例创建后执行},// 组件挂载到DOM后执行},// 组件卸载前执行而在Vue 3的组合式API中,生命周期钩子函数变成了可以在setup函数内直接调用的函数,更加灵活。Vue 3组合式API中的生命周期钩子函数需要从vue导入使用。这些钩子函数都在setup函数内调用,方便将生命周期逻辑与组件状态紧密结合。

2025-12-08 08:40:57 249

原创 Vue 3 组合式写法:侦听器 watch 和 watchEffect 的区别及使用技巧

讲解了watch和watchEffect的一些区别,如何去正确的进行使用

2025-12-01 00:55:57 1056

原创 vue3计算属性与侦听器介绍

在 Vue 3 的响应式系统中,计算属性(computed) 与 侦听器(watch) 是最常用、也最容易混淆的两个核心特性。它们都能在数据变化时触发逻辑,但使用方式、触发时机、适用场景却完全不同。

2025-11-24 00:44:50 983

原创 Vue基础语法及项目相关指令详解

本章讲述了vue相关的一些模板指令的使用

2025-11-17 09:20:06 902

原创 TypeScript基础语法与类型系统详解

TypeScript 是 JavaScript 的超集,提供了静态类型检查和丰富的类型系统,帮助开发者写出更健壮和可维护的代码。本文将系统介绍 TypeScript 的基础语法与类型系统,包括基本类型、类型组合、接口与类型别名、高级类型用法等核心内容。

2025-11-10 00:53:27 923

原创 JavaScript基础篇:Array常用方法

数组是前端开发中最常用的数据结构之一,掌握数组的各种操作方法对于高效编写代码至关重要。本篇文章将系统讲解前端开发中最常用的数组操作方法,涵盖基础增删改查、遍历与转换、查找判断以及排序变换四大类,帮助你全面理解并灵活应用这些方法,提升代码质量和开发效率。

2025-11-02 22:51:51 744

原创 JavaScript事件机制详解:捕获、冒泡与事件委托

本章讲述了什么是事件机制,如何利用好JavaScript中的事件机制

2025-11-02 22:07:16 1626

原创 JavaScript进阶篇:DOM核心知识解读

本文介绍了DOM(文档对象模型)的基本概念、结构及常用操作方法。DOM是浏览器将HTML/XML文档解析成的树形结构,包含元素节点、文本节点、属性节点等。文章详细讲解了常见的DOM元素选取方法,如getElementById、querySelector等,以及操作内容、属性、样式和节点的API。

2025-10-09 00:07:06 1534

原创 JavaScript基础知识

本文介绍了JavaScript中变量的三种声明方式:const、var和let。const用于声明常量,值不能改变,且有块级作用域;var有函数作用域,会变量提升,且允许重复声明;let也有块级作用域,不允许重复声明,且不存在变量提升,是推荐使用的方式。文章还讲了输入输出方法(如prompt和console.log)、基本和复杂数据类型,以及条件语句和循环结构。最后解释了变量提升、暂时性死区和作用域的概念,帮助理解变量的使用规则。

2025-10-08 22:02:13 993

原创 深入理解BFC:解决margin折叠和浮动高度塌陷的利器

本章介绍了什么是BFC,BFC能够解决的一些问题,如何触发BFC。

2025-09-27 13:57:27 1393

原创 CSS 入门与常用属性详解

本文系统讲解 CSS 的引入方式、选择器、优先级、盒子模型、flex 布局和常见易错点,包含概念解析与实用示例,适合 CSS 初学者阅读与练习。

2025-09-21 23:56:50 1579

原创 HTML5 基础与常用标签

介绍了HTML5的基础知识以及常用标签

2025-09-20 23:28:18 1348

原创 Python:全局解释器锁 GIL 解析

本章介绍了什么是全局解释锁,以及全局解释锁给多线程程序带来的影响和如何解决这个影响。

2025-09-16 17:08:45 1059

原创 迭代器和生成器的区别与联系

讲述了迭代器和生成器之间的区别和联系,以及可迭代对象和迭代器的区别与联系

2025-09-14 23:57:04 1321

原创 Python中的深拷贝与浅拷贝

本章介绍了python中的深拷贝与浅拷贝,他们的区别,以及实际的作用。

2025-09-13 16:42:24 1211

原创 网络编程基础知识总结:Socket与TCP通信

8.服务端总体代码(server.py)6.客户端总体代码(client.py)

2025-09-10 09:03:54 833

原创 SQLAlchemy ORM-表与表之间的关系

外键是指一个表中的字段,它引用了另一个表中的主键字段。外键的主要作用是保证数据的完整性和关联性,确保一个表中的某个字段的值必须存在于另一个表的对应字段中。外键约束的作用:数据完整性:防止插入无效的引用数据。关系映射:实现表与表之间的关联,方便通过 ORM 进行数据查询。在 SQLAlchemy 中,定义外键字段主要通过 ForeignKey关键字参数实现。children = relationship("Child", back_populates="parent") # 定义关系属性。

2025-09-07 22:30:10 1400

原创 SQLAlchemy ORM 入门教程

本文将了解如何用 SQLAlchemy ORM 创建数据库、创建表,以及对表进行增删改查(CRUD)操作,特别提醒一些常见易错点,帮助你快速上手。

2025-09-03 11:53:53 813

原创 Python面向对象

使用class关键字来定义类,后面跟着的括号表示继承的类,默认继承object类,默认情况下也可以不写。类的名字推荐使用大驼峰法命名以区别函数。pass"""或者这样定义也是可以的pass"""子类可以继承父类所有的非私有属性和非私有方法,实现代码重用。避免重复代码,提高代码复用性。让程序结构更清晰,便于维护和扩展。class 子类名称(父类名称),括号内的为子类将要继承的父类。

2025-08-31 22:11:19 1233

原创 Python文件操作与异常处理详解 :基础方法、注意事项及os模块常用功能

本文介绍了python中的文件操作与异常处理机制

2025-08-20 23:40:59 1293

原创 Python函数总结

本章总结了python中函数的基础知识点

2025-08-19 21:59:47 1701

原创 Python函数:装饰器

本章介绍了python函数中的装饰器

2025-08-18 23:17:42 2332

原创 综合案例:Python 函数知识整合 — 学生成绩管理系统

作用将代码结构化,提升可读性与可维护性复用逻辑,减少重复代码使用场景需要实现特定功能的代码块(如添加学生、修改成绩)模块化项目开发。

2025-08-15 23:50:02 945

原创 Python闭包详解:理解闭包与可变类型和不可变类型的关系

本章详细介绍了Python函数中的闭包。

2025-08-14 21:05:28 1395

原创 python函数:递归函数详解

本文介绍了什么是递归函数,递归函数需要符合什么条件以及递归函数的常见案例的使用。

2025-08-13 22:16:50 2049

原创 Python函数:高阶函数的应用

本章介绍了python高阶函数的定义以及内置高阶函数的应用。

2025-08-12 17:04:22 1697

原创 Python函数进阶教程:函数名的本质

本文讲解了Python中函数名作为变量的本质,及其在列表存储、作为参数传递和返回值中的应用,帮助读者灵活运用函数提高代码复用性和简洁性。

2025-08-11 21:31:07 924

原创 Python 匿名函数详解:掌握 lambda 的核心用法

本篇文章详细讲解了 Python 中的 lambda 匿名函数,从定义语法到常见应用场景,再到注意事项与实用技巧,层层递进,配合丰富的示例代码,帮助初学者从理解到熟练掌握 lambda 的用法。

2025-08-07 23:30:07 723

原创 Python函数基础篇:入门必学的核心知识与细节解析(附代码示例)

本文系统介绍了Python函数的基础知识与使用方法。首先阐述了函数的定义、作用及其重要性,强调代码复用和模块化开发的优势。接着详细讲解了函数的定义与调用方式,并重点介绍了各种函数参数类型,包括位置参数、关键字参数、默认参数、可变位置参数(*args)和可变关键字参数(**kwargs),通过示例说明它们的概念和适用场景,特别指出了默认参数中可变对象的陷阱及解决方法。文章还介绍了函数的返回值类型和多返回值的用法,最后讲解了变量作用域,包括局部变量、全局变量以及global关键字的使用。整体内容逻辑清晰。

2025-08-06 22:30:02 1699

原创 字符集合秒生成!Python推导式实战教程

本文通过一个学生成绩数据处理的综合案例,全面讲解了Python中列表推导式、字典推导式、集合推导式和生成器表达式的用法。案例涵盖数据筛选、统计、去重和惰性计算,帮助读者系统掌握推导式技巧,提升代码简洁性和执行效率,适合Python初学者和进阶者学习参考。

2025-08-05 15:31:34 842 3

空空如也

空空如也

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

TA关注的人

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