Chenxi's Blog
首页
归档
分类
标签
关于
^_^
Java 日志框架备忘录
前言对于 java 日志框架体系相信大家都不陌生,哪怕是初入职场的年轻人也能脱口而出 slf4j + logback 或者 slf4j + log4j2 这样的日志组合,slf4j 作为日志门面不提供具体的日志实现,具体实现委托给具体的日志框架完成,接口和实现分离,日志实现的切换对上层调用方透明。方案看似很完美,但现实很骨感:由于历史原因,一些三方框架可能会使用特定的日志实现,比如 curator
2022-07-03
java
java
log
写给 Javaer 看的 Spock 快速入门
写给 Javaer 看的 Spock 快速入门Spock 是什么?看下它的 github 描述: The Enterprise-ready testing and specification framework. 官网介绍: Spock is a testing and specification framework for Java and Groovy applications. Wha
2021-04-14
tdd
tdd
TDD 实战 —— 如何测试异步任务
异步操作,包括进程内的异步操作,也包括跨系统的调用,如 MQ 的发布-订阅场景,异步任务中间件场景等,异步操作通常可以提升系统的吞吐量、降低模块耦合,但在我们平时的写单元/集成测试的过程中,如何对这些异步操作进行测试却成了一个难题。 本文列举了几种测试异步操作的解决方案,希望为大家提供一些思路,帮助大家写出更简洁优雅的代码😄 代码中的测试用例是用 Spock 写的,不熟悉 Spock 这一测试框
2020-07-21
tdd
tdd
Seata 分布式事务框架 源码解析——优雅停机
前言Seata 是什么? Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。 Github 地址: https://github.com/seata/seata 文章概述: 基于源码分析了 Seata 优雅停机的实现方式 同时分析了 Spring
2020-06-05
distributed
seata
distributed
提高代码简洁度的工具类合集
日常开发中整理的一些开箱即用的开源工具类,帮助减少冗余代码和项目中的重复轮子,主要提供商包括 Spring, Apache common-lang3, Lombok, Guava。 Assert12345678910111213// original codeif (input == null) { throw new IllegalArgument("given argument
2020-02-24
clean-code
clean-code
记一次有趣的代码重构
我等采石之人,当心怀建造大教堂之愿景。——《程序员修炼之道》 发现代码重构和灭霸的响指有一个共同点,两者的出发点都是为了消除系统之中的一部分,让剩下的另一部分存活得更好,从而使得整个系统运更为有序。 不同之处就是灭霸是无差别清除,而重构对于代码的清除却是经过深思熟虑精心设计的。 闲话少说,下面开始正题。 重构前背景是足球比赛的项目,需要处理各种类型的比赛数据。 比赛数据的展示维度如图:
2020-02-14
clean-code
clean-code
大搜车异步任务队列中间件的建设实践
本文源自于一次部门内部的技术分享,首发于部门的微信公众号,后被 InfoQ 转载。 前言异步任务处理在系统设计中是一个十分常见的场景, 例如将耗时任务异步化, 流量削峰, 接口的延时回调等等。 对于异步任务, 最最常见的一种实现方式就是 JDK 的线程池了, 使用线程池可以满足大多数异步化的场景, 但它还是有一些局限性: 一方面它是基于内存的, 一旦机器宕机异步任务就丢失了, 可靠性不足;
2019-08-20
distributed
distributed
编程随想录 - 代码注释
关于代码注释应该有不少书籍讨论过了, 比如《Clean Code》, 这里我还是想结合一些个人经验, 简单表达一些关于代码注释最佳实践的看法.关于注释我们在项目中可能会遇到如下几种情况: 无用的注释 《Clean Code》里列举了很多种Bad Comments, 其中就包括Noise Comments: Sometimes you see comments that are nothing b
2019-07-02
clean-code
clean-code
TDD 在企业开发中的实践
前言 Why 我们为什么要花额外的时间写测试,自动化测试可以给我们带来什么好处? How 分享测试方法论和一些测试实践, 在企业级项目中如何做好测试, 网上多是 Hello World 级别的测试 Demo, It’s not enough! 为什么写测试?为什么花这么大精力写测试,需要利益驱动 测试用例扮演的角色: ⛑️保护网 💡引路人 1. 提高项目质量可靠性交付代码质量保障
2019-04-04
tdd
tdd
A Spock Tutorial for Javaer
A Spock Tutorial for JavaerWhat is it? The description of its github repository: The Enterprise-ready testing and specification framework. A Quote from the office website: Spock is a testing and s
2019-01-28
tdd
tdd
1
2
搜索
×
关键词