- 博客(43)
- 收藏
- 关注
原创 LlamaIndex中的文档处理核心模块
文档加载读取多格式文档,生成统一 Document对象PDFReaderDocument列表文档分割切分文本为语义完整的小片段文本片段列表元数据增强补充丰富元数据,提升检索精准度自定义函数、大模型摘要增强元数据的 Document/Node节点构建封装片段为标准Node对象TextNodeNodeParserNode列表文档清洗与预处理去除噪声,标准化文本自定义清洗函数高质量文本片段。
2025-12-30 23:54:15
469
原创 拾题:从零构建AI驱动的考研助手
作为全栈开发者,除了代码本身,工程化规范也至关重要。接口先行:在开发前,我详细定义了Swagger/OpenAPI文档。例如,明确了流式接口返回的是纯文本还是SSE格式的数据包,避免了联调时的推诿。Git 工作流:我们严格执行Feature Branch模式。每个人在feature/xxx分支开发,禁止直接commit到main。统一的数据清洗:由于 AI 的输出具有不确定性(有时返回 JSON,有时返回 Markdown),我们在后端增加了一层“清洗层”,确保前端拿到的数据结构永远是可预期的。
2025-12-17 16:22:47
850
原创 Vue3中的生命周期钩子函数
Vue3 的生命周期钩子,就是组件从创建到销毁的 “关键时间节点”,能让我们在不同阶段插入自定义逻辑,组合式 API 和选项式 API 写法略有差异,但核心一致。
2025-12-08 20:03:26
898
原创 Vue3中的插槽(Slot)
(1)提供有意义的默认值:让组件在未传入内容时也能正常工作(2)合理使用具名插槽:将组件的不同区域明确划分(3)作用域插槽传递最小必要数据:避免传递整个组件实例(4)使用简写语法#header比更简洁(5)文档化插槽API:为组件使用者提供清晰的插槽说明。
2025-12-01 00:39:48
387
原创 Vue3中的计算属性:computed
Vue3 的 computed 是响应式开发中的 "效率神器",其核心价值在于简洁的语法、自动缓存和响应式联动。掌握它的使用场景和原理,能让你的代码更优雅、性能更出色。
2025-11-23 23:58:26
1092
原创 Vue3 路由:构建灵活高效的单页应用
/ 多个组件打包到admin chunk中使用RouteRecordRaw类型定义路由规则,确保配置规范;为路由添加name属性,便于编程式导航;合理使用meta存储页面标题、权限等元信息。在 setup 函数中使用useRoute、useRouter替代this.$route、this.$router,配合 TypeScript 获得更好的类型支持。对所有非首屏路由组件采用懒加载,减少初始打包体积;合理划分代码块,避免过多小体积代码块。结合路由元信息和全局守卫,实现基于角色或权限的访问控制;
2025-11-17 12:10:56
651
原创 Vue3中的常用指令
Vue3 的这些指令覆盖了渲染、条件、循环、事件、属性、双向绑定、插槽等核心场景,是前端工程师高效开发的 “利器”。掌握它们的用法与场景,能让你在 Vue 开发中事半功倍,写出更简洁、更易维护的代码。
2025-11-10 15:54:35
620
原创 TypeScript 全面指南:解锁类型安全的前端开发
TypeScript 凭借静态类型系统,为大规模 JavaScript 开发提供了坚实的保障。从基础类型到泛型抽象,从接口定义到类的增强,它的特性设计始终围绕 "提升代码质量和开发效率"。随着前端工程化的深入,TypeScript 已成为现代前端开发的必备技能。入门时可能会觉得类型注解增加了工作量,但长期来看,它带来的类型安全和可维护性提升远超初期投入。
2025-10-27 10:43:55
430
原创 JavaScript中的axios
AJAX(Asynchronous JavaScript and XML)是一种在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术。它的核心是xhr.send();Axios 已经成为现代前端开发中处理 HTTP 请求的首选库,它简化了 AJAX 的使用方式,提供了丰富的功能和优秀的错误处理机制。无论是简单的 GET 请求还是复杂的并发请求和拦截处理,Axios 都能胜任。
2025-10-09 00:02:15
999
原创 JavaScript 事件流:事件捕获和事件冒泡
当用户与网页交互时(如点击按钮),事件并不是只在触发元素上发生,而是会经历一个完整的传播过程,这个过程称为。
2025-10-08 19:45:16
201
原创 JavaScript中的DOM操作
DOM(Document Object Model,文档对象模型)是 HTML 和 XML 文档的编程接口。它将文档表示为节点和对象的树结构,使开发者可以用 JavaScript 动态地访问和修改文档的内容、结构和样式。DOM 操作是现代前端开发的核心技能。掌握它可以让你创建动态、交互式的网页应用。
2025-10-08 19:20:33
609
原创 CSS中的选择器、引入方式和样式属性
选择器:像精准 “手术刀”,能定位网页元素。基础选择器有元素(通过 HTML 标签名,如 p)、类(类名前加 .,如 .title)、ID(id 名前加 #,如 #header)选择器;复合选择器有后代(空格分隔,如 div a)、并集(逗号分隔,如 h1, h2)选择器。引入方式。
2025-09-21 23:49:16
1030
原创 HTML 结构与常用标签
HTML(超文本标记语言)是构建网页的基础,掌握其核心结构和常用标签对于前端开发至关重要。本文将详细介绍 HTML 的基本结构以及最常用的标签,帮助初学者快速入门。
2025-09-20 15:45:00
764
原创 深入理解CSS中的Flexbox
Flexbox 是 CSS3 引入的一种一维布局模型,旨在提供一种更高效的方式来布局、对齐和分配容器中项目之间的空间,即使它们的大小是未知的或动态变化的。与传统布局(如浮动和定位)相比,Flexbox 的主要优势在于:(1)轻松实现元素的居中对齐(2)灵活分配剩余空间(3)项目大小可以动态调整以适应不同屏幕尺寸(4)简化响应式设计的实现Flexbox 为我们提供了一种简洁而强大的方式来创建灵活的、响应式的网页布局。它解决了许多传统布局模式的痛点,使对齐、分布和重排元素变得简单直观。
2025-09-19 15:10:19
734
原创 一文读懂计算机网络与 Python TCP 开发:从理论到实战
本文从计算机网络基础概念出发,逐步拆解 IP 地址、端口、Socket 与 TCP 协议的核心作用,再通过 Python 编码转换与 TCP 实战开发,帮你打通 "理论→实践" 的链路。掌握这些知识后,你可以进一步扩展开发文件传输、即时聊天等复杂网络应用,为后续深入网络编程打下坚实基础。
2025-09-14 23:32:50
1040
原创 Python 上下文管理器:优雅解决资源管理难题
上下文管理器是 Python 的 “优雅语法糖”,核心价值在于自动管理资源,避免泄漏。使用时需记住:(1)简单场景用contextlib.contextmanager装饰器,代码更简洁;(2)复杂场景(需自定义异常处理、多资源管理)用类实现__enter__/__exit__;(3)优先使用 Python 内置的上下文管理器(如open()),避免重复开发。
2025-09-14 23:16:08
1077
原创 Python 多任务编程:进程、线程与协程全面解析
多任务指在同一时间内执行多个任务,比如电脑同时运行微信、浏览器和代码编辑器。其核心价值是充分利用 CPU 资源,提升程序执行效率。CPU 密集型任务(如计算、矩阵运算):用多进程(绕过 Python GIL 锁,利用多核 CPU);I/O 密集型任务(如网络请求、文件读写):优先用协程(效率最高、资源开销最低),其次用多线程;简单多任务场景:若无需多核利用,用多线程(实现简单、通信方便)。
2025-09-07 21:55:10
910
原创 SQLite3 操作指南:SQL 语句与 ORM 方法对比解析
SQLite3 在 Python 中的两种操作方式,没有绝对的 “优劣”,只有 “适用场景” 的差异。原生 SQL 是 “直接高效的利器”,适合简单场景与性能敏感需求;ORM 是 “工程化的最佳实践”,适合中大型项目与长期维护。作为开发者,最好的方式是 “两者兼备”:既掌握原生 SQL 的核心逻辑,又能熟练使用 ORM 提升开发效率。在实际项目中,可根据具体需求灵活搭配 —— 比如用 ORM 处理常规 CRUD,用原生 SQL 解决复杂查询,让两种方式各尽其长。
2025-09-03 11:20:21
1513
1
原创 FastAPI 核心实战:精通路径参数、查询参数与数据交互
商品创建请求体模型name: str = Field(..., min_length=2, max_length=50, description="商品名称")price: float = Field(..., gt=0, description="商品价格(必须大于 0)")stock: int = Field(10, ge=0, description="库存数量(默认 10,≥0)")
2025-09-01 00:05:29
1076
原创 Python 面向对象进阶:深入理解封装、继承与多态
Python 中通过属性 / 方法名前加两个下划线(__) 定义私有成员,其本质是 “名称修饰”,防止外部直接篡改。示例:私有属性的定义与访问限制self.name = name # 公有属性:外部可直接访问self.__age = 18 # 私有属性:外部禁止直接访问# 测试xiaomei = Girl("小美")print(xiaomei.name) # 正常输出:小美print(xiaomei.__age) # 报错!提示无__age属性(私有成员被隐藏)
2025-08-25 22:10:31
1273
原创 Python 面向对象编程入门:从思想到属性操作
定义一个学生类(新式类)# 属性(可以在实例化后添加,也可通过魔术方法初始化)# 方法(函数)print(f"{self.name}正在学习") # self的作用见下文print(f"{self.name}缴纳了学费")# 实例化两个学生对象# 为对象添加属性(类外添加方式,下文会详解)stu1.name = "张三"stu2.name = "李四"# 调用对象的方法stu1.study() # 输出:张三正在学习stu2.pay_fee() # 输出:李四缴纳了学费。
2025-08-21 21:51:18
888
原创 Python 文件操作与异常处理全解析
文件是计算机中用于长久存储数据的基本单位,它将数据组织成可管理的形式,便于检索和使用。内存中的数据在计算机关机后会消失,而文件可以将数据保存到硬盘、U 盘等存储设备中。从类型上看,文件可分为文本文件(如 TXT、HTML)、图像文件(如 JPEG、PNG)、音频文件(如 MP3、WAV)、视频文件(如 MP4、AVI)以及可执行文件(如 EXE、DLL)等多种类别。当程序运行过程中检测到错误时,解释器无法继续执行,会抛出错误提示,这就是异常。例如除数为 0、读取不存在的文件等。
2025-08-20 23:11:05
1180
原创 Python函数总结
基础语法结构定义函数的基本语法如下:def 函数名(参数列表):"""函数文档"""函数体return 返回值 # 可选其中def是定义函数的关键字,函数名需遵循标识符命名规则(字母、数字、下划线组合,不能以数字开头)。函数调用非常简单,只需使用函数名(参数)的形式:"""计算圆的面积"""# 调用函数print(area) # 输出78.53975值得注意的是,函数定义必须在调用之前,否则会抛出NameError。(1)接收函数作为参数:可以接受一个或多个函数作为输入参数。
2025-08-19 16:25:58
1638
原创 Python装饰器:从入门到精通
装饰器的本质是一个闭包函数,这意味着它满足闭包的三个构成条件:有嵌套、有引用、有返回(返回的是函数的内存地址)。简单来说,装饰器就是这样一种工具:在不改变现有函数源代码以及函数调用方式的前提下,实现给函数增加额外的功能。装饰器是 Python 中一种非常强大且优雅的特性,它基于闭包实现,能够在不改变原有函数的情况下为其增添功能。从简单的功能扩展到复杂的参数传递和类实现,装饰器展现出了极大的灵活性和实用性。掌握装饰器的使用,能够让我们的代码更加简洁、高效和可维护。
2025-08-18 22:20:49
737
原创 深入理解 Python 闭包:从原理到实践
简单来说,闭包是一种特殊的嵌套函数结构:在函数嵌套的前提下,内部函数引用了外部函数的变量,并且外部函数返回了这个内部函数。这种结构能让局部变量在函数执行后不被销毁,从而被全局作用域间接访问。num = 20 # 外部函数的局部变量print(num) # 内部函数引用外部变量return inner # 外部函数返回内部函数# 调用外部函数,得到内部函数的引用f() # 输出20,成功访问到outer函数的局部变量num在这个例子中,inner函数就是一个闭包,它 “记住” 了outer。
2025-08-15 23:24:31
1535
1
原创 Python中的函数入门二
本文介绍了Python函数的四个进阶技巧:1. 说明文档的使用方法,通过三引号字符串为函数添加清晰说明,便于快速理解函数功能;2. 函数的嵌套调用,解析了函数内部调用其他函数的执行流程;3. 变量作用域规则,区分全局/局部变量,并说明使用global修改全局变量的方法;4. 拆包操作技巧,展示如何高效提取集合数据及交换变量值。这些技巧能帮助开发者编写更规范、高效的Python代码,提升函数的可维护性和复用性。
2025-08-14 16:13:13
902
原创 递归函数与 lambda 函数:用法详解与实践
等价于def add(x, y): return x + yprint(add(3, 5)) # 输出:8# 无参数函数print(greet()) # 输出:Hello, World!递归函数通过自身调用解决分治问题,适合嵌套结构和数学递归场景,但需注意效率和栈溢出风险。lambda 函数以匿名和简洁为特色,适合简单逻辑和高阶函数参数场景,但功能有限。
2025-08-13 21:49:27
1395
原创 Python中的高阶函数
高阶函数是函数式编程核心概念之一,它是指能够接受函数作为参数或者返回函数作为结果的函数。在Python中,函数可以像普通变量一样被传递和操作,这为高阶函数的使用提供了基础。(1)可以将函数作为参数传递给另一个函数(2)函数可以作为另一个函数的返回值(1)提高代码的抽象程度(2)减少代码重复(3)增强代码的灵活性和可延展性。
2025-08-12 16:58:05
814
原创 Python 函数的灵活应用:函数当元素、参数与返回值
用容器管理函数,提升代码可维护性分离通用框架与具体逻辑,增强复用性动态生成功能或延迟计算,优化程序效率。
2025-08-11 22:13:25
919
1
原创 每日一练:名片管理系统
4.如果查询到指定名片,用户可以选择修改或者删除名片。3.用户名片需要记录用户的名字,电话,QQ,邮箱。2.根据功能选择,执行不同的功能。1.用户用数字选择不同的功能。
2025-08-10 23:00:34
285
1
原创 Python 函数参数实战示例:从基础到混合应用
为了更直观地理解 Python 函数参数的各种类型,下面提供一系列简单易懂的例子,涵盖基础参数类型及其混合使用场景。
2025-08-07 23:29:22
491
3
原创 Python 函数参数详解:从基础到进阶的全面指南
函数是 Python 编程的核心构建块,而参数则是函数灵活性的关键。掌握不同类型参数的使用方法,能够让你编写更简洁、更灵活、更易维护的代码。本文将详细讲解 Python 中各类参数的用法,包括位置参数、关键字参数、默认参数、可变位置参数和可变关键字参数,以及它们的混合使用技巧。
2025-08-07 22:48:37
1416
原创 Python中的函数入门一
函数是一个被命名的独立的完成特定的代码段,并且可能给调用它的程序一个返回值。重复使用,写一次可以进行多次调用,避免重复使用。有利于调试与维护,定位问题更加方便,修改局部代码不会影响整体。提升开发效率,模块化开发,使协作更方便。def 函数名(参数):函数体...return 返回值。
2025-08-06 23:40:22
565
3
原创 Python中常见几种序列的特点以及推导式
推导式类型语法适用场景列表推导式变量名 = [表达式 for 变量 in 对象 if 条件]生成列表字典推导式列表名 = {key: value for item in 对象 if 条件}生成字典集合推导式集合名 = {表达式 for 变量 in 对象 for 条件}生成集合(去重)生成器推导式生成器推导式 = (表达式 for 变量 in 对象 if 条件)惰性计算(节省内存)
2025-08-06 22:03:20
1077
原创 Python中的集合
集合(Set)是Python中的一种内置数据结构,它与字典类似但只包含键而不存储值。集合是一种无序、可变且元素唯一的容器。用{}和set()定义集合,如果是空集合的话只能用set()方法定义。# 定义一个集合# 定义一个空的集合print(type(set2)) # 输出<class 'set'>
2025-08-04 22:29:07
461
4
原创 Python中的字典
字典使用{ }定义,键值之间用 , 分隔,每个键值对用冒号: ,分隔键和值。# 定义一个空字典# 包含元素的字典student = {"class":"1班","name":"张三","age":18}
2025-08-04 21:31:06
659
1
原创 Python中的元组
定义元组使⽤⼩括号,且使⽤逗号隔开各个数据,数据可以是不同的数据类型。如果只有一个元素,必须加逗号(x,),否则会被识别为普通变量。# 多个数据元组# 单个数据元组。
2025-08-03 22:28:14
333
2
原创 Python中的列表及其应用
列表的定义非常简单,使用方括号[]列表序列名称 = [列表中的元素1, 列表中的元素2, 列表中的元素3, ...]
2025-07-31 14:10:06
608
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅