被同事坑的一天

周三,我晚上加班给客户升级系统,我在是 19 点进行操作的,升级大概用了 5 分钟左右,因为系统是采用 docker 部署的,这次升级隔了 50 个小版本的镜像,不太确定会不会出现问题,所以我等到了 19 点半,看到已经有很多正常业务数据出来了,我就收拾东西回家了。 ...

2023年8月4日 · 1098 字 · 绪风

讲个笑话:开放麒麟 1.0

今天我睡眼惺忪的时候,习惯性地解锁手机,点开微信,看看在我睡觉时候是否错过了什么大事。没想到还真发生了一件大事,人名日报公众号,发布了一篇叫做:《中国首个,正式发布》的文章。我点进去一看,我本来不想笑的,但是真的忍不住,中标、普华、 XX 麒麟的棺材板要压不住了。?? ...

2023年7月5日 · 1208 字 · 绪风

Jasmine 主题开发记录

Jasmine 是我开发的一款的 Typecho 主题。主题代码都托管于 Github 和 Gitee 平台。从 1.0.0 版本发布,到 2.4.1 版本,一共经历了 40 个大小版本,历史 3 个月。这个主题外观构思,诞生于 2022 年底,开始写 Jasmine 主题,是在 2023 年初。 ...

2023年6月14日 · 1422 字 · 绪风

Mybatis 框架日志相关源码分析(三)

通过上篇文章《Mybatis 框架日志相关源码分析(二)》了解了 Mybatis 通过工厂模式创建 Log 接口的实现类,那么拿到实现类之后, Mybatis 是如何输出日志的呢? 本文将分析 Mybatis 框架的日志相关源码,了解 Mybatis 使用 JDBC 时,是通过何种方式输出日志。 Mybatis 执行过程也可使用 JDBC 差不多,首先是要获取 Connection 对象。而获取此对象是通过 [BaseExecutor#getConnection()](https://github.com/mybatis/mybatis-3/blob/1ff4a865e77acfa51e8eaaf7bf605f5cf098093f/src/main/java/org/apache/ibatis/executor/BaseExecutor.java#L344) 方法。 protected Connection getConnection(Log statementLog) throws SQLException { Connection connection = transaction.getConnection(); if (statementLog.isDebugEnabled()) { return ConnectionLogger.newInstance(connection, statementLog, queryStack); } return connection; } 这个方法的新参看到了熟悉的 Log 接口,假设 isDebugEnabled() 方法返回false,则返回正常的 Connection 对象;而 true 情况,则是通过 org.apache.ibatis.logging.jdbc.ConnectionLogger 类获取 Connection 对象。看来真相应该就在 ConnectionLogger#newInstance() 方法里面了。 ...

2023年4月8日 · 801 字 · 绪风

Mybatis 框架日志相关源码分析(二)

通过上篇文章《Mybatis 框架日志相关源码分析(一)》了解了 Mybatis 框架通过适配器模式,来整合其它日志框架。而我们都知道要想使用 Log 接口,就需要有具体的实现类对象,那么 Mybatis 是如何创建具体的实现类对象呢? ...

2023年4月7日 · 765 字 · 绪风