- 博客(4)
- 收藏
- 关注
原创 部署在阿里云 SLB 后面的spring 应用如何获得用户真实 IP
如果你的应用是部署在阿里云上面的, 往往在应用的前面会架设一个SLB(负载均衡). 如果 SLB配置成四层转发, 那么你的应用看到的 http 连接的对端地址为真实的用户 IP, `HttpServletRequest.getRemoteAddr()`能返回正确的用户 IP. 但是如果 SLB 配置成`七层转发`, `HttpServletRequest.getRemoteAddr()`返回的是...
2018-07-30 12:24:59 1720 1
原创 使用 SonarQube 持续提升代码质量
软件开发中, 除了编写业务代码外, 我们往往还需要写单元测试,集成测试,压力测试. 这些测试的目的是测量或者保证软件代码在`运行时的质量`, 这些测试往往是站在黑盒的角度来度量软件质量. 但是`运行时的质量`只是软件质量的一个方面, 我们还需要度量构成软件的代码的质量. 代码质量可以通过以下几点来度量: 可读性, 扩展性, 可维护性, 复杂度等等. `code review`是检查代码质量的一个手...
2018-07-30 12:24:26 1320
原创 我的工具箱
## 办公电脑: Macbook Pro 我的办公电脑为一台 Macbook Pro. 这也是我使用最频繁的电子产品, 超过手机, 我认为这是我最划算的一笔投资, 他大大的提高了我的工作效率. ## IDE: Intellij IDEA 我的主要编程语言为 JAVA, 很多年前我用 Eclipse 开发 JAVA, 自从用了IDEA 之后就彻底抛弃 Eclipse. 在我看来, IDEA 有以下...
2018-07-30 12:23:51 220
原创 使用Koloboke 生成高性能的 JAVA 基本类型 map/set
Java 标准类库自带了很多集合类型, 比如各种 List, Set, Queue, Map. 每种抽象集合类型往往有多种实现, 比如 Map 的实现有 TreeMap, HashMap. TreeMap 采用二叉平衡树实现, 键的存储是有序的, 支持按序遍历和范围搜索. HashMap用哈希表实现, 只支持精确搜索, 但是效率更高一些. 每种集合类型都有相应的支持并发操作的实现版本,比如最常用...
2018-07-30 12:22:47 1496 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人