<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[f2315895270的博客]]></title><description><![CDATA[日暮途远]]></description><link>https://blog.youkuaiyun.com/f2315895270</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; f2315895270]]></copyright><item><title><![CDATA[多租户权限过滤查询-基于mybatisplus权限插件DataPermissionInterceptor实现]]></title><link>https://blog.youkuaiyun.com/f2315895270/article/details/136251515</link><guid>https://blog.youkuaiyun.com/f2315895270/article/details/136251515</guid><author>f2315895270</author><pubDate>Fri, 23 Feb 2024 15:19:01 +0800</pubDate><description><![CDATA[因为业务需要对系统中的相关模块的权限通过不同的部门这种属性进行过滤，这边参考了开源项目ruoyi里面的权限过滤设计，然后结合自身的业务进行实现梳理了解了逻辑之后总结了一下实现原理，在需要进行权限过滤的表中新增类似dept_id的字段(可根据自身业务替换成其他字段)，然后通过自定义DataPermissionInterceptor，继承JsqlParserSupport中的方法进行覆写，里面自己根据业务进行过滤的逻辑，最终达到目的。]]></description><category></category></item><item><title><![CDATA[Java通过Redis进行延时队列，定时发布消息(根据用户选择时间进行发布)]]></title><link>https://blog.youkuaiyun.com/f2315895270/article/details/134663411</link><guid>https://blog.youkuaiyun.com/f2315895270/article/details/134663411</guid><author>f2315895270</author><pubDate>Tue, 28 Nov 2023 16:03:08 +0800</pubDate><description><![CDATA[目前很多产品都用到过定时发布或者定时推送等功能，定时推送有两种定义，一种是后台自己有相关规则，通过定时器设置好相应的时间进行推送(例如定时任务框架QuartZ、xxl-job等实现,或者通过springboot自带定时任务@Scheduled注解等实现)，这些都是基于后台设定的规则来进行定时推送。还有一种场景便是根据用户自己选择想要的时间进行推送，这时候再用到上面的方法来做会比较麻烦和复杂，就需要用到延时队列来实现。]]></description><category></category></item><item><title><![CDATA[SpringBoot钉钉通讯录信息同步]]></title><link>https://blog.youkuaiyun.com/f2315895270/article/details/131469507</link><guid>https://blog.youkuaiyun.com/f2315895270/article/details/131469507</guid><author>f2315895270</author><pubDate>Fri, 30 Jun 2023 09:33:03 +0800</pubDate><description><![CDATA[大概讲一下这里的逻辑，我的逻辑就是先遍历查询到所有的部门，然后把他们放到一个集合当中，再遍历这个集合，分别查询出每个部门下面的人员信息，然后拿到人员信息之后就可以根据自身的功能进行后续的操作，因为我是按照我们的一个需求来写的，所以代码写的有些粗糙，主要是提供一个思路方向。首先要清楚钉钉下面人员结构概念，大体是先选择部门然后再在下方查询人员，当然，部门也是有子部门等层级，我们可以先把部门信息同步到自身系统中，当然，这是根据业务来决定需不需要同步部门。部门同步完成，下面开始同步全部人员信息。]]></description><category></category></item><item><title><![CDATA[Springboot钉钉免密登录集成(钉钉小程序和H5微应用)]]></title><link>https://blog.youkuaiyun.com/f2315895270/article/details/131455227</link><guid>https://blog.youkuaiyun.com/f2315895270/article/details/131455227</guid><author>f2315895270</author><pubDate>Thu, 29 Jun 2023 15:26:44 +0800</pubDate><description><![CDATA[欢迎访问我的个人博客:www.ifueen.comRT，因为业务需要把我们系统集成到钉钉里面一个小程序和一个H5应用，并且在钉钉平台上面实现无感登录，用户打开我们系统后不需要再输入密码即可登录进系统，查阅文档实际操作过之后记录一下过程。]]></description><category></category></item><item><title><![CDATA[PaddleOCR服务部署-并通过Java进行调用]]></title><link>https://blog.youkuaiyun.com/f2315895270/article/details/128150679</link><guid>https://blog.youkuaiyun.com/f2315895270/article/details/128150679</guid><author>f2315895270</author><pubDate>Fri, 02 Dec 2022 17:20:40 +0800</pubDate><description><![CDATA[PaddleOCR服务部署-并通过Java进行调用]]></description><category></category></item><item><title><![CDATA[PaddleOCR简单使用教程-Windows]]></title><link>https://blog.youkuaiyun.com/f2315895270/article/details/128147744</link><guid>https://blog.youkuaiyun.com/f2315895270/article/details/128147744</guid><author>f2315895270</author><pubDate>Fri, 02 Dec 2022 15:58:10 +0800</pubDate><description><![CDATA[PaddleOCR简单使用教程-Windows场景]]></description><category></category></item><item><title><![CDATA[记录一次linux服务器被侵入攻击的现象]]></title><link>https://blog.youkuaiyun.com/f2315895270/article/details/121096065</link><guid>https://blog.youkuaiyun.com/f2315895270/article/details/121096065</guid><author>f2315895270</author><pubDate>Tue, 02 Nov 2021 11:53:31 +0800</pubDate><description><![CDATA[某天早上来的时候测试那边发消息通知后台服务用不了，然后我去检查服务是否正常启动，本来以为就只是挂了而已，结果看到了阿里云那边的警告通知，服务器已被入侵，(公司阿里云账户绑定手机邮箱都不是我，所以没办法在第一时间收到通知)，然后去检查服务器cpu等情况，一看占用满了


知道可能是被攻击了，这里有一个路径为/tem/syn的程序一直把cpu给跑满了，就尝试将进行给kill掉，然后去这个目录下把syn这个木马文件给删除掉，结果删掉了之后过了一会他又恢复了并且启动，这下就有点不知所措了，知道应该是还留了后门自动的]]></description><category></category></item><item><title><![CDATA[MySql磁盘占满，阿里云提示“The MySQL server is running with the LOCK_WRITE_GROWTH option so it cannot execute “]]></title><link>https://blog.youkuaiyun.com/f2315895270/article/details/118889613</link><guid>https://blog.youkuaiyun.com/f2315895270/article/details/118889613</guid><author>f2315895270</author><pubDate>Mon, 19 Jul 2021 10:23:11 +0800</pubDate><description><![CDATA[今天照常打开日志文件查看日志，结果发现一大堆报错：“The MySQL server is running with the LOCK_WRITE_GROWTH option so it cannot execute this statement”，遂查了一下原来是阿里云的数据库被锁了

锁住的原因是因为磁盘占用满了，触发了阿里云的保护机制，自动给锁上了

我们可以去分析一下是哪些表占用了多的空间，通过命令

select TABLE_NAME, concat(truncate(data_length/10]]></description><category></category></item><item><title><![CDATA[Linux常用命令总结]]></title><link>https://blog.youkuaiyun.com/f2315895270/article/details/117460059</link><guid>https://blog.youkuaiyun.com/f2315895270/article/details/117460059</guid><author>f2315895270</author><pubDate>Wed, 02 Jun 2021 09:47:53 +0800</pubDate><description><![CDATA[欢迎访问我的个人博客:www.ifueen.com

鉴于笔者经常性忘记一些linux常用的命令，特此整理记录在此，会持续记录更新

目录Linux的常用查询操作命令文件删除文件夹删除文件切割修改文件权限查看Java进程命令文件拷贝文件夹拷贝(及里面的内容)Linux查看磁盘大小命令找出最占内存的线程服务阿里云数据盘挂载阿里云数据盘卸载或修改挂载目录MySql查看各个表占用空间大小情况阿里云磁盘扩容
Linux的常用查询操作命令
文件删除
rm -f 文件名
文件夹删除
rm -rf 文件夹名
文件切割
s]]></description><category></category></item><item><title><![CDATA[Java同时执行多个线程(优雅的进行线程池创建)]]></title><link>https://blog.youkuaiyun.com/f2315895270/article/details/114367754</link><guid>https://blog.youkuaiyun.com/f2315895270/article/details/114367754</guid><author>f2315895270</author><pubDate>Thu, 04 Mar 2021 14:57:21 +0800</pubDate><description><![CDATA[欢迎访问我的个人博客:www.ifueen.com
有时候我们会遇到这样的场景，需要通过多线程同时去对某些信息进行处理然后再进行开展后续的业务，这时候就需要用到多线程来同时并发处理这些数据
其实多线程处理的方式有很多，线程池，自定义线程等等，但是需要同时执行，所以这里用了线程池和CountDownLatch这个类来进行处理

其实思路很简单，首先通过线程池划分好线程明细，然后通过线程池的submit进行处理，同时每一个线程处理好之后通过countDownLatch.countDown()方法将结果给汇总，最]]></description><category></category></item><item><title><![CDATA[Tomcat下部署solr8.0]]></title><link>https://blog.youkuaiyun.com/f2315895270/article/details/113588234</link><guid>https://blog.youkuaiyun.com/f2315895270/article/details/113588234</guid><author>f2315895270</author><pubDate>Wed, 03 Feb 2021 11:20:37 +0800</pubDate><description><![CDATA[欢迎访问我的个人博客:https://www.ifueen.com
因为公司业务需要用到solr8.0版本，本来solr8.0是可以直接启动的，但是这样不方便后续修改，所以采用tomcat的方式进行部署
首先准备好tomcat，我这里是tomcat9.0版本
tomcat9下载地址：https://tomcat.apache.org/download-90.cgi
solr8.0下载地址：https://archive.apache.org/dist/lucene/solr/ 这里有solr所有的版本，我自]]></description><category></category></item><item><title><![CDATA[Java实现字数统计(中文英文韩文日文混合)，类似word效果]]></title><link>https://blog.youkuaiyun.com/f2315895270/article/details/112346715</link><guid>https://blog.youkuaiyun.com/f2315895270/article/details/112346715</guid><author>f2315895270</author><pubDate>Fri, 08 Jan 2021 10:44:04 +0800</pubDate><description><![CDATA[因为业务需求，需要一个字数统计的功能，其实这个功能也不难，但是因为这边涉及到中文，英文，日文和韩文的混合文本，所以不能用一般的统计方法，在网上搜索了一些，然后综合了一下自己写了个支持混合统计的工具类
直接上代码

	/**
     * 字数统计
     * @param sContent 正文内容
     * @return
     */
    public static Integer wordCount(String sContent){
        int byteCount = 0;
]]></description><category></category></item><item><title><![CDATA[2020这一年]]></title><link>https://blog.youkuaiyun.com/f2315895270/article/details/111823918</link><guid>https://blog.youkuaiyun.com/f2315895270/article/details/111823918</guid><author>f2315895270</author><pubDate>Sun, 27 Dec 2020 18:22:01 +0800</pubDate><description><![CDATA[​	其实我已经很久没有写过博客了，不管是技术分享还是生活感悟之类，我总是感到一些倦怠，仿佛码字写博客是一件我很抗拒的事情(其实是因为懒)。但是晃一晃，不知不觉2020年居然也快要过完了，我不觉有些惊愕，转而感到些许的空虚，2020年，充满了苦难和迷惘的一年，竟已经走到了尾声，我觉得自己需要，需要梳理一下这一年…

​	年初的时候疫情爆发，在家里整整呆了将近一个月，每天看着感染人数不断增长，复工去到成都那一天的路上，平时人前贴人后的地铁里面空空荡荡的，偶尔有乘客上车也是隔着很远坐着，就一个多月的间隔，却好像处]]></description><category></category></item><item><title><![CDATA[Java实现防重复提交]]></title><link>https://blog.youkuaiyun.com/f2315895270/article/details/107124840</link><guid>https://blog.youkuaiyun.com/f2315895270/article/details/107124840</guid><author>f2315895270</author><pubDate>Sat, 04 Jul 2020 15:19:44 +0800</pubDate><description><![CDATA[欢迎访问我的个人博客:www.ifueen.com
防重复提交的重要性？
在业务开发中，为什么我们要去想办法解决重复提交这一问题发生？网上的概念很多：导致表单重复提交，造成数据重复，增加服务器负载，严重甚至会造成服务器宕机，那么为什么会造成这种现象？前台操作的抖动，快速操作，网络通信或者后端响应慢，都会增加后端重复处理的概率，就拿我亲身经历来说，因为业务逻辑，需要进行一个"关注"操作，但是写好业务之后在测试时连续点击几下，重复地进行关注和取消关注操作，因为操作过于频繁，而服务器走过来的响应速度没有那么快地进]]></description><category></category></item><item><title><![CDATA[个人记录BUG问题汇总表]]></title><link>https://blog.youkuaiyun.com/f2315895270/article/details/106541068</link><guid>https://blog.youkuaiyun.com/f2315895270/article/details/106541068</guid><author>f2315895270</author><pubDate>Thu, 04 Jun 2020 10:50:21 +0800</pubDate><description><![CDATA[BUG问题汇总表
因为个人平时进场容易疏忽大意，经常性不止一次会犯重复性的错误，所以整理一份平时遇到的BUG问题表汇总，希望能够鞭笞自己细心，多学习，多进步
2020.5.18
1.
【问题】：mybatis的xml文件中，SQL语句查出来的字段在实体类中没有值，名称和返回值都指定了
【原因】：没有重新编译
【如何发现】：断点看查询出来值的时候发现
【如何修复】：重启IDEA之后就行了
【总结】：奇怪的BUG
2.
【问题】：Lock wait timeout exceeded; try restartin]]></description><category></category></item><item><title><![CDATA[丰富的Java工具类库Hutool]]></title><link>https://blog.youkuaiyun.com/f2315895270/article/details/105178109</link><guid>https://blog.youkuaiyun.com/f2315895270/article/details/105178109</guid><author>f2315895270</author><pubDate>Sun, 29 Mar 2020 14:15:51 +0800</pubDate><description><![CDATA[我的个人博客:www.ifueen.com
Hutool
文章目录Hutool为什么会选择Hutool简介Hutool的使用Demo-通过Hutool发送邮件后语
为什么会选择Hutool
​	作为Java开发者，个人而言，我是不喜欢去写一些重复性的功能代码????????????????????，繁琐且沉闷，没有多大的实际意义。其实不光是我个人，绝大部分开发者应该都是这样的吧。每次需要用到一些通用性的功能时，第一个想到的就是...]]></description><category></category></item><item><title><![CDATA[XXL-JOB的使用(详细教程)]]></title><link>https://blog.youkuaiyun.com/f2315895270/article/details/104714692</link><guid>https://blog.youkuaiyun.com/f2315895270/article/details/104714692</guid><author>f2315895270</author><pubDate>Sat, 07 Mar 2020 14:49:37 +0800</pubDate><description><![CDATA[欢迎访问我的个人博客:www.ifueen.com
文章目录概述使用
概述
​	首先我们要知道什么是XXL-JOB？
​	官方简介：XXL-JOB是一个分布式任务调度平台，其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线，开箱即用
​	XXL-JOB的有点特性：
​	1、简单：支持通过Web页面对任务进行CRUD操作，操作简单，一分钟上手；
​	2、动态：...]]></description><category></category></item><item><title><![CDATA[极光推送经验之谈-Java后台服务器实现极光推送的两种实现方式]]></title><link>https://blog.youkuaiyun.com/f2315895270/article/details/104690502</link><guid>https://blog.youkuaiyun.com/f2315895270/article/details/104690502</guid><author>f2315895270</author><pubDate>Fri, 06 Mar 2020 10:24:46 +0800</pubDate><description><![CDATA[转自博客园：@唯一浩哥
原创作品，可以转载，但是请标注出处地址http://www.cnblogs.com/V1haoge/p/6439313.html
Java后台实现极光推送有两种方式，一种是使用极光推送官方提供的推送请求API：https://api.jpush.cn/v3/push，另一种则是使用官方提供的第三方Java SDK，这里先进行第一种方式推送的实现代码：
复制代码
import...]]></description><category></category></item><item><title><![CDATA[记几次Java面经]]></title><link>https://blog.youkuaiyun.com/f2315895270/article/details/104209423</link><guid>https://blog.youkuaiyun.com/f2315895270/article/details/104209423</guid><author>f2315895270</author><pubDate>Fri, 07 Feb 2020 18:29:13 +0800</pubDate><description><![CDATA[我的个人博客:www.ifueen.com
去年年底因为一些原因回到了四川，心里也打算在家乡有个稳定的发展，然后随即开始在成都找工作的准备
因为是年底的原因，好多公司都在忙着准备年会或者赶项目，所以岗位并不是很多，还是去了两家进行了面试
大概的过程基本上都差不多，都是进入填一下基本信息的表，写一些个人信息和自己的意向之类的，然后就开始等待面试

A公司，首先是一个在职开发人员对我进行面试

ES中...]]></description><category></category></item><item><title><![CDATA[MySQL性能优化方案]]></title><link>https://blog.youkuaiyun.com/f2315895270/article/details/103757242</link><guid>https://blog.youkuaiyun.com/f2315895270/article/details/103757242</guid><author>f2315895270</author><pubDate>Sun, 29 Dec 2019 20:25:50 +0800</pubDate><description><![CDATA[title: MySQL性能优化方案
date: 2019-12-29 19:24:21
tags: MySQL
category: MySQL

MySql性能优化策略
文章目录MySql性能优化策略关系型数据库的优化方案定位慢查询找出执行效率慢的SQL(定位慢SQL)开启慢查询记录日志分析Sql语句单机优化通过表结构设计数据库设计三范式存储引擎Innodb和MyISAM的区别索引索引分类复合...]]></description><category></category></item></channel></rss>