- 博客(663)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 docker使用及基础常用命令,保存起来当手册用
很重要的要说明的一点: Docker容器后台运行,就必须有一个前台进程.,容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出的。有些容器必须要以前台交互式模式运行,而有些容器不需要比如说redis、mysql,后台守护式运行之后,redis就会在容器中启动,并不会退出。attach 直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器的停止。exec 是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器的停止。
2023-04-07 17:40:19
452
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 nginx安装与配置详解
目录一、安装Nginx:二、使用Nginx:简单与单台Tomcat整合三、详细使用(nginx就是去配置其文件而已),如下所示:一、安装Nginx:1 : wget下载: http://nginx.org/download/nginx-1.4.2.tar.gz2 : 进行安装: tar -zxvf nginx-1.6.2.tar.gz3 : 下载锁需要的依赖库文件: yum install pcre yum install pcre-dev...
2021-02-18 09:15:21
6013
12
原创 minio部署,springboot整合minio实现私有云文件存储
MinIO是一个对象存储解决方案,它提供了与Amazon Web Services S3兼容的API,并支持所有核心S3功能。MinIO有能力在任何地方部署 - 公有云或私有云,裸金属基础设施,编排环境,以及边缘基础设施。
2024-08-14 20:32:01
291
原创 NFS实现多服务器文件的共享
NFS是network file sytem的缩写,它允许网络中的计算机之间共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。因为NFS服务有很多功能,提供不同功能的进程使用的端口号也就会各不相同,如果客户端想要请求NFS服务器的某项功能,势必需要先知道其功能的目的端口号,才能从NFS服务器哪里获得服务。那么NFS服务这么多功能端口号,客户端如何知道NFS服务器的某项功能使用的什么端口号呢?
2024-08-14 09:42:32
608
原创 PaddlePaddle / PaddleOCR踩坑记,动手实现一个OCR服务器
安装完成之后,就可以用了。我这里是简单搭建了一个基于CPU的服务器,都是用CPU处理的。
2024-08-08 14:41:50
315
原创 SpringCloud-gateway编码实现路由策略的自动刷新,动态路由
gateway可以配置路由断言过滤器,但是通常一个微服务体系下,一个gateway网关对应多个微服务,如果上线一个新的微服务或者修改一个微服务,修改网关路由配置之后,通常需要重启网关之后,路由配置才会生效,这样的影响会比较大。考虑实现gateway的动态路由,不重启网关即可生效路由。/*** 自定义RouteDefinition/*** 路由状态 0禁用 1启用} }/*** 自定义RouteDefinition/*** 路由状态 0禁用 1启用。
2024-08-08 10:57:29
887
原创 maven常用命令与常见问题汇总
方案2、右键特定的pom文件,点击【Open In Terminal】,然后输入。方案1、在 terminal 运行。方案3、配置idea。
2024-08-06 15:07:53
239
原创 文档在线预览:keking/kkFileView踩坑记
gitee源码:官方文档:当您的项目内需要预览文件时,只需要调用浏览器打开本项目的预览接口,并传入须要预览文件的url,示例如下:二、部署服务1、传统部署方式(1)环境要求Java: 1.8+LibreOffice或OpenOffice(Windows下已内置,CentOS或Ubuntu下会自动下载安装,MacOS下需要自行安装)可以从官网下,但是需要加入知识星球(付费)。也可以下载源码自己进行构建:解压kkFileView-x.x.x文件(Windows用.zip包,Linux/Mac
2024-08-02 17:08:33
631
1
原创 go语言web框架:Echo超详细一文搞透
官方网站:GitHub资源库:文档:社区论坛:二、基本使用1、基本语法创建server.go执行:,端口80803、响应处理指定响应内容
2024-07-19 09:35:14
218
原创 golang开发环境搭建与踩坑记录
函数通常在最后的返回值中返回错误信息。我们可以在编码中通过实现 error 接口类型来生成错误信息。在指针类型前面加上 * 号(前缀)来获取指针所指向的内容。windows直接下载msi文件安装即可。多级指针本质上就是一个指针链。指针变量只能指向一个地址。
2024-07-18 10:14:08
573
转载 JMeter Address already in use 错误解决
2、TCP/IP 可释放已关闭连接并重用其资源前,必须经过的时间。此时间期间,重新打开到客户机和服务器的连接的成本少于建立新连接。如果运行的应用程序需要快速释放和创建新连接,而且由于 TIME_WAIT 中存在很多连接,导致低吞吐量,则调整此参数。3、新建 DWORD值,name:TcpTimedWaitDe,value:30(十进制) ——> 设置为30秒(默认240)4、新建 DWORD值,name:MaxUserPort,value:65534(十进制) ——> 设置最大连接数65534。
2024-07-17 16:27:55
60
原创 OpenResty使用Lua笔记
不加 local 的变量会在全局表中查找,这是昂贵的操作。如果再加上一些变量名的拼写错误,就会造成难以定位的 bug。可以把 s 这个包含函数的字符串,改成可以由用户指定的形式,并加上执行它的条件,这样其实就是 FaaS 的原型了。ngx.var 是一个性能损耗比较大的操作,在实际使用时,我们需要用 ngx.ctx 来做一层缓存。在 Lua 中,变量默认是全局的,会被放到名为。(1)Lua 的下标从 1 开始。
2024-07-16 10:29:36
341
原创 Openerstry + lua + redis根据请求参数实现动态路由转发
甚至还要考虑不同的 return 情况做不同处理,就很快发现代码中有大量的重复。在关于web+lua+openresty开发中,项目中会大量操作redis,重复创建连接–>数据操作–>关闭连接(或放到连接池)这个完整的链路调用完毕,根据用户访问url的参数,将请求转发到对应指定IP的服务器上。至此,实现了根据请求参数进行动态路由转发。安装openresty+redis,略。推荐一个二次封装的类库。
2024-07-12 08:32:01
548
原创 PySide6开发桌面程序,PySide6入门实战(下)
Qt style sheet,简写就是qss,也可以称为Qt样式表,qss功能类似于css,可以直接修改控件窗口样式。注意,如果使用资源的话,需要先# 示例QLabel/*背景色*//*字体颜色,前景色*//*字体类型*//*字体大小*/样式的设置有两种,一种是在ui设计器中直接写:sqlite是用C语言编写的一个嵌入型开源数据库,可以直接集成到项目代码中,SQLite 数据库不需要server,它只是一个文件,存储在磁盘中。
2024-07-08 10:47:44
716
原创 PySide6开发桌面程序,PySide6入门实战(上)
(1)为什么用PySide而不是PyQtPyQt是由 Riverbank Computing 公司开发,出现的比较早;它采用GPLV3许可证和商业许可证;这表示你如果使用PyOt,则必须将你的代码进行开源;如果要闭源,则需要购买商业许可。PySide是 Ot 官方开源的Python Qt库,出现的时间要比PyOt晚的多,这也是很多人知道PyOt不知道PySide的原因;但随着版本的选代,PvSide越来越强大,目前最新的是PvSide6,建议直接学PvSide6。(2)QT开发常见技术栈。
2024-07-08 10:47:29
1131
原创 Java核心 - 泛型详解
是在定义类、接口和方法时,可以在声明时通过一定的格式指定其参数类型。使用时再指定具体的类型,从而使得类、接口和方法可以被多种类型的数据所实例化或调用。这种可以在编译时进行参数类型检查的技术被称为泛型,是JDK5中引入的一个新特性。本质是参数化类型给类型指定一个参数,在使用时再指定此参数具体的值,那这个类型就可以在使用时决定。优点:把运行时的错误,提前到编译时,这样就可以在编译时把错误提示出来,避免了运行时出现错误;使用泛型可以提高代码的复用性,因为它可以支持多种类型的数据。
2024-07-03 09:03:35
1021
原创 网络基础扫盲:开发人员不得不了解的网络那些事
以下是工作中常用的网络层次和协议,其他的协议了解即可。应用层:HTTP、HTTPS;传输层:TCP、UDP;网络层:IP。网络层相关协议:IP协议(Internet Protocol,因特网互联协议);ICMP(Internet Control Message Protocol,因特网控制报文协议);ARP协议(Address Resolution Protocol,地址解析协议);
2024-07-02 09:20:38
931
原创 linux虚拟机部署的MySQL如何使用外网访问?教你轻松使用cpolar在centos搭建内网穿透
相信很多小伙伴在本地搭建了一个MySQL数据库,想让其他同事或者合作者一起使用。但是买一台服务器又比较贵,项目部署到云端的成本也比较高。在这里分享一种,在本地搭建的MySQL也可以在互联网访问的方式——使用cpolar在linux上搭建内网穿透。
2024-07-01 10:09:22
337
原创 linux虚拟机部署的web项目如何使用外网访问?教你轻松使用cpolar在centos搭建内网穿透
相信很多小伙伴开发了一个web项目之后,迫不及待的想将项目发布到外网,可以随时随地进行访问。但是买一台服务器又比较贵,项目部署到云端的成本也比较高。在这里分享一种,在本地启动项目也可以在互联网访问的方式——使用cpolar在linux上搭建内网穿透。
2024-07-01 09:52:50
614
原创 磁盘I/O基础扫盲:开发人员不得不了解的IO那些事
I/O,即输入(input)和输出(output),也可以理解为读(Read)和写(Write);I/O模式可以划分为本地IO,模型(内存、磁盘)和网络IO模型;I/O关系到用户空间和内核空间的转换,也称为用户缓冲区和内核缓冲区;用户态的应用程序不能直接操作内核空间,需要将数据从内核空间拷贝到用户空间才能使用。read和write操作,都只能在内核空间里执行,磁盘IO和网络IO请求都是先放在内核空间,然后加载到用户态内存的数据。
2024-06-18 11:52:43
1492
原创 内存基础扫盲:开发人员不得不了解的内存那些事
在日常开发中,JVM内存分配、OOM问题、垃圾回收等都和内存有关。计算机不可能将所有用户进程和系统所需要的全部程序和数据放入主存,所以操作系统必须对内存空间进行合理有效的分配。内存管理功能:内存分配回收 - 主存储器(物理内存)的分配和管理。地址转换 - 将逻辑地址转换成相应的物理地址(虚拟内存相关)。内存扩充 - 利用虚拟存储技术,从逻辑上扩充主存(硬盘开辟一块空间当内存使用)。存储保护 - 保证各进程在各自的存储空间内运行,互不干扰。计算机的物理内存上每字节都有一个唯一的物理地址。
2024-06-16 21:42:00
1086
原创 CPU基础扫盲:开发人员不得不了解的CPU那些事
CPU是计算机硬件系统的核心部件,也就是整个计算机的大脑。包含运算器+控制器(两个部件里面有寄存器组),通过CPU内部的总线进行通信。控制器(Control Unit,简称CU):计算机的指挥系统,用来控制计算机其它组件的运行。运算器(算数逻辑运算器,Arithmetic/Logic Unit简称ALU):运算功能,用来完成各种二进制编码做算数运算和逻辑运算,包括加减乘、与或非运算。控制器和运算器联系十分紧密,两大部件多数集成在同一芯片,统称为。
2024-06-13 20:45:23
805
原创 三高系统的架构设计方案:高并发、高可用、高性能
高并发、高性能、高可用,它们是互联网系统架构设计永恒的主题。三高并不是孤立的,而是相互支撑,相互影响的,随着并发量的提高,请求延迟肯定会增大,就越考验系统的可用性和性能。三高方案不是简单的一字一句就能说明白的,是需要日积月累,一步步踩坑踩出来的。只不过现在有一些大厂的案例,供我们来参考,实际落地的时候,还需要根据各个公司不同场景进行不同的设计。
2024-06-11 08:11:58
2013
原创 Java操作Excel大全(持续更新)
注意,EasyExcel包含poi相关的包,如果旧的项目用到了,有可能会有兼容问题。内容是freemarker的模板格式。注意,图片是无法保存的。3、另存为xml表格。
2024-06-05 14:01:02
612
原创 生产问题排查:springboot项目启动时注册nacos失败或运行时从nacos闪退
需要注意的是,当Pod被控制器(如Deployment、StatefulSet等)管理时,即使Pod未明确指定重启策略,控制器也会根据自身逻辑控制Pod副本的重启行为。这是默认的重启策略。生产项目是用k8s部署的,最近经常遇到启动时注册不到nacos(查找nacos的host地址找不到),或者运行的好好的,突然也连不上nacos了(同样是查找nacos的host地址找不到)。好在如果发生了这个异常,就会中断springboot项目的启动,用健康检查就非常的合适,此时健康检查的接口都调用不到。
2024-06-04 11:04:26
1161
原创 ElasticSearch高级搜索深入,聚合查询深入
搜索是用户和搜索引擎的对话,用户关心的是搜索结果的相关性是否可以找到所有相关的内容有多少不相关的内容被返回了文档的打分是否合理结合业务需求,平衡结果排名如何衡量相关性:Precision(查准率)―尽可能返回较少的无关文档Recall(查全率)–尽量返回较多的相关文档Ranking -是否能够按照相关度进行排序是一种用于信息检索与数据挖掘的常用加权技术。TF-IDF被公认为是信息检索领域最重要的发明,除了在信息检索,在文献分类和其他相关领域有着非常广泛的应用。
2024-06-03 08:30:08
394
原创 Flask框架基础入门,基本使用
当接收到请求时,Flask会遍历Flask对象下(已注册)的各蓝图对象,比对蓝图对象中记录的url,比对成功则映射到该url绑定的视图函数并返回响应。接收post请求的form参数。),用于实现程序功能的模块化。
2024-05-31 08:24:40
198
原创 规则引擎Drools,基于mysql实现动态加载部署
1、加一个DroolsManager加载时,从数据源中读取规则,然后依次添加。3、数据库部分没有完整实现,可以考虑实现多种数据源,其实mysql一种就够了。可以参照大佬写的引(我没试过),或者按照我上面的引入。
2024-05-28 11:42:02
690
原创 Java操作word文档大全(持续更新)
3.另存为,选择保存类型Word 2003 XML 文档(*.xml)【这里说一下为什么用Microsoft Office Word打开且要保存为Word 2003XML,本人亲测,用WPS找不到Word 2003XML选项,如果保存为Word XML,会有兼容问题,避免出现导出的word文档不能用Word 2003打开的问题】,保存的文件名不要是中文。的形式,如果有图片,尽量选择较小的图片几十K左右的小图片,并调整好位置,占位(小图片转换的base64数据少,便于修改);注意,要按照顺序生成ftl文件!
2024-05-27 08:59:42
720
原创 MongoDB基础入门到深入(八)MongoDB整合SpringBoot、Chang Streams
Change Stream指数据的变化事件流,MongoDB从3.6版本开始提供订阅数据变更的功能。
2024-05-24 09:04:26
1053
原创 MongoDB基础入门到深入(七)建模、调优
那么到底选择哪个方案更合理呢?从理论分析上可以看出,不管是小时存储,还是分钟存储,都是利用了MongoDB的信息聚合的能力。每小时的信息用一个独立的文档存储:设计上较极端,优势劣势都很明显;每分钟的信息用一个独立的文档存储:设计上较平衡,不会与业务期望偏差较大;落实到现实的业务上,哪种是最优的?最好的解决方案就是根据自己的业务情况进行性能测试,以上的分析只是“理论”基础,给出“实践”的方向,但千万不可以此论断。
2024-05-24 09:04:05
888
原创 MongoDB基础入门到深入(六)多文档事务
事务(transaction)是传统数据库所具备的一项基本能力,其根本目的是为数据的可靠性与一致性提供保障。而在通常的实现中,事务包含了一个系列的数据库读写操作,这些操作要么全部完成,要么全部撤销。例如,在电子商城场景中,当顾客下单购买某件商品时,除了生成订单,还应该同时扣减商品的库存,这些操作应该被作为一个整体的执行单元进行处理,否则就会产生不一致的情况。
2024-05-22 20:58:31
877
原创 MongoDB基础入门到深入(五)分片集群
分片(shard)是指在将数据进行水平切分之后,将其存储到多个不同的服务器节点上的一种扩展方式。分片在概念上非常类似于应用开发中的“水平分表”。不同的点在于,MongoDB本身就自带了分片管理的能力,对于开发者来说可以做到开箱即用。
2024-05-22 20:58:15
637
原创 MongoDB基础入门到深入(四)复制(副本)集
mtools是一套基于Python实现的MongoDB工具集,其包括MongoDB日志分析、报表生成及简易的数据库安装等功能。它由MongoDB原生的工程师单独发起并做开源维护,目前已经有大量的使用者。mtools所包含的一些常用组件如下:mlaunch支持快速搭建本地测试环境,可以是单机、副本集、分片集群。mlogfilter日志过滤组件,支持按时间检索慢查询、全表扫描操作,支持通过多个属性进行信息过滤,支持输出为JSON格式。
2024-05-21 08:50:42
616
原创 MongoDB基础入门到深入(三)索引高级操作
与大多数数据库一样,MongoDB支持各种丰富的索引类型,包括单键索引、复合索引,唯一索引等一些常用的结构。如果要定位某一行数据(key/value)的位置,可以先通过block的位置找到此page(相对于文件起始位置的偏移量),再通过page找到行数据的相对位置,最后可以得到行数据相对于文件起始位置的偏移量offsets。在现实场景中,唯一性是很常见的一种索引约束需求,重复的数据记录会带来许多处理上的麻烦,比如订单的编号、用户的登录名等。使用索引的查询,通过索引找到文档,使用索引能够极大的提升查询效率。
2024-05-21 08:50:27
718
原创 MongoDB基础入门到深入(二)聚合高级操作
聚合操作处理数据记录并返回计算结果。聚合操作组值来自多个文档,可以对分组数据执行各种操作以返回单个结果。聚合操作包含三类:单一作用聚合、聚合管道、MapReduce。单一作用聚合:提供了对常见聚合过程的简单访问,操作都从单个集合聚合文档。聚合管道是一个数据聚合的框架,模型基于数据处理流水线的概念。文档进入多级管道,将 文档转换为聚合结果。MapReduce操作具有两个阶段:处理每个文档并向每个输入文档发射一个或多个对象的map阶段,以及reduce组合map操作的输出阶段。
2024-05-19 20:12:00
1089
原创 MongoDB基础入门到深入(一)安装、文档操作
MongoDB是一个文档数据库(以 JSON 为数据模型),由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。文档来自于“JSON Document”,并非我们一般理解的 PDF,WORD 文档。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,数据格式是BSON,一种类似JSON的二进制形式的存储格式,简称Binary JSON ,和JSON一样支持内嵌的文档对象和数组对象。
2024-05-19 20:11:48
895
原创 Django5.0入门基本使用
函数 include() 允许引用其它 URLconfs。每当 Django 遇到 include() 时,它会截断与此项匹配的 URL 的部分,并将剩余的字符串发送到 URLconf 以供进一步处理。在根URLconf 文件中指定我们创建的 polls.urls 模块。在 polls 目录中创建一个 URL 配置,请创建一个名为 urls.py 的文件。
2024-05-14 06:31:32
1007
java覆写jar包代码不生效
2022-08-26
java==比较int值问题
2022-08-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人