自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

原创 PDFBox 提取文字和图片信息

在示例代码中,我们打印了每个图像的信息,您可以根据需求进行处理或存储提取的图片。上述代码会加载PDF文档,并遍历每一页。对于每一页,它会获取页面的资源,并提取所有的图片。方法,您可以提取整个PDF文档的文本内容。您可以根据需要进行进一步处理或存储提取的文本。请确保将代码中的"input.pdf"替换为您实际使用的PDF文件路径。请确保将代码中的"input.pdf"替换为您实际使用的PDF文件路径。要使用PDFBox提取PDF文件中的文字和图片信息。

2023-05-22 21:58:15 413

原创 pdf识别内容-移除页眉页脚

pdf文件大多是出版物或者word转换而来,带有页眉页脚,在识别内容的时候,会把页眉页脚的内容识别到,导致内容中包含大量无用信息,可以在识别的时候,根据提前设置的页眉页脚大小,忽略掉此部分内容。此教程同时也适用指定矩形区域识别。并且识别的结果是按照段落进行识别,避免了文字错乱,文字换行错乱的情况。本教程使用的是pdfbox进行操作。开发者需要了解一个前提,在pdf识别的过程做,坐标系是以左上角为起点(0,0),往右下角是正。rectangle需要设置起始坐标和矩形的长宽。

2023-05-22 21:39:01 770 2

原创 pdf文字识别-按行读取

使用pdfbox识别pdf文字,因为pdf是无结构的,导致识别的时候内容错乱,如果需要识别的是文本,可以按照行识别,这样方便对照内容。可以借助PDFTextStripper类和文本行的位置信息来识别行。上述代码可以直接运行。

2023-05-22 21:03:23 436

原创 mysql的查询优化的原理和方式

通过以上的查询优化方式,我们可以利用索引加速数据的定位和访问,优化查询语句的逻辑和写法,并通过合适的查询方法和连接类型减少数据操作和计算量。它涉及到多个方面,包括查询语句的编写方式、索引的使用、查询执行计划的优化等。b. 优化查询执行计划:MySQL使用查询执行计划来决定查询的执行方式,优化查询执行计划可以减少不必要的磁盘访问和数据操作。a. 利用索引:通过在查询的列上创建合适的索引,可以减少数据的检索量,加快查询速度。e. 选择合适的查询语句:优化查询语句的写法和逻辑,避免不必要的连接和子查询。

2023-05-21 00:07:00 582

原创 mysql索引优化的原理和方式

f. 考虑索引的顺序:对于复合索引,索引列的顺序非常重要。b. 避免过多的索引:过多的索引会增加数据库的存储空间和维护开销,同时也会降低插入、更新和删除操作的性能。g. 考虑索引的长度:对于文本列,可以根据实际需求选择适当的索引长度,避免过长的索引。d. 使用索引覆盖:确保索引涵盖了查询所需的所有列,减少数据库从磁盘读取数据的次数。a. 选择适当的索引列:将索引添加到经常用于查询条件的列,以及用于连接和排序的列。c. 注意索引列的选择性:选择性较高的索引列可以更好地过滤数据,提高查询效率。

2023-05-20 22:54:09 597

原创 MySQL数据库进行性能优化的思路

需要注意的是,具体的优化方法和代码会根据实际的数据库架构、查询需求和数据量等情况而异。因此,针对特定的场景,需要根据数据库的实际情况进行详细的分析和优化。在优化过程中,可以使用MySQL的性能分析工具(如。请注意,在优化过程中需要进行充分的测试和评估,以确保优化措施带来了实际的性能改进。此外,数据库优化是一个持续的过程,需要监控和调整,以适应不断变化的业务需求和数据增长。命令)来识别潜在的性能问题,并针对性地进行。

2023-05-20 22:50:25 1004

原创 mysql 大小写敏感的配置方法

请注意,对这些参数的配置可能会涉及数据库的迁移和一些副作用。在更改配置之前,请确保备份重要的数据,并确保了解可能发生的影响。(默认值:utf8_general_ci)

2023-05-20 22:36:53 3050

原创 springboot开发效率提升思路

解决思路:想象你是一名赛车手,而你的代码是你的赛车。在Java中,可以使用try-catch语句块来捕获异常,并对其进行适当处理,就像你在写作时进行校对和修改一样。解决思路:想象你是一名侦探,而你的代码是一起案件。然后,使用IDEA提供的调试工具,逐步跟踪代码执行,观察变量的值和执行路径,以找出问题所在。通过理解问题并运用合适的解决思路,你可以更高效地进行开发,就像一位有趣的作家一样编写优雅的代码。但有时候,不同的食谱需要使用相同的材料,这就可能导致你在挑选材料时发生冲突。

2023-05-20 22:21:33 168

原创 架构思想之DDD

领域驱动设计(Domain-Driven Design,简称DDD)是一种架构思想,旨在通过将业务问题领域化,将业务逻辑放在核心领域中,以实现更好的软件设计和可维护性。解决这个问题的一种方法是将领域模型分解为更小的聚合和领域对象,以便更好地理解和处理业务逻辑。解决这个问题的关键是进行良好的沟通和合作。使用领域驱动设计的概念和技术,如聚合、实体、值对象、领域服务和限界上下文,来建模核心领域和相关的业务对象。核心领域是业务的关键部分,支撑子领域提供核心领域所需的支持,而通用子领域则是通用的、与业务无关的部分。

2023-05-20 22:12:30 1132

原创 如何优雅的统一处理spingboot全局异常处理

在项目的src/main/java目录下,创建一个统一异常处理类,使用@ControllerAdvice和@ExceptionHandler注解来捕获和处理全局异常。在项目的src/main/java目录下,创建一个自定义异常类,用于表示应用程序中可能发生的异常。在项目的src/main/java目录下,创建一个示例控制器类,用于触发自定义异常。在项目的src/main/java目录下,创建一个错误响应类,用于封装错误信息。在IntelliJ IDEA中,运行Spring Boot应用程序。

2023-05-20 22:03:00 577

原创 springboot整合之统一异常处理

当使用Spring Boot构建应用程序时,可以通过自定义异常处理器来处理应用程序中的统一异常。下面是一个简单的示例,展示了如何在Spring Boot应用程序中实现统一异常处理。首先,需要创建一个自定义的异常类,用于表示应用程序中可能发生的各种异常情况。接下来,需要创建一个自定义的异常处理器,用于捕获并处理应用程序中抛出的异常。现在可以在应用程序中抛出自定义异常,并验证异常处理是否按预期工作。方法用于处理其他类型的异常,比如未捕获的异常。异常,然后由异常处理器捕获并返回错误响应。在上面的示例中,当访问。

2023-05-20 21:59:01 1071

原创 Ubuntu 22.04上安装Docker的完整过程

以上步骤将安装Docker并运行Hello World容器。接下来,您可以使用Docker运行其他容器和镜像。的容器中获得了一个bash shell。您可以在该容器中执行各种命令和操作。要退出容器,可以使用。这是一个基本的Docker安装和容器运行过程。例如,如果您想运行一个名为。

2023-05-20 21:56:31 3897

原创 如何解决浏览器跨域问题?

在上面的例子中,通过将回调函数名handleResponse作为查询参数传递给服务器,服务器会将返回的数据包装在回调函数中返回,客户端就可以在回调函数中处理返回的数据。CORS(跨域资源共享)是一种标准的跨域解决方案,通过在服务器端设置响应头来控制跨域请求的权限。浏览器的跨域问题是由浏览器的同源策略引起的,为了保护用户的安全,浏览器限制了不同域的页面之间的交互。以上代码中,通过使用request库将浏览器请求转发到目标服务器,并将目标服务器的响应返回给浏览器。'替换为具体的域名,限制只允许特定域名的访问。

2023-05-20 21:50:42 1204

原创 ubuntu docker https://registry-1.docker.io/v2/

重试后正常,此时在运行apt-get update 也正常。执行:apt-get update 也会报错。

2023-04-24 15:47:59 574

原创 快速学习编程技巧

快捷低成本的获取阿里云云服务器

2022-10-10 22:29:11 336

原创 k8s清理无用镜像(containerd非docker)

在进行自动化部署的时候,开发测试环境是没有加版本的,导致会出现很多很多tag为none的image,如果空间不足时,可以清理无用镜像(官方建议清理交给k8s自己管理)。docker大家都知道,而containerd如何操作呢?直接上命令:将docker换成crictl即可crictl images|grep none|awk '{print $3}'|xargs crictl rmi...

2021-12-01 15:10:25 8463 2

原创 k8s 驱逐 磁盘空间不足

线上环境运行一段时候后,发现pod被驱逐,磁盘空间不足,暂时先将默认的资源限制调低,然后再排查服务问题https://kubernetes.io/zh/docs/concepts/scheduling-eviction/node-pressure-eviction/#hard-eviction-thresholdshttps://www.cnblogs.com/Dev0ps/p/12133531.htmlhttps://www.cnblogs.com/v-fan/p/15020517.html

2021-11-29 11:50:53 1700

原创 k8s ingressNginx文件上传大小设置

ngress的上传文件的最大设置介绍在web项目的过程中出现了413 Request Entity Too Large,nginx和springboot全部设置了最大文件大小,但是还是不起作用,最后发现请求根本没有到web应用的nginx上,才想到项目使用了k8s的ingressnginx进行域名代理,这里需要设置ingress的大小限制。全局设置修改ingress的ConfigMap,添加配置:data: proxy-body-size: 50mkuboard的设置...

2021-11-25 12:11:00 1683

原创 idea远程开发java

背景最近在使用Java开发音频操作功能,需要使用jave2,但是最后发现不支持M1芯片,所以打算研究一下远程开发,一方面可以解决开发电脑不支持的问题,还可以减轻开发电脑压力,减少环境问题导致的bug。选型idea2021.1开始,提供了wsl2,ssh和docker三种,通过本人测试,发现ssh最实用,速度快,调试方便等。基本可以实现于本地开发一样的效果。环境网络环境通的,能够互相访问,开发电脑上安装idea(最新版),一台linux服务器。安装linux安装java环境yum inst

2021-08-25 17:06:23 4641 2

原创 rancher安装nacos

背景使用rancher可以快速的搭建自动化环境,本教程使用rancher安装nacos。环境要求本教程主要是快速的安装nacos,前提是已经部署安装好了rancher和mysql数据库,并都可以连接,可以参考《rancher安装》和《rancher安装mysql5.7主从》安装步骤新建nacos环境配置登录ip:31000/nacos...

2021-08-25 16:33:21 706

原创 docker添加阿里云加速

背景docker下载镜像默认是从docker hub中下载,在国内访问速度很慢,解决办法是添加国内三方docker源前提需要有自己的阿里云账号,安装好docker,可以参照《centos7安装docker》步骤登录阿里云控制台找到容器镜像服务查看自己的加速服务地址,并运行...

2021-08-25 15:13:02 96

原创 centos7安装docker

环境版本系统:ecs上centos7准备及安装关闭防火墙:systemctl stop firewalld.service 关闭防火墙systemctl disable firewalld.service 关闭开机启动关闭selinux setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config sed -i 's/SELINUX=permissive/SELINUX=d

2021-08-25 14:56:56 102

原创 rancher安装

介绍首先,在开发测试环境中步骤安装docker环境,并开启开机启动,加速等,详细内容请看《*****》。安装rancher环境,rancher的安装只需要有docker环境即可,切记要关闭swap虚拟内存,否则在服务较多的情况下可能会很慢。添加集群运行调试。详细步骤环境、版本运行docker info,查看docker信息安装rancher新建目录: mkdir /home/rancher到官网上复制执行命令,注意修改映射文件目录和端口修改后的命令为:sudo d

2021-08-12 01:16:03 1089

原创 frp安装

介绍frp的作用是可以作为内网穿透来使用,比如家里没有公网ip,可以买一个最便宜的阿里云服务器,三年200多,作为穿透的服务器,然后在家里的电脑或者nas上安装客户端,这样在公网就可以连接上nas了,同样适用于穿透公司内网,方便在家办公。frp的安装分为服务器(frps)和客户端(frpc),服务器版要放到公网的服务器上,客户端版放到需要穿透的局域网中。从图中可以看到,带宽受用户带宽、公网带宽和公司带宽的最小带宽限制,当然,frp也提供了stcp和xtcp,此部分以后在出教程。安装步骤安装环境

2021-08-12 00:41:47 2521

原创 mac如何免密登陆服务器(linux)

一、背景在使用mac时,发现mac没有xshell这样的工具,自带终端无法保存密码,这时使用免密登陆就方便很多。二、思路全部操作都只需在个人电脑上操作,前提是能够连上服务器,有服务器的用户名和密码三、步骤a、个人电脑的终端输入命令,生成密钥:ssh-keygenb、个人电脑上输入命令,将公钥传到连接服务器上:ssh-copy-id -i id_rsa.pub [email protected]输入密码c、连接服务器:ssh [email protected]...

2021-05-26 17:02:17 484

原创 rancher mysql 8.0.22 主从搭建

目标完成mysql的主从同步,为以后学习读写分离和分库分表做准备环境为了搭建方便,使用过rancher搭建。ip:192.168.0.240master:192.168.0.240:31810slave1:192.168.0.240:30128slave2:192.168.0.240:325551、主数据库环境搭建master配置文件说明:1、端口映射可以修改成固定端口,因为我的这台服务器有很多服务,且端口都有规则,所以使用随机端口以免影响正常服务2、因为rancher是在一台

2020-11-30 10:43:30 886 1

原创 springboot redis 实现令牌桶限流

springboot+redis 实现分布式限流令牌桶1、前言网上找了很多redis分布式限流方案,要不就是太大,需要引入第三方jar,而且还无法正常运行,要不就是定时任务定时往key中放入数据,使用的时候调用,严重影响性能,所以着手自定义实现redis令牌桶。只用到了spring-boot-starter-data-redis包,并且就几行代码。2、环境准备a、idea新建springboot项目,引入spring-data-redis包b、编写令牌桶实现方法RedisLimitExcu

2020-11-27 15:41:54 1408 1

原创 docker安装部署最新教程

学习目的:在centos7上搭建docker环境,用于以后的学习和环境搭建使用环境1、系统:centos7 linux 3.10[root@centos240 ~]# uname -aLinux centos240 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux2、yum更新到最新yum -y update学习目标:提示:这里可以添加学习目标例如:一周掌

2020-11-24 15:00:58 189

原创 阿里云docker加速

1、登录阿里云控制台。2、在搜索栏输入 容器镜像服务。3、选择镜像加速,选择对于系统,运行命令即可。注:有阿里云账号docker环境以及安装完成

2020-11-24 14:38:15 94

原创 docker mysql8 安装部署

1、环境:mysql版本:8.0.22docker版本:19.03.132、安装:docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.223、远程连接:docker exec -it mysql bash # 进入容器use mysql; # 切换数据库GRANT ALL ON *.* TO 'root'@'%'; # 授权ALTER USER ...

2020-11-24 09:15:44 93

原创 java se1.7 try-with-resources 使用

在进行java编程的过程中,出现文件流未关闭或者connection未关闭的情况,很难发现而且出现的问题也不知道是哪里的问题,无意中发现javase1.7开始出现try-with-resources,可以很方便的为我们处理忘记关闭文件资源的情况。String path = "C:\\Users\\ASUS\\Desktop\\11.txt";try(BufferedReader br =

2017-07-19 16:12:40 387

原创 Oracle merge into的用法,以及MySQL的相同功能语句

今天在重构以前的代码发现一个效率比较低的SQL,插入一条数据的时候先查询,如果不为空,则进行更新操作,如果为空则插入,则插入。一,Oraclemerge into emp ausing (select '111' as id,'周文军' as name from dual) bon (a.id= b.id)when matched then update set a.na

2017-07-01 17:28:15 12142

原创 poi读写Excel文件,兼容新旧版本的简单例子

导入jar包(poi)后,即可操作import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import org.apache.poi.hssf.us

2017-03-22 16:55:18 834

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除