Skip to content
HeZzz

归档

按年份与月份整理的全部文章。

2026 5
April 1
  • 为什么是小龙虾

    为什么 Claude Code 和 Codex 这么强,但是最先在大众的视角里火起来的是小龙虾呢?

March 1
  • LangChain4j

    现在做 Java 项目时,只要和大模型相关,最后基本都会碰到一个问题:到底是自己直接对接 OpenAI、Gemini、Ollama 这些模型接口,还是找一层统一封装把 prompt、对话记忆、工具调用、RAG 这些事情整理起来。 LangChain4j 就是 Java 生态里这类问题的一个常见答案。它的定位很直接,就是给 Java 应用提供一套对接 LLM 的统一方式,把模型调用、工具、记忆、RAG、结构化输出这些常见能力放到同一套开发体验里。对已经在用 Spring Boot 或其他 Java 框架的人来说,这类封装的意义通常不在“能不能调模型”,而在“能不能把这套能力接得像正常业务代码一样”。

February 3
  • Jinja2

    写 Python Web 项目时,如果页面内容里既有固定结构,又有动态数据,那通常就会接触到模板引擎。比如用户列表、文章详情页、后台管理页,这些内容的 HTML 结构大体固定,但里面的数据是运行时才知道的。 Jinja2 就是这类场景里最常见的模板引擎之一。它在 Flask 生态里尤其常见,但并不只服务于 Flask。简单说,它的作用就是把模板和数据组合起来,最后渲染成真正的文本输出,最常见的是 HTML。

  • SkyWalking

    做微服务或者分布式系统时,最容易遇到的一类问题不是“功能有没有写出来”,而是“问题出了以后到底该去哪里看”。接口慢了、某个服务超时了、数据库抖了、链路中间断了,单靠日志一层一层翻,很多时候会很难排查。 这时候就会用到像 SkyWalking 这样的观测平台。它最常见的用途当然是链路追踪,但它实际上不只做 tracing,还把指标、日志、拓扑、性能分析这些内容放到了同一套系统里。

  • SpEL

    写 Spring 的时候,经常会看到一些看起来像小型脚本的写法,比如 #{...}、@Value("#{systemProperties['user.home']}")、@PreAuthorize("hasRole('ADMIN')")。这些东西看起来不像普通 Java 代码,但又确实在项目里经常出现。 这些表达式背后用到的,就是 SpEL。它的全称是 Spring Expression Language,也就是 Spring 表达式语言。简单说,它是 Spring 提供的一套表达式机制,用来在运行时读取数据、调用方法、做条件判断。

2025 17
December 1
November 4
  • 利用 SSH 创建代理隧道

    学校的 VPN 使用了 EasyConnect 这个软件,但是及其难用。不过好消息是我在学校还有一台电脑,更好的消息是 SSH 是可以用来创建代理隧道的。结合起来的效果就是:可以不使用 EasyConnect,但是远程连接到学校内网。以下为具体步骤。

  • 在 Spring Boot 2.x/3.x 开发中,JSON 数组参数校验失效原因及解决方案

    本文将深入分析导致 JSON 数组参数校验失效的原因,并提供几种切实可行的解决方案,帮助开发者在实际项目中正确实现对 JSON 数组参数的校验。

  • What is JSONB in PostgreSQL?

    PostgreSQL 是一个强大的对象关系数据库管理系统,擅长处理结构化和半结构化数据,尤其是在支持 JSONB 方面。JSONB(二进制 JSON)允许高效地存储和查询 JSON 数据,使其成为需要快速访问结构化信息的应用程序的理想选择。 在本文中,我们将详细解释 JSONB,说明如何操作它,并通过实际示例解释 JSONB 在 PostgreSQL 中的重要性。

  • Dubbo 支持的 RPC 通信协议

    Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang 等多语言 SDK 实现。使用 Dubbo 开发的微服务原生具备相互之间的远程地址发现与通信能力, 利用 Dubbo 提供的丰富服务治理特性,可以实现诸如服务发现、负载均衡、流量调度等服务治理诉求。Dubbo 被设计为高度可扩展,用户可以方便的实现流量拦截、选址的各种定制逻辑。 在云原生时代,Dubbo 相继衍生出了 Dubbo3、Proxyless Mesh 等架构与解决方案,在易用性、超大规模微服务实践、云原生基础设施适配、安全性等几大方向上进行了全面升级。

September 1
August 5
  • 星火文脉智承:基于Vue.js和Node.js的中华文化数字内容制作平台

    其实本项目是一个 Vibe Coding 的项目,也就是常说的 AI 立大功环节。虽然实际的项目表现差强人意,但是也展现了 AI 在 Web 开发中的一些应用场景。

  • 策略模式

    策略模式(Strategy Pattern)是一种行为型设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户端。

  • Redisson

    有一个项目采用了 Redisson 作为 Redis 的客户端,利用其分布式锁和其他高级功能来提升系统的性能和可靠性。

  • 布谷鸟过滤器

    在现代数据处理系统中,快速判断元素是否存在是一个常见的需求。Redis作为高性能的内存数据库,提供了多种概率数据结构来解决这类问题,其中Cuckoo Filter(布谷鸟过滤器)以其独特的优势成为了布隆过滤器的有力替代者。

  • JVM

    Java虚拟机(JVM)是Java程序的运行环境,负责将Java字节码转换为机器码并执行。JVM的核心功能包括内存管理、垃圾回收、类加载和执行引擎等。理解JVM的工作原理对于优化Java应用性能和解决内存相关问题至关重要。

July 5
  • SSE 长连接实时监听改造

    有一个项目采用了 SSE 来代替前端的轮询请求,实现实时数据更新和通知。

  • OAuth2.0 认证与授权

    有一个项目采用 OAuth2.0 标准进行认证与授权,JWT(JSON Web Token)作为访问令牌(Access Token)进行用户身份验证和权限控制。

  • JWT 认证与授权

    有一个项目采用了 Spring Security 和 JWT(JSON Web Token)进行用户认证和授权。

  • RBAC

    做后台系统时,权限设计通常都会碰到一个问题:权限到底应该直接分给用户,还是先抽象出一层角色,再由角色去承载权限?大多数中后台项目最后都会走到同一个答案上:RBAC。 RBAC 是 Role-Based Access Control 的缩写,中文通常译为“基于角色的访问控制”。它做的事情并不复杂:权限不直接分配给用户,而是先分配给角色,再由用户拥有一个或多个角色,从而间接获得对应权限。这套模型并不新,但直到今天,它依然是很多业务系统授权设计的基础,因为它比较稳定,也比较容易维护。

  • BCrypt

    把盐存到了哈希字符串内比较松弛,但是每次加的盐都不一样又弥补了这一点。给你一个 matches 方法,这就可以避免你分不清他们是否匹配。

March 1
  • Knife4jAndSpringDoc

    做后端项目时,接口文档这件事基本绕不开。自己手写文档当然可以,但接口一多、参数一变、返回结构一改,文档和代码就很容易对不上。 所以很多 Spring Boot 项目最后都会引入像 SpringDoc 和 Knife4j 这样的工具。前者更偏 OpenAPI 文档生成,后者更偏文档展示和增强。它们经常一起出现,但职责其实并不完全一样。

2024 5
July 1
  • 布隆过滤器

    在处理海量数据时,我们常常面临一个核心问题:**如何高效判断某个数据是否存在于集合中?** 这个问题在缓存穿透、数据去重等场景中尤为常见。布隆过滤器(Bloom Filter)正是为了解决这类问题而设计的一种概率型数据结构。它以极低的空间复杂度和时间复杂度,提供了高效的解决方案,尽管其结果存在一定的误差率。 本文将从布隆过滤器的原理、使用场景到实战实现(包括 Java 手动实现、Guava 库和 Redis 实现)进行全面解析,帮助你快速掌握这一实用工具。

June 1
  • 关于OpenWrt路由器及哆点Drcom校园网WEB自动登录

    最近买了新华三NX30Pro路由器(下文简称"华三"),我的需求就是千兆、能刷OpenWrt进行二次开发,WIFI6这些。而华三满足这些,且价格合适,所以就入手了。这里记录一下路由器的一些配置和使用。 **哆点Drcom校园网**认证系统为**广州热点软件科技股份有限公司**研发,若你的校园网登录界面有**本计费系统由广州热点软件科技股份有限公司提供**字样,那么你可以参考这篇文章。 目前已知使用此系统大学: 中国矿业大学

May 2
  • 转计算机专业相关

    声明 ***我是 2023 级的本科生,即在 2024 年 5 月转专业,现在(2025年秋季)已经大三了,没有过多的时间,所以这篇文章大概是不会更新了。但是大概的转专业流程其实还没有改变,本篇文章仍有参考价值。其他相关信息请同学们及时加群 点击链接加入群聊【CUMT转计算机交流群】:866766652,提问。*** 本博客文章仅代表作者的个人观点和经验,旨在为有意向转专业的学弟学妹提供参考意见。文中的信息和建议仅供参考,并不构成任何法律、学术或专业建议。请在做出任何决定之前,务必自行查证相关信息并考虑个人的具体情况。

  • 关于未来走向

    这里讲一下本站未来的走向和规划

March 1
  • 使用GPT的作文修改流程

    前言 本文为借用大模型进行对作文修改的一些方法。此文所写内容在当今来看可能已经过时,请仅供参考。