分布式事务解决方案汇总

2阶段(2PC)提交方案: 实现原理:基于XA规范搞的一套分布式事务的理论,也可以叫做一套规范,或者是协议。 (1)准备阶段(Prepare phase):事务管理器给每个参与者发送prepare消息,每个数据库参与者在本地执行事务,并写本地的Undo/Redo,此时事务没有提交。 (2)提交阶段(

园子周边:Polo 衫效果图预览

「废话少说,放码过来」主题T恤上架之后,考虑到部分园友上班不能穿T恤,我们准备出 polo 衫。 考虑到 polo 衫容不得半点复杂设计,只能采用尽可能简单的设计。「废话少说」改为一句废话没有,去掉「TALK IS CHEAP」,连「放码过来」也成为废话,去掉「Show me the code.」,

30 岁的程序员,要有 "归零" 心态

大家好,我是码农先森。 古话说的 "三十而立",正是担重之时,却大部分人在职场中都处于不上不下的尴尬境地。已经没有刚毕业时那股子冲劲,被生活和工作磨平了棱角。 在技术思想方面,似乎已经触及到了天花板,但是对大多数的底层技术又似懂非懂。 在沟通社交方面,又习惯沉浸于自己的代码世界中,戴上耳机好像这个世

golang sync.Map 与使用普通的 map 的区别

使用sync.Map与普通的Go map主要有以下几点区别: 1. 并发安全性 普通map: 在没有外部同步的情况下,不是并发安全的。在多goroutine访问时,如果没有适当的锁或其他同步机制保护,可能会导致数据竞争和未定义行为。 sync.Map: 是并发安全的。它内部实现了必要的同步机制,允许

XML实体注入漏洞

漏洞等级:高危 漏洞类型:XML实体注入漏洞描述:XXE漏洞全称XML Extemal Endy niecionlxm以外部实体注入漏洞,X在漏洞发生在应用程序经析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站、发起d0s攻击等危害。

LangChain让LLM带上记忆

最近两年,我们见识了“百模大战”,领略到了大型语言模型(LLM)的风采,但它们也存在一个显著的缺陷:没有记忆。在对话中,无法记住上下文的 LLM 常常会让用户感到困扰。本文探讨如何利用 LangChain,快速为 LLM 添加记忆能力,提升对话体验。

网络诊断工具traceroute的使用

在 Linux 系统中,traceroute 是一个网络诊断工具,用于确定数据包从你的计算机到目标主机(如一个网站或远程服务器)所经过的路由路径。 如果你的系统中没有安装 traceroute,你可以通过包管理器来安装它。 Debian/Ubuntu 及其衍生版 sudo apt-get updat

老生常谈!程序员为什么要阅读源代码?

大家好,我是码农先森。 阅读源码这是一个老生常谈的话题了,但又是很多人想做又没有付出行动的事情。前段时间我研究了 Swoole 的源代码,并且输出了系列的源码分析文章「感兴趣的朋友可以翻阅以前的文章」。虽然这个过程很枯燥和艰难,但到最后有种苦尽甘来的感觉,因为突破了自己之前一直想做又不敢做的一件事情

【二分答案】P2390 地标访问

\(\color{black}\text{P2390 地标访问 (传送门)}\) 学过区间 DP 的,看到这题的第一反应都是:访问的地标一定是一个区间,并且在不断扩大,区间 DP!可看到数据范围,又瞬间放弃了。与 P1220 关路灯 不同,这题由于没有电量的消耗等额外因素,有这样一个小性质: 贝西的

monaco-editor 实现SQL编辑器

原文链接:https://www.yuque.com/sxd_panda/antv/editor 安装 yarn add monaco-editor 或 npm install monaco-editor 配置 看网上的教程需要添加vite配置,但是我的项目没有对vite进行配置,打包出来的也是可以

内存优化:Boxing

dotMemory 如今,许多开发人员都熟悉性能分析的工作流程:在分析器下运行应用程序,测量方法的执行时间,识别占用时间较多的方法,并致力于优化它们。然而,这种情况并没有涵盖到一个重要的性能指标:应用程序多次GC所分配的时间。当然,你可以评估GC所需的总时间,但是它从哪里来,如何减少呢? “普通”性

C# .NET 6 使用WorkFlow Core 创建工作审批流

1,背景 工作流思想在上世纪60年代就有人提出过;70年代就有人开始尝试,但是由于当时许多的限制,工作流一直没有成功的被实现;80年代才出现第一批成功的工作流系统;90年代工作流技术走向了第一个发展高峰期;90年代后至今工作流出现了很多版本,但是主旨还是不变的,为了使我们的工作变得更加高效。 通俗点

「C++」论高精度

大家好,我是Charzie。在编程领域,高精度计算是一个常见的问题。当标准的整型或浮点型无法满足我们的计算需求时,高精度计算就显得尤为重要。在C++中,虽然标准库没有直接提供高精度数据类型,但我们可以通过一些技巧和工具类来实现高精度计算。 为什么需要高精度? 在编程中,我们经常会遇到一些大数计算的问

前端怎么解决跨域问题

前端跨域问题的解决方案通常涉及几种不同的方法,每种方法都有其特定的应用场景和优缺点。以下是一些常见的前端跨域解决方案: JSONP(JSON with Padding) 原理:利用

Kafka--Rebalance重平衡

Rebalance总览 Rebalance触发条件 (1)消费组成员发生变更,有新消费者加入或者离开,或者有消费者崩溃 (2)消费者组订阅的主题数量发生变更 (3)消费组订阅主题的分区数发生变更 避免不必要的Rebalance 针对(1)中消费者崩溃问题,有时候是Consumer没有在配置的制定时间

一文了解JVM(中)

HotSpot 虚拟机对象探秘 对象的创建 Header 解释 使用 new 关键字 调用了构造函数 使用 Class 的 newInstance 方法 调用了构造函数 使用 Constructor 类的newInstance 方法 调用了构造函数 使用 clone 方法 没有调用构造函数 使用反序

java检测当前CPU负载状态的方法

1.java检测当前CPU负载状态 在Java中,直接检测CPU负载状态并不像在操作系统命令行中那样简单,因为Java标准库并没有直接提供这样的功能。但是,我们可以通过几种方法间接地获取CPU负载信息: (1)使用操作系统命令:我们可以通过执行特定的系统命令(如top、mpstat、uptime等)

算法金 | Python 中有没有所谓的 main 函数?为什么?

​大侠幸会,在下全网同名[算法金] 0 基础转 AI 上岸,多个算法赛 Top [日更万日,让更多人享受智能乐趣] 定义和背景 在讨论Python为何没有像C或Java那样的明确的main函数之前,让我们先理解一下什么是main函数以及它在其他编程语言中的作用。 在C和C++等语言中,main函数是

Vue3简单项目流程分享——工作室主页

Vue3简单项目流程分享——工作室主页 零、写在最前 以下是项目相关的一些链接: 源代码GitHub仓库(需要魔法上网):仓库 网页示例(需要魔法上网):网页示例 UI图(来源@设计师杨贺):MasterGo主页 补充:由于时间关系,该网页没有适配手机端,最佳展示效果为网页端1440p宽度。 如果你

java中判断String类型为空和null的方法

1.判断一个String类型的变量是否为空(即长度为0)或者为null 在Java中,判断一个String类型的变量是否为空(即长度为0)或者为null,通常需要使用两个条件语句来进行检查。这是因为null表示变量没有引用任何对象,而空字符串("")表示变量引用了一个没有内容的字符串对象。 下面是一