• CaffeineCache 慎用weakKeys

    前两天在一个Spring项目里使用了Caffine缓存,在application.yml中的配置如下: 为了避免缓存占用过多内存导致频繁GC,使用了weakKeys和weakValues选项。 不过测试时发现缓存不能命中,仍然会查询数据库。

    [阅读更多...]
  • 关于代码重构那些事

    首先抛出观点:重构既有代码并不是一件讨好的事情,甚至是一件无功有过的事。 说个我朋友的事(我的一个朋友系列)。这个人颇有些强迫症。他在入职某家公司一段时间后,实在受不了负责模块那些祖传代码的组织方式,就用工作之余的的时间彻底重构了部分内容。

    [阅读更多...]
  • Spring Controller层测试 – 05 SpringBootTest & WebServer

    在使用@SpringBootTest测试时可以指定一个端口,如@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) 或 @SpringBootTest(webEnviron

    [阅读更多...]
  • Spring Controller层测试 – 04 SpringBootTest & MockMVC

    这种测试方案会加载完整的SpringContext,但我们仍然不需要Web Server,需要继续通过MockMVC来模拟请求。 在测试的时候主要用到了@SpringBootTest注解。看下代码: @SpringBootTest和@Aut

    [阅读更多...]
  • Spring Controller层测试 – 03 WebContext & MockMVC

    这种Controller层测试方案会(部分)加载Spring Application Context。不过仍然还是主要是用MockMVC来进行测试,也不需要部署WebServer。 示例代码如下: 和standalone MockMVC模式

    [阅读更多...]
  • Spring Controller层测试 – 02 Standalone MockMVC

    在Spring中,可以在Standalone模式下使用MockMVC来进行服务内测试,此时我们不会加载任何Context。来看个例子: MockitoJUnitRunner和MockMVC 代码中使用了MockitoJUnitRunner来

    [阅读更多...]
  • Spring Controller层测试 – 01 概述

    Spring Controller层(Web层或API层)的测试有多种方案。有人倾向于使用纯单元测试,有人则倾向于使用集成测试。 单元测试和集成测试 先来看一下单元测试和集成测试的概念。 单元测试 单元测试是对软件中的最小可验证单元进行检查

    [阅读更多...]
  • Spark生成CSV后BOM变EF BF BD

    工作中需要通过Spark以csv格式导出日志文件。实现功能不太复杂,但是在中文识别上遇到了些问题。 解决csv文件中的乱码最直接的思路就是添加BOM,这样Excel在打开Excel的时候就知道使用什么样的编码来解析这篇文档了。 先写了段测试

    [阅读更多...]
  • 关于Scrum敏捷开发的一点想法

    公司中层最近开始推scrum敏捷开发,落实到行动上大概有这么几个方面: 定期迭代,小步快跑; 产品经理创建Backlog(需求列表); 团队进行需求评审; 开发团队组织会议,对需求进行细化,分解成一个个可以执行的具体任务(task); 开发

    [阅读更多...]
  • WordPress java操作库

    前段时间有些需求就撸了个wordpress java操作库,主要是依赖wordpress XMLRPC实现。简单介绍下使用方式。 引入dependency: WordPress实例是所有操作的基础。简单的WordPress实例创建方式如下:

    [阅读更多...]