自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(287)
  • 资源 (10)
  • 收藏
  • 关注

原创 k8s代理外部https服务

项目部署在k8s环境,不能像以前nginx代理下即可,需要分成两步完成代理: 1. 创建k8s外部service;由于项目要和第三方对接,调用第三方接口,且接口前端直接调用即可,没有必要后端再包装一层,但前端无法直接调用第三方接口,因为不同域名,有跨域问题,需要后端代理。,和正则表达式中的意思完全一样,代表第一个捕获组,即第一个括号中匹配到的内容。重定向规则根据自身情况配置,没有的可以不配置,其中的。为零号捕获组,代表整个表达式匹配到的内容。代理的外部接口是https协议的需要加上。

2024-04-16 14:47:25 330 1

原创 Kettle下载地址

kettle是一款基于java开发的洗数工具,可以通过图像化的操作界面,拖拉拽的操作方式,实现数据导入导出清洗等功能,还支持编写脚本进行数据处理,功能十分强大。kettle本身是开源免费的,但它的下载地址非常难找,官网上藏的太深;如果下载连接失效,则从官网上通过以下路径进行下载。在新打开页面最下方,点击下载。在新开页面点击“尝试社区版”

2024-02-22 10:20:53 647 1

原创 k8s中cert-manager管理https证书

目前https是刚需,但证书又很贵,虽然阿里云有免费的,但没有泛域名证书,每有一个子域名就要申请一个证书,有效期1年,1年一到全都的更换,太麻烦了。经过搜索,发现了自动更新证书神器;当然cert-manager是基于k8s的。

2024-02-02 18:46:19 904

原创 Let‘s Encrypt创建免费https证书

随着https的普及,越来越多网站使用https证书;没有https证书,网站无疑相当于在互联网上裸奔,是否被强,完全看黑客心情。但一个https证书的价格实在不便宜。虽然阿里提供了免费的证书,但这证书不能颁发给根域名,每有一个域名就需要申请证书。等证书过期了还要进行更换,这种运维简直灾难。找来找去,也只有Let’s Encrypt颁发的证书满足要求。Let’s Encrypt 官网:Let’s Encrypt是证书颁发机构,他们可以颁发根域名证书,唯一问题就是证书授权时间比较短,只有3个月。

2024-01-31 09:32:00 295

原创 MySQL JSON_CONTAINS() 传递参数

MySQL函数检查一个 JSON 文档中是否包含另一个 JSON 文档。

2023-12-28 18:38:33 817 6

原创 docker中的网络不通问题

有时候在使用docker时,会莫名其妙docker内部与外网网络不通。

2023-11-30 10:36:44 783 1

原创 CentOS安装nodejs

【代码】CentOS安装nodejs。

2023-11-20 14:08:20 315

原创 VSCode修改主题为Eclipse 绿色护眼模式

从参加开发以来,一直使用eclipse进行开发,基本官方出新版本,我都会更新。后来出来很多其他的IDE工具,我也尝试了,但他们的主题都把我劝退了,黑色主题是谁想出来?😂 字体小的时候,看着太费眼了!因为一直用eclipse,所以当时找了很多方法把背景变为绿色,绿色确实更护眼,长时间码代码也不觉得累。我的eclipse主题但是,eclipse实在是越来越落后了,随着Vue,React,Docker,k8s,AI辅助编程工具等新技术的到来,eclipse越来越力不从心。

2023-11-06 16:36:20 1720

原创 LeeCode-整数对应二进制中1的个数

1除了个位是1,其他位都是0,进行&操作时,就可用来判断n的个位是不是1。判断完个位,无符号右移即可继续判断。输入一个整数,返回其二进制中1的个数。

2023-11-02 10:36:03 81

原创 Centos7下使用Yum更新Python版本

【代码】Centos7下使用Yum更新Python版本。

2023-09-13 16:32:38 391

原创 MinIO分布式存储k8s集群部署

这种方式我并没有登录成功,可能这种代理只能通过localhost:9090访问,没有深入研究,我是通过ingress暴露地址,拿token进行访问的;这里使用的5.07,请根据自己k8s版本自行下载安装,https://github.com/minio/operator/releases。启动后,访问看板:http://127.0.0.1:9090/,输入设置的用户名密码,这样一个单节点MinIO就搭建好了;以上就是所有的必填项,其他配置,可以大概看下,不想看的点击创建也可;

2023-08-31 23:43:36 2473 4

原创 Java根据日期获取季度-简单实现

【代码】Java根据日期获取季度-简单实现。

2023-08-28 17:46:27 866

原创 Java wait() notify() join()用法讲解

这里能调用成功,因为当前执行线程,拿到了LOCK_A的锁;这里代码会一直等待下去,可以设置时间,等待指定时间后会自动唤醒;也可以使用notify()方法;唤醒后,也会立即进入下一次wait(),直到线程运行结束或者等待时间到期;可以看到虽然调用线程持有锁对象,但和调用wait的对象不一致,仍然会报错。时,只要线程没有执行完毕就会一直处于等待状态;时间结束或者线程结束,方法才能结束;时,只要线程还在运行,就会进入。

2023-08-07 17:36:21 206

原创 Mysql升级8.0后日期类型兼容性问题

该问题是因为代码中使用Map类型获取查询返回值,原5.7驱动中,日期类型会被转为Date类型,现有8.0.33驱动中,日期类型转为LocalDateTime;造成前端拿到类型不是Date出现类型装换异常。最近对原有项目数据库进行升级,从MySQL 5.7 升级到8.0,因此项目种的驱动程序也要做相应升级。以为针对LocalDateTime的修改是从8.0.23开始的,只要使用之前版本即可;

2023-06-12 15:42:21 1294 1

原创 ShardingSphere-JDBC整合SpringBoot JPA读写分离失败

ShardingSphere JDBC 整合Spring Boot JPA读写分离失败

2023-05-16 01:23:59 662 1

原创 Maven项目查看包引入关系

该命令会在控制台中输出一个树形结构,其中每个节点表示一个Maven模块,节点下面的缩进表示该模块所依赖的其他模块,每个依赖项都包含了该依赖项的坐标信息、版本号以及传递路径等信息。在输出结果中,可以搜索目标依赖项的坐标信息,然后查找其传递路径,从而确定是哪个模块引入了该依赖项。如果该依赖项被多个模块引入,可以查看它们的传递路径,以确定它们的引入方式和顺序。命令来查看每个依赖项的传递路径,从而确定哪个模块引入了该依赖。如果需要查看某个特定模块引入的依赖项,可以在。是要查找的依赖项的坐标信息。

2023-05-11 18:42:50 2554

原创 Docker时区问题

如果镜像不是基于Debian构建或者没有安装tzdata,建议安装后重新打镜像,或者自己进入容器调整好后,重新打成镜像,后续使用新做的镜像即可。与 Debian 镜像不同,此类镜像中并没有包含tzdata,所以只设置环境变量并不能达到我们想要的效果,因此需要安装tzdata。与 Debian 镜像不同,此类镜像中并没有包含tzdata,所以只设置环境变量并不能达到我们想要的效果,因此需要安装tzdata。当前docker容器技术应用越来越广泛,但在启动容器后,容器内部的时间并不是东八区。

2023-05-10 17:57:20 1451

原创 Kubernetes对象之PersistentVolume,PersistentVolumeClaim和StorageClass

前面我们学习了Kubernetes中的Volume,我们可以发现前文中的Volume(无论何种类型)和使用它的Pod都是一种静态绑定关系,在Pod定义文件中,同时定义了它使用的Volume。在这种情况下,Volume是Pod的附属品,我们无法像创建其他资源(例如Pod,Node,Deployment等等)一样创建一个Volume。因此Kubernetes提出了PersistentVolume(PV)的概念。

2023-05-10 10:57:31 1462 1

原创 Seata 1.6.1整合SpringCloud实现分布式事务(含代码)

到seata-server根目录下,script/config-center目录下,复制config.txt内容,粘贴到seata.properties,根据自己需要修改即可,主要修改store下的内容;创建seata数据库,到seata-server根目录,script/server/db下,打开mysql.sql,运行,创建相关表。通过以上步骤,seata-server端搭建完成,并且该方式支持集群搭建,相同配置,再启动一个seata-server即可;,账号密码:seata/seata,

2023-05-08 16:45:47 991

原创 maven子模块test类依赖其他子模块test类

文件中声明一个 test 作用域的依赖。这将使被依赖的子模块的测试类的依赖项也成为依赖于当前子模块的测试类的一部分。在 Maven 中,子模块之间的依赖关系可以通过在 pom.xml 文件中声明依赖来实现。如果希望一个子模块的测试类依赖于另一个子模块的测试类,需要在被依赖的子模块的。为了实现这个依赖关系,您需要在。每次修改完成后,都要整个项目。的测试类,该测试类依赖于。,如果还不行,再加入。

2023-04-21 16:16:20 1133 1

原创 Docker部署RabbitMQ

Docker一键部署RabbitMQ

2023-03-27 11:26:45 147

原创 CAP介绍及思考

CAP定理:前提是分布式系统中,CAP三个只能满足两个,不能同时满足三个特性。

2023-03-17 12:28:31 325

原创 k8s ConfigMap 中 subPath 字段和 items 字段

什么时候应该使用 Subpath- **场景一**: 一个共享卷, 挂载多个路径.- **场景二**: ConfigMap或Secret挂载到特定目录的特定路径, 而该目录下已经有其他文件且不希望被覆盖掉

2023-03-01 21:21:39 685

原创 Esxi NAT网络搭建

本文主要讲述如何在Esxi上只有一个公网IP情况下,实现内部虚拟机上网,以及外部对内部服务的访问;环境Esxi 6.7。

2023-02-25 18:46:42 3111 1

原创 Helm安装Harbor

Harbor 是由 VMware 公司为企业用户设计的 Registry Server 开源项目,包括了权限管理 (RBAC)、LDAP、审计、管理界面、自我注册、HA 等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能。目前该项目已经捐献给CNCF并且毕业。github:Harbor说白了,就是一个有web管理界面,具有高可用特性的docker仓库,现在又加入了chart仓库。docker官方提供的registry,功能简单,没有图形管理界面,使用不是很友好。

2023-02-24 17:05:38 787

原创 NFS介绍及服务器搭建

最全NFS介绍以及部署说明,简单小白

2023-01-10 09:21:26 7844

原创 Seata AT 模式详细介绍

seata TA分布式事务

2022-10-13 18:32:56 372

原创 maven引入本地jar包的方法

maven作为包管理工具,好处不必多说但是有些情况,比如需要引入第三方包,如快递鸟,支付宝,微信等jar包(当然有可能直接提供maven依赖)如果直接下载到本地之后,怎么整合到自己的maven工程呢?https://oss.sonatype.org/愿意折腾可也搞搞,可以参考 如何发布Jar包到Maven中央仓库(确实比较麻烦)如这是我手动上传到maven中央仓库的jar包 https://mvnrepository.com/search?q=chendahai优点:可以直接在pom.xml中引入,打包部署

2022-06-09 10:51:58 2544 1

原创 kettle数据库乱码问题

1、打开数据库连接编辑页面,高级下,设置2、 选项下设置为设置完后,大部分查询就不会有乱码问题了;1、数据库查询组件经过前文配置后,数据库查询组件还是会查询出乱码,这时打开下图设置即可;...

2022-06-08 12:57:17 2290 1

原创 数据结构--树

一、树的概念这是一颗大自然的树这是数据结构中的树二者看起来是如此的相像,现实中的树是根在地上,枝干往上长,叶子在整颗树的最顶端。而数据结构中的树如此相似却又刚好相反,树的根在上面,枝干往下长,叶子在树的最底端。先在脑子里有这么个概念,具体有关于树的术语在下文详细提及。定义树是一种非线性结构,由n(n >= 0)个结点组成,当n=0的时候,此时的树被称为空树。当n>0时,此时的树存在一个结点被称为根结点(如上图的A结点),而除根结点外的其它结点可以分为m个集合,每个集合本身又是一颗树

2022-05-05 18:41:04 1186

转载 git cherry-pick 教程

前言对于多分支的代码库,将代码从一个分支转移到另一个分支是常见需求。这时分两种情况。一种情况是,你需要另一个分支的所有代码变动,那么就采用合并(git merge)。另一种情况是,你只需要部分代码变动(某几个提交),这时可以采用Cherry pick。一、基本用法git cherry-pick命令的作用,就是将指定的提交(commit)应用于其他分支。$ git cherry-pick <commitHash>上面命令就会将指定的提交commitHash,应用于当前分支。这会在当

2022-04-27 17:02:55 590

原创 并发和并行的区别(图解)

在学习多线程/进程编程时,我们经常会遇到并发和并行这两个名词,它们看起来是一个概念,都是“多个线程/进程同时执行”的意思,但实际上它们是有区别的,甚至说不是一码事。很多教材也都解释了并发和并行的区别,例如:并行是指两个或者多个事件在同一时刻发生,而并发是指两个或多个事件在同一时间间隔发生。并行是在不同实体上的多个事件,并发是在同一实体上的多个事件。不过这种解释非常晦涩难懂,估计只有作者自己才能搞明白。这篇文章,我将站在一个大龄程序员的视角,使用通俗易懂的语言来重新剖析并发和并行的区别,并配上优雅

2022-04-18 18:16:32 3388 5

原创 Java Unsafe简单说明使用

Unsafe获取 Unsafe unsafe = Unsafe.getUnsafe();由于Unsafe为调用敏感,所以可能需要自行import,import sun.misc.Unsafe;使用compareAndSwapIntpublic final native boolean compareAndSwapInt(Object object, long offset, int expect, int update);该方法为native方法,CAS核心代码,比较并交换,该方法主要逻

2022-04-12 18:03:36 983

转载 什么是自旋锁?自旋的好处和后果是什么呢?

什么是自旋“自旋”可以理解为“自我旋转”,这里的“旋转”指“循环”,比如 while 循环或者 for 循环。“自旋”就是自己在这里不停地循环,直到目标达成。而不像普通的锁那样,如果获取不到锁就进入阻塞自旋和非自旋的获取锁的流程自旋锁,它并不会放弃 CPU 时间片,而是通过自旋等待锁的释放,也就是说,它会不停地再次地尝试获取锁,如果失败就再次尝试,直到成功为止非自旋锁,非自旋锁和自旋锁是完全不一样的,如果它发现此时获取不到锁,它就把自己的线程切换状态,让线程休眠,然后 CPU 就可以在

2022-04-11 17:19:10 552

转载 Java多线程:线程状态

新建状态(New):新创建了一个线程对象。 就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于“可运行线程池”中,变得可运行,只等待获取CPU的使用权。即在就绪状态的进程除CPU之外,其它的运行所需资源都已全部获得。 运行状态(Running):就绪状态的线程获取了CPU,执行程序代码。 阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直到线程进入就绪状态,才有机会转到运行状态。 阻塞情况分为三种: (1)

2022-04-11 16:44:20 117

转载 计算机系统基础---浮点数

简单回顾一下,简单来说,用定点数表示数字时,会约定小数点的位置固定不变,整数部分和小数部分分别转换为二进制,就是定点数的结果。但用定点数表示小数时,存在数值范围、精度范围有限的缺点,所以在计算机中,我们一般使用「浮点数」来表示小数。这篇文章,我们就来详细看一下浮点数到底是如何表示小数的,以及浮点数的的范围和精度有多大。什么是浮点数?首先,我们需要理解什么是浮点数?之前我们学习了定点数,其中「定点」指的是约定小数点位置固定不变。那浮点数的「浮点」就是指,其小数点的位置是可以是漂浮不定的。这怎么理解

2022-04-07 16:51:26 5127 1

原创 Java注解

定义Annontation (注解) 是Java5 开始引入的新特性,可以看作是一种特殊的注释,主要用于修饰类、方法或者变量。通过@interface关键字定义注解,并配合@Target、@Retention等必要的元注解,对注解进行描述;注解本质是一个继承了Annotation 的特殊接口:@Target(ElementType.METHOD)@Retention(RetentionPolicy.SOURCE)public @interface Override {}//等同于publi

2022-03-31 15:33:26 527

原创 【力扣】172. 阶乘后的零

解题思路因为13!的值就会超过整形范围造成溢出,所以不能对阶乘求解;因只有2 * 5可得到0,其他数相乘不能得到0,题目转换为求n!中含有多少个2*5;因为2的数量明显高于5,题目转为求n!中含有多少5;5!= 1 * 2 * 3 * 4 * (1 * 5); 10!=1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * (2 * 5); 可发现:n和5出现的次数是有关系的,n/5就是n!中5出现的次数;但经试验n>=25时并不适用;25!=1 * …* (1 * 5)…

2022-03-25 17:50:08 446

原创 CentOS替代者RockyLinux

起因2020年,CenOS宣布:CentOS 计划将重心从CentOS Linux 转移到 CentOS Stream。参见:CentOS 计划将焦点转移到 CentOS Stream终结时间CentOS Linux 7 停产:2024-06-30CentOS Linux 8 停产:2021-12-31CentOS Stream 8 停产:2024-05-31CentOS Stream 9 EOL:预计 2027 年,取决于“全面支持阶段”的 RHEL9 结束所以本文发布时,CentOS

2022-03-21 17:46:11 4851

原创 Maven父子项目单独构建子项目

单独构建子项目mvn clean package -pl module_name -am多模块工程的打包命令参考:-pl --projects <arg> 构建指定模块,模块间用逗号分隔;-am --also-make 同时构建所列模块的依赖模块;-amd -also-make-dependents 同时构建依赖于所列模块的模块;...

2022-03-18 10:52:03 545

publish-over-ssh

publish-over-ssh

2022-01-21

阿里Java开发手册-2019华山版.pdf

《Java 开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模 一线实战的检验及不断完善,公开到业界后,众多社区开发者踊跃参与,共同打磨完善,系统化地 整理成册。现代软件行业的高速发展对开发者的综合素质要求越来越高,因为不仅是编程知识点, 其它维度的知识点也会影响到软件的最终交付质量。比如:数据库的表结构和索引设计缺陷可能带 来软件上的架构缺陷或性能风险;工程结构混乱导致后续维护艰难;没有鉴权的漏洞代码易被黑客 攻击等等。所以本手册以 Java 开发者为中心视角,划分为编程规约、异常日志、 单元测试、 安全规 约、 MySQL 数据库、 工程结构、 设计规约七个维度,再根据内容特征,细分成若干二级子目录。 另外,依据约束力强弱及故障敏感性,规约依次分为强制、推荐、参考三大类。 在延伸信息中, “说明” 对规约做了适当扩展和解释;“正例”提倡什么样的编码和实现方式;“反例”说明需要 提防的雷区,以及真实的错误案例。

2019-10-22

Redis windows 64位

redis windows 64位版,解压即可使用

2017-08-23

Secure CRT

Secure CRT 注册机,拷贝到安装目录,运行选择path,打完补丁后,运行SecureCRT,选择手动填入(当然是英文),按注册机上的信息填入即可,亲测可用,

2017-08-20

Spring+Security中文帮助文档

Spring +Sercurity中文文档

2013-08-19

Extjs-4.1.1a

包含Extjs说明文档,实例,源码及样式统统有。

2013-05-22

feedback用于意见收集

feedback 意见收集 纯javascript 实现意见收集功能 页面引入js和css文件即可使用

2012-11-30

EL&JSTL;说明文档

EL&JSTL;说明文档,javaWeb,网络

2012-11-30

Tomcat服务器6.0

tomcat 服务器,小巧稳定,全面支持javaEE。

2012-09-11

java简易bbs

一个简单的java bbs论坛,论坛功能完整

2012-09-11

空空如也

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

TA关注的人

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