这里是黄永亮的博客

20230203IDEA插件开发-Action的实现

背景 开发的插件点击后UI卡住,怀疑是阻塞了UI线程。。。。仔细看下文档 文档翻译-Action的实现 自定义的action类是派生自抽象类 AnAction的子类。当用户操作菜单项或工具栏按钮时,IDEA会调用action的方法 基于 AnAction 的类不能包含任何属性,因为 AnAction 的实例会存在 application整个生命周期。如果 AnAction 类使用了属性存储了短声明周期的数据但没有合理的清除,会造成内存泄漏。例如如果你把Project对象存到了这里,当用户关闭了这个Project之后就会发生内存泄漏 方法Override覆盖原则 每个action可以覆盖 AnAction.update ...

20230224dev-assistant idea plugin开发

既然ChatGPT能理解自然语言,为什么不让它来帮我写代码完成这个开发任务呢? 基于这个猜想,我尝试让它编写IDEA插件逻辑,以一个LOGGER插入为例。 我给的命令是 “ 利用IntelliJ Platform Plugin SDK获取当前光标所在类的成员变量,检测是否存在LOGGER,如果不存在,在类声明的第一行插入LOGGER的声明,并import对应的slf4j依赖。用java实现 ” 它给出的代码如下 Java 0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525 ...

20230218长期计划:dev-assistant

背景 最近试用ChatGPT给我带来了新的想法,如果你觉得我后面写的比较离谱,那确实有可能是我错误的高估了现有AI的能力,就当我是在做梦吧hhhh。总的来说这种对话的方式极大的降低了人机交互的门槛。相比于传统的交互方式,以自然语言和计算机进行有效的交互是听上去理所当然,但实际上一直都不太成熟的方式。而ChatGPT给我们带来了新的希望,我认为之后这个技术足够成熟之后将会改变很多现有的交互逻辑。可以设想,假如以后AI能正确理解绝大部分的自然语言,那么是不是很多任务都不需要用鼠标和键盘来操作了?而根据网友给出的参考资 ...

20230204尝试搭建k8s青春版

视频版 https://www.bilibili.com/video/BV1qj411T7d5/ 背景 之前一直想搭建k8s,但按多年前的印象这玩意很复杂。今天先尝试个青春版k3s 安装准备 按文档说是离线在线都行,离线的需要个私有的镜像中心,但镜像中心最简便的搭建方式是跑个容器。。。死循环了啊,所以先试在线的。 家里的资源不多,尝试做个乞丐版,2~3节点就行了,先弄单机后面再加worker 环境要求 硬件按文档建议是最少1c1g,我就给2c2g吧,机器数量是2 系统要求Ubuntu是22.04 可以使用 --with-node-id 给每个节点后面增加一个随机的后缀。或者使用命令行参数 --node ...

20221217mongodb集群搭建

视频版   https://www.bilibili.com/video/BV1Lv4y1Q7xe/ 环境准备 按https://www.mongodb.com/docs/manual/administration/production-notes/#std-label-prod-notes-supported-platforms 所说6.0支持20.04和18.04 没说22.04支持,保险起见按文档准备系统版本 至少3个以上的奇数节点,5.0以上必须使用域名配置,节点间端口27017网络要求互通 Shell 0123456  IP1 mongodb0.example.netIP2 mongodb1.example.netIP3 mongodb2.example.netIP1 test.w ...

20221127redis-sentinel集群搭建

视频版 https://www.bilibili.com/video/BV1u84y1y7Mu/ 1.安装redis 环境信息,按官方文档准备三个节点 Shell 01234567891011  redis1192.168.2.104ssh redis1@192.168.2.104 redis2192.168.2.166ssh redis2@192.168.2.166 redis3192.168.2.139ssh redis3@192.168.2.139 执行安装过程 Shell 0123456  curl -fsSL https://packages. ...

20221114mysql-shell部署mysql集群

视频版 https://www.bilibili.com/video/BV1H24y117uh/ 1.安装mysql-apt-config并准备基础环境 channel选mysql8, apt update后就能安装 mysql-shell了 获取debian-sys-maint的密码备用 使用/etc/hosts尝试模拟域名或者自行配置DNS mysqld下的配置增加report_host=mysql1.db, Shell 0123  #/etc/mysql/mysql.conf.d/report_host=mysql1.db #/etc/hosts 192.168.2.190 mysql1.db 2.创建账户 2.1.一个InnoDB Cluster server co ...