# 灯火不休时 > 灯火不休时(dhbxs)的博客站点,记录前端与后端开发的技术笔记、实战经验与学习心得,分享编程日常与个人思考。一名开发者的技术成长之路,持续更新Web开发、代码优化与生活随笔。 ## Content - [Link](https://blog.dhbxs.top/raw/link.md) - [Win10简洁之道](https://blog.dhbxs.top/raw/posts/win10-clean-setup.md): Windows 用户打造纯净高效系统的完整指南,涵盖纯净系统安装、浏览器选择、系统安全设置、常用工具推荐(压缩、搜索、下载、卸载软件)及微软办公套件使用等内容,旨在帮助用户远离流氓软件侵扰,提升系统稳定性和工作效率。 - [利用PyCharm简化搭建深度学习环境(新手排坑)](https://blog.dhbxs.top/raw/posts/pycharm-deep-learning-setup.md): 在Windows 10上使用PyCharm搭建深度学习环境,包括基于Anaconda创建环境、使用清华/阿里镜像安装TensorFlow 2.3.1和Keras 2.4.3、解决DLL加载问题。针对GPU加速,安装CUDA 10.1和cuDNN 7.6并配置环境变量,验证GPU调用,附有常用pip命令速查表。 - [栈与队列的应用](https://blog.dhbxs.top/raw/posts/stack-and-queue.md): 基于顺序栈结构实现的三个算法实验:栈的基本操作实现、判断单链表字符串是否中心对称、以及利用双栈实现算术表达式求值,支持四则运算和括号,验证了栈在数据处理和计算中的重要作用。 - [顺序表的增删改查](https://blog.dhbxs.top/raw/posts/sequential-list-crud.md): 顺序表基本操作的实现,包括初始化、插入、删除、查找、修改等功能,并实现了有序顺序表的元素插入与两个升序顺序表的合并算法。程序采用C语言实现,具备完善的错误处理机制和测试验证,展示了顺序表在数据组织与操作中的实用性和灵活性。 - [CSS多行溢出,兼容性比较好的做法](https://blog.dhbxs.top/raw/posts/css-multiline-overflow.md): 原生css提供的做法在兼容性上做的不太好,FireFox或者Safari支持都不太好,可以换个思路,有另外一种实现方法。用JS去计算文字显示长度,然后再截取计算效果也不好,中英文文字字宽都不相同,同样英文字母的宽度I 和 G的宽度也不一样。可以利用css的float浮动布局,浮动布局有个天然的特性就是文字环绕,附近的文字会自动避开浮动的元素。 - [Hadoop集群搭建(1主2从)](https://blog.dhbxs.top/raw/posts/hadoop-cluster-setup.md): 详细记录了在macOS Big Sur上使用VMware Fusion搭建三节点Hadoop 2.7.7集群的全过程,包括CentOS 7最小化安装、固定IP配置、SSH免密登录、Hadoop核心配置文件修改及集群启动验证,并扩展部署Spark 3.1.1,形成完整大数据环境。 - [NPM包管理工具的幻影依赖问题](https://blog.dhbxs.top/raw/posts/npm-phantom-dependencies.md): 随着前端工程化的不断完善,各种包管理工具和构建工具也越来越多。在Node生态里,绕不开NPM,Yarn,PNPM这些包管理工具,但是项目中一般都是用PNPM包管理工具而不用NPM,有一部分原因就是因为NPM包管理工具容易产生幻影依赖的问题。 - [LangChain4j工具调用中断引发JSON格式报错的问题调查](https://blog.dhbxs.top/raw/posts/langchain4j-tool-call-json-error.md): 本文记录了在使用LangChain4j集成AI服务时遇到的400错误问题排查过程。开发者在测试工具链功能时,因中断AI回复导致会话历史格式错误,引发大模型服务商报错。通过分析错误日志和工具调用流程,最终确定是中断会话导致的历史记录格式问题。文章详细记录了从错误表象到深层原因的分析过程,并附上工具调用流程图帮助理解问题本质。 - [基于CNN深度学习网络的交通标志识别](https://blog.dhbxs.top/raw/posts/cnn-traffic-sign-recognition.md): 基于CNN深度学习的交通标志识别系统,采用TensorFlow/Keras构建卷积神经网络模型,实现高达95%的识别准确率。项目使用Python开发,配备tkinter图形界面,支持图片上传与实时识别。包含完整训练数据集处理、模型训练与评估流程,代码开源,适用于深度学习入门与计算机视觉实践。项目源码托管于GitHub与Gitee。 - [策略模式优化多重判断](https://blog.dhbxs.top/raw/posts/strategy-pattern-refactor.md): 使用策略模式优化多重if-else条件判断。针对b值为空、"0"、"1"时对字符串a的不同匹配规则,通过定义策略接口、实现具体策略类、创建策略工厂,将条件逻辑解耦,使代码结构清晰、易于维护和扩展,有效解决传统多层嵌套判断导致的代码臃肿问题,提升代码质量和可读性。 - [Spring AOP 动态代理机制:从静态代理到 JDK 与 CGLIB 的实现](https://blog.dhbxs.top/raw/posts/spring-aop-dynamic-proxy.md): 用日志和业务逻辑解耦的案例,从静态代理的手动编码痛点出发,逐步演进至JDK动态代理与CGLIB字节码增强,对比两种机制的底层实现差异与适用场景,深入理解Spring AOP底层的实现方式。 - [从零手写一个 Spring Boot Starter:深入理解自动装配原理](https://blog.dhbxs.top/raw/posts/spring-boot-starter-diy.md): 一篇关于如何开发自定义 Spring Boot Starter 的技术教程。文章以开发一个控制台 Banner 输出组件为例,手把手讲解了 Spring Boot 自动装配机制的实现原理和完整开发流程。文章通过实战案例揭示了 MyBatis-Plus 等第三方 Starter 背后的实现原理,帮助开发者理解 Spring Boot 的扩展机制。 - [给国行iPhone用户看的WWDC26](https://blog.dhbxs.top/raw/posts/wwdc26-china-iphone-what-you-get.md): WWDC26 看完了,国行 iPhone 用户又是"环大陆"的一年。Apple Intelligence 依然在路上,节假日闹钟倒是终于来了。iOS 27 性能优化、LiquidGlass 调节、App UI 微调……能用的更新都在这了。 - [重复造轮子之简易RPC框架](https://blog.dhbxs.top/raw/posts/simple-rpc-framework.md): 重复造轮子之实现一个简易的RPC框架,包含服务提供者、消费者、公共模块和RPC核心模块的设计与开发。通过使用Vert.x实现HTTP服务器,JDK序列化处理数据传输,动态代理实现远程调用,实现了类似本地调用的分布式服务通信。 ## Link - [Link](https://blog.dhbxs.top/raw/link.md) ## Memos - [LangChain4j工具调用流式输出](https://blog.dhbxs.top/raw/memos/0a593e0.md): 讲述关于LangChain4j工具调用流式输出的故事,并根据开发日常给出开发。 - [Valkey缓存](https://blog.dhbxs.top/raw/memos/9465625.md): 讲述关于Valkey缓存的故事,并根据开发日常给出开发。 - [docker脚本](https://blog.dhbxs.top/raw/memos/dafc559.md): 讲述关于docker脚本的故事,并根据开发日常给出开发。 - [开始碎碎念](https://blog.dhbxs.top/raw/memos/6b0a01f.md): 讲述关于开始碎碎念的故事,并根据碎碎念给出生活。 - [开始记录开发日常](https://blog.dhbxs.top/raw/memos/55eae76.md): 讲述关于开始记录开发日常的故事,并根据开发日常给出开发。 - [微服务](https://blog.dhbxs.top/raw/memos/af8f05d.md): 讲述关于微服务的故事,并根据开发日常给出开发。 - [此生不换](https://blog.dhbxs.top/raw/memos/d489ca1.md): 讲述关于此生不换的故事,并根据碎碎念给出生活。 - [烟火里的尘埃](https://blog.dhbxs.top/raw/memos/d500017.md): 讲述关于烟火里的尘埃的故事,并根据碎碎念给出杂谈。 - [修改博客为Clarity主题](https://blog.dhbxs.top/raw/memos/eda414e.md): 讲述关于修改博客为Clarity主题的故事,并根据开发日常给出杂谈。