<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>灵感空间站</title><description>在深空中探寻灵感的火花</description><link>https://blog.brookezb.com/</link><language>zh-CN</language><item><title>网络攻防无处不在：我的RustDesk服务竟成了DDoS的一环</title><link>https://blog.brookezb.com/posts/rustdesk-ddos-incident/</link><guid isPermaLink="true">https://blog.brookezb.com/posts/rustdesk-ddos-incident/</guid><description>作者发现云服务器因RustDesk服务被用于UDP反射放大攻击，导致公网流量欠费。经分析，攻击者向RustDesk的21116端口发送伪造PunchHoleSent消息，诱导服务端向目标发送PunchHoleResponse包，造成DDoS攻击。作者通过限制入口IP和出口速率缓解问题，并强调监控告警和账户余额管理的重要性。</description><pubDate>Sun, 05 Jul 2026 04:45:00 GMT</pubDate></item><item><title>从中台兴衰看能力复用：我司实践过程中的一些思考</title><link>https://blog.brookezb.com/posts/platform-capability-reuse-reflections/</link><guid isPermaLink="true">https://blog.brookezb.com/posts/platform-capability-reuse-reflections/</guid><description>中台的核心是能力复用，避免烟囱式系统架构。实践中，中台应边界清晰、模型稳定，避免过早抽象或过度贴近业务。复杂的可变能力适合做组件，而非强中心化服务。成功的复用在于平衡平台稳定性与业务灵活性。</description><pubDate>Sat, 23 May 2026 10:35:00 GMT</pubDate></item><item><title>记一次基于Github Actions+Docker Compose的CI／CD改造</title><link>https://blog.brookezb.com/posts/github-actions-docker-compose-cicd/</link><guid isPermaLink="true">https://blog.brookezb.com/posts/github-actions-docker-compose-cicd/</guid><description>本文介绍了作者为个人博客后端项目搭建CI/CD自动化部署流程的实践。通过GitHub Actions实现代码推送后自动构建Docker镜像并推送到GHCR，再结合GitHub Webhook和服务器上的Webhook服务触发自动拉取镜像和重新部署。文章详细阐述了技术选型、架构设计、Dockerfile优化、工作流配置以及遇到的时区和健康检查等问题的解决方案，实现了从代码提交到服务更新的全自动化。</description><pubDate>Sun, 07 Dec 2025 16:56:00 GMT</pubDate></item><item><title>从字符串拼接的底层原理一窥invokedynamic设计哲学</title><link>https://blog.brookezb.com/posts/string-concatenation-invokedynamic/</link><guid isPermaLink="true">https://blog.brookezb.com/posts/string-concatenation-invokedynamic/</guid><description>JDK 9+优化字符串拼接，通过invokedynamic指令调用StringConcatFactory，避免StringBuilder的扩容和编码转换开销，提升性能。新策略预计算长度和编码，一次性分配字节数组，减少复制，支持无缝升级优化。</description><pubDate>Sun, 12 Oct 2025 17:33:00 GMT</pubDate></item><item><title>从Lambda底层实现一窥invokedynamic魅力</title><link>https://blog.brookezb.com/posts/lambda-invokedynamic-internals/</link><guid isPermaLink="true">https://blog.brookezb.com/posts/lambda-invokedynamic-internals/</guid><description>Java 8引入Lambda表达式替代匿名内部类，底层通过invokedynamic指令动态生成实现类。Lambda捕获变量时生成带参构造方法，无状态Lambda优化为单例。序列化通过SerializedLambda实现，反序列化时重建Lambda实例。性能测试显示Lambda调用效率接近原生代码。应用场景包括动态Getter/Setter、ORM框架方法引用解析等。invokedynamic还支撑了字符串拼接优化、switch模式匹配等特性。</description><pubDate>Fri, 08 Aug 2025 16:31:00 GMT</pubDate></item><item><title>从游戏中学算法——鸣潮溢彩画解答算法探索</title><link>https://blog.brookezb.com/posts/wuthering-waves-color-painting-solver/</link><guid isPermaLink="true">https://blog.brookezb.com/posts/wuthering-waves-color-painting-solver/</guid><description>文章介绍了鸣潮2.2版本中溢彩画谜题的算法解法。通过将游戏问题转化为图论问题，采用DFS/BFS算法，并逐步优化：合并同色区域、减少无效操作、启发式搜索（A*算法）等策略，最终实现了高效解题。算法能在短时间内解决游戏中最难的关卡，并输出详细解题步骤。</description><pubDate>Sun, 06 Apr 2025 04:53:00 GMT</pubDate></item><item><title>Rust开发Wasm初试，以及Wasm数据段加密的探索</title><link>https://blog.brookezb.com/posts/rust-wasm-data-section-encryption/</link><guid isPermaLink="true">https://blog.brookezb.com/posts/rust-wasm-data-section-encryption/</guid><description>本文介绍了使用Rust和WebAssembly进行前端代码逻辑保护的实践。作者选择Rust开发Wasm项目，通过wasm-pack等工具构建，并演示了字符串处理函数。针对Wasm逆向中数据段暴露敏感信息的问题，提出了编译期常量加密和依赖路径脱敏两种方案，使用过程宏和Python脚本实现，提升了代码安全性。</description><pubDate>Fri, 07 Feb 2025 08:30:00 GMT</pubDate></item><item><title>Spring表达式（SpEL）一探究竟</title><link>https://blog.brookezb.com/posts/spel-internals/</link><guid isPermaLink="true">https://blog.brookezb.com/posts/spel-internals/</guid><description>本文深入探讨了Spring Expression Language (SpEL) 的设计与实现，重点分析了其源码结构、表达式解析与编译模式、计算上下文的功能组件及其实现。文章还通过一个自定义日志注解的示例，展示了如何利用SpEL和AOP简化日志记录代码。最后，介绍了SpringSecurity 6.3中注解参数功能的原理，展示了SpEL在Spring生态中的灵活应用。</description><pubDate>Thu, 08 Aug 2024 05:50:00 GMT</pubDate></item><item><title>一名Minecraft地图创作者的回忆（虚无与黑暗补档）</title><link>https://blog.brookezb.com/posts/minecraft-void-and-darkness-map-memories/</link><guid isPermaLink="true">https://blog.brookezb.com/posts/minecraft-void-and-darkness-map-memories/</guid><description>文章讲述了作者因一张七年前发布的Minecraft地图被重新发现而引发的回忆。地图名为《虚无与黑暗》，是一款1.10版本的PVE地图，包含多个职业和关卡设计，支持多人游戏和难度选择。作者通过Minecraft的命令系统实现了复杂的游戏机制，并分享了地图的下载链接和更新日志。文章还提到Minecraft对作者编程兴趣的启发。</description><pubDate>Wed, 03 Jul 2024 07:00:00 GMT</pubDate></item><item><title>高性能格式化LocalDateTime代码分享</title><link>https://blog.brookezb.com/posts/high-performance-localdatetime-formatter/</link><guid isPermaLink="true">https://blog.brookezb.com/posts/high-performance-localdatetime-formatter/</guid><description>文章讨论了LocalDateTime.parse方法在高频调用时性能较差的问题，原因是其内部包含大量解析和合法性校验逻辑。通过Benchmark测试，发现使用LocalDateTime.of、MethodHandler和反射创建LocalDateTime实例的性能差异显著，其中MethodHandler性能最佳。最终，作者提出并实现了一个自定义的FastDateTimeFormatter，通过预解析时间格式串来提升性能，测试结果显示其解析速度比LocalDateTime.parse快15倍。</description><pubDate>Tue, 02 Jul 2024 08:40:00 GMT</pubDate></item><item><title>美团春招0309笔试复盘以及逆向思维的应用</title><link>https://blog.brookezb.com/posts/meituan-spring-recruitment-0309/</link><guid isPermaLink="true">https://blog.brookezb.com/posts/meituan-spring-recruitment-0309/</guid><description>文章介绍了美团春招笔试中的几道算法题及其解题思路。包括字符串修改、数组求和、矩阵平衡、区间删除和朋友关系查询等题目。每道题都提供了详细的输入输出描述、示例和解题思路，部分题目还附带了Java代码实现。文章强调了逆向思维在解题中的重要性，并通过具体题目展示了如何应用这种思维方式。</description><pubDate>Sat, 09 Mar 2024 15:01:00 GMT</pubDate></item><item><title>Golang重构博客心得和使用感受</title><link>https://blog.brookezb.com/posts/golang-blog-refactoring/</link><guid isPermaLink="true">https://blog.brookezb.com/posts/golang-blog-refactoring/</guid><description>博主使用Golang重构了原本用SpringBoot编写的博客系统，以解决内存占用问题。技术选型包括Gin框架、gorm ORM和ccache缓存。项目改进了JWT认证和CSRF防御，提升了安全性和性能。Golang的简洁语法和高并发支持（如goroutine和defer）使其在开发中表现出色，但也存在错误处理和泛型使用上的不便。总体而言，Golang适合云原生等高性能场景，语言设计简洁高效。</description><pubDate>Wed, 04 Oct 2023 13:20:00 GMT</pubDate></item><item><title>如何绘制一片完美的动态星空</title><link>https://blog.brookezb.com/posts/webgl-dynamic-starfield/</link><guid isPermaLink="true">https://blog.brookezb.com/posts/webgl-dynamic-starfield/</guid><description>文章描述了作者对星空的执念，并通过WebGL技术实现了星空背景的3.0版本。作者从最初的星空壁纸到使用canvas 2D绘制星空，最终选择了WebGL和babylon.js框架来实现高性能的3D星空效果。文章详细介绍了技术选型、迭代过程、着色器编写、星云效果实现以及星星纹理的生成和优化。最终效果通过粒子系统、鼠标移动事件监听、星云环绕和闪耀星点等特性，营造出穿梭星海的视觉效果。</description><pubDate>Fri, 30 Jun 2023 08:49:00 GMT</pubDate></item><item><title>记力扣周赛348中一道有趣的思维题</title><link>https://blog.brookezb.com/posts/leetcode-weekly-contest-348/</link><guid isPermaLink="true">https://blog.brookezb.com/posts/leetcode-weekly-contest-348/</guid><description>作者在力扣周赛中遇到一道有趣的思维题，题目要求对N*N矩阵进行多次查询，每次修改整行或整列的值，最终求矩阵元素和。作者首先尝试模拟法，但因内存限制失败；随后采用状态压缩，但仍超时；最终通过逆向思维，从后往前遍历查询，利用哈希表记录已处理的行列，成功优化至O(M)时间复杂度，解决了问题。</description><pubDate>Sun, 04 Jun 2023 08:40:00 GMT</pubDate></item><item><title>登录与授权之我见</title><link>https://blog.brookezb.com/posts/authentication-and-authorization/</link><guid isPermaLink="true">https://blog.brookezb.com/posts/authentication-and-authorization/</guid><description>文章介绍了统一身份认证（UIM）和单点登录（SSO）的概念及其在企业中的应用。统一认证解决了用户在多系统中重复登录和权限管理的问题，通过身份提供方（IdP）统一管理用户身份和权限。单点登录则允许用户一次登录后访问多个系统，但不涉及权限管理。文章还探讨了SSO和UIM的运行流程，以及它们与微服务场景中登录态传递的相似性。</description><pubDate>Wed, 12 Apr 2023 07:57:00 GMT</pubDate></item><item><title>Quarkus使用感受及对响应式编程和虚拟线程的看法</title><link>https://blog.brookezb.com/posts/quarkus-reactive-programming-virtual-threads/</link><guid isPermaLink="true">https://blog.brookezb.com/posts/quarkus-reactive-programming-virtual-threads/</guid><description>文章介绍了作者使用Quarkus实现后台系统的经验，重点讨论了响应式编程的优缺点及实现中的技术挑战。Quarkus适合云原生和微服务场景，但生态不如Spring丰富。文章详细探讨了数据库响应式CRUD、用户登录态设计、CSRF防护等技术要点，并分享了响应式编程中的常见问题，如CPU密集型任务处理、用户登录态设计、DTO投影和数据库分页查询。最后，作者对比了响应式编程与Project Loom的虚拟线程，认为虚拟线程可能逐渐取代响应式编程。</description><pubDate>Thu, 02 Feb 2023 16:03:00 GMT</pubDate></item><item><title>Springboot基于拦截器的鉴权实现</title><link>https://blog.brookezb.com/posts/interceptor-based-authorization/</link><guid isPermaLink="true">https://blog.brookezb.com/posts/interceptor-based-authorization/</guid><description>文章介绍了如何利用拦截器和自定义注解实现简单的角色鉴权功能。通过创建`RequireAuth`、`RequirePermission`和`PermitAll`三个注解，结合拦截器的`preHandle`方法，实现对API的鉴权控制。拦截器通过反射获取注解信息，进行登录和权限检查，未通过时抛出异常并由全局异常处理器处理。最后将拦截器配置到Spring MVC中，完成鉴权功能。</description><pubDate>Sat, 07 May 2022 05:03:00 GMT</pubDate></item><item><title>SpringBoot登录方案和session失效、信息更新问题</title><link>https://blog.brookezb.com/posts/spring-boot-login-session/</link><guid isPermaLink="true">https://blog.brookezb.com/posts/spring-boot-login-session/</guid><description>本文探讨了单机服务中登录功能的常见问题及解决方案。主要问题包括Session过期和用户信息更新不及时。通过引入Token机制和拦截器，解决了Session过期问题，确保用户关闭浏览器前保持登录状态。对于用户信息更新问题，建议在Session中仅存储用户ID，每次请求时查询最新用户信息，确保状态实时更新。此外，还讨论了X天免登录功能的实现思路。</description><pubDate>Mon, 02 May 2022 16:44:00 GMT</pubDate></item><item><title>黑洞空间站 - 一个简单好看的博客系统</title><link>https://blog.brookezb.com/posts/blackhole-space-blog-system/</link><guid isPermaLink="true">https://blog.brookezb.com/posts/blackhole-space-blog-system/</guid><description>作者的个人博客“黑洞空间站”经过长时间开发后上线，采用Springboot后端和Vue3+TypeScript前端技术栈。项目开源，后端使用Mybatis、PageHelper等，前端依赖Tailwind、GSAP等。博客支持夜间模式，打包体积小，性能良好。后续将分享开发中的问题和解决方案，包括后端安全、缓存、分页等，以及前端图片懒加载、表单验证等功能。</description><pubDate>Sat, 16 Apr 2022 04:00:00 GMT</pubDate></item><item><title>个人博客系统制作正式提上日程</title><link>https://blog.brookezb.com/posts/personal-blog-project-kickoff/</link><guid isPermaLink="true">https://blog.brookezb.com/posts/personal-blog-project-kickoff/</guid><description>作者决定自制一个博客系统，采用Springboot + Vue前后端分离技术。后端需求包括单机应用、文章发布与展示、全文搜索、用户登录与接口鉴权、安全措施及邮件通知功能。前端基于Vue3，计划自编UI框架，支持响应式设计和夜间模式，抛弃JQuery等过时技术。项目代码将开源在GitHub和Gitee上。</description><pubDate>Mon, 06 Sep 2021 02:00:00 GMT</pubDate></item></channel></rss>