接口幂等性解决方案

1.同步锁(单线程,集群可能会失效) 2.分布式锁如redis(实现复杂) 2.业务字段加唯一约束(简单) 3.令牌表+唯一约束(简单推荐) 4.mysql的insert ignore或者on duplicate key update(简单) 5.共享锁+普通索引(简单) 6.利用MQ或者Redis扩展(排队) 7.其他方案如多版本控制MVCC 乐观锁 悲观锁 状态机等。。。 对客户端请求排队或者单线程都可以处理幂等问题,需要根据具体业务选择合适的方案但必须前后端一起做,前端做了可以提升用户体
分类: 其他 发布时间: 07-23 21:41 阅读次数: 0

8年华为测试总监的行业思考,看完后认知更深刻了

混迹于测试行业这么长时间了,一直想写一篇关于软件测试的经验分享的文章,但苦于工作原因迟迟未下笔。最近终于有了些闲余时间,遂决定把自己的心路历程及所感所想记录下来,与各位同行共勉。 软件测试究竟是做什么的呢? 软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。 简而言之就是证明程序的正确性,检察系统是否满足用户需求,发现bug,证明程序有
分类: 其他 发布时间: 07-23 21:41 阅读次数: 0

2020 Multi-University Training Contest 2 [The Oculus]

2020 Multi-University Training Contest 2 The Oculus 题解: 这个题目很简单,就直接枚举就可以了,算法就是哈希。 #include <bits/stdc++.h> #define inf 0x3f3f3f3f using namespace std; typedef long long ll; const int maxn = 2e6+10; const int mod1 = 1e9+7; const int mod2 = 998244353;
分类: 其他 发布时间: 07-23 21:41 阅读次数: 0

Object/Map 何为最佳实践

在解决问题考虑两者的时候就需要考虑两者的区别。 「Map」 是可迭代的,可以直接进行迭代,例如forEach循环或者for...of...循环.Map 保持对长度的跟踪,map.size可获取长度。 当插入顺序是你解决问题时需要考虑的,并且当前需要使用除 String 和 Symbol 以外的键名时,那么 「Map」 就是个最佳解决方案 如果需要遍历键值对(并且需要考虑顺序),那我觉得还是需要优先考虑 「Map」。 Map是一个纯哈希结构,而Object不是(它拥有自己的内部逻辑)。Map 在
分类: 其他 发布时间: 07-23 21:41 阅读次数: 0

正睿NOI2020集训 讲课 Day3

忘记哪里是上午哪里是下午了,就不分了。 下面 \(z\) 一般是真正的变量,\(x\) 可能是变量也有可能是关于 \(z\) 的一个多项式。 生成函数 好像并没有什么好写的…… 为什么这是对的?背就完了 https://rqy.moe/Math/gf_correct/ 但我不可能去看的 多项式基本操作 也没什么好讲的…… 多项式 \(\gcd\) :同样做欧几里得算法即可,用多项式取模优化。 多项式环是一个欧氏环。虽然不知道什么意思 一阶微分方程 \[{dx\over dz}=F(x) \]
分类: 其他 发布时间: 07-23 21:41 阅读次数: 0

并查集 [Total Eclipse]

并查集 Total Eclipse 题解: 官方题解。 自己看完题解的整理: 这个题目明显就是选一个连通块,然后减去这个连通块的最小值,所以变成0的节点要删除,就会分裂成多个连通块。 实现方法就是对b进行排序,从大到小放,每次排序遍历一次这个点 x 的所有的边,对于(x,y) ,如果y在x之前放进去并且y和x没有联通,那么就把x放到y这棵树的根节点的父亲节点,最后答案就是这棵树的儿子节点的b和父亲节点的b的差值,接下来说一下为什么这样是对的。 因为我们首先放进去的是b大的值,这个是最后删去的,
分类: 其他 发布时间: 07-23 21:41 阅读次数: 0

CLI注册局部组件---和---注册全局组件

App.vue注册局部组件 main.js 注册全局组件
分类: 其他 发布时间: 07-23 21:41 阅读次数: 0

Centos7部署Hbase2.1.2

参考文章: https://blog.csdn.net/weixin_33881041/article/details/93728885 https://blog.csdn.net/langkye/article/details/97240948 https://www.cnblogs.com/swordfall/p/8819668.html
分类: 其他 发布时间: 07-23 21:41 阅读次数: 0

c#入门 类型转化

“无论是什么类型,所有的数据都是一系列的位,即一系列0和1。变量的含义是通过解释这些数据的方式来传达的。” 类型转换就是将数据用不同的方式来解释出来 1.隐式转换:从类型A到类型B的转换可以在所有情况下进行,执行转换的规则非常简单,可以让编译器执行转换。 隐式转换不需要单独的表达式,只需要把满足隐式转换条件的两个变量做相应的表达式操作即可,但隐式转换的结果可能并不是自己意料之中的 2.显式转换:从类型A到类型B的转换只能在某些情况下进行,转换规则比较复杂,应进行某种类型的额外处理。 在显示转换
分类: 其他 发布时间: 07-23 21:41 阅读次数: 0

7.23 Java自学

1.完成c语言文件操作,java编程。 2.无。 3.继续复习,编程java程序。
分类: 其他 发布时间: 07-23 21:41 阅读次数: 0

从事自动化测试哪种编程语言更好?当然是python

编程语言众多,从事不同的工作岗位都有一门适合自己的工作语言,而自动化测试作为当下非常热门的领域,从事自动化测试哪种编程语言更好?当然是python,不仅仅只是简单。
分类: 编程语言 发布时间: 07-23 21:31 阅读次数: 0

使用GUI工具Portainer.io管控Docker容器

这里推荐使用 Portainer 作为容器的 GUI 管理方案 官方地址:https://portainer.io/install.html 背景: 5年前容器技术扑面而来,如今已经成为面向云原生开发的基础架构,基于微服务的设计需要部署大量容器,同时强调了友好快速的管理容器。 是时候推荐一个轮子Portainer.io:提供GUI界面的容器管理工具,给开发者的工具箱又增加了一个炫酷又实用的瑞士军刀。 Portainer.io的优势 轻量级 (2,3个命令就可启动,镜像少于30M) 健壮、 友好
分类: 其他 发布时间: 07-23 21:25 阅读次数: 0

[2020HDU多校第二场][HDU 6770][H. Dynamic Convex Hull] [Educational Round 13][Codeforces 678F. Lena and Queries]

赛后3min 1A...自闭_(:з」∠)_ 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6770 题目大意:维护一个由函数\(f_i(x)=(x-a_i)^4+b_i\)组成的集合,要求实现插入、删除、以及查询\(x\):求\(f_i(x)\)的最小值 题解:观察题中给出函数的性质,考虑两个函数\(f_i\)与\(f_j\)在何时会出现大小关系变换的情况。根据初中数学知识,\(f_i(x)\)是由函数\(f(x)=x^4\)平移得到的(左加右
分类: 其他 发布时间: 07-23 21:25 阅读次数: 0

线代习题:矩阵 n次方

思路: 1、求矩阵的特征值,特征向量 2、将矩阵对角化
分类: 其他 发布时间: 07-23 21:25 阅读次数: 0

OpenCV - cartToPolar()

笛卡尔坐标转换为极坐标。 cartToPolar(...) cartToPolar(x, y[, magnitude[, angle[, angleInDegrees]]]) -> magnitude, angle . @brief Calculates the magnitude and angle of 2D vectors. . . The function cv::cartToPolar calculates either the magn
分类: 其他 发布时间: 07-23 21:25 阅读次数: 0

三色树——需要深度思考的树形dp

三色树 给出一个N个节点的无根树,每条边有非负边权,每个节点有三种颜色:黑,白,灰。 一个合法的无根树满足:树中不含有黑色结点或者含有至多一个白色节点。 现在希望你通过割掉几条树边,使得形成的若干树合法,并最小化割去树边权值的和。 第一行一个正整数N,表示树的节点个数。 第二行N个整数Ai,表示i号节点的颜色,0 表示黑色,1表示白色,2表示灰色。 接下来N-1行每行三个整数Xi Yi Zi,表示一条连接Xi和Yi权为Zi的边。 输出一个整数表示其最小代价。 5 0 1 1 1 0 1 2 5
分类: 其他 发布时间: 07-23 21:25 阅读次数: 0

小鱼的航程(改进版)

题目描述 有一只小鱼,它平日每天游泳 250 公里,周末休息(实行双休日),假设从周 x(1≤x≤7)x(1\le x \le 7)x(1≤x≤7) 开始算起,过了 n(n≤106)n(n\le 10^6)n(n≤106) 天以后,小鱼一共累计游泳了多少公里呢? 输入格式 输入两个整数x,n(表示从周x算起,经过n天)。 输出格式 输出一个整数,表示小鱼累计游泳了多少公里。 输入输出样例 输入 #1 3 10 输出 #1 2000 代码如下 #include<iostream> using n
分类: 其他 发布时间: 07-23 21:25 阅读次数: 0

为什么程序员却不是工作经验越久越吃香,?

导读 小编就是一位互联网软件行业的从业者,虽然不是程序员,但是也和程序员的工作有许多的交集。对于这个问题,首先对于大家的普遍认知来说,工作经验越丰富,薪资水平才会更高。 这条经验在程序员最开始的几年的确如此,有个3-5年的工作经验,工资就可以特别高,但是程序员仿佛过了某个年龄段,身价就开始走下坡路了。这条经验有完全不在适应了,这个时候,一旦失业那怕是自降工资水平,能找到工作也着实不易。 是什么原因造成了程序员只能吃青春饭了呢?对于这种想象,小编觉得无外乎一下几点: 第一 程序员是一个经常要加班
分类: 其他 发布时间: 07-23 21:25 阅读次数: 0

计算机网络-针对ip的攻击

网络攻击是指利用计算机网络写协议的设计缺陷来进行攻击,常用协议都存在各种的缺陷,可能会被攻击者利用,下面是针对ip协议的一些攻击方式。 分片IP报文攻击 我们知道,为了传送一个大的IP报文,IP协议栈需要根据链路接口的MTU对该IP报文进行分片,通过填充适当的IP头中的分片指示字段,接收计算机可以很容易的把这些IP分片报文组装起来。 目标计算机在处理这些分片报文的时候,会把先到的分片报文缓存起来,然后一直等待后续的分片报文,这个过程会消耗掉一部分内存,以及一些IP协议栈的数据结构。 如果攻击者
分类: 其他 发布时间: 07-23 21:25 阅读次数: 0

一次数据库性能优化测试,整理最全数据库优化方案,还不快收藏

由于配置是运行过那么长时间,很稳定,基本上不考虑,所以本次主要是sql的优化,并且集中在业务的个人空间。下面是这次优化的数据库版本: 案例一:粉丝查询优化 粉丝查询有2条sql --查询所有粉丝 SELECT user FROM osc_friends f INNER JOIN osc_users u ON u.id=f.user AND f.friend=? AND f.user<>? ORDER BY create_time DESC --查询粉丝数量 SELECT COUNT(frien
分类: 其他 发布时间: 07-23 21:25 阅读次数: 0