前言 一直以来,对linux的掌握就是半桶水的状态,经常yum装个东西,结果依赖一堆东西:然后再用源码装个东西,只知道make.make install,背后干了啥也不清楚了,卸载也不方便. 这几天工作需要,在写脚本,总算更加清晰了一些.因为这次的主要工作是,redis.mysql等各种基础服务的shell脚本一键安装及启动等,所以我们需要把rpm包下载下来,所以下面有一些相关的内容. 首先大家要知道,linux下(以centos举例,现在服务端基本都用这个)安装基本三种方式: 源码安装,mak…
Maven源码调试工程搭建 思路 我们前面的文章<[曹工杂谈]Maven和Tomcat能有啥联系呢,都穿打补丁的衣服吗>分析了Maven大体的执行阶段,主要包括三个阶段: 启动类阶段,负责加载框架: 框架核心(maven core)阶段,主要负责根据参数中的goal,如clean,找到对应的插件的jar包,生成插件对象,解析参数并调用插件代码: 插件执行阶段,执行完成后,控制权会交还给框架核心,由maven core完成善后工作. 这三个阶段,分别会去不同的地方加载对应的jar包. 大概了解了…
背景 去年写了一篇"[曹工杂谈]Mysql客户端上,时间为啥和本地差了整整13个小时,就离谱",结果最近还真就用上了. 不是我用上,是组内一位同事,他也是这样:有个服务往数据库insert记录,记录里有时间,比如时间A.然后写进数据库后,数据库里的时间是A-13,晚了13小时.然后就改了这么个地方: 写进去的数据,就是正确的时间了. 后边,他还有一个查询服务,要去查写进去那条记录,比如记录有个创建时间字段,字段值是2022-02-19 00:00:00. 然后假设我查的时候,就根据这个…
背景 先说下写这个的目的,其实是好奇,dubbo是怎么实现同步转异步的,然后了解到,其依赖了请求中携带的请求id来完成这个连接复用:然后我又发现,redisson这个redis客户端,底层也是用的netty,那就比较好奇了:netty是异步的,上层是同步的,要拿结果的,同时呢,redis协议也不可能按照redisson的要求,在请求和响应里携带请求id,那,它是怎么实现同步转异步的呢,异步结果回来后,又是怎么把结果对应上的呢? 对redisson debug调试了long long time之后…
前言 今天新年第一天,给大家拜个年,祝大家新的一年里,技术突突突,头发长长长! 咱们搞技术的,比较直接,那就开始吧.我给大家看看我demo工程的效果(代码下边会给大家的): 技术栈是mybatis/mybatis plus,spring boot ,日志是logback. 其实这个痛点吧,我是一直有的,测试或者开发时,日志里每次打印的都是带?的sql,然后还得自己手动一个参数一个参数地贴过去,这真是一个体力活.虽然是体力活,还是做了这么多年了,这次,终于决定不忍了. 在弄这个之前呢,我知道ide…
不多说,直接上干货! 对于我这里想说的是,分别从CentOS6.X  和  CentOS7.X来谈及. 1. 问题:默认启动屏幕保护 问题描述: CentOS系统在用户闲置一段时间(默认为5分钟)后,会启动屏幕保护程序(默认的屏保为黑屏),并要求重新输入密码才能回到原来桌面. 有时候,我们在图形化界面里解决问题,一会儿,锁屏很烦,总是让我们输入. 2. 解决方法:重新设置屏幕保护 CentOS6.X的做法: 2.1 打开Screensaver Preferences界面    2.2 取消屏幕保…
一.前言 相信很多同学有这样的需求,现在很多公司都有多地的研发中心,经常需要跨地区部署,比如,博主人在成都,但是服务器是北京的.一般城市间网络都不怎么好,上传一个几十兆的jar包那是真的慢,别说现在微服务架构下,动辄两位数的fat jar.这里说的jar,就是spring boot项目打出来的fat jar类型,一般也有个几十兆吧. 博主之前还遇到部署北美亚马逊环境,好不容易传个包过去,后来发现有bug,需要改class,如果重新打包再传,真的要死的心都有了. 如果要改什么配置,或者发现某个cl…
前言 今年的更新频率简直是降至冰点了,一方面平时加班相对多一些了,下班只想玩手机:另一方面,好像进了大厂后,学习动力也很低了,总之就,很懒散,博客的话,今年都才只更新了不到5篇. 现在慢慢有一点状态,开始学点技术:今天这篇就是讲maven插件,为啥会折腾这个,公司内有个mybatis generator,针对公司内部做了一些定制开发,具体内容不知道,但是,有个很蛋疼的问题,在根据数据库表,反向生成po的时候,不能把数据库表的字段的注释,给生成为po的field 注释. 之前试过自己折腾一下,解决…
Maven和Tomcat能有啥联系呢,都穿打补丁的衣服吗 前奏 我们上篇文章,跟大家说了下,怎么调试maven插件的代码,注意,是插件的代码.插件,是要让主框架来执行的,主框架是谁呢,就是maven core,可以称之为maven核心吧. maven核心,类似于tomcat,而maven插件就类似于我们部署在tomcat中的webapp应用.估计有人觉得,这个类比有点生硬,不过我也是有我自己的依据的. 下面开始正文. tomcat的类分散在哪几处 按照简单的模型来分,三处: 1.bin下边的启动…
说说Maven框架和插件的契约 前言 Maven框架就像现在公司内的各种平台方,规定一些契约,然后想办法拉动业务方,一起在这个平台上去做生态共建.Maven也是这样,其实它就是一个插件执行的框架,Maven刚开始肯定不知道会有谁去贡献插件,插件如果写得五花八门的话,那对于平台方来说,可能就是一个灾难,所以,平台方就要负责定标准,要在我平台上写插件,必须怎么怎么样. Maven给插件就定了契约,这个契约,是通过api jar包的方式.每次发布Maven新版本,与之伴随的,都会有一个api jar包…