<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[娜娜米的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/minghao0508</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; minghao0508]]></copyright><item><title><![CDATA[编码技巧——使用原生Apache poi导出/导入多sheet、设置单元格格式、合并单元格]]></title><link>https://blog.csdn.net/minghao0508/article/details/137291106</link><guid>https://blog.csdn.net/minghao0508/article/details/137291106</guid><author>minghao0508</author><pubDate>Wed, 03 Apr 2024 10:07:53 +0800</pubDate><description><![CDATA[使用原生Apache poi导出/导入多sheet、设置单元格格式、合并单元格；]]></description><category></category></item><item><title><![CDATA[编码技巧——Springboot工程打jar包后启动时读取jar包外的资源文件]]></title><link>https://blog.csdn.net/minghao0508/article/details/137280156</link><guid>https://blog.csdn.net/minghao0508/article/details/137280156</guid><author>minghao0508</author><pubDate>Tue, 02 Apr 2024 19:03:23 +0800</pubDate><description><![CDATA[Springboot工程打jar包后启动时读取jar包外的资源文件，方案和源码；]]></description><category></category></item><item><title><![CDATA[编码技巧——Springboot工程加密yml配置/Maven引入本地二方包]]></title><link>https://blog.csdn.net/minghao0508/article/details/136340877</link><guid>https://blog.csdn.net/minghao0508/article/details/136340877</guid><author>minghao0508</author><pubDate>Wed, 28 Feb 2024 13:16:00 +0800</pubDate><description><![CDATA[基于Springboot的工程项目，通常很多信息都是在application.yml中直接明文配置的，比如数据库链接信息，redis链接信息等；

为了安全考虑，公司打算将yml配置文件中的数据库连接信息的账号，密码进行加密！

公司有开发相关的安全规定，要求对源代码工程中所有的敏感信息进行加密，包括代码和配置文件，防止密码泄露；]]></description><category></category></item><item><title><![CDATA[编码技巧——在项目中使用Alibaba Cloud Toolkit远程部署]]></title><link>https://blog.csdn.net/minghao0508/article/details/136071325</link><guid>https://blog.csdn.net/minghao0508/article/details/136071325</guid><author>minghao0508</author><pubDate>Wed, 07 Feb 2024 17:52:03 +0800</pubDate><description><![CDATA[在新公司项目开发，当前项目为自建项目，意思是从开发到运维都需要自己负责，远程的服务器也是自己搭建的win操作系统；
之前在大厂工作时，一般提交代码之后，CICD流水线会自动的执行最新代码的拉取、构建打包、启动；
搜了下发现阿里提供了IDEA下的插件，可用于轻量级的远程服务部署，准备自己搭建配置下试试；由于没有运维经验，也没搞过cmd脚本，过程比较曲折，最终也算是顺利完成配置和使用，这里记录下完整的过程；]]></description><category></category></item><item><title><![CDATA[编码技巧——基于Socket通信的接口调用]]></title><link>https://blog.csdn.net/minghao0508/article/details/136071026</link><guid>https://blog.csdn.net/minghao0508/article/details/136071026</guid><author>minghao0508</author><pubDate>Wed, 07 Feb 2024 16:41:25 +0800</pubDate><description><![CDATA[在新公司项目开发，发现内部服务之间竟然有基于Socket通信的"上古"接口，它甚至都不是Http，难找到一些类似Apache的工具包提供好用的操作api，所以需要自己实现；以下是代码示例；]]></description><category></category></item><item><title><![CDATA[编码技巧——基于RedisTemplate的RedisClient实现、操作Lua脚本]]></title><link>https://blog.csdn.net/minghao0508/article/details/136070626</link><guid>https://blog.csdn.net/minghao0508/article/details/136070626</guid><author>minghao0508</author><pubDate>Wed, 07 Feb 2024 16:18:46 +0800</pubDate><description><![CDATA[在新公司的脚手架中开发，需要用到redis，发现没有封装好一套能集成各种常用命令、包括Lua脚本的方便使用的RedisTemplateClient，于是自己来实现下；springboot整合redis之后，提供了操作redis的简便方式，可以通过通用对象RedisTemplate方式操作String,Hash,List,Set SortSet五大数据类型；本次的实现就是基于Spring的RedisTemplate做的二次封装；]]></description><category></category></item><item><title><![CDATA[编码技巧——批量删除数据]]></title><link>https://blog.csdn.net/minghao0508/article/details/136069882</link><guid>https://blog.csdn.net/minghao0508/article/details/136069882</guid><author>minghao0508</author><pubDate>Wed, 07 Feb 2024 15:49:35 +0800</pubDate><description><![CDATA[今天遇到个业务场景需要批量根据索引删除数据，ORM框架为mybatis，跟以往遇到的根据MySQL主键批量删除不同，本次使用的数据库时PgSQL，使用的联合主键索引；搜索相关资料网上大部分帖子都是使用类似whereidin (...)的写法，直到找到花了点时间才找到合适的写法，现在总结下；]]></description><category></category></item><item><title><![CDATA[编码技巧——Mybatis分表插件]]></title><link>https://blog.csdn.net/minghao0508/article/details/135695135</link><guid>https://blog.csdn.net/minghao0508/article/details/135695135</guid><author>minghao0508</author><pubDate>Fri, 19 Jan 2024 13:07:17 +0800</pubDate><description><![CDATA[背景是新公司的基础框架不支持分库分表，并且不能使用业界常用的分库分表插件二方包（内网Maven仓库），所以基于Mybatis2.X，基于Mybatis Interceptor自行实现分表插件，后期可作为二方包在公司内推广避免重复造轮子；下面不废话，直接上你们想要的源码；]]></description><category></category></item><item><title><![CDATA[开发工具——IDE安装 / IDEA子module依赖导入失败编译提示xx找不到符号 / IDEA在Git提交时卡顿]]></title><link>https://blog.csdn.net/minghao0508/article/details/132556673</link><guid>https://blog.csdn.net/minghao0508/article/details/132556673</guid><author>minghao0508</author><pubDate>Tue, 29 Aug 2023 14:25:39 +0800</pubDate><description><![CDATA[近期换了工作电脑，公司的IT团队不够给力，不能复制电脑系统，所以又到了需要重装IDE配置开发环境的时候了；在安装和导入Java编译器IDEA的时候遇到一些"棘手"问题，这里整理下解决方法以备不时之需；
]]></description><category></category></item><item><title><![CDATA[编码技巧——Sentinel的blockHandler与fallback]]></title><link>https://blog.csdn.net/minghao0508/article/details/132148320</link><guid>https://blog.csdn.net/minghao0508/article/details/132148320</guid><author>minghao0508</author><pubDate>Tue, 08 Aug 2023 14:55:43 +0800</pubDate><description><![CDATA[本文介绍Sentinel的blockHandler与fallback的区别，背景是：发生限流时，配置的sentinel的blockhandler没有生效而fallback生效了；排查原因，从而给出Sentinel配置异常降级和限流降级的代码写法；]]></description><category></category></item><item><title><![CDATA[《MySQL实战45讲》——学习笔记33 MySQL Server查询结果的发送流程 / 一次查询大量数据对innoDB bufferPool的影响 / 内存淘汰算法LRU与innoDB改进的LRU]]></title><link>https://blog.csdn.net/minghao0508/article/details/131072552</link><guid>https://blog.csdn.net/minghao0508/article/details/131072552</guid><author>minghao0508</author><pubDate>Mon, 07 Aug 2023 15:25:37 +0800</pubDate><description><![CDATA[本篇通过"大查询会不会把内存用光"这个问题，介绍了MySQL 的查询结果发送给客户端的过程，涉及的知识点包括：MySQL Server查询结果的发送流程（边读边发）、一次查询大量数据对innoDB bufferPool的影响、MySQL线程状态Sending to client&Sending data、内存淘汰算法LRU与innoDB改进的LRU；]]></description><category></category></item><item><title><![CDATA[编码踩坑——Redis Pipeline中调用Lua脚本报错JedisMoveDataException的问题 / Lua脚本常遇到的问题]]></title><link>https://blog.csdn.net/minghao0508/article/details/130827658</link><guid>https://blog.csdn.net/minghao0508/article/details/130827658</guid><author>minghao0508</author><pubDate>Wed, 24 May 2023 14:29:32 +0800</pubDate><description><![CDATA[本篇记录使用Redis Pipeline时，调用redis.clients.jedis.PipelineBase#eval时，报错JedisMoveDataException的问题；通过查看源码发现问题的原因，通过jedis在Github的issue了解了解决方案；涉及知识：Redis slot、Redis Pipeline、Redis Lua；]]></description><category></category></item><item><title><![CDATA[《MySQL实战45讲》——学习笔记31 “误删数据的解决方案（删行/删表/删库/删实例）“]]></title><link>https://blog.csdn.net/minghao0508/article/details/130314603</link><guid>https://blog.csdn.net/minghao0508/article/details/130314603</guid><author>minghao0508</author><pubDate>Sun, 23 Apr 2023 11:45:00 +0800</pubDate><description><![CDATA[本篇介绍MySQL误删数据的几种情况以及误删后的处理方法，包括：
1. 使用delete语句误删数据行；
2. 使用drop table或者truncate table语句误删数据表；
3. 使用drop database语句误删数据库；
4. 使用rm命令误删整个MySQL实例；]]></description><category></category></item><item><title><![CDATA[面试代码——排序算法【建议收藏】]]></title><link>https://blog.csdn.net/minghao0508/article/details/130017485</link><guid>https://blog.csdn.net/minghao0508/article/details/130017485</guid><author>minghao0508</author><pubDate>Fri, 14 Apr 2023 17:03:06 +0800</pubDate><description><![CDATA[关于排序算法，网上关于排序算法的帖子和代码也比较多，有的帖子甚至连排序过程的动图都有，但是还存在一个问题——到了代码的实现层面，讲述的并不清楚，甚至没有一行代码注释，不便于理解和记忆，因此本文整理下相关代码并附上尽量详细的注释，便于理解和记忆；]]></description><category></category></item><item><title><![CDATA[MySQL——distinct与group by去重 / 松散索引扫描&紧凑索引扫描]]></title><link>https://blog.csdn.net/minghao0508/article/details/129783846</link><guid>https://blog.csdn.net/minghao0508/article/details/129783846</guid><author>minghao0508</author><pubDate>Tue, 28 Mar 2023 19:40:38 +0800</pubDate><description><![CDATA[本篇介绍MySQL中的 distinct 和 group by的区别，包括用法、效率，涉及松散索引扫描和紧凑索引扫描的概念；]]></description><category></category></item><item><title><![CDATA[编码踩坑——MySQL order by&limit顺序不一致 / 堆排序 / 排序稳定性]]></title><link>https://blog.csdn.net/minghao0508/article/details/129463749</link><guid>https://blog.csdn.net/minghao0508/article/details/129463749</guid><author>minghao0508</author><pubDate>Sun, 12 Mar 2023 23:21:39 +0800</pubDate><description><![CDATA[本篇介绍一个MySQL下SQL查询语句同时包含order by和limit出现的一个问题及原因，其中涉及的知识点包括 ：MySQL对limit的优化、MySQL的order排序、优先级队列和堆排序、堆排序的不稳定性；]]></description><category></category></item><item><title><![CDATA[编码技巧——Redis Pipeline]]></title><link>https://blog.csdn.net/minghao0508/article/details/129424151</link><guid>https://blog.csdn.net/minghao0508/article/details/129424151</guid><author>minghao0508</author><pubDate>Thu, 09 Mar 2023 16:39:34 +0800</pubDate><description><![CDATA[本文介绍Redis pipeline相关的知识点及代码示例，包括pipeline与client执行多命令的区别、Redis客户端-服务端的一次完整的网络请求、pipeline与redis"事务"、pipeline的使用代码示例；]]></description><category></category></item><item><title><![CDATA[MySQL——插入加锁/唯一索引插入死锁/批量插入效率]]></title><link>https://blog.csdn.net/minghao0508/article/details/129093202</link><guid>https://blog.csdn.net/minghao0508/article/details/129093202</guid><author>minghao0508</author><pubDate>Wed, 08 Mar 2023 20:14:46 +0800</pubDate><description><![CDATA[本篇主要介绍MySQL跟加锁相关的一些概念、MySQL执行插入Insert时的加锁过程、唯一索引下批量插入可能导致的死锁情况，以及分别从业务角度和MySQL配置角度介绍提升批量插入的效率的方法；]]></description><category></category></item><item><title><![CDATA[编码踩坑——运行时报错java.lang.NoSuchMethodError / 同名类加载问题 / 双亲委派【建议收藏】]]></title><link>https://blog.csdn.net/minghao0508/article/details/129047769</link><guid>https://blog.csdn.net/minghao0508/article/details/129047769</guid><author>minghao0508</author><pubDate>Thu, 16 Feb 2023 15:11:57 +0800</pubDate><description><![CDATA[本篇介绍一个实际遇到的排查异常的case，涉及的知识点包括：类加载机制、jar包中的类加载顺序、JVM双亲委派模型、破坏双亲委派模型及自定义类加载器的代码示例；]]></description><category></category></item><item><title><![CDATA[《MySQL实战45讲》——学习笔记28 “读写分离/主从延迟的解决方案/GTID“]]></title><link>https://blog.csdn.net/minghao0508/article/details/128925007</link><guid>https://blog.csdn.net/minghao0508/article/details/128925007</guid><author>minghao0508</author><pubDate>Wed, 08 Feb 2023 16:32:49 +0800</pubDate><description><![CDATA[读写分离架构下，发生主从延迟时，可能出现主库已落表而从库因为主从延迟还查不到最新数据的问题；这种"在从库上读到过期数据"的现象，在本文里暂且称之为"过期读"；
本篇主要介绍从业务角度和MySQL架构角度处理主从延迟问题的一些方案，包括：读写分离架构、强制路由主库方案、延迟请求从库方案、设计库表时采用分库分表方案、判断是否存在主从延迟方案、GTID的概念，以及判断指定的事务是否已经在从库完成执行的方案（等主库位点/GTID方案）；]]></description><category></category></item></channel></rss>