踩坑记录:UTF-8、UTF-8-BOM 与 GB2312 读取的乱码真相

博主头像 在日常开发中,编码乱码是一个高频且容易让人困惑的问题,尤其是涉及 UTF-8、UTF-8-BOM 与 GB2312 这几种编码格式时,很容易出现“看似不合理”的现象。最近我就遇到了一个典型场景:脚本文件最初用 UTF-8 编码,程序中指定 GB2312 读取时显示乱码;但将脚本改为 UTF-8-BO ...

我把市面上 UI 自动化 Skill 全踩坑一遍后,自己写了个真正能用的

博主头像 用过市面上几乎所有 UI 自动化 Skill,我只说一句大实话:一个能打的都没有。 有的顶着超高热度,吹得天花乱坠,实际用起来各种报错、乱触发、逻辑跑偏;有的流程繁琐到崩溃,要配 JSON、打快照、填一堆参数,还没开始干活心态先崩了。折腾一圈下来,我只有一个感觉:就没有一个简单、干净、稳定的。 既然 ...

存储器类型汇总

博主头像 在信息时代,存储器已成为人们再熟悉不过的基础硬件之一。顾名思义,存储器的主要作用是存储数据,但不同类型的存储器在性能特点和应用场景上存在显著差异。本文对常见的存储器类型进行归纳总结,并简要介绍各类存储器的特性及其适用场景。 总体来看,存储器可分为两大类:易失性存储器和非易失性存储器。前者具有读写速度 ...

PortSwigger SQL注入LAB3

博主头像 PortSwigger SQL注入实验(三)通过SQL注入查询Oracle数据库类型和版本 本实验来自 PortSwigger Web Security Academy,是 SQL 注入系列的第三个进阶实验。目标为:利用 UNION 攻击获取数据库类型与版本信息,并在页面中回显版本字符串。 通过该实 ...

ElasticSearch中的索引模板详解

博主头像 概述 索引模板(Index Template)是Elasticsearch中预先定义的一组配置,在创建新索引时自动应用匹配规则的配置,无需每次手动指定。它可以帮助你统一管理索引的设置(settings)、映射(mappings)和别名(aliases)。 其核心作用如下: 标准化配置:统一同一类索引 ...

分布式架构下配额设计:JuiceFS 的实现与典型案例

博主头像 在分布式存储环境中,存储资源通常由多个用户、项目和业务共享使用。如果缺乏有效的约束机制,单一主体的异常写入或误操作,可能迅速消耗大量空间或 inode,进而影响系统稳定性与成本控制。配额管理正是为共享环境建立可预测资源边界的重要手段。 但在分布式系统中,配额管理并不只是“设置上限”这么简单。系统需要 ...

设计圈真的要变天了:ChatGPT Image 2 不只是会生图了

博主头像 前言 这两天,我连续测了几轮 ChatGPT Image 2,越测越有一种很强烈的感觉:设计圈真的要变天了。 很多人还把这次更新理解成“AI 生图又更强了”“画得更好看了”“风格更多了”。但我测完之后的判断是,这次真正可怕的,不是它更会“画图”了,而是它开始从一个灵感工具,变成一个越来越像“交付工具 ...

多租户系统框架的界面分析设计

博主头像 在一个多租户系统下,包含有平台超级管理员、以及租户管理员,其他自定义租户角色等不同的角色身份,我们根据它们不同的身份,让他们各司其职,在系统中构建不同的数据维护、防护层级,从而能够让整个系统有效的运作起来,而不会造成破坏。 平台的超级管理员不参与具体业务的数据管理,只负责平台级别的基础数据维护,包括... ...

SpringAI入门指南

博主头像 前言 从2025年Spring AI 1.0 GA正式发布,到如今2026年全面拥抱Agent工程,Spring AI已成为Java开发者构建企业级AI应用的首选框架。 不管你是想给现有系统加上AI能力,还是从零开始搭建RAG知识库,Spring AI都值得你认真了解。 今天这篇文章就专门跟大家一起 ...

Python批量图片拼接脚本:支持行列布局、最后一行居中、自然排序

博主头像 Python批量图片拼接脚本:支持行列布局、最后一行居中、自然排序 平时写论文、做报告或者整理素材时,经常需要把多张图片拼成一张大图。试过不少在线工具和本地软件,要么是没法批量处理,要么是最后一行图片没填满时就左对齐,空出一大块特别丑。 索性自己写了个Python脚本,用Pillow库实现,核心解决 ...

使用 Java 提取 HTML 文件中的纯文本内容

博主头像 在 Java 数据处理、文本清洗、内容解析等开发场景中,从 HTML 文件中剔除标签、样式、脚本等冗余格式,提取核心纯文本是高频需求。实现该需求的技术方案较多,本文将分享一种轻量、简洁的实现方式:使用 Free Spire.Doc for Java 库完成 HTML 纯文本提取,为开发者提供直接可复 ...

AI开发-python-LangGraph框架(3-31-LangGraph 「合并式状态管理」的原理与实践)

博主头像 LangGraph 实战:并行结果安全合并与合并式状态管理深度解析 在多智能体协作、并行任务处理的场景中,结果覆盖、数据冲突、状态混乱是最常见的痛点。当多个并行节点同时修改状态时,如何保证数据安全聚合、不丢失、不覆盖?LangGraph 提供的合并式状态(Annotated 自定义合并函数) 完美解 ...

keycloak~实现OAuth 2.0 Token Exchange

博主头像 https://datatracker.ietf.org/doc/html/rfc8693 https://www.keycloak.org/securing-apps/token-exchange Keycloak 的令牌交换功能如下: 在同一个领域中,客户端可以将为特定客户端创建的现有 Keyc ...

本体论的启示:从零开始,如何让AI“学会”使用计算器

博主头像 当AI只懂数字和加减,却不懂运算顺序时,我们如何让它理解计算器的运作逻辑? 核心问题:AI需要的不只是指令,而是理解 想象你第一次使用一个陌生计算器。你知道数字和加减乘除是什么意思,但你不确定这台计算器是否遵守“先乘除后加减”的规则,也不知道按等号后会发生什么。你会怎么做?大多数人会尝试几个简单式子 ...

Tomcat组件管理源码详解

博主头像 生命周期管理:LifeCycle 我从以下几方面,帮助你构建基于上下文的知识体系和理解为什么要理解组件的生命周期管理(LifeCycle) Server及其它组件 Server后续组件生命周期及初始化 Server的依赖结构 LifeCycle接口 理解Lifecycle主要有两点:第一是三类接口方 ...

123···100>