- 博客(55)
- 收藏
- 关注
原创 从零搭建 Spring Boot 后端:分页、搜索、跨域、文档,一个都不少
本文复盘了 Spring Boot 后端阶段 0 的七个核心技术点:MyBatis-Plus 分页插件注册与 Page/IPage的区别、LambdaQueryWrapper条件构造中 and() 的正确用法、@DateTimeFormat 处理 GET 请求日期参数、统一返回格式 Result<T> 的设计、Knife4j四大注解(@Tag/@Operation/@Parameter/@Schema)的分工及版本兼容、CORS 全局配置优@CrossOrigin 的理由
2026-06-04 20:19:12
49
原创 Claude Code :核心工作流 —— 与AI共舞的六种模式
六种权限模式,形成从严格管控到完全放开的信任梯度。其中acceptEdits模式(自动放行文件编辑+确认危险操作)是日常开发的最佳选择,plan模式适合需求分析与方案设计。auto模式依赖安全分类器实现智能判定,适合批量任务。会话管理系统支持断点续传(--resume)、上下文压缩(/compact)和跨会话记忆(Memory)。建议采用"一个功能一个会话"的策略,通过CLAUDE.md和Memory实现知识传承。核心工作流遵循"探索→规划→编码→提交"四步循环。
2026-06-02 20:26:35
307
原创 HTML+fastAPI+Dify|打通前后端至智能体的路
AI聊天应用流式通信全解析:从FastAPI到前端实时渲染 本文通过一个NLP2SQL查询案例,详细拆解了AI聊天应用的流式通信架构。系统采用三层设计:前端负责用户交互与实时渲染,FastAPI后端作为安全代理转发请求,Dify平台处理自然语言理解。核心流程展示了流式技术的关键实现: 后端使用FastAPI的StreamingResponse和SSE协议 通过httpx进行异步流式代理请求 前端采用ReadableStream API分块处理数据 最终实现Markdown和ECharts图表的动态渲染 该架
2026-06-01 16:08:30
395
原创 从懵逼到通透:Spring 容器、Bean、依赖注入本质解剖(附易错题自测)
本文深入浅出地解析了Spring框架的核心概念,通过餐厅厨房的生动比喻,帮助开发者理解IoC容器和Bean的本质。文章详细讲解了@Component、@Service、@Controller等注解的区别与联系,对比了@Component和@Bean的使用场景,并揭示了@Configuration的特殊代理机制。同时,文章澄清了依赖注入的真实含义,指出常见的理解误区,并通过自测题巩固学习效果。最后总结出Spring的核心工作机制:IoC容器作为对象仓库管理Bean,注解作为注册标签,依赖注入实现自动装配。全文
2026-05-26 21:32:30
376
原创 Pinia 综合笔记:介绍、两种 API、实例方法与持久化
Pinia是Vue3官方推荐的状态管理库,用于集中管理组件间共享数据。学习路径清晰:先了解其作用(解决跨组件数据共享问题),再掌握Store创建与使用(需先注册到Vue应用),重点理解$patch批量修改、$reset重置状态等方法。Pinia支持选项式和组合式两种写法,相比Vuex更轻量且兼容TS。数据持久化可通过手动实现(读取本地存储+状态监听回写)或使用插件(简化配置流程)。核心在于掌握状态定义、修改、监听和持久化的完整链路,这是Pinia入门的十二个关键点。
2026-05-19 21:35:35
364
原创 Vue Router 笔记(二):正则路由、组件通信与动态路由
本文系统梳理了VueRouter的核心知识点,重点探讨了动态路由、正则表达式路由和组件通信的实现方式。动态路由通过参数化路径实现组件复用,正则路由则用于参数格式校验。路由不仅能实现页面跳转,还可作为组件间通信的媒介,适合传递轻量级状态。文章详细分析了动态路由的典型应用场景、常见问题及解决方案,强调路由在权限控制、状态管理和异常处理中的重要作用。最后指出路由系统是前端工程化的关键环节,需要整体理解路径匹配、参数传递和守卫控制等机制。
2026-05-15 16:47:50
437
原创 DOM 入门到实践:用事件绑定、定时器和节点操作真正理解 JavaScript
本文系统梳理了DOM操作的核心知识点。DOM是JavaScript操作网页的桥梁,通过获取元素节点实现对页面内容的动态控制。主要内容包括:1)元素获取方法;2)内容修改的三种方式;3)属性和样式操作;4)节点增删改;5)事件绑定三种方法;6)定时器使用场景;7)类名操作技巧。文章强调DOM操作遵循"先获取、再操作、最后响应"的基本流程,掌握这些核心概念就能让静态页面实现动态交互效果。适合JavaScript初学者建立完整的DOM知识体系。
2026-05-14 21:33:58
551
原创 Vue3 路由守卫详解:全局守卫、路由独享守卫、组件内守卫
本文系统介绍了Vue3中的路由守卫机制,主要分为三类:全局路由守卫(处理通用逻辑如登录校验)、路由独享守卫(处理单个路由特有逻辑如参数校验)和组件内守卫(处理组件内部逻辑如离开提醒)。文章详细阐述了各类守卫的使用场景和典型写法,强调应根据需求选择合适守卫类型:全局问题用全局守卫,单页问题用独享守卫,组件内部问题用组件内守卫。同时指出了常见误区,如动态路由参数变化时组件可能复用、必须正确调用next()等。最后总结了路由守卫的核心是解决"页面准入控制"问题,而非死记API。
2026-05-10 18:59:06
537
原创 Spring Boot+MyBatis-Plus+Vue3前后端协作Note
本文介绍了一个基于SpringBoot+Vue3的前后端分离项目,重点解析了MyBatis-Plus在后端开发中的基础应用流程。文章从项目架构入手,说明后端采用SpringBoot+MyBatis-Plus+MySQL技术栈,负责数据连接和接口提供;前端使用Vue3处理页面交互。详细讲解了MyBatis-Plus的核心价值在于简化CRUD操作,并通过具体代码示例展示了数据库连接配置、Mapper接口定义、实体类映射等关键环节的实现方式。特别对比了Service层的两种典型写法:手动调用Mapper和使用Se
2026-05-08 17:51:18
467
原创 Vue Router 核心知识点梳理
本文系统梳理了VueRouter的核心知识点:1. 路由作用:实现单页应用无刷新跳转,仅替换<router-view>内容;2. 核心配置:包括基础路由、嵌套路由和动态路由的配置方法;3. 两种模式:History模式(需后端支持)和Hash模式(适合本地测试);4. 关键API:useRouter用于路由操作,useRoute获取路由信息;5. 跳转方式:声明式(<router-link>)和编程式(router.push);6. 参数传递:动态路径参数和查询参数两种方式;7. 性
2026-05-06 21:30:25
387
原创 Vue Router :基础使用与嵌套路由实战
本文总结了VueRouter的核心知识点,包括基础路由和嵌套路由的实现方法。基础路由介绍了RouterLink、router-view等核心组件,以及路由懒加载优化技巧。重点讲解了嵌套路由的实现要点:父路由必须提供组件和子容器,子路由路径会自动拼接父级路径。通过/admin和/admin1的对比示例,说明了真正嵌套路由与伪嵌套路由的区别。文章提供了完整的配置代码和组件结构示例,帮助开发者快速掌握VueRouter的核心功能。
2026-04-28 20:45:44
426
原创 Vue3+TS封装Axios请求全攻略
本文介绍了在Vue3+TypeScript项目中封装Axios请求的最佳实践。主要内容包括:1)创建Axios实例并配置基础参数;2)使用拦截器统一处理请求头(如添加token)和响应数据;3)通过TypeScript泛型定义通用响应类型;4)针对具体业务接口进行二次封装;5)在Vue组件中调用封装好的接口并实现类型安全的响应式数据处理。这种封装方式能有效减少代码冗余,提高维护性,同时利用TypeScript的类型检查确保开发质量,是前端项目中请求处理的标准化解决方案。
2026-04-26 15:36:57
465
原创 Vite代理解决前端跨域问题 | fetch请求 | 环境变量
本文主要介绍了前端开发中解决跨域问题的Vite代理配置方法以及fetch请求的基础使用。文章首先解释了跨域的概念和表现,即浏览器因同源策略拦截不同域名、端口或协议的请求。然后详细讲解了如何通过Vite代理解决跨域问题:包括配置环境变量、设置vite.config.ts中的代理规则,以及前端发送代理请求的具体实现。同时介绍了fetch API的基本用法和注意事项。最后总结了Vite代理的核心原理是请求转发流程,并强调了实操的重要性。这些内容既适合复习,也能帮助其他正在学习的前端开发者。
2026-04-25 16:19:42
432
原创 Vue3 笔记:过渡动画与自定义指令
本文重点讲解了Vue3中过渡动画和自定义指令两大核心功能。过渡动画部分介绍了transition组件的原理,通过CSS类名控制元素的进入/离开动画状态,并给出实际案例演示元素显隐动画的实现。自定义指令部分以全局防抖指令为例,详细解析了指令的生命周期钩子、参数传递和核心实现逻辑,包括mounted钩子的防抖处理、beforeUnmount的资源清理等。文章强调实践操作的重要性,建议读者通过动手练习来深入理解这些概念。
2026-04-20 17:34:37
409
原创 Vue 内置组件:动态组件与缓存组件
本文介绍了Vue3中动态组件和缓存组件的核心用法。动态组件通过<component>内置组件和is属性实现,可灵活切换不同组件,但默认会销毁旧组件。缓存组件使用<keep-alive>保留组件状态,避免重复渲染,提供activated和deactivated生命周期钩子,并可通过include/exclude控制缓存范围。文章通过代码示例展示了单独使用和组合使用这两种组件的方式,强调合理使用可提升用户体验和性能。动态组件适合需要频繁切换的场景,而缓存组件则适用于需要保留状态的组件。
2026-04-18 16:28:00
212
原创 Vue3 :生命周期、DOM 操作与自定义组合式函数
本文总结了Vue3的核心知识点,包括组件生命周期、ref操作DOM、nextTick异步更新和自定义组合式函数。详细讲解了setup语法糖下的生命周期钩子执行时机与使用场景,ref获取DOM和组件通信的方法,nextTick解决异步DOM更新的原理,以及如何封装可复用的组合式函数。重点强调了生命周期中DOM操作时机、定时器清理、defineExpose暴露方法等注意事项,并提供了完整代码示例。这些内容都是Vue3开发中的高频使用场景,通过系统梳理帮助开发者更好地掌握Vue3的核心特性。
2026-04-16 10:08:49
437
原创 Vue3 | 组件化开发---组件插槽与通信
Vue组件通信与插槽技术总结 本文重点介绍了Vue中的两种兄弟组件通信方式和三类核心插槽用法: 兄弟组件通信: 通过父组件中转(Emits+Props) 使用EventBus事件总线 组件插槽: 默认插槽:父组件内容替换子组件slot默认值 具名插槽:通过name属性精准定位替换位置 作用域插槽:子组件传递数据,父组件自定义渲染 核心价值在于提升组件灵活性,实现父子组件解耦。建议结合TypeScript使用,并通过实践加深理解。
2026-04-13 15:13:10
194
原创 SpringBoot 基础入门
本文回顾了SpringBoot基础开发流程,通过一个简单Demo演示了核心知识点。项目结构包含启动类、配置文件和控制器,使用YAML配置端口和路径。重点讲解了四种接口开发方式:基本GET请求、路径变量、请求参数以及POST接收JSON数据。文章强调了SpringBoot"约定大于配置"的优势,提醒注意配置文件缩进和实体类getter/setter等细节。通过Apifox工具测试接口,验证了不同参数传递方式的正确使用。作者认为掌握这些基础内容对后续开发至关重要。
2026-04-12 19:14:06
528
原创 Vue3 | 组件通信学习小结
本文总结了Vue3中三种核心组件通信方式:1. Props/Emits适用于父子/跨级组件通信,通过单向数据流实现组件解耦;2. Provide/Inject实现跨层级数据共享,支持响应式数据传递;3. Mitt事件总线支持任意组件间通信。文章详细分析了每种方式的实现原理、代码示例和使用场景,建议根据实际需求选择:简单父子通信用Props/Emits,跨层级共享用Provide/Inject,非父子组件通信用Mitt,同时强调了保持数据流向清晰的重要性。
2026-04-12 16:51:00
417
原创 Vue3+TS 笔记:Props 与 Emits 的正确打开方式
本文总结了Vue3中组件通信的核心机制Props和Emits的使用方法。Props用于父组件向子组件传递数据,遵循单向数据流原则,子组件不能直接修改Props;Emits则是子组件通过触发自定义事件向父组件传递数据的推荐方式。文章详细介绍了如何结合TypeScript进行类型约束:使用接口定义Props类型,withDefaults设置默认值;通过字符串数组或TS类型字面量两种方式定义Emits事件。文中提供了完整的代码示例,并强调类型安全在现代Vue项目中的重要性,帮助开发者构建更健壮的组件通信机制。
2026-04-11 19:32:59
441
原创 Vue3 —— 监听器 (watch/watchEffect) 与 Props 组件通信
本文总结了Vue3中监听器和Props组件通信的核心知识点。监听器部分对比了watch和watchEffect:watch需要显式指定监听源,能获取新旧值,监听reactive对象时会自动深度监听;watchEffect则自动收集依赖,适合副作用场景,支持暂停/恢复操作。Props部分强调了单向数据流原则,介绍了如何通过defineProps定义props并进行类型校验、必填设置、默认值配置和自定义验证规则。文章通过代码示例展示了父子组件间的数据传递方式,帮助读者掌握Vue3组件开发的基础技能。
2026-04-06 17:12:07
550
原创 Vue3 计算属性|从基础缓存到可读写
【Vue3计算属性核心要点】计算属性(computed)通过缓存机制优化性能,只在依赖变化时重新计算。与普通函数相比,多次调用仅执行一次。高级用法包括:1)返回函数实现传参;2)get/set方法创建可读写计算属性。适用于数据派生场景,依赖必须是响应式数据。注意:只读属性用单函数,可读写需完整形式,传参通过返回函数实现而非直接传参。合理使用可提升代码整洁度和运行效率。
2026-04-04 17:54:45
601
原创 Vue3 | 事件绑定与双向数据绑定
本文介绍了Vue3中事件绑定和双向数据绑定的核心用法。事件绑定通过v-on/@实现,支持传参和修饰符处理不同事件类型。双向绑定使用v-model实现表单数据同步,包括文本输入框、数字输入框、单选框和复选框等不同表单元素的绑定方式。文章还解释了v-model的原理是value绑定和input监听的语法糖,并强调ref和reactive在响应式数据中的重要性。这些知识点是Vue3开发中最基础的交互能力,适合初学者掌握。
2026-03-30 18:04:27
283
原创 Vue3|基础指令与数据绑定知识点整理
本文总结了Vue3基础指令和数据绑定的核心用法:1. 插值表达式({{}})用于文本渲染,支持变量、表达式和简单运算;2. v-bind(:)用于动态绑定标签属性,包括class、style等;3. v-text和v-html用于文本渲染,前者纯文本后者解析HTML;4. 条件渲染v-if/v-else和v-show的区别在于DOM操作和CSS切换;5. 列表渲染v-for用于遍历数组/对象,强调key属性的重要性。文章通过代码示例详细说明了各指令的适用场景和注意事项,适合Vue3初学者参考学习。
2026-03-23 16:03:05
327
原创 Python 文件操作教程
本文介绍了Python文件操作的核心知识,重点讲解了open()函数和with语句的使用方法。主要内容包括:1)文件操作的必要性;2)open()函数的基本用法和常用模式(r/w/a等);3)推荐使用with语句自动管理文件关闭;4)常用读写方法(read()/readline()/write()等);5)实战案例(文件读取、列表写入、二进制复制);6)重点总结强调with语句、模式选择和编码设置。文章采用简洁易懂的语言,适合初学者快速掌握Python文件操作要点。
2026-03-19 22:06:36
419
原创 FastAPI + SQLAlchemy 实战教程
本文介绍了如何结合FastAPI和SQLAlchemy快速搭建Web后端服务。主要内容包括:1)环境准备与核心依赖安装;2)SQLAlchemy的数据库引擎配置、会话工厂创建和ORM模型定义;3)通过具体接口示例(增删改查)展示FastAPI如何与SQLAlchemy协作处理数据;4)强调会话管理、事务提交等关键操作;5)总结两者优势:SQLAlchemy简化数据库操作,FastAPI提升接口开发效率。该组合能快速构建高性能、易维护的后端服务。
2026-03-02 15:23:42
765
原创 Python 入门:FastAPI + SQLite3 + Requests 基础教学
本文从语法、库使用、数据库连接到接口开发、请求调用一步步讲解,适合新手学习与日后复习。全程使用 Python 内置库 + 轻量框架,无需复杂环境。return {"你的名字": name}return {"接收数据": {"name": name, "age": age}}SQLite 流程:连接 → 创建游标 → 执行 SQL → 提交 → 关闭FastAPI 流程:创建 app → 装饰器定义接口 → 编写函数 → 运行服务传参方式:GET/POST 均可用 params 传参。
2026-02-21 21:00:00
1155
原创 SQLite数据库的介绍与使用
创建数据表时需要定义表的结构,包括字段名称、数据类型和约束条件。常见的约束包括主键(primary key)、唯一约束(unique)、非空约束(not null)和自动递增(autoincrement)。合理的表结构设计是数据操作的基础。SQLAlchemy的声明式基类允许开发者使用Python类来定义数据库表结构。通过继承declarative_base()创建的基类,可以将Python对象与数据库表进行映射,实现了面向对象的数据库操作方式本质。
2026-01-31 23:41:07
821
原创 FastAPI:高性能Python Web框架
本文介绍了FastAPI框架的基础应用开发方法。主要内容包括:1)FastAPI的安装和基本应用创建;2)路由定义与请求处理方法;3)三种参数传递方式(查询参数、路径参数、Request对象);4)推荐的项目组织结构,通过APIRouter实现模块化开发。FastAPI具有自动生成文档、数据验证等特性,适合快速构建高性能API服务。文章通过用户管理系统案例,展示了从安装到模块化开发的全流程。
2026-01-26 15:16:13
879
原创 闭包与装饰器
本文介绍了Python中的闭包和装饰器概念。闭包是嵌套函数引用外部变量并返回的结构,具有三个核心特征:函数嵌套、引用外部变量和返回内嵌函数,可通过nonlocal修改外部变量。装饰器是基于闭包的高阶函数应用,在不改变原函数代码和调用方式的情况下增强功能,使用@语法糖实现。文章通过示例代码详细说明了无参数装饰器和带参数装饰器的实现方式,并阐述了装饰器的执行流程和参数传递机制。闭包为装饰器提供了底层支持,装饰器则是闭包的高级应用。
2026-01-23 17:44:03
856
原创 面向对象中的封装-继承-多态
本文系统阐述了面向对象编程的三大核心特性:封装、继承和多态。封装通过私有属性和方法隐藏内部实现,提供安全访问接口;继承实现代码复用与扩展,包括单继承、多级继承和多继承三种形式;多态则基于继承实现同一接口的不同行为表现。文章还介绍了类属性、类方法、静态方法等补充概念,以及多重继承中的MRO机制。通过实例代码演示了各特性的具体应用,为面向对象编程提供了全面的实践指导。
2026-01-22 15:40:22
1430
原创 初学者必知的 Python 库函数
本文介绍了Python初学者应掌握的实用内置函数,重点讲解了字符串拼接方法.join()的正确使用方式。通过对比传统"+"拼接与.join()的区别,指出后者在可读性、性能和减少错误方面的优势。文章还列举了split()、len()、range()、enumerate()和zip()等常用函数的使用场景,强调合理运用这些工具能让代码更简洁高效。最后建议初学者转变思维,用Pythonic的方式解决问题,从.join()这样的小改变开始提升编程水平。
2026-01-21 17:28:21
333
原创 魔术方法与魔术变量
摘要:本文介绍了Python中的魔术方法和魔术变量。魔术方法包括__init__()初始化对象属性、str()定义对象打印格式、del()在对象销毁时执行操作。魔术变量__name__用于判断模块调用方式,__file__获取文件绝对路径。这些特殊方法以双下划线开头和结尾,为类提供了特殊功能实现方式,是Python面向对象编程的重要特性。
2026-01-20 15:35:24
729
原创 异常处理-面向对象思想的了解
本文介绍了Python编程中的异常处理和面向对象编程两大核心概念。异常处理部分详细讲解了try-except语法结构及其应用场景,列举了ValueError、ZeroDivisionError等常见异常类型,并提供了实际案例演示。面向对象部分阐述了类与对象的关系,讲解了类的定义方法、构造方法__init__的使用以及对象的实例化过程,通过QQ类案例展示了面向对象编程的具体实现。文章最后总结了异常处理和面向对象编程的核心要点,强调两者结合使用能提高程序健壮性,特别适合处理复杂业务场景。
2026-01-20 14:45:53
588
原创 Python 文件操作与自定义模块及包管理
本文介绍了Python中自定义模块、包管理及文件操作的核心内容。自定义模块本质是.py文件,包含函数、变量等,通过import导入使用。包是将相关模块组织到文件夹中,通过__init__.py控制导入。文件操作包括打开(open)、读写(read/write)和关闭(close),涉及路径处理和编码设置。OS模块提供了文件和目录操作功能,如重命名(rename)、删除(remove)、创建目录(mkdir)等。这些知识点涵盖了Python模块化开发和文件系统操作的基础内容,是Python编程的重要基础技能。
2026-01-19 16:51:54
698
原创 Vue 3事件委托与双向数据绑定---03
本文介绍了Vue中的两个重要概念:事件委托和双向数据绑定。在事件委托部分,通过对比普通事件处理和委托处理的代码示例,阐述了利用事件冒泡机制将子元素事件绑定到父元素的优势,包括性能提升、内存优化、动态元素支持和统一管理等。在双向数据绑定部分,分析了v-model的语法糖本质及其在不同表单元素中的应用,同时展示了手动实现双向绑定的方法。文章最后总结指出,理解事件委托机制和v-model的底层原理有助于更高效地使用Vue框架。
2025-12-25 19:30:00
295
原创 Vue 3 事件处理与列表渲染---02
本文介绍了Vue中的列表渲染(v-for)和事件绑定两大核心功能。v-for指令可用于遍历数组和对象,支持获取元素、索引、键值等不同数据。事件绑定使用@或v-on语法,支持多种事件类型和修饰符(如.prevent、.stop、.once等),可控制事件冒泡、默认行为等特性。文章通过代码示例详细展示了如何实现数组/对象渲染、绑定不同类型事件以及使用事件修饰符的技巧,为Vue开发提供了实用指导。
2025-12-24 19:30:00
934
原创 Vue 3 从创建项目到基础语法---01
本文介绍了Vue3的基本语法操作:1. 项目创建方式(npm create vue@latest);2. 插值表达式{{}}的使用方法及特点;3. v-bind指令的动态绑定功能及其简写形式;4. 条件渲染v-if和v-show的区别及适用场景;5. v-text和v-html的文本渲染差异。文章通过代码示例展示了各种语法的具体应用,帮助开发者快速掌握Vue3的基础用法。
2025-12-23 19:30:37
335
原创 Python 基础语法------05(集合与函数,列表推导式)
本文介绍了Python编程中的集合操作、推导式语法、函数定义和参数传递机制。主要内容包括:1)集合的创建(set()和{})、特性(无序不重复)及基本操作(add/update/remove);2)列表/集合/字典推导式的语法结构及应用;3)函数的定义、嵌套调用、多返回值和参数解包;4)参数传递机制(位置/关键字参数、*args/**kwargs的使用)。这些知识点涵盖了Python基础编程中的核心概念,为编写高效简洁的代码提供了实用方法。
2025-12-23 15:36:25
521
原创 Python 基础数据结构语法:列表、元组与字典 ------04
本文介绍了Python中三种基础数据结构:列表、元组和字典的基本语法和常用操作。列表(List)使用方括号[]定义,有序可变,支持添加、删除、修改元素等操作;元组(Tuple)使用圆括号()定义,有序不可变,适合存储不变数据;字典(Dict)使用花括号{}定义,通过键值对存储数据,支持增删改查等操作。三种结构各具特点:列表灵活可变,元组安全不可变,字典键值映射高效,开发者可根据需求选择合适的数据结构。
2025-12-18 18:27:46
412
空空如也
为什么这里还要声明这个变量?(语言-c++)
2024-04-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅