自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【电商项目】商品搜索模块|核心问题深度复盘(含ES设计、线上排查、性能优化)

商品搜索模块是电商项目的核心重难点,本文涵盖索引设计、数据同步、聚合查询、性能优化、线上问题排查等多个核心知识点。通过这次逐题纠错复盘,补齐了之前的知识盲区,理清了MySQL与ES的分工、ES底层执行逻辑、线上问题排查思路。

2026-08-29 22:54:20 493 1

原创 【电商项目】商品搜索开发复盘(4):封装查询面板功能逻辑思考与编写

本文完成了商品搜索的封装查询面板功能,以京东搜索页面为例开始编写的逻辑。

2026-08-27 21:26:10 344

原创 【电商项目】商品搜索开发复盘(3):搜索与封装实现逻辑思考与编写

本文介绍了商品搜索功能的实现步骤:1. 通过buildQuery方法构造Elasticsearch搜索条件;2. 使用ElasticsearchTemplate执行搜索;3. 将ES返回的SearchHits结果转换为List后,再封装为MyBatis-Plus的Page对象,便于前端统一处理;4. 最终将查询结果、参数和面板封装到GoodsSearchResult对象返回。其中重点说明了为什么要进行两次结果转换,以及如何构建分页对象。查询面板的封装将在后续文章中详细介绍。

2026-08-25 23:36:29 324

原创 【电商项目】商品搜索开发复盘(2):构造ES搜索条件逻辑实现与思考

/ 返回组装完毕的ES查询条件对象。

2026-08-18 23:47:48 435

原创 【电商项目】商品搜索开发复盘(1):根据需求拆解搜索接口的设计逻辑

本文介绍了商品搜索功能的实现思路,重点阐述基于Elasticsearch的设计方案。文章首先对比MySQL与ES在全文检索场景的性能差异,说明采用ES的必要性。核心流程分为三部分:将前端参数转换为ES查询条件、执行ES搜索、封装返回数据。其中返回结果不仅包含商品列表,还需聚合品牌/品类/规格数据生成筛选面板,并回显搜索条件。最后通过代码框架展示了搜索服务的核心结构,强调结果封装环节是业务实现的关键所在。全文以京东搜索面板为参照,详细解析了复杂搜索功能的整体架构。

2026-08-18 19:18:19 174

原创 SQL不会写?不会找关联表?复杂SQL语句编写逻辑实现思路请查收✉

摘要:文章通过两位实习生A和B的踩坑经历,强调手写SQL的重要性。A因使用可视化工具误删数据库,B因依赖AI生成SQL导致业务逻辑错误被批评。作者借此分享复杂SQL编写思路:1) FROM关联表需根据返回实体类确定关联表;2) WHERE条件遵循"n张表n-1条件"原则,主表外键关联是关键;3) SELECT字段建议显式声明并保持别名与实体属性一致。文章指出熟练掌握SQL语法逻辑对开发至关重要,避免过度依赖工具导致问题。

2026-08-14 22:09:07 558

原创 Higress加载不到Nacos服务来源如何解决以及形成原因

本文解决了Higress加载不到Nacos服务列表的问题。关键在于创建服务来源时是否填写命名空间ID:若yml中仅配置了config.namespace(用于读取配置),服务会注册到默认public空间,此时不应填写ID;若同时配置了discovery.namespace(用于服务注册),则需填写对应ID才能加载服务。作者通过对比两种配置场景(如spring.cloud.nacos.config/discovery的独立命名空间设置),指出配置与服务注册的命名空间需明确区分

2026-08-13 12:38:32 343

原创 复杂Impl代码实现思路引导(适合新手,本文以新增和修改商品为例)

本文详细讲解了商品管理系统中新增和修改商品功能的实现思路。对于新增商品,需依次插入商品数据、商品图片和商品规格项数据,重点介绍了如何通过获取自增ID和遍历集合实现多表操作。修改商品则需要先删除原有图片和规格项数据,再重新插入新数据,文中提供了单表查询和XML映射两种删除实现方式。文章通过具体代码思路分析,帮助初学者理解项目功能实现的基本流程和方法,强调了查看入参数据、代码顺序和实现逻辑的重要性。

2026-08-10 23:54:56 609

原创 【电商项目】商品规格模块实现过程中的一些思考与报错修正

摘要:项目启动失败原因为Dubbo误将MyBatis的Mapper接口识别为远程服务。由于Mapper接口被错误添加了Dubbo服务引用注解,导致系统在Nacos注册中心查找不存在的服务提供者。实际Mapper是本地MyBatis对象,与实现类同属一个模块。将注解改为@Autowired后,项目成功启动。问题根源在于错误使用了Dubbo注解。

2026-08-09 23:36:00 412

原创 【电商项目】商品服务模块的问题解决与代码逻辑思考

本文总结了开发过程中遇到的SQL报错处理和新功能开发的思考。遇到SQL问题时,作者通过查看日志快速定位问题,并让AI助手梳理查错思路。在新增功能开发时,作者最初对直接使用实体类查询的方式产生疑惑,后理解到这是为了复用已有Service方法,减少代码改动量和维护成本。具体逻辑是:前端传参→封装为实体查询条件→调用通用Service方法实现查询。这种方案遵循了开发规范,避免了多层级代码修改,提高了稳定性。整个开发过程总体顺利。

2026-08-09 23:20:08 620

原创 【电商项目】测试 授权功能 遇到的问题与解决方案

本文总结了后端开发中常见的两个问题:首先是在权限修改功能测试时,发现SQL查询参数传递错误,原因是前端传参名"id"与后端接收参数名"rid"不匹配;其次是权限异常处理问题,本应返回403状态码却显示系统异常,最终发现是由于导入了错误的AccessDeniedException包(nio.file包而非springframework包)。文章通过具体案例说明,开发过程中需注意参数命名一致性,同时要特别关注异常类的正确导入来源。

2026-08-08 19:54:28 438

原创 【电商项目】测试 认证功能 遇到的问题与解决方案

本文 针对SpringBoot测试中常见问题进行了系统分析:1)测试类报错主要源于依赖缺失、目录结构不规范或Maven缓存问题;2)测试中出现的403错误通常由CSRF防护未关闭导致,前后端分离项目可永久关闭;3)resultMap与resultType混淆会导致映射异常;4)空指针问题多因业务逻辑或数据库查询缺陷,特别是权限表清空后未初始化数据时。重点强调了权限校验机制和MyBatis集合处理的特殊性,提出通过条件判断解决空集合元素问题,并展示了加密认证和测试断点的实际应用场景。

2026-08-06 23:39:11 587

原创 【电商项目】新手角色管理代码测试报错排查与解决方案

本文记录了开发角色管理CRUD功能时遇到的报错及解决过程。主要遇到两个问题:1)XML文件中resultMap路径错误导致property参数报红;2)修改测试时出现BadSqlGrammarException,经排查发现是控制器方法缺少@RequestBody注解,导致前端传入的JSON数据无法转为Java对象,最终SQL执行失败。通过分析多层报错信息,定位到Dubbo序列化异常背后的SQL语法错误,并学会通过日志分析问题根源。此次调试耗时1.5小时,但提升了报错排查能力,为后续编写错误排查指南积累了经验

2026-08-05 21:10:08 486

原创 【电商项目】连接vue前端页面遇到的问题以及解决方案(附带yarn操作指令和 nvm-windows 安装途径)

摘要:在Vue前端项目中遇到Node.js版本不兼容问题(当前24.14.0,项目要求8/10/12/16/17版本)。提供两种解决方案:1)临时使用yarn install --ignore-engines忽略版本校验;2)通过nvm-windows切换至兼容版本(如16.x)。作者选择方案1并确认无风险,同时给出nvm下载链接和yarn常用命令(安装依赖、运行项目等)。两种方案均能有效解决问题,开发者可根据需求选择。

2026-08-04 08:07:59 620

原创 【电商项目】新手CRUD踩坑记录与问题复盘——修改

摘要:Dubbo远程调用updateAdminRole方法失败,根源是SQL执行异常导致序列化问题。具体表现为:1)服务端数据库操作抛出UncategorizedSQLException;2)FastJson2因安全限制无法序列化该异常;3)引发Dubbo通信异常;4)重试3次后调用失败。经排查,问题出在Mapper方法参数应为单个Long值而非数组,XML中#{rid}直接取值导致SQL绑定错误。修正方式是将参数类型从Long[]改为Long,循环中直接传递单个角色ID。

2026-08-03 15:01:16 519

原创 【电商项目】新手CRUD踩坑记录与问题复盘——查找(分页查询)

摘要:在测试分页查询时发现PageHelper插件未生效,返回数据total为0但能获取单页数据。排查发现是由于分页拦截器的@Bean错误定义在Controller内部,导致未被Spring容器加载。修复方案是将@Bean配置迁移至启动类,遵循Spring注解规则(Controller不承载Bean注册)。问题根源在于对Spring注解机制理解不足,正确配置后分页功能即可正常工作。附修复代码示例为MybatisPlus分页拦截器的标准声明方式。

2026-08-03 11:13:32 430

原创 【电商项目】新手CRUD踩坑记录与问题复盘——删除

本文总结了作者在开发过程中遇到的几个典型错误及其解决方案。1. Dubbo服务异常:因启动类缺少@EnableDubbo注解、错误添加直接依赖以及未配置check=false导致的非法状态异常,建议检查服务注册、依赖关系和校验配置。2. 参数类型异常:基本类型long无法接收null值,应改为包装类Long并添加@RequestParam注解。3. 404错误排查:重点关注路径拼写、请求方式、控制器扫描范围和路径拼接问题。4. 端口占用问题:使用netstat和taskkill命令查找并终止占用端口的进程。

2026-08-02 13:34:37 513

原创 【电商项目】新手CRUD踩坑记录与问题复盘——新增

本文记录了开发新增接口时踩的两个典型错误:1. Service层Mapper注入失败,原因是将AdminServiceImpl类误放在商品服务模块,导致Spring扫描不到;2. 接口调试报参数缺失异常,因混淆@RequestParam和@RequestBody注解,同时Postman未设置JSON格式。作者通过复盘这两个"愚蠢错误",总结出组件扫描范围和请求参数注解使用的注意事项,自嘲式地强化了排错能力。

2026-08-01 23:50:30 422

原创 【Python LLM 小说自动化生成实战】6|导出模块开发

本文介绍了Python小说自动化生成项目的导出模块实现。该模块支持将生成的小说内容导出为Markdown和Word两种格式,重点解决程序内容落地使用的问题。文章详细讲解了开发过程:1. 采用延迟导入设计,使Word导出依赖不影响Markdown基础功能;2. 拆分独立函数实现两种导出,降低耦合度;3. 包含自动创建目录、规范排版等细节设计。目前项目各模块开发完成,下一阶段将进行全流程串联,实现从大纲生成到一键导出的完整链路。

2026-07-31 22:53:18 389

原创 Maven 多模块项目提交 GitHub,部分模块代码 Git 无法识别追踪,部分目录模块未被 Git 扫描追踪

摘要: 本文针对Git仓库因.git目录误置于子模块(如shopping_goods_service/)导致多模块Maven项目(如shopping/)部分文件无法被追踪的问题,提供修复方案。根本原因是初始化仓库时误选子模块目录,规避建议:始终在父项目根目录初始化Git仓库,创建子模块时取消勾选Git仓库选项。通过find . -name ".git"可验证仓库唯一性

2026-07-30 23:48:41 463

原创 FastAPI 参数验证详解:Query、Path、Field 区别 + 实战用法

FastAPI中Query、Path和Field的核心区别在于使用场景:Query用于URL查询参数(如?name=test),Path用于URL路径参数(如/items/100),Field用于请求体JSON字段校验。三者支持相同的验证规则(长度、正则、数值范围等),但应用位置不同:Query处理GET请求的筛选参数,Path处理资源标识参数(默认必填),Field则用于POST/PUT请求的模型字段验证。掌握它们各自适用的场景,就能清晰区分和使用这三个参数。

2026-07-29 19:58:01 464

原创 FastAPI 超精简入门搭建教程(环境配置+启动+接口文档)

本文介绍了FastAPI框架的快速上手指南。主要内容包括:1)使用Conda创建Python 3.12虚拟环境;2)安装FastAPI和uvicorn核心依赖;3)编写包含根接口的基础启动代码;4)提供三种项目启动方式(脚本运行、uvicorn命令、FastAPI调试模式);5)说明项目访问地址和自动生成的交互式文档;6)针对常见启动报错给出解决方案。全文重点突出环境隔离、依赖版本控制和开发调试技巧,帮助开发者快速搭建FastAPI项目基础框架。

2026-07-28 22:27:36 368

原创 【Python LLM小说自动化生成实战】5|LLM客户端封装

本文介绍了如何使用Cline构建一个集中管理LLM调用的客户端模块(llm_client.py),该设计实现了LLM调用的集中管理和错误隔离,提高了系统的健壮性和可维护性。

2026-07-28 22:27:18 337

原创 (阿里镜像站服务不可下载)如何下载并安装 Rocky Linux 9.8 服务器版? (同时附赠 VMware 17.5.2 下载网盘,Xshell Xftp稳定下载网址,桌面版Linux创建教程)

本文分享了RockyLinux 9.8服务器版的安装教程及配套工具下载资源。教程详细包含:①RockyLinux 9.8镜像下载路径;②VMware/Xshell/Xftp工具链接;③桌面版安装关键步骤(需勾选GUI组件);④终端启动(Alt+F2输入gnome-terminal)和桌面图标调出方法。适合Linux初学者参考,避免踩坑。

2026-07-27 23:05:06 796

原创 【Python LLM 小说自动化生成实战】4|系统提示词管理

本文介绍了在LLM项目中单独封装提示词模块的重要性。作者通过实践发现大模型输出常不按规范,导致JSON解析失败等问题,因此提出将提示词与业务代码分离的解决方案。文章详细展示了两套核心提示词的设计:大纲生成提示词严格约束JSON格式和字段命名,确保程序可解析;章节扩写提示词则注重文风和剧情连贯性。文中总结了6个典型报错案例,强调通过提示词源头约束比调参更有效。这种模块化设计实现了代码解耦、统一维护和稳定输出,为后续LLM客户端封装奠定了基础。该方案显著提升了AI生成内容的规范性和项目可维护性。

2026-07-25 10:19:04 396

原创 【Python LLM小说自动化生成实战】3|项目.env配置文件设计

上一节我们搭建好了 Pydantic 数据模型,定下了小说数据的规范。现在有一个很现实的问题摆在眼前:DeepSeek 的 API 密钥、模型名称、AI 创作温度这些参数,如果直接硬编码写到 Python 代码里,后患无穷。密钥一旦跟着代码一起上传或者分享出去,账户额度随时可能被别人薅空;后续想调整模型、修改 AI 脑洞大小,还得到处翻代码改动。行业里标准的解决方案就是.env环境变量配置文件,本节我们就来搭建这套统一配置方案。

2026-07-24 21:20:06 522

原创 【Python LLM 小说自动化生成实战】2|搭建Pydantic Schema数据模型

本文介绍了使用Pydantic构建小说自动化生成系统数据模型的方法。主要内容包括:1. 在src/schema.py中创建Novel和Chapter两个核心模型类;2. Chapter模型采用复用设计,通过空字符串默认值和空列表实现大纲阶段与扩写阶段的统一;3. 详细解析了Field配置规则,包括必填项、默认值设置及数值范围限制等关键点;4. 模型设计解决了字段类型校验、数据格式统一等问题,为后续AI输出数据提供了标准化模板。该数据模型是小说生成系统的基础架构,确保各环节数据处理的一致性和可靠性

2026-07-24 20:59:57 532

原创 【Python LLM 小说自动化生成实战】1|开发工具与AI工具环境搭建

本文介绍了AI自动写小说系统的开发过程,分为三部分:1. 项目架构:采用三步流水线设计(规划-写作-导出),分层实现CLI入口、编排生成、提示词管理等模块。2. 开发环境搭建:详细说明使用uv工具初始化Python项目、创建虚拟环境的步骤,包括安装问题解决和验证方法。3. AI工具配置:介绍如何集成DeepSeek大模型API,并推荐使用VSCode的Cline插件进行调试。文章还预告了下期将重点讲解使用Pydantic进行数据建模的内容。

2026-07-23 23:41:55 306

原创 Redis全套实战手册:命令、环境搭建、工具类 + Token / 缓存双案例

本文介绍了Redis的核心知识与应用实践,附完整工具类代码和配置示例,帮助开发者快速落地Redis应用。主要包括:1. 常用命令手册;2. 服务器问题排查方法;3. SpringBoot整合Redis的配置步骤;4. 通用Redis工具类实现。5.附赠 两个典型应用场景:用户Token管理(登录校验)和缓存查询策略(Redis+MySQL双查)。

2026-07-22 19:18:37 203

空空如也

空空如也

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

TA关注的人

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