商品中心—15.库存分桶扣减的技术文档
大纲 1.库存分桶扣减和扩容时涉及的数据表 2.下单时商品库存扣减 3.库存分桶扣减后异步更新DB 4.取消订单时回退商品库存 5.查询商品库存 6.库存扣减分桶轮询以及随机备用分桶 7.基于Tair中分桶数据实现库存扣减 8.分桶库存扣减完毕后扣减明细异步落库 9.分桶扣减完库存后异步触发回源扩容 ...
23. Java JUC源码分析系列笔记-ReentrantReadWriteLock
目录1. ReentrantReadWriteLock是什么2. 非公平ReentrantReadWriteLock2.1. 是什么2.2. 怎么使用2.3. 源码分析2.3.1. uml2.3.2. 构造方法2.3.3. 读锁加锁2.3.3.1. 使用AQS加共享锁2.3.3.1.1. 使用Syn ...
20250626 - SiloFinance 攻击事件: 恶意输入参数导致借款授权额度盗用
背景信息 SiloFinance 是一个借贷协议,用户可以进行抵押借贷,也可以授权其他用户使用其借贷额度。本次攻击的原因是 LeverageUsingSiloFlashloanWithGeneralSwap 合约没有对输入参数进行检查,使得攻击者可以通过传入构造恶意参数,盗用对该合约进行授权的用户借 ...
MyBatis 动态 SQL 与缓存机制深度解析
在Java持久层技术体系中,**MyBatis**凭借其灵活的SQL映射和强大的动态SQL能力,成为企业级应用开发的首选框架 ...
MeterSphere V2.x 添加数据库驱动
MeterSphere V2.x 添加数据库驱动 背景 在使用 MeterSphere 进行接口测试时,会遇到一些接口场景,需要先查询数据库获取特定数据,再将查询结果作为请求参数传递给后续接口。然而,MeterSphere 默认仅支持 MySQL、Oracle、SQL Server 和 Postgr ...
故障处理:ORA-04031真实案例分享
我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。 本案例来自一位同事的分享,主要现象是在 Oracle 11.2.0.4 的 RAC 环境中 ...
Kamailio SIP+RTP双网卡SBC呼叫流程与媒体处理说明
本文档旨在详细解释基于提供的 kamailio_sbc_dual_nic.cfg 配置文件,在双网卡SBC(Session Border Controller)场景下,Kamailio (5.8.3) 如何与rtpengine协同工作,处理SIP信令以及音频、视频和RTCP媒体流的转发。该方案利用d ...
MySQL索引完全指南:让你的查询速度飞起来
MySQL索引完全指南:让你的查询速度飞起来 还在为数据库查询慢而头疼吗?一个简单的索引就能让你的查询速度提升几十倍甚至上百倍!今天我将用最通俗易懂的方式,带你彻底搞懂MySQL索引的奥秘。从什么是索引,到如何设计高效索引,再到实战优化技巧,让你从数据库小白变成查询优化高手! 一、索引是什么?为什么 ...
Django实战:自定义中间件实现全链路操作日志记录
一、中间件 介绍 在 Django 中,中间件(Middleware)是一组轻量级、底层的插件系统,用于全局地改变 Django 的输入和输出。中间件可以在请求被处理之前和响应返回之前执行代码,从而实现各种功能,例如跨域资源共享(CORS)、用户认证、日志记录等。 激活中间件 若要激活中间件,需要添 ...
22. Java JUC源码分析系列笔记-JDK1.8的ConcurrentHashMap
目录1. 是什么2. 如何使用3. 原理分析3.1. 构造方法3.1.1. Node3.2. put方法【有加锁】3.2.1. 计算key的hash3.2.2. 死循环3.2.3. 第一次进来table为空,所以需要初始化table3.2.3.1. 使用CAS加锁防止多线程同时初始化table3.2 ...
速看!新版SpringAI的2个致命问题
无论是使用最新正式版的 Spring AI,还是最新正式版 Spring AI Alibaba,在实现自定义 MCP 服务器端和客户端的时候,一定要注意这两个问题,不然你会发现你的 MCP 服务器端能启动,但客户端就是连接不上,并且控制台也都是误报信息。 注意事项一 自定义 MCP 服务器端添加依赖 ...
本地搭建一个对嘴AI工具
图片+音频=说话视频 这就是本次需要实现的功能。 一:环境 window10电脑(GPU越大越好,我的是专享8G,有点小了)。 Python 3.11.9。 CUDA Version: 12.9。(驱动支持的最大 CUDA 版本,之前版本太低了,下载个新的安装,升级,重新启动电脑) 二:ComfyU ...
总结下参与以及看到的一些好的业务设计的 pattern
B端C端进行分离: 单场景业务应用表:业务表进行分离 对于B端系统来说,如发钱系统,B端需要存储 订单id、是否发放成功、通知状态等信息,有可能还会有发放失败,审核驳回等无用数据记录,但是对于C端用户界面来说往往比较简单、可能就是需要 用户、时间、金钱等信息,数据量少的时候在一张数据表存储是可以的, ...
Python学习:PocketFlow中的RAG例子
运行效果 例子地址:https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-rag 什么是RAG(用PocketFlow作者通俗的话来理解) 想象RAG就像在AI回答问题之前给了它一个个人的研究图书馆员。以下是这个 ...
AD 提权-委派攻击
本文中的部分图文内容均取自《域渗透攻防指南》,本人仅对感兴趣的内容做了汇总及附注。 导航 0 前言 1 实验环境 2 非约束性委派 3 约束性委派 4 基于资源的委派 5 杂项 0、前言 委派是指将域用户的权限委派给服务账户,使得服务账户能以域用户权限访问域内的其他服务。如下图所示,域用户 xie\ ...
20. Java JUC源码分析系列笔记-CompletableFuture
目录1. 是什么2. Future VS CompletableFutre3. 使用3.1. 运行一个不返回结果的任务3.2. 运行一个返回结果的任务3.3. 线程池3.4. 手动完成任务3.5. 回调3.6. 链式调用3.7. 组合多个CompletableFuture3.8. 异常处理4. 源码 ...
HarmonyOS NEXT仓颉开发语言实现画板案例
大家上午好,今天分享一下仓颉开发语言实现的画板案例。 最近总是有同学说我写ArkTS冒充仓颉,为了自证清白,截图给大家看一下,确实是仓颉文件: 仓颉提供了画布组件Canvas,我们所有的绘制工作都要在画布上进行,所以首先在页面添加一个足够大的画布组件: Canvas(this.context) .b ...
【设计模式】外观模式
外观模式深度解析:复杂系统的统一之门 一、外观模式核心概念 外观模式(Facade Pattern)是一种结构型设计模式,为复杂的子系统提供一个简化的统一接口。它充当系统与客户端之间的中间层,隐藏系统的复杂性,提供更简洁、更易用的操作方式。 核心价值: ✅ 简化复杂系统:提供单一入口点,降低使用门槛 ...
Web前端入门第 72 问:JavaScript DOM 内容操作常用方法和 XSS 注入攻击
当项目的安全团队找上门告诉您,您开发的项目存在 XSS 安全漏洞,作为一个开发人员,就问您慌不慌?? HTML 内容写入的时候,如果稍不注意就会触发隐藏 BOSS 漏洞 XSS。 XSS 漏洞原理就是利用了网站上内容输入的地方,比如说常见的评论提交,老六 通过输入评论的地方,提交一些 包含 JS 代 ...
使用GcExcel .NET将Excel导出为PDF
使用GcExcel .NET将Excel导出为PDF 引言 在企业级应用开发中,经常需要将Excel数据导出为PDF格式以便于共享和打印。GrapeCity Documents for Excel(简称GcExcel)作为一款高性能的.NET Excel组件,提供了强大的PDF导出功能。本文将详细介 ...