- 博客(49)
- 资源 (16)
- 收藏
- 关注
原创 响应式编程入门系列(三)
响应式流规范使响应式库彼此兼容,并通过引入拉-推数据交换模型解决了背压问题。尽管响应式流规范引入了重大改进,但它只定义了API和规则,并不提供日常使用的库。本章将介绍响应式流规范中最流行的一个实现,即Project Reactor(简称Reactor)。目前Reactor已经成为Spring框架生态系统的重要组成部分。从一开始,Reactor库的设计目的就是在构建异步管道时避免回调地狱和深层嵌套代码。库的作者使用装配线做了一个类比:“你可以将响应式应用程序处理的数据视为在装配线上移动。
2025-03-21 09:34:43
996
原创 Docker部署前端,动态配置后端地址
本文介绍了使用Docker环境变量动态配置nginx。采用的是通过docker run -e xxxx=xxx先往容器注入环境变量,然后进一步通过envsubst指令将环境变量写入到conf文件中,实现动态配置文件内容。
2024-06-25 17:41:32
847
原创 响应式编程入门系列(一)
响应式编程入门第一篇,介绍了响应式编程的基本概念,并通过从观察者模式、迭代器模式如何演进到最基础的响应式编程库的过程介绍RxJava1.x的核心设计思想。
2024-04-21 09:52:36
1141
原创 xxl-job适配postgresql数据库
xxl-job支持了mysql数据库,其他的数据库适配得自己弄一下,下面以目前最新的2.4.1为例进行说明适配postgresql数据库的过程。
2023-11-28 15:16:45
1719
原创 SpringBoot监控Redis事件通知
Redis事件通过 Redis 的订阅与发布功能(pub/sub)来进行分发, 因此所有支持订阅与发布功能的客户端都可以在无须做任何修改的情况下, 使用键空间通知功能。因为 Redis 目前的订阅与发布功能采取的是发送即忘(fire and forget)策略, 当订阅事件的客户端断线时, 它会丢失所有在断线期间分发给它的事件。在Spring Boot中,可以通过实现接口来实现Redis键过期回调功能。
2023-11-27 16:21:24
727
原创 开源堡垒机Guacamole二次开发记录之一
开源堡垒机Guacamole项目的基础二次开发,实现在浏览器页面进行SSH、VNC和RDP等远程桌面的功能。
2023-07-10 21:38:26
4945
9
原创 SpringBoot整合WebSocket的两种方式及微服务网关Gateway配置
项目中后台微服务需要向前端页面推送消息,因此不可避免的需要用到WebSocket技术。SpringBoot已经为WebSocket的集成提供了很多支持,只是WebSocket消息如何通过微服务网关Spring Cloud Gateway向外暴露接口,实际开发过程中遇到了很多问题。微服务框架本身是作为一个平台为各种服务提供支撑的,所以对常用的两种WebSocket实现方式都要能够适配,特别是用Stomp方式实现时要考虑WebSocket接口与Rest API接口共存时的跨域问题。
2023-04-23 10:02:10
12448
22
原创 ELK单机版部署踩坑及与Springboot整合
部署ELK单机版,要将所有的Springboot业务应用的日志对接ELK。部署、配置过程以及对一个问题的排查的详细记录。
2022-12-06 08:42:33
894
原创 nacos的postgresql版本的docker镜像
nacos支持mysql和postgresql两种数据库,docker镜像部署,可以部署在k8s中,测试成功。
2022-11-18 17:36:06
1285
3
原创 Springboot+MQTT集成,解决Callback中不能发布消息问题
SpringBoot与MQTT的集成,发送收取MQTT消息,集成时解决收取消息回调函数中不能发送mqtt消息的问题。
2022-11-02 20:18:44
1761
3
原创 SpringBoot整合Quartz实现动态任务,及在Job中注入Bean
Quartz是一个开源的任务调度框架。基于定时、定期的策略来执行任务是它的核心功能。如何和SpringBoot整合有很多教程。但是如何实现动态的任务管理,如删除、添加、修改定时任务,以及如何在Job中注入现有的Bean实现具体的业务功能,一般很少说到。本文结合具体的项目过程中的需求,实现了简单的解决方案。...
2022-08-18 10:43:45
4488
2
原创 三种常用时序数据库对比调研-InfluxDB、Prometheus、IotDB
针对三种常见的时序数据库进行了对比,主要从网络上的资料进行了对比,也有一点自己进行的实际读写性能的测试。
2022-07-16 09:17:07
38352
原创 IDEA Maven工程出现org.codehaus.plexus.component.repository.exception.ComponentLookupException错误
把本地的Maven升级到了最新版3.8.5,结果maven工程刷新的时候报错了。 把maven再降到3.6.x版,问题解决了。看来springboot不同版本对maven的版本还是有匹配的,不能追求最新版。附上maven3各版本的下载地址:maven3下载地址...
2022-07-07 11:31:32
1181
原创 AI中台技术调研
中台战略的兴起自从中台战略被提出并得到成功实施后,业界反响强烈,国内各家企业纷纷启动了自己的中台化进程。尤其是对于在战略中处于核心地位的数据中台建设,各方都有自己的解读和心得。在数据时代,企业中的大量业务都运行于大数据之上,数据的响应能力、处理能力决定了业务效率,所以中台战略中最主要的、也是实施的起点,仍然是数据中台。数据中台实现了组织内数据标准的统一,并打破数据壁垒,构建统一数据实体,对外提供统一的数据服务。通过这三个“统一”实现了组织内的数据资产中心,为前台业务提供了自动化、自助化的敏捷数据能力输出。.
2022-06-27 14:56:51
2002
原创 Http REST服务改为Thrift服务
最近的一个项目中,来来回回折腾了几次技术方案,其中的改为Thrift的过程稍微记录一下。本来是个业务过程很简单的项目,分为两个网络大区的两个服务端,其中的一个大区是传统的B/S架构,基于springboot开发,浏览器访问,没什么问题。另一个大区是C/S架构,我们一开始把服务端用SpringBoot实现了,用的是Springboot+JPA+MySQL,提供的是HTTP REST接口,客户端用的是CentOS+QT+libCurl实现,用libCurl对接服务端的REST接口。两个网络大区间是隔离的,通
2022-05-08 21:32:31
1050
原创 最简单的WebGIS地图引擎,最丰富的历史地理知识
无意中发现了一个Web地图,可以称的上是一个简单的web地图引擎,先看看界面战国时期世界版图 西汉汉武帝时期时间版图 大唐帝国时期世界版图 清朝康熙年间世界版图 2000年世界版图...
2022-05-06 22:02:20
1033
原创 Docker的一些分析和前端工程打包实践
Docker架构分析Docker说是C/S架构的,Docker的架构图如下:怎么看出是C/S架构呢,我做了个验证,服务器:CentOS + Docker本机:Win10 + Docker本机装好windows版Docker后,用命令查看:本机没有什么image,也没有容器在跑。在本机的环境变量中加上DOCKER_HOST,就切换到了服务器上的环境了:再在本机执行docker命令:看到的是服务器上的images和docker,可以看到服务器上正在用容器跑ha
2022-04-13 21:59:18
1069
原创 Jenkins + Maven + Harbor + SVN集成打包SpringBoot应用
搭建了持续集成环境,按照下图跑自动构建自动部署流程:先完成到了打包进入Harbor这一步了。还是先说明一下安装环境:操作系统: CentOS 7.9Maven 3.8.4 + Nexus 3.31.1 + Harbor 2.3.4 + Docker 20.10.10 + SVN 1.7.14 + OpenJDK 1.8具体安装过程不说了,看看几个重要的配置:Global Tool Configuration中配置Maven、JDK等环境路径 新建Item.
2022-04-13 17:47:18
382
原创 maven打jar包,包含第三方jar
最近工作外时间帮别的项目组做一个小工具,使用swing gui,在集成开发环境里面运行没问题了。打包发布给他们用,碰到了各种各样的问题,要么是找不到main函数,要么是找不到第三方jar包里的class。一般用Spring、SpringBoot这些框架做web应用,用spring-boot-maven-plugin很方便,现在这种非springboot的应用,得重新找打包的plugin。找了各种工具,总算找到一个能用的maven-shade-plugin,解决了问题。<build>
2022-03-16 17:02:53
2376
原创 少儿编程的感想与实践
关于少儿编程的思考及自己教小孩编程的实践经历,主要是针对小学生的Scratch和Python的编程教学。亲自教小孩编程的历程后续的课程设计
2022-02-14 09:01:55
6538
原创 使用JMeter作为MQTT客户端
MQTT服务器安装服务器操作系统CentOS7.8,MQTT服务器使用的是EMQX,版本4.3.5。yum install -y yum-utils device-mapper-persistent-data lvm2yum-config-manager --add-repo https://repos.emqx.io/emqx-ce/redhat/centos/7/emqx-ce.repoyum install emqxemqx start 启动emqttemqx ...
2022-02-11 13:10:52
904
原创 C++的简单FTP客户端实现(二)编程
基于QT,实现的不是一个功能全的FTP客户端,而是程序中有从FTP服务器下载文件的需求,主要实现了下载的功能,包括断点续传,没有实现多线程下载。
2022-02-01 10:56:38
7431
原创 C++的简单FTP客户端实现(一)FTP基础知识
FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。相比其他协议,如 HTTP 协议,FTP 协议要复杂一些。与一般的 C/S 应用不同点在于一
2022-02-01 10:39:51
11737
原创 CentOS vsftpd设置
查了网上很多种说法,折腾了两三个小时终于成功了。应该还是每个人的环境不一致,别人能成功的方法到我这儿就不行。CentOS 7.8,vsftpd 3.0.2。服务端关闭了selinux和firewall。安装yum -y install vsftpd设置新建用户和目录并设置所有者:mkdir /home/ftpdiruseradd -d /home/ftpdir -s /bin/bash ftpuserpasswd ftpuserchown ftpuser:ftpuser /
2022-01-25 18:07:58
387
原创 MybatisPlus+Postgresql整合的几个坑
最近把用户管理服务切换成PostgreSql数据库,和Mybatis整合时遇到了几个坑,记录一下。基础设置application.yml设置,注意schema的设置spring: datasource: platform: postgres url: jdbc:postgresql://192.188.1.245:5432/uum?currentSchema=uum schemaName: uum username: xxxx password: x
2022-01-24 17:26:41
11052
3
原创 记录一次K8S部署微服务失败的排查,ImagePullBackOff问题
前面有个文章写了如何打包微服务,保存入Harbor,SpringBoot打包镜像上传到Harbor接下来就是把微服务部署到K8S集群中了,master节点执行命令:kubectl create deployment sd-scada-fep-1 --image=192.188.1.246:6000/library/sd-scada-fep:1.0.0 -n sifang-app然后,执行命令查看状态kubectl get pods -n sifang-app发现出错了,出现了I
2022-01-18 15:10:35
1117
原创 kubectl、kuboard两种方式在集群中部署应用
kuboard安装K8S集群安装完毕后,kuboard的安装非常简单,在master节点执行命令:docker run -d \ --restart=unless-stopped \ --name=kuboard \ -p 8081:80/tcp \ -p 10081:10081/tcp \ -e KUBOARD_ENDPOINT="http://192.188.1.241:8081" \ -e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \
2022-01-18 09:47:25
3540
原创 Three.js风机旋转
Three.js是基于原生WebGL封装运行的三维引擎,在所有WebGL引擎中,Three.js是国内文资料最多、使用最广泛的三维引擎。使用Three.js可以给前端展示页面增加很多酷炫的效果。项目需要,想在大屏上加上风力发电机叶片旋转的效果,研究了一点点,我不是专业的前端人员,写起来有点业余,只是简单的把功能实现了,视觉效果方面还需要努力。风机模型是obj格式的,分了好多个部件,各叶片、柱子都是分开的:三维模型软件的链接在文章末尾,支持几十种常见的三维模型格式,很方便。效果如下,显示.
2022-01-07 09:12:00
1636
原创 Windows下Python GDAL安装及简单使用
安装1、安装Anaconda,下一步2、安装GDAL(1)打开Anaconda prompt,输入conda install gdal(2)打开网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal下载对应python的gdal包,注意对应的Python版本,如GDAL-3.2.3-cp37-cp37m-win_amd64对应的是Python37的,(3)进入下载目录cd xxx(4)执行pip install GDAL-3.2.3-cp
2021-12-29 09:25:47
2373
原创 linux下zlib库安装及C++调用示例
C++使用zlib库进行压缩和解压,简单的封装了一下。安装官网地址:http://www.zlib.net/ 我下载的是:zlib-1.2.11.tar.gz。解压:tar -zxvf zlib-1.2.11.tar.gzcd zlib-1.2.11/./configure --prefix=/usr/local/zlibmakemake checkmake installecho "/usr/local/zlib/lib" >> /etc/ld.so.con
2021-12-14 10:37:23
4047
4
原创 CentOS7安装K8S集群
本来打算用Rancher安装,rancher安装好了之后,在master和node节点上执行命令,一直不成功。公司网管告诉我公司网络的各种限制,也没听懂,没办法,只能自己手动安装k8s集群了。记录一下成功的过程。机器配置机器 ip地址 配置 master 192.188.1.241 4核、16G内存、CentOS7.8 node1 192.188.1.242 4核、32G内存、CentOS7.8 node2 192.188.1.243 4核
2021-12-08 14:22:00
1136
原创 SpringBoot打包镜像上传到Harbor
折腾了一天,总算成功了,记录一下。中间参考了很多人的博文,总是有这样或那样的问题,可能是大家的环境不一样,没说清楚。把我机子上成功的步骤和环境都记录一下,有图有真相。环境说明本机:Window10、IDEA 2021服务器:CentOS 7.8;Docker 20.10.10;Harbor 2.3.4Docker安装1、设置稳定的安装源(存储库)yum install yum-utils -yyum-config-manager --add-repo https://downlo
2021-12-06 17:13:42
2304
原创 Prometheus、TDengine时序库写入速度对比
Promethesu用pushgateway方式写入TDengine 用java client的两种方式,JNI和REST写入每次连续写入1000个点的数据,结果如下图,prometheus基本需要17秒,tdengine rest需要3秒,tdengine jni需要100毫秒,差距比较明显,也可能是我对prometheus的写入方式不对,后面找到更快的方式再补充。环境说明:Promethesu:2.30.3,pushgateway:1.4.2,单机部署TDengine:2.2..
2021-12-02 14:46:32
2284
xxl-job适配了postgresql数据库,xxl-job版本是2.4.1,修改了官方的源代码
2023-11-28
nacos2.1.0版,jar包,支持postgresql和mysql两种数据库
2022-11-22
nacos的docker镜像,可支持mysql和postgresql版本两种数据库
2022-11-18
SocketTool,Socket调试工具,TCP、UDP编程必备
2022-06-28
最简单的Web地图引擎,最丰富的历史地理知识
2022-04-30
QT C++实现的FTP客户端,带断点续传功能
2022-01-30
查看JSON文件的工具
2021-11-12
计算机图形学 代码
2013-05-30
C#表格控件-XPTable
2013-05-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人