- 博客(291)
- 资源 (2)
- 收藏
- 关注
原创 【开发心得】CentOS7编译Redis7.4.2打包RPM完整方案
由于最近客户需要解决redis版本升级问题,故而全网寻找安全版本,redis7.4.x版本求而为果,只能自己编译了。截止发文时间2025-02-12 最新稳定版的redis版本号为7.4.2。
2025-02-12 19:15:23
4106
原创 【源码系列】Spring源码编译
学习Spring源码第一关,必然是编译源码,先前编译过5.3.37,相对顺利,但是5.0.2在2025年编译比较费劲,特此记录推荐打包命令: gradlew build --refresh-dependencies -x test最好是跳过测试,不然有各种奇怪的测试报错,其实对于源码阅读来说,并不影响。
2025-02-10 19:15:33
4453
原创 【开发心得】SpringBoot Oauth2授权登录
oauth2相关学术概念网上一抓一大把,我们这里通过案例讲述实际对接。基于SpringBoot2.x后端方式实现oauth2授权登录。博主对接的时间为2024年3月份,当时 AppleID JustAuth1.16.6版本是不支持的,刚跟进了下,发现1.16.7在2024年9月已经更新了,可以直接拿来用。1. 微软的授权登录有点特别,justAuth1.16.6的默认实现是有问题的,主要是微软的细节存在变更。@Override// 用户信息必备/**
2024-12-30 15:52:38
1196
2
原创 【开发心得】SpringBoot对接Stripe支付
应用出海,需要对接国外的支付,之一的选择就是Stripe。这个介绍下Java对接Stripe的实现。官网:API文档:Stripe支付方式和概念比较多。付款方式: 一次性付款和周期订阅付款。支付方式: Paylink、charge、pay intent多种概念。对接方式: 前端对接,后端对接两种。Stripe在认证开通之前,支付属于沙箱模式。支付的时候,卡号填 4242 4242 4242 4242即可(在外网资料中看到的,暂时不知道其他特殊卡号是否支持)。
2024-12-30 10:09:56
1871
原创 【开发心得】springboot+mybatis对接翰高数据库及mysql数据库迁移
随着S3赛季的开启,信创化之路愈发加紧。国内出现了很多基于社区版mysql或者pgsql的优化版本的国产数据库。本文提到的翰高数据库基于pgsql实现(如存争议,可删除)。引用某度百科的原文简介:瀚高数据库引进了国际上最先进的开源数据库PostgreSQL内核技术,在此PostgreSQL社区版之上做了一系列的研发和优化。瀚高科技是中国最早致力于PostgreSQL数据库商业推广使用的专业化公司,在数据库方面有着丰富的开发、管理和培训经验。瀚高数据平台解决方案既可以为用户节约大量的数据库使用成本。
2024-12-17 20:50:34
1610
原创 【运维】nginx静态代理资源403权限问题
如题,遇到静态代理资源访问403,可以尝试检查其文件权限,父目录权限,需要确保。"目录使用标准的 755,对文件使用 644(umask:022)"
2024-10-08 16:09:17
953
原创 【centos7】rpm安装ES集群
discovery.seed_hosts: ["xxx.xxx.200.52", "xxx.xxx.201.52", "xxx.xxx.202.52"] 具体机器ip。cluster.initial_master_nodes: ["node-1"] 集群初始化节点。*******************仅主节点执行********************network.host: xxx.xxx.xxx.xxx 具体机器ip。修改node.host为从节点实际的ip 如xxx.xxx.201.52。
2024-08-07 19:39:45
1196
转载 【运维】SSH 的 -L、-R 和 -D 选项
L 选项用于本地(Local)端口转发。-R 选项用于远程(Remote)端口转发。-D 选项用于动态(Dynamic)端口转发。端口转发就是监听某一特定端口,然后将发往该端口的数据转发出去。-L、-R 仅转发 TCP 报文,-D 支持 SOCKS5 协议,可以同时转发 TCP 和 UDP 报文。
2024-03-12 10:49:23
2904
转载 【转载】Kubernetes详细教程
kubernetes,是一个全新的基于容器技术的分布式架构领先方案,是谷歌严格保密十几年的秘密武器----Borg系统的一个开源版本,于2014年9月发布第一个版本,2015年7月发布第一个正式版本。kubernetes的本质是一组服务器集群,它可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理。自我修复:一旦某一个容器崩溃,能够在1秒中左右迅速启动新的容器弹性伸缩:可以根据需要,自动对集群中正在运行的容器数量进行调整服务发现:服务可以通过自动发现的形式找到它所依赖的服务负载均衡。
2024-02-19 15:38:48
552
原创 【分享】windows11 vmware centos7 搭建k8s完整实验
开年第一天,补充下自己的技术栈。k8s安装 - 知乎【Kubernetes部署篇】K8s图形化管理工具Dasboard部署及使用_k8s可视化管理工具-优快云博客centos7环境下安装k8s 1.18.0版本带dashboard界面全记录(纯命令版)_sysconfig1.18.0版本-优快云博客侵删。
2024-02-18 18:30:54
1611
1
原创 【分享】centos7vim异常
问题描述: 虚拟机安装centos7,安装vim后异常,上下左右键会变成abcd,退格键无法删除。暂时未知,有可能是vim安装时,一个组件未安装导致。
2023-11-30 11:21:36
393
原创 【运维】永久关闭selinux不当,导致无法启动
selinux=disabled 写错成disable 或者 错误的把selinuxtype改了,要改文中红框的部分。4. 进入主系统,vim /etc/sysconfig/selinux 按照正确的重新编写。3. 方向下键找到linux16这一行,在末尾添加上selinux=0,然后ctrl+x继续启动。备注: 实在无法修复的时候,执行如下,重新安装SElinux policy,重新启动。现象: 卡centos loading进度条。2. 出现选择画面的时候 按e。
2023-11-21 16:43:56
1428
转载 【设计模式-单例模式】单例模式的7种写法。
有两个问题需要注意:1.如果单例由不同的类装载器装入,那便有可能存在多个单例类的实例。假定不是远端存取,例如一些servlet容器对每个servlet使用完全不同的类装载器,这样的话如果有两个servlet访问一个单例类,它们就都会有各自的实例。2.如果Singleton实现了java.io.Serializable接口,那么这个类的实例就可能被序列化和复原。不管怎样,如果你序列化一个单例类的对象,接下来复原多个那个对象,那你就会有多个单例类的实例。单例与序列化的那些事儿。
2023-11-03 15:48:01
135
原创 【分享】winterm ssh登录报错Unkown error
非软文哈,实测Winterm非常好用,唯一的障碍是 某些特定服务器ssh登录报错Unkown error。后经github issue得知,关闭会话设置-ssh选项卡中的 尝试键盘交互认证的勾即可。
2023-11-02 14:22:47
1159
2
原创 【开发心得】apache common BeanUtils忽略null值
前言: BeanUtils默认的populate方法不会忽略空值和null值,在特定场景,我们需要原始的值避免被覆盖,所以这里提供一种自定义实现方式。
2023-11-01 15:21:13
819
原创 【运维】fstab,systemctl与rc.local启动顺序
(2) 开机挂载mount etc/fstab与/etc/rc.d/rc.local区别差不多,差别就是如果你又程序依赖于NFS的话还是的放到fstab比较好。4、加载装载程序的配置文件:/etc/grub.d/ /etc/default/grub /boot/grub2/grub.cfg。9、systemd执行默认target配置,配置文件/etc/systemd/system/default.target。7、执行initrd.target所有单元,包括挂载/etc/fstab。
2023-10-27 11:09:21
1464
原创 【笔记】centos7 python2.7.5安装paramiko
在一台能联网的centos7 机器上下载(yumdownloader默认没有,需要手动yum install -y yum-utils)3. 将刚才的devel依赖和这三个依赖包都上传到离线的服务器上。2. 下载 pycrypto ecdsa paramiko。登录: https://pypi.org/search/1. 下载python-devel。搜索这三个名称,最好保持版本一样。4. 安装devel。
2023-10-19 15:14:22
935
原创 【开发心得】Jaxb使用珠玑
Java操作xml转换成javaBean,或者javaBean转换为xml的方式有很多。常见的有dom4j等工具直接操作dom,或者使用jaxb.jaxb介绍:JAXB(Java Architecture for XML Binding简称JAXB)允许Java开发人员将Java类映射为XML表示方式。JAXB提供两种主要特性:将一个Java对象序列化为XML,以及反向操作,将XML解析成Java对象。
2023-10-17 18:58:46
513
原创 【oceanbase】centos7/kylinv10部署oceanbase(x86版本)
解压: tar -zxvf oceanbase-all-in-one-4.2.0.0-100120230915135249.el7.x86_64.tar.gz /data/oceanbase。这里填写zone1,默认三个,点击右侧垃圾桶直接删除掉,然后填写你的服务器ip。2. 修改 ulimit 的 open file,系统默认的 ulimit 对文件打开数量的限制是 1024。(1) obd web 启动web管理界面,如果遇到防火墙问题,可以临时关闭,或者添加额外访问。# 加入以下配置,重启即可生效。
2023-10-16 15:12:02
620
原创 【开发心得】Java xsd文件转JavaBean
最近又要对接友商老的系统,依然采用http + xml方式的请求,客方提供了xsd,这里提供windows平台两种转换xsd文件为javaBean的方式。
2023-10-12 13:51:02
872
原创 【运维】一些团队开发相关的软件安装。
(1) 下载镜像,并且上传到服务器 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-16.2.8-ce.0.el7.x86_64.rpm。如果该版本不在了,去 https://dlcdn.apache.org/maven/maven-3/ 这层找。external_url改成指定的域名或者ip,如果没有,默认http://localhost即可。(4) 解压到指定目录,如 /opt/maven。(5) 添加环境变量。
2023-10-11 11:05:26
165
转载 【分享】centos7更换国内源
# centos-release-scl centos-release-scl-rh是SCL源。用来更新内核,Centos7的内核默认只到3.10,这个源可以更新到最新的内核.例如5.4。## scl-utils scl-utils-build是SCL-utils工具。源中的软件几乎都是最新稳定版,这些都是Linux骨灰级的玩家编译好放进源里的.# Centos7安装REMI源(国内安装)# 安装IUS源(依赖依赖epel源)# rhel8安装remi源。# 华为云的epel源。
2023-10-09 15:24:08
689
原创 【学习】普通人的golang学习攻略2023版
(1) 找一个合适的教程,讲真,golang的资料虽然不少,但是基于的版本和细节都不一样,需要尽可能找最新的资料,比如一些经典资料,《Go语言圣经》等,基于2016年的译本,相对老了一些。附一张跟着煎鱼大佬的博客学gin的截图,掌握语法后,通过他的博客,基本上可以学会gin框架,加上日常使用的sql, no sql等调用,剩下的就是用实战去喂了。(2) 关于版本选择,golang最新版本出到了1.2x,建议不管教程基于多少开始,都要用新的sdk,最好是1.17之后,毕竟引入了泛型。
2023-09-28 16:26:53
235
转载 【分享】使用growpart工具完成Linux系统盘分区扩容
yum install cloud-utils-growpart 命令安装growpart命令工具。lsblk –f可以看到/data分区为xfs,需要使用xfs_growfs命令进行扩展。使用growpart工具完成 linux系统盘分区扩容及文件系统扩展。1、fdisk -l以及lsblk命令可以看到只有一块60G大小的系统盘。使用growpart工具完成Linux系统盘分区扩容。3、接下来需要对LVM的PV,VG,LV进行扩容。2、运行growpart 命令扩容分区。
2023-09-25 15:09:16
1583
原创 【分享】golang windows 运行报错 undefined: syscall.SIGUSR1
在跟着煎鱼大佬学习 Golang-gin的时候,"在优雅的重启服务篇" ,为了gin服务的热更新,采用了 endless+fresh的方案,安装endless后无法在windows本地调试,然后报错。1. 通过cmd 执行go env 命令,找到go root参数,比如默认是: C:\Program Files\Go\src\syscall,使用有权限的notepad++ 或者其他记事本打开。找到signals常量定义。2. 重新go run即可。(优雅的重启服务-地鼠文档。
2023-09-11 15:30:31
1843
3
原创 【分享】docker引发的172.17.x.x网段无法访问
查阅资料发现,当 Docker 启动时,会自动在主机上创建一个名为 docker0 虚拟网桥,这实际上就是 Linux 的一个 bridge,可以理解为一个软件交换机。它会在挂载到它的网口之间进行转发。想搭建一个测试环境,折腾vmware虚拟机,发现公司的172.17网段怎么都访问不了。使用traceroute 发现,一直走172.17.0.1,无论是怎么更改配置,都是如此。系统会为这个 docker0 分配一个私有网段的ip。如ip地址为172.17.0.1子网掩码为255.255.0.0。
2023-09-05 19:39:14
2157
原创 【分享】使用FileChannel进行文件拷贝
有一定的效率差的,要注意读写环境的字符集要正确,避免中文乱码,且注意一下new RandomAccessFile(sourcePath, "r")的权限标识,尽量使用r,避免原始文件不存在会创建文件,或者提前判断。前言: 项目实际编写中,使用到了多种文件拷贝方式,有包括专门使用c写了拷贝工具,供给Java调用,也有使用标准的输入输出流,这里分享的是借助 FileChannel 来读写,中传送数据使用channel+buffer,大的数据可以使用allocateDirect申请直接内存传输以提高效率。
2023-08-17 13:50:45
210
原创 【原创】IPTVC2实现方案(文末有demo)
由于目前Springboot对cxf框架支持较好,并没对axis进行较好的集成,但是客户放所规定的wsdl又使用到了仅axis支持的rpc模式,因此不得不使用axis作为Webservice框架进行服务的服务端和客户端的搭建。这里的ctms.wsdl 是你的soap说明文档,这里可以使用本地绝对路径,或者网络地址。博主在重构业务代码(基于axis1)的时候,基于SpringBoot2实现,就参考了董老师的代码。最好和要引入的版本一致。新建或者使用您既有的业务代码,将生成好的代码贴进去,并且修改相关的路径。
2023-08-01 21:02:36
434
转载 【分享】mvn查询冲突的jar包
从报错日志来看,是某个axis2组件,用到了servletContext2.3,和springboot内置的tomcat的该组件冲突了。最近要把项目中用到的axis1.4升级到axis2(1.7.9),但是出现了。然后文本工具中成功找到这个冲突来自于 axis2-spring,排除之。
2023-07-28 14:57:03
209
原创 【运维】mysql与mongo的自动备份脚本
mongorestore --host 127.0.0.1 --port 27017 --db 库 --authenticationDatabase admin --username root --password 密码 --gzip --archive=mongo_2023-06-09_archive.gz。关于mysql和mongo的自动备份脚本,网上一搜一大堆,都不够简洁,这里写了足够简单的版本。2. 修改bak_mongo.sh与bak_sql.sh脚本的信息,比如备份路径。
2023-06-09 11:19:47
746
转载 【分享】win11启用网络发现
4、Function Discovery Resource Publication 的属性窗口,更改启动类型为自动,服务状态如果是已停止,还需要点击启动,最后按确定保存即可;6、SSDP Discovery的属性窗口,更改启动类型为自动,最后按确定保存即可;5、接着,回到服务,再找到并双击打开 SSDP Discovery 服务;2、计算机管理窗口,左侧展开服务和应用程序,再点击下面的服务;1、桌面右键点击此电脑,在打开的菜单项中,选择管理;
2023-06-08 13:21:51
683
转载 【分享】mysql 一些边缘值
mysql建立索引时,数据库计算key的长度是累加所有index用到的字段的char长度,在按照下面的比例乘起来。(1)单行最大超过65535(这里不包括TEXT、BLOB),则会报此错误;(2)单个字段如果大于65535,也会报此错误。在数据库中,索引的字段设置太长了,导致不支持。
2023-04-20 18:31:04
157
原创 【分享】resttemplate exchange 使用示例
postForObject和postForEntity方法的区别主要在于可以在postForEntity方法中设置header的属性,当需要指定header的属性值的时候,使用postForEntity方法。exchange方法和postForEntity类似,但是更灵活,exchange还可以调用get、put、delete请求。对于get请求,必须在请求的url中添加?a={a},参数为对应的map的key。在使用 RestTemplate时,通过map传参,遇到传不了参的问题。
2023-04-20 18:20:20
806
原创 【分享】Windows11安装oracle10g
解决方案参考: https://blog.youkuaiyun.com/lena7/article/details/103997727。问题: 安装Oracle:环境变量path的值超过1023字符。Windows版本: Windows11 22621.1413。因为之前在Windows10装过了,知道常见的几个问题。oracle版本: 10g 10.2.0.1.0。
2023-03-28 18:53:22
1482
原创 【运维心得】centos7 mysql8.0无法启动常见问题与解决方案
表象: Process: 1018 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS (code=exited, status=1/FAILURE)根据配置文件路径,grep log-error /etc/my.cnf 查询error日志路径,默认位置: /var/log/mysqld.log。2. 如1无有效信息,使用 mysql --help | grep my.cn 确定配置文件路径,默认位置: /etc/my.cnf。通常这个问题到这就解决了。
2023-03-14 10:22:34
3986
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人