Web层接口通用鉴权注解实践(基于JDK8)
背景 目前我负责的一个公司内部Java应用,其Web层几乎没有进行水平鉴权,存在着一定的风险,比如A可以看到不属于他的B公司的数据。最近公司进行渗透测试,将这个风险暴露出来,并将修复提上了议程。 由于Web层的接口很多,我希望能用一种较为通用易于接入的方式来完成这个工作。很容易就想到了通过注解方式进 ...
Python 并不慢,是你看不懂:拆解 CPython 虚拟机背后的魔法引擎
1. 引言:你真的了解你的代码吗? 痛点场景: 你写了一行代码 print("Hello World"),按下回车,屏幕上立刻跳出了结果。一切顺滑得像魔法。 但只要面试官问一句:“这行代码在 CPU 里到底发生了什么?.pyc 文件是干嘛的?为什么 Python 有 GIL?” 90% 的开发者会卡 ...
后端生成的URL中含base64参数值,经tomcat重定向后偶发前端无法解密报错
现象 最近定位到一个有意思的bug,后端生成的URL中包含base64参数值后,经过tomcat重定向后,偶发出现前端无法解密的现象。 原因 当出现问题时,经排查发现重定向的Location响应头中把+转成了 英文空格,导致解密失败。 重定向时如果特殊字符未经URLEncode转义,则tomcat会 ...
从 MCP 到 Agent Skills,AI Ready 的 .NET 10 正当时
使用 .NET File-Based Apps 编写高效 Agent Skills 脚本指南 前言 AI 工具生态正在经历一场深刻的变革。从 Anthropic 推出的 Model Context Protocol (MCP) 到最新发布的 Agent Skills,我们见证了 AI 能力扩展方式的 ...
STM32HAL库中断教程以及分装中断工具函数(附下载地址)
文章内容 使用HAL库实现引脚外部中断 封装中断工具函数 快速入门 访问git仓库: Guardian-Elf/Guardian-Elf-Embedded 找到并下载中断工具文件(2个文件:Interrupt.h/.c) 由于我的项目中使用了串口来调试中断函数,所以如果报错就把无关的代码删除 代码示 ...
追踪链路--使用envoy来记录后端pod真实ip
前言 之前使用了iptables、ipvs,在数据包的必经之路(POSTROUTING)上拦截并且记录日志,本文使用一个比较成熟的组件envoy来记录后端pod的真实ip 环境准备 环境准备如同之前 ▶ kubectl get pod -owide NAME READY STATUS RESTART ...
从零实现富文本编辑器#9-编辑器文本结构变更的受控处理
先前我们主要处理了浏览器复杂DOM结构的默认行为,以及兼容IME输入法的各种输入场景,以此需要针对性地处理输入法和浏览器兼容的行为。在这里我们关注于处理文本结构性变更行为的处理,主要是针对行级别的操作、文本拖拽操作等,分别处于文本结构结构以及变更操作扩展。 开源地址: https://github. ...
Spring+MyBatis环境下SqlSession管理机制详解
在生产环境中,我们几乎从不手动管理SqlSession,而是由Spring框架来管理。让我详细解释这套机制。 一、Spring+MyBatis的整合模式 1.1 核心组件:SqlSessionTemplate // Spring管理SqlSession的核心组件 public class SqlSe ...
Lit 架构解析:从 Web Components 到 lit-html 的底层原理
Lit(原名 lit-element + lit-html)并不是一个“对标 React/Vue 的框架”,而是一套围绕 Web Components 的最小化渲染与响应式方案。 它的设计目标非常明确: 用最少的运行时代码,解决组件化与高性能 DOM 更新问题 本文将从架构层面,逐步拆解: Lit ...
Minio开始收费了?别慌,这5种免费的分布式文件系统更香!
前言 最近,不少技术圈的朋友都在讨论一个话题:Minio是不是开始收费了? 这背后其实涉及到一个更深刻的问题——开源许可证的商业化边界。 有些小伙伴在工作中可能已经遇到了这样的困惑:公司法务审查后,认为Minio的AGPLv3许可证在商业产品中使用存在风险,要求寻找替代方案。 今天就给大家推荐5种其 ...
使用 PHP 和 WebSocket 构建实时聊天应用 完整指南
使用 PHP 和 WebSocket 构建实时聊天应用:完整指南 什么是实时聊天,为什么要构建它? 实时通信已经成为现代 Web 应用的核心功能,让用户之间可以即时交互。想想 Slack、Facebook Messenger 或 WhatsApp 这些应用——它们都依赖于实时发送消息的能力,无需刷新 ...
AI 结对编程:如何让 AI 跳出死循环?
问题背景 在一次开发过程中,遇到了一个典型但又颇具迷惑性的渲染问题:Markdown 表格的行分割线在 Xcode 预览中正常显示,但在运行时完全消失。 代码块中的代码内容在 Xcode 预览中正常显示,但在运行时完全消失。 这类问题通常与运行环境差异、渲染上下文或视图修饰符有关。接下来,我记录了自 ...
一文讲清楚图论相关算法
建图函数 List<Integer>[] buildGraph(int numCourses, int[][] prerequisites) { // 图中共有 numCourses 个节点 List<Integer>[] graph = new LinkedList[numCourses]; fo ...
上周热点回顾(12.15-12.21)
热点随笔: · 全面封禁 Cursor!又一家大厂出手了 (程序员鱼皮) · 假如有10亿QQ号如何去重? (苏三说技术) · 【译】初探 Visual Studio 2026 全新的用户体验 (MeteorSeed) · OpenCVSharp:了解几种特征检测 (mingupupup) · 20 ...
架构师必备:后端程序员需要了解的数仓知识
大家好,我是Java烘焙师。后端程序员平时除了接触业务代码、中间件、存储等,也难免会跟数仓有交集。下面结合笔者的经验和思考,从后端程序员的视角看数仓、做个总结,后续再跟数仓/BI argue的时候就不虚了 分成两部分介绍:离线数仓、实时数仓。 离线数仓 离线数仓是最典型的数仓应用场景。后端服务产 ...
企业级多智能体系统(MAS)架构深度研究:C# 与Python生态系统的全面对比与战略评估
1. 摘要 随着生成式人工智能(Generative AI)从单一的对话式“Chatbot”向具备自主规划、工具调用和长期记忆能力的“多智能体系统”(Multi-Agent Systems, MAS)演进,企业级软件架构正面临着前所未有的范式转移。在此背景下,编程语言与开发框架的选择不再仅仅是技术偏 ...
【面试题】数据库事务隔离与传播属性是什么?
数据库事务隔离与MVCC深度剖析 一、事务隔离问题详解 1. 脏读(Dirty Read) 定义:一个事务读取了另一个未提交事务修改的数据。 核心问题:读到了"临时"的、可能被回滚的数据,破坏了数据一致性。 场景示例: -- 事务A(转账操作,但未提交) BEGIN; UPDATE accounts ...
Flink源码阅读:如何生成ExecutionGraph
今天我们一起来了解 Flink 最后一种执行图,ExecutionGraph 的执行过程。 基本概念 在阅读源码之前,我们先来了解一下 ExecutionGraph 中的一些基本概念。 ExecutionJobVertex: ExecutionJobVertex 是 ExecutionGraph 中 ...
用 .NET MAUI 10 + VS Copilot 从 0 开发一个签到 App(四)和 Copilot 一起创建「签到历史页面」
用 .NET MAUI 10 + VS Copilot 从 0 开发一个签到 App(四) 一、本文背景 在前一篇中,我们已经完成了第一个签到页面,并且验证了一件非常重要的事: 在真实 MAUI 工程中,Copilot 已经可以独立生成一个完整、可运行的业务页面。 但一个只能“写数据”的页面显然还不 ...
AgentScope深入分析-LLM&MCP
能力之源:模型、MCP 与工具系统核心解析 请关注公众号【碳硅化合物AI】 摘要 智能体需要与外部世界交互,这离不开模型、工具和 MCP(Model Context Protocol)的支持。AgentScope 通过统一的接口设计,让智能体能够无缝使用不同的模型提供商、执行各种工具函数,以及集成 ...


