摘要:
对于第三方接口调用日志这个功能,笔者在工作中曾见过以下两种方式: Restemplate+装饰者模式+MQ实现 网关监控 + Feign拦截器 + 观察者模式实现 其中观察者模式的实现是我最为佩服的设计(站在了一种很新的角度来解决问题),个人认为以上两种实现都显得略过臃肿,应该简化设计,让异步记录的 阅读全文
摘要:
Spring Boot 2.2 是第一个正式支持 JUnit 5 的版本。 因此在写测试类的时候,JUnit4和JUnit5是有一点区别的。JUnit4需要需要两个注解 @SpringBootTest @Runwith(SpringRunner.class) Junit5的测试类则只需要一个注解 @ 阅读全文
摘要:
最近在请求https接口的时候,发生了异常: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SuncertPathBuilderExceptio 阅读全文
摘要:
参数常见枚举值 O(Optional):表示参数是可选的。 M(Mandatory):表示参数是必填的。 其他可能的枚举值 R(Required):与“M”相似,表示参数是必需的。 C(Conditional):表示参数的必填性取决于其他参数的值或某些条件。 D(Default):表示参数有默认值, 阅读全文
摘要:
AOP(面向切面编程)是一种编程范式,它的目的是通过将横切关注点(如日志记录、事务管理、异常处理等)从主要业务逻辑中分离出来,以提高代码的模块化和可维护性。在异常处理方面,有人认为使用AOP来实现异常捕获能够提供更优雅的解决方案,相比于传统的try-catch块。 以下是一些可能的优势和注意事项: 阅读全文
摘要:
Sometimes I use chatGPT on Chrome, An error has occurred: Something went wrong. If this issue persists please contact us through our help center at he 阅读全文
摘要:
闭包是指一个函数值(function value),它可以引用其函数体之外的变量 闭包代码示例 func makeSuffix() func(str string) string { var suffix = ".jpg" return func(str string) string { if st 阅读全文
摘要:
递归函数的两个特征 函数自己调用自己 一定存在某个条件来终止递归,以避免无限递归 func main() { // result is : 2 2 3 recursion(4) } func recursion(num int) { if num > 2 { num-- recursion(num) 阅读全文
摘要:
* * * * * * * * * * * * * * * * * * * * * * * * 需求:在控制台打印如上图所示的效果图 解题思路: 首先简化问题,用嵌套for循环打印出实心金字塔,由题可观察得知,层数与star(星号)数量保持着一定关系(奇数队列),1、3、5、7……2n-1 然后,格 阅读全文
摘要:
Upgrade Windows Home to Windows Pro for FREE Go to Settings > Update & Security > Activation and click Change Product Key. Next, enter the default Win 阅读全文