放着,我来 by zhongl

用Wireshark诊断Java远程断点调试的诡异问题

特别强调: 远程断点调试我是非常不推荐的做法, 原因有二:

  1. 调试机与远程服务之间的网络是否有稳定的低延迟表现决定了调试的效率;
  2. 一旦成功断点, 则直接影响远程服务的行为表现, 无论是测试环境还是生产环境都会造成不可预料的后果.

说回正题.

在给远程服务添加好开启远程调试的启动参数重启之后, 我便启动 IntellJ IDEA 连接远程服务进行断点, 等待十多秒后 IDEA 提示我: Error running 'remote': Unable to open debugger port (jdwp_server:5005): java.io.IOException . 初步网络诊断后结果是, 远程服务(jdwp_server) 能够 PING 通, Telnet 表明TCP 连接创建无碍.

嗯, 问题诡异了.

自动化测试从0到1

2005年,我其实是从软件测试人员这个角色开启我的职业之路的。那时,作为公司第一位正式的软件测试人员,我知道的仅仅只是“测试”二字怎么写而已。市面上能够找到的相关书籍或资料,多半是过于“学术”的阐述方法论,对于处于小白阶段的我而言价值甚微。反倒是 WinRunner的用户手册对我帮助最大, 让我在自动化测试这个块从0走到了1

利用测试用例提升 Code Review 的效率

一说到 Code Review 没人不说好, 可一旦开始做就呵呵哒了。 貌似写测试用例也是如此, 本文斗胆将二者结合起来,看看是否能够提升 Code Review 的效率, 同时还增加一个写好测试用例的理由。

回顾我的微服务之旅

引言

2015年的元旦,我加入了挖财,而后的两年时间里我所经历的,在今天看来是非常值得记录的。

整个过程看起来有点像是一场没有计划的探险,大多都是自己和伙伴们见招拆招凭着经验和直觉一路走下来的。

现在,我把它称之为是“微服务之旅”,并这里细数道来,为的是让它作为Microservices一文的补充案例,供同道者借鉴与反思。

maven-shade-plugin遭遇log4j2会出现的问题与解决办法

引言

Java 应用开发时常会有一个 隐隐作痛 的问题, 就是部署的 jar 很臃肿。 大多数情况下,当传输和存储都还未成瓶颈时, 对此我们还是可以容忍的, 哪怕是它已经有几百兆。但在有些场景下, 例如 Android 开发, 我们则需要非常严肃地对待这个问题,将其 jar 的大小降至最低。

Android 开发中使用的打包裁剪工具是 ProGuard。相较 maven-shade-plugin 而言,它裁剪粒度更精细,使得最终裁剪的大小可以做得更小, 只是相应的我们需要付出更多时间才能做到。

作为一个有轻度强迫症的程序员, 我在近期试图应对这个问题的时候, 花了不少时间踩坑, 觉得有必要记录一下。