哎,被这个叫做at least once的玩意坑麻了。

你好呀,我是歪歪。 前几天遇到一个生产问题,同一个数据在数据库里面被插入了两次,导致后续处理出现了一些问题。 当时我们首先检讨了自己,没有做好幂等校验。甚至还发现了一个低级错误:对应的表,针对订单号,这个业务上具有唯一属性的字段,连唯一索引都没有加。如果加了唯一索引,也不至于出现落库两次的情况。 然

快慢指针技巧

快慢指针技巧 在说快慢指针之前,我们先说一下双指针。 双指针 双指针:使用两个指针来解决问题。 所谓的指针其实就是指数组的下标,或者链表的节点的地址。 我们以数组为例介绍一下。 有两个指针分别存储着数组的两个下标,这就是双指针。 那快慢指针是什么呢? 快慢指针 快慢指针,就是一个指针走得慢,另一个指

17岁中专女生勇夺2024阿里全球数学赛12名好成绩,今天,站在程序员的视角,我们来聊聊数学对编程的价值与意义...

大家好,我是程序员陶朱公,一个认真生活,总想超越自己的程序员。 前言 相信这两天,大家都刷屏到了一个比较热度的新闻——17岁中专女生在今年这届阿里举办的全球数赛中,勇夺第12名的好成绩。 ↓↓↓ 看到这里,可能有小伙伴会觉得有点疑惑:又不是第一名,不明白第12名的她,为什么会引起社会这么大的一个反响

面试官:为什么重写equals方法必须要重新hashCode方法?

网络上解释的很全面但是很枯涩,也有些难懂,其实就是为了保证当该对象作为key时哈希表的检索效率。如HashMap的get方法是分两步获取的 第一步通过key的哈希值找到对应的哈希桶 第二步通过equals方法来判断是否为同一个key(因为可能出现哈希冲突) 假设一个Student类有三个属性:学号、

正则表达式

正则表达式 import re 限定符(quantifier) a* a出现0次或者多次 a+ a出现1次或者多次 a? a出现0次或者一次 a{6} a出现6次 a{2,6} a出现2-6次 a{2,} a出现两次以上 或运算符(OR Operator) (a|b) 匹配 (ab)|(cd) 匹配

一文带你搞清楚Python的多线程和多进程

本文分享自华为云社区《Python中的多线程与多进程编程大全【python指南】》,作者:柠檬味拥抱。 Python作为一种高级编程语言,提供了多种并发编程的方式,其中多线程与多进程是最常见的两种方式之一。在本文中,我们将探讨Python中多线程与多进程的概念、区别以及如何使用线程池与进程池来提高并

Java第二次Blog

7-4~6题目集 前言 这些题目主要用到对象与类的处理继承与多态的使用: 继承和多态是面向对象编程中相互关联的两个概念。继承为多态提供了基础,而多态则通过继承实现了代码的灵活性和可扩展性。 1.字符串处理:需要对输入的题目信息和答题信息进行字符串分割、提取和处理,以获取题目编号、题目内容、标准答案和

09_分割等和子集

416. 分割等和子集 题目难易:中等 给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 注意: 每个数组中的元素不会超过 100 数组的大小不会超过 200 示例 1: 输入: [1, 5, 11, 5] 输出: true 解释: 数组可以分割成 [1,

【接口测试】Fiddler修改请求参数详解

1.启动Fiddler 打开Fiddler应用程序,它会自动开始捕获HTTP/HTTPS流量。确保Fiddler的捕获功能已启用(通常默认就是启用的)。 2.设置断点 在Fiddler中,有两种方式可以设置断点:自动断点和手动断点。 1.自动断点: 通过菜单栏选择“Rules” > “Automat

国产大语言模型ChatGLM3本地搭建、使用和功能扩展

1、官网 ChatGLM3 2、下载ChatGLM3源码 直接在https://github.com/THUDM/ChatGLM3,下载源码 3、下载模型 如果显卡8G一下建议下载ChatGLM3-6B,ModelScope是国内的,下载比较快 用下面两种方式都可以下载 使用git在MadelSco

Advanced .Net Debugging 9:平台互用性

一、介绍 这是我的《Advanced .Net Debugging》这个系列的第九篇文章。这篇文章的内容是原书的第二部分的【调试实战】的第七章【互用性】。互用性包含两个方面,第一个方面就是托管代码调用 COM,此情况叫做 COM 互用性(也叫做 COM Interop);第二个方面就是托管代码调用从

很多人讲不明白HTTPS,但是我能

很多人讲不明白HTTPS,但是我能 今天我们用问答的形式,来彻底弄明白HTTPS的过程 下面的问题都是 小明和小丽两个人通信为例 可以把小明想象成服务端,小丽想象成客户端 1. https是做什么用的? 答:数据安全传输用的。 2. 数据如何安全的传输? 答:把数据加密以后,再发送。 3. 用哪种加

如何在Spring Boot中配置MySQL数据库连接数

1.如何在Spring Boot中配置MySQL数据库的连接数 1.1主要配置 在Spring Boot中配置MySQL数据库连接数通常涉及到两个主要的配置: (1)数据源配置:这通常是在application.properties或application.yml文件中完成的,用于设置数据源的基本参

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

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

入侵检测系统综述文献研读

什么是入侵检测系统? 入侵检测就是从大量行为中找出异常部分,如果将其转化为深度学习知识,就是构建一个二分类器来识别异常和正常两种类别,但是因为网络入侵检测还需要相应的类别,因此二分类器不可以满足,所以要扩展到多分类器。 入侵检测系统的分类 现在有关入侵检测系统主要研究基于网络的入侵检测或基于异常的入

不借助三方平台自主搭建量化回测系统 ——以海龟交易策略为例

更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流。 三方平台与自主系统的优劣势对比 在编写量化策略回测时,可以选择使用三方平台(第三方量化平台)或自主平台(自己编写代码)两种方式。它们各自有一些优劣势,下面是它们的对比: 三方平台: 优势: 简单易用: 大

dubbo~javax.validation和jakarta.validation的介绍与排雷

javax.validation和jakarta.validation都是用于Java中进行数据验证(validation)的相关API,它们提供了一套标准的验证框架,用于验证Java对象的属性是否符合指定的约束条件。这两个API的作用类似,只是在Java EE平台的演进过程中发生了一些变化。 ja

AI 画图真刺激,手把手教你如何用 ComfyUI 来画出刺激的图

目前 AI 绘画领域的产品非常多,比如 Midjourney、Dalle3、Stability AI 等等,这些产品大体上可以分为两类: 模型与产品深度融合:比如 Midjourney、Dalle3 等等。 模型与产品分离:比如 SD Web UI、ComfyUI 等等。 对于绝大多数普通用户而言,

springboot~封装依赖引用包jar还是pom,哪种更规范

将多个第三方包封装成一个项目后,如果你的目的是让其他开发人员可以直接引用这些依赖,一般来说有两种常见的方式: 打成JAR包:将封装好的项目编译打包成JAR文件,其他开发人员可以将这个JAR文件添加到他们的项目中,并在项目的构建工具(比如Maven)中配置该JAR作为依赖。这样做的好处是简单直接,其他

授权调用: 介绍 Transformers 智能体 2.0

简要概述 我们推出了 Transformers 智能体 2.0! ⇒ 在现有智能体类型的基础上,我们新增了两种能够 根据历史观察解决复杂任务的智能体。 ⇒ 我们致力于让代码 清晰、模块化,并确保最终提示和工具等通用属性透明化。 ⇒ 我们加入了 分享功能,以促进社区智能体的发展。 ⇒