avatar
文章
31
标签
24
分类
9
主页
归档
目录
标签
Logo冰红茶怪兽
搜索
主页
归档
目录
标签

冰红茶怪兽

Spock测试工具
发表于2025-03-03|测试
你所熟知的单元测试工具有什么呢? JUnit? JMock? 还是 Mockito? 相较于以上的传统单元测试框架,Spock 是一个更加优雅的测试框架,在开发效率、可读性和维护性方面都有很大的提升。 Spock 结合了 Groovy动态语言的特点,提供了各种各样的标签,如 given, when, then, expect, where 等,并且采用简单、通用的结构化的描述语言,使得测试用例更加易读、高效。 对于分布式微服务架构,服务与服务之间的依赖关系错综复杂。即使是在同一个服务内也会耦合多个模块,业务功能的结果需要依赖于其他模块的数据。所以,如果我们想要测试自己的代码时,就需要将其他模块进行mock,这样才可以验证我们的代码是否正确是否符合逻辑结果的预期。 由于JUnit单纯用于测试,并不提供Mock功能,以及JMock、Mockito等框架的Mock功能相对繁琐。Spock通过提供规范性的描述,定义多种标签等,从语义层面规范了代码的编写。 让我们来试试Spock吧! 导入Spock依赖 12345<dependency> ...
分库分表
发表于2025-03-03|数据库
...
Hello World
发表于2025-03-03
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post1$ hexo new "My New Post" More info: Writing Run server1$ hexo server More info: Server Generate static files1$ hexo generate More info: Generating Deploy to remote sites1$ hexo deploy More info: Deployment
线段树
发表于2024-03-09|算法
...
前缀树/字典树
发表于2024-03-09|算法
前缀树/字典树前缀树又称为字典树,英文名trie:每个样本都从头节点开始,根据前缀字符或者前缀数字,建出来的一颗大树,就是前缀树。 前缀树的实现有pass、end信息的节点,pass表示有多少个样本通过这个节点,end表示有多少个样本在这个节点结束。字符是路径/边,节点是维护pass、end信息。 类描述的实现方式(动态结构) 数组 [节点, …, 节点] 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778public class Trie { class TrieNode { public int pass; public int end; public TrieNode[] nexts; public TrieNode()...
离线双指针和在线二分
发表于2024-03-09|算法
每一个查询的最大美丽值给你一个二维整数数组items,其中items[i] = [pricei, beautyi]分别表示每一个物品的 价格 和 美丽值 。同时给你一个下标从0开始的整数数组queries。对于每个查询queries[j],你想求出价格小于等于queries[j]的物品中,最大的美丽值是多少。如果不存在符合条件的物品,那么查询的结果为0。请你返回一个长度与queries相同的数组answer,其中answer[j]是第j个查询的答案。 离线算法 + 双指针离线算法:将queries进行排序,通过改变回答询问的顺序,使得我们可以结合双指针来解决问题。如果queries已经从小到大排好序了,那么就很好求解,使用双指针即可。但是queries是乱序的,返回值需要按照queries的顺序返回,我们可以额外创建一个数组idx,记录queries的下标,然后对idx按照queries[idx]的值进行从小到大的排序,遍历idx数组即可。 12345678910111213141516def maximumBeauty(self, items:...
回溯
发表于2024-03-07|算法
回溯leetcode 2597. 美丽子集的数目给你一个由正整数组成的数组nums,和一个正整数k。如果nums中子集中,任意两个整数的绝对差均不等于k,则认为该子数组是一个美丽子集。返回数组nums中非空且美丽的子集数目。nums的子集定义为:可以经由nums删除某些元素(也可能不删除)得到的一个数组。只有在删除元素时选择的索引不同的情况下,两个子集才会被视作是不同的子集。 思路: 由于题目要求子集中任意两个整数的绝对差均不等于k,我们可以使用回溯算法来枚举所有的子集,然后判断是否满足条件。每个元素都是选或不选,如果不选则继续往前,如果选该元素,则需要判断是否有元素与该元素构成绝对差等于k,如果有,则不能选,反之,则可以选 123456789101112131415161718192021222324def beautifulSubsets(self, nums: List[int], k: int) -> int: n = len(nums) # 去除空集的情况 ans = -1 # 使用哈希加快判断速度 cnt =...
前缀和
发表于2024-03-06|算法
前缀和假设有一个从零开始的数组nums,长度为n,我们可以通过计算前缀和数组prefixSum来快速计算任意区间[i,j]的和。 前缀和数组prefixSum的定义如下:prefixSum[i] = nums[0] + nums[1] + … + nums[i-1]即prefixSum[i] = prefixSum[i-1] + nums[i-1]其中prefixSum[0] = 0 有了上面的定义,我们可以快速计算任意区间[i,j]的和:sum[i,j] = prefixSum[j+1] - prefixSum[i] 例题leetcode 560....
回文字符串
发表于2024-03-04|算法
leetcode 1745给你一个字符串s,如果可以将它分割成三个非空回文子字符串,那么返回true,否则返回false。 思路: 由于需要分割为三个非空子字符串,那么可以从第一个字符和最后一个字符下手,我们可以记录下来,以第一个字符开头的回文字符串,以最后一个字符结尾的回文字符串,然后再判断中间的字符串是否是回文字符串,由于分割非空的要求,需要保证中间的字符串存在。 12345678910111213141516171819202122232425262728293031323334def checkPartitioning(self, s: str) -> bool: n = len(s) # dp[i][j] 表示 s[i...j] 的字符串是否是回文字符串 dp = [[True for _ in range(n)] for _ in range(n)] for i in range(n-1,-1,-1): for j in range(i+1, n): dp[i][j] = (s[i] == s[j])...
慢查询
发表于2024-03-03|数据库
慢查询指的是查询速度慢的查询语句,MySQL提供了慢查询日志功能,可以记录查询速度慢的查询语句,以便后续优化。使用下列命令查看慢查询日志是否开启 1show variables like "slow_query_log"; slow query log表示慢查询开启的状态slow_query_log_file表示慢查询日志存放的位置 如果没有开启慢查询日志,可以使用下列命令开启 1set global slow_query_log = ON; 使用show variables like 'long_query_time'命令,查看超过多少时间,才记录慢查询日志可以使用set global long_query_time = 1;设置超过1秒的查询记录慢查询日志,单位是秒,可以自己设置,0表示所有查询都记录慢查询日志。可以通过上面两个命令结合,查看慢查询SQL的位置,以及慢查询日志记录的时间。 当定位出查询效率低的SQL后,可以使用explain查看SQL的执行计划。 type:连接类型,查看索引执行情况的一个重要指标。 system...
1234
avatar
fms231
运气
文章
31
标签
24
分类
9
Follow Me
公告
记录所学的内容
分类
  • Java11
  • Redis3
  • project1
  • 数据库3
  • 测试1
  • 算法6
  • 计算机网络1
  • 设计模式1
标签
Spock Redis分布式锁 project algorithm rpc JVM HashMap 计算机网络基础 Java 双指针 prefixSum 回溯 tech leetcode skipList MySQL GC JUC SegmentTree 设计模式 AIO Collection Hot Key NIO
搜索
数据加载中