跳到主要内容
文章归档

全部文章

57 篇文章

筛选和排序归档文章

文章分类
文章标签
显示 1–24 篇,共 57 篇文章

基于快照的批量处理遗漏问题与CDC架构解法

你的数据真的同步完整了吗? 本文直击数据架构的隐形陷阱——基于快照和自增主键水位线的增量同步在 Read Committed 隔离级别下,如何导致延迟提交的事务(如“订单 1002”案例)被批处理任务永久遗漏。我们将深入分析这一问题的数据库根源,并对比两种根本性解决方案:一是基于业务/应用水位线的增量处理,它通过时间戳或版本号来弥补快照缺陷;二是变更数据捕获 (CDC),它通过读取事务日志,彻底实现零遗漏、近实时的数据同步。通过对比侵入性、数据完整性、成本与实时性,助你选择最可靠的流式数据架构策略。

创建于 更新于 6 分钟阅读
基于快照的批量处理遗漏问题与CDC架构解法

TOCTOU问题

TOCTOU(Time-Of-Check to Time-Of-Use)是一类典型的竞态条件问题,指程序在“检查资源状态”和“实际使用该资源”之间存在时间窗口,状态可能被其他线程或进程悄悄改掉,从而引发逻辑错误或安全漏洞。本文通过 Redisson 分布式锁unlock的实际案例,说明 TOCTOU 在业务代码中的具体表现。

创建于 更新于 3 分钟阅读
TOCTOU问题

Linux errno详解

在Linux编程中,errno 是一个至关重要的全局变量,它用于表示系统调用或库函数执行失败时的具体错误类型。在本篇博客中,我们将深入解析 errno 的工作原理,常见错误码及其含义,并提供示例代码来帮助开发者更好地理解如何处理错误信息。无论是文件操作、网络编程,还是进程管理,正确使用 errno 都能帮助你更快地定位问题,提高程序的健壮性。

创建于 更新于 3 分钟阅读
Linux errno详解

计算机系统中的各种延时

在计算机世界中,单个 CPU 周期的时间是极为短暂的。它以纳秒为单位,我们可以通过将 1 个 CPU 周期的 0.3 纳秒等比例放大至 1 秒,构建一个假想的时间系统,以便更好地理解从 L1 缓存访问到物理系统重启等各种计算机操作的延迟。

创建于 更新于 2 分钟阅读
计算机系统中的各种延时

跨域

很多人只知道“前后端分离会遇到跨域”,却不了解浏览器到底在保护什么。本文从同源策略和 CSRF 风险入手,系统说明 CORS 的设计初衷、请求分类、关键请求头和响应头,并总结服务端直接配置 CORS、NGINX 代理、本地开发代理等常见实践,让你真正理解跨域问题的本质,而不仅仅是“会复制一段配置”。

创建于 更新于 6 分钟阅读
跨域

注册美区Apple账户

记录注册美区 Apple ID 的完整流程:从苹果官网创建账号、选择美国地区、完成邮箱和手机号验证,到在 iPhone 上通过 App Store 激活账户并填写免税州账单地址,方便后续下载美区 App。

创建于 更新于 2 分钟阅读
注册美区Apple账户

知识短板

知识短板会悄然拖慢你的工作效率。最好的识别方法之一,就是观察自己在哪些地方频繁花费大量时间或重复劳动。本文通过讲述如何发现并正视自己的技能盲区,用系统化的方式持续改进、提升工作效率。

创建于 更新于 3 分钟阅读
知识短板

5W2H分析法

一文掌握 5W2H:用 What、Why、Who、Where、When、How、How much 系统拆解问题,追溯根因并制定可执行方案。结合战略决策、项目管理与职业发展三个实战场景,帮助你快速找到可控解法与下一步行动。

创建于 更新于 3 分钟阅读
5W2H分析法

研究论文的常规结构

撰写研究论文不仅是展示科研成果的过程,也是展现研究价值、学术贡献的重要途径。在这篇博客中将详细介绍一篇标准研究论文的常规结构,帮助你梳理写作思路,确保论文结构清晰,逻辑严密,并有效传达研究的价值。

创建于 更新于 2 分钟阅读
研究论文的常规结构

服务器安装和启动RocketMQ4.9.5

这篇博客介绍了如何在服务器上安装和启动 RocketMQ 4.9.5。文章详细描述了 JDK 的安装过程,RocketMQ 4.9.5 的下载和解压步骤,以及如何调整运行环境配置以适应不同内存的服务器。还涵盖了启动 nameserver 和 broker 服务的具体操作,并通过命令行进行简单测试。

创建于 更新于 8 分钟阅读
服务器安装和启动RocketMQ4.9.5

RabbitMQ的使用

本文系统介绍了 RabbitMQ 的基础用法,并深入解析如何通过 Spring Boot 集成实现消息的发送、接收与监听。内容涵盖交换机、队列、绑定关系及消息确认机制等核心概念,旨在帮助开发者高效构建稳定可靠的消息驱动系统。

创建于 更新于 10 分钟阅读
RabbitMQ的使用

socket基本介绍

在这篇博客中,我们将对套接字(Socket)进行基本介绍。套接字是网络编程中的核心概念,它为不同计算机之间的数据交换提供了一种机制。我们将探讨套接字的定义、作用以及常见的套接字类型(如TCP和UDP套接字),并简要介绍如何使用套接字进行网络通信。通过本篇博客,您将对如何使用套接字进行数据传输、如何创建、绑定和监听套接字等基本操作有一个清晰的理解,并为进一步的网络编程打下基础。

创建于 更新于 14 分钟阅读
socket基本介绍

Spring AOP源码之ProxyFactory源码解析

本文从源码角度解析 Spring AOP 中 ProxyFactory 的实现,重点说明其在 JDK 动态代理与 CGLIB 之间的选择逻辑,以及 AopProxy、MethodInterceptor 链的构建与执行流程,帮助理解 Spring AOP 代理创建与方法拦截的内部机制。

创建于 更新于 27 分钟阅读
Spring AOP源码之ProxyFactory源码解析

Spring AOP源码之基本概念介绍

本文从动态代理入手,系统梳理了 Spring AOP 中几个最核心的概念和实现方式:先用 CGLIB / JDK 动态代理说明“代理”究竟改变了什么,再通过 ProxyFactory、Advice、Advisor、Pointcut 等 API 串起 Spring AOP 的底层机制,最后再回到注解驱动的使用方式,帮助读者把「怎么用」和「为什么这样设计」连接起来。

创建于 更新于 18 分钟阅读
Spring AOP源码之基本概念介绍

Parallels安装和设置

本文详细介绍了在macOS M1环境下使用Parallels Desktop安装Ubuntu虚拟机的步骤,包括如何选择合适的镜像、安装过程中的设置、以及如何通过SSH连接Ubuntu虚拟机。还介绍了如何安装Parallels Tools以实现文件共享功能,并提供了常见问题的解决方法和实用参考链接,帮助用户顺利完成虚拟机的安装与配置。

创建于 更新于 6 分钟阅读
Parallels安装和设置

macOS终端terminal配置

在MAC的终端(Terminal)中,不仅可以通过原生的功能完成工作,还可以通过一系列的美化和配置,将其打造成一个既美观又高效的开发工具。本文将从字体选择、Terminal 主题美化到 Zsh 配置优化,为您详细介绍如何一步步提升MAC Terminal的使用体验。

创建于 更新于 4 分钟阅读
macOS终端terminal配置

macOS制作ubuntu安装盘

使用 macOS 终端命令快速制作 Ubuntu 安装 U 盘。本教程涵盖如何查找磁盘、使用 dd 命令写入 ISO 镜像,并安全地弹出设备,适合希望在 mac 上制作 Linux 启动盘的用户。

创建于 更新于 2 分钟阅读
macOS制作ubuntu安装盘

macOS上Java开发环境搭建

在 macOS 上搭建高效的 Java 开发环境:使用 sdkman 安装 JDK 与 Maven,配置 IntelliJ IDEA 常用选项,并推荐一批实用插件(JRebel、Grep Console、Maven Helper 等)和日志配色方案,提升日常开发效率。

创建于 更新于 1 分钟阅读
macOS上Java开发环境搭建

双因子认证-Google Authenticator工作原理

本文深入解析双因子认证(2FA)的原理,并以 Google Authenticator 为例,介绍基于时间的一次性密码(TOTP)是如何生成与验证的。适合开发者、产品设计师及对账号安全机制感兴趣的读者了解其背后的机制与实现逻辑。

创建于 更新于 10 分钟阅读
双因子认证-Google Authenticator工作原理

RabbitMQ的最佳实践

本文深入探讨了在使用 RabbitMQ 时如何保障消息系统的可靠性与稳定性,涵盖了消息不丢失的保障机制、消费者幂等性的实现策略、消息顺序的控制技巧以及数据堆积的应对方法。通过实践经验与配置建议相结合,帮助你构建一个高可用、可控且具备容错能力的消息队列系统。

创建于 更新于 7 分钟阅读
RabbitMQ的最佳实践

RabbitMQ的死信队列和延迟队列

死信队列(DLX)和延迟队列是构建健壮消息系统的关键机制。本文深入讲解了 RabbitMQ 中死信队列的触发场景(如消息过期、拒收、队列满等),以及如何利用插件或 TTL+死信机制实现延迟队列。通过配置示例帮助你掌握在生产环境中正确使用这两类队列,以实现消息重试、延迟处理、异常监控等常见需求。

创建于 更新于 5 分钟阅读
RabbitMQ的死信队列和延迟队列