SQL耗时监控
一、问题Spring + MyBatis项目中需要对SQL的执行时间做简单的监控,打印MyBatis SQL ID、SQL语句,耗时等信息。目的是找出慢SQL来优化。 使用的方案是增加MyBatis的Interceptorl拦截Executor.class类和query和update方法,统计...
Chrome浏览器Local Overrides踩坑记
Chrome浏览器Local Overrides踩坑记一、背景最近后端开发API过程中遇到一个奇怪问题,周末看了一下,发现是自己对Chrome浏览器DevTools的Local Overrides不了解导致的。 问题是这样的。 后端开发时发现一个Restful JSON接口老是返回空的HTTP...
Restful请求成功但是HTTP Body一直为空原因调查
一、背景最近后端开发API过程中遇到一个奇怪问题,周末看了一下,发现是自己对Chrome浏览器DevTools不了解导致的。 问题是这样的。 后端开发时发现一个Restful JSON接口老是返回空的HTTP Body,但是HTTP Response状态码是正常的200。这个是通过Chrome...
git merge丢失commit踩坑记
一、问题最近项目中使用git merge时遇到特性分支上部分commit内容丢失(没有合并到main分支)。本文记录一下踩坑过程。 项目git分支管理采用了main、prod-x、feat-x 三类分支(不是标准的git flow分支管理)。feat分支是特性开发分支,开发前从main分支拉取...
代码重构后的java.lang.NoSuchMethodError
一、问题Java项目最近发布后遇到一个java.lang.NoSuchMethodError异常,定位下来是一个跟公共组件包升级有关的常见问题,这里记录一下踩坑经历。 二、分析有个业务接入了公共包common-lib2,common-lib2依赖common-lib1。服务编译、构建、服务启动...
代码重构后引起的java.lang.NoSuchMethodError
代码重构后引起的java.lang.NoSuchMethodError一、问题Java项目最近发布后遇到一个java.lang.NoSuchMethodError异常,定位下来是一个跟公共组件包升级有关的常见问题,这里记录一下踩坑经历。 1java.lang.NoSuchMethodError...
程序员“第一性原理”
程序员“第一性原理”一、背景作为程序员我们每天写代码、维护历史代码,有的公司甚至以代码量作为产出的一个指标。但是不同人代码质量却有云泥之别。 特别是维护遗留项目,一般历经多年,多人维护甚至多个团队维护过。修改Bug或者增加新功能时基本不敢动已有的逻辑,而是拷贝一份已有代码并在此基础上继续打补丁...
代码思维训练
一、背景作为程序员我们每天写代码、维护历史代码,有的公司甚至以代码量作为产出的一个指标。但是不同人代码质量却有云泥之别。 特别是维护遗留项目,一般历经多年,多人维护甚至多个团队维护过。修改Bug或者增加新功能时基本不敢动已有的逻辑,而是拷贝一份已有代码并在此基础上继续打补丁。甚至有一些最佳实践...
多个GitHub账号如何从同一台工作电脑提交代码
问题使用github过程中,如果有多个github账号,从同一台工作电脑提交时经常会遇到类似下面的权限问题。注意这里提到的问题使用的是github的SSH连接方式。 1234567891011121314git:(main) git push -u origin mainERROR: Repo...
Spring Boot中prometheus指标中缺失了JVM相关指标
一、问题一个Spring Boot应用已经在配置中通过actuator和micrometer暴露了prometheus端点http://ip:port/actuator/prometheus,结合prometheus和grafana已使用在线上监控系统中了。 最近几周发现通过 /actuato...