- 博客(218)
- 资源 (28)
- 问答 (1)
- 收藏
- 关注
原创 SpringBoot解决下载接口文件名中文乱码问题的3种方法
在Spring/SpringBoot项目中,中文文件名下载出现乱码的主要原因是编码不一致和Content-Disposition头部设置不当。解决方法包括: 统一编码方式,将文件名进行URL编码处理; 正确设置Content-Disposition头部信息; 同时处理编码和头部信息的问题。这些方案能有效解决下载时的中文乱码问题。
2025-06-12 13:45:14
107
原创 Kafka集群部署(docker容器方式)SASL认证(zookeeper)
本文介绍了Kafka和Zookeeper的Docker部署方案。使用CentOS 7.9系统,Docker 20.10.6和docker-compose 1.28.2环境。通过docker-compose.yaml文件配置容器参数。详细说明了Zookeeper的配置文件(zoo.cfg)、认证文件(zookeeper_server_jaas.conf)和环境变量(java.env)的设置,以及Kafka相关的配置参数。最后通过docker-compose命令启动服务。
2025-06-03 13:43:39
702
原创 Docker或Docker-Compose时间时区配置
本文介绍了在Docker和Docker-Compose中配置时区的几种方法。对于Dockerfile,可通过复制时区文件并设置环境变量来配置中国时区。在Docker-compose.yaml中,提供三种配置方式:通过环境变量SET_CONTAINER_TIMEZONE、TZ直接设置,或挂载宿主机时区文件到容器(只读模式)。这些方法都能确保容器时间与主机操作系统保持一致,适用于需要统一时区的应用场景。
2025-06-03 13:29:21
294
原创 CentOS7.9环境离线部署docker和docker-compose的两种方式
本文介绍了两种在CentOS7.9系统上安装Docker的方法。第一种是通过yum安装RPM包:先在联网服务器下载Docker23.0.4及其依赖包,打包后上传至目标系统安装;第二种是二进制安装:解压二进制文件到/usr/bin目录,配置系统服务。两种方法都包含启动Docker、设置开机自启和验证步骤。最后还介绍了docker-compose的安装方法。两种安装方式都详细说明了操作命令,适合不同环境下的Docker部署需求。
2025-05-30 11:22:49
1022
原创 docker-compose部署SpringBoot项目的两种方式(构建镜像和挂载文件)
Docker是一种基于容器技术的轻量级虚拟化平台,用于快速部署和运行应用程序。它通过容器隔离应用及其依赖项,实现跨环境一致运行。本文演示了两种在Docker中部署SpringBoot项目的方法:一是通过Dockerfile构建自定义镜像并配合docker-compose编排;二是直接挂载文件方式运行现有Java镜像。两种方式均展示了端口映射、卷挂载等关键配置,并提供了常用docker-compose命令说明,帮助开发者快速掌握容器化部署技巧。相较于传统虚拟机,Docker容器更轻量高效。
2025-05-29 14:03:49
548
原创 Spring AI Alibaba 调用文生语音模型(CosyVoice)
语音合成(Text-to-Speech, TTS)技术通过机器学习将文本转换为自然语音,掌握语言的韵律、语调和发音规则。CosyVoice是阿里开源的多语言、情感丰富的语音生成大模型,支持零样本语音生成和跨语言声音合成。SpringAI是Spring团队推出的AI应用框架,旨在将AI能力集成到Java应用中。SpringAIAlibaba是基于SpringAI的开源项目,适配阿里云大模型服务,帮助Java开发者快速构建AI应用。本文演示了如何使用SpringAIAlibaba调用CosyVoice模型生成语
2025-05-22 16:25:59
702
原创 SpringAI开发SSE传输协议的MCP Server
SpringAI开发SSE传输协议的MCP Server。本例参考网络资料分别创建MathTool、WeatherTool两个工具类,分别提供两个Long数值的加法和算法功能,提供城市天气查询功能。
2025-05-21 17:09:15
1061
原创 SpringBoot项目使用POI-TL动态生成Word文档
在动态生成Word文档的需求中,调研了两种主要技术方案:FreeMarker模板填充和POI-TL技术。POI-TL技术强调必须使用Microsoft Word生成模板,而非WPS等工具。实现步骤包括:准备Word模板文件、创建SpringBoot工程并配置pom.xml文件、创建实体对象Device.java、编写数据渲染逻辑。通过POI-TL技术,可以动态生成包含设备列表、管道列表等数据的Word文档,并保存到指定路径。此方法适用于需要根据模板和数据动态生成文档的场景。
2025-05-15 11:08:16
521
原创 SpringAI使用OpenAI API格式调用DeepSeek服务
SpringAI使用OpenAI API格式调用DeepSeek服务,介绍OpenAI API的格式并分步演示案例创建步骤与过程。
2025-05-01 08:35:45
788
原创 Docker部署SpringBoot项目
Docker是一组平台即服务(PaaS)的产品。它基于操作系统层级的虚拟化技术,将软件与其依赖项打包为容器。托管容器的软件称为Docker引擎。Docker能够帮助开发者在轻量级容器中自动部署应用程序,并使得不同容器中的应用程序彼此隔离,高效工作。该服务有免费和高级版本。它于2013年首次发布,由Docker, Inc.开发。 Docker是一个开源的平台 ,用于开发、交付和运行应用程序。
2025-04-28 14:53:25
1052
原创 Ollama本地部署DeepSeek模型服务
Ollama 是一个基于 Go 语言的本地大语言模型运行框架,类 docker 产品(支持 list,pull,push,run 等命令),事实上它保留了 Docker 的操作习惯,支持上传大语言模型仓库 (有 deepseek、llama 2,mistral,qwen 等模型,你也可以自定义模型上传)。它简化了模型的下载、管理和运行流程,用户可以通过命令行与模型交互,并支持自定义模型和 API 集成。可以在本地加载不同的模型,对比它们的性能,研究模型的输出特性等,兼容多种开源模型。
2025-04-28 13:45:39
712
原创 SpringAI集成本地部署DeepSeek大模型服务(Ollama)
本例演示使用SpringAI集成本地部署的DeepSeek大模型,DeepSeek大模型使用Ollama的方式部署。Spring AI是一个面向人工智能工程的应用框架,由Spring团队推出,旨在将AI能力集成到Java应用中。Spring AI的核心是解决AI集成的根本挑战,即将企业数据和API与AI模型连接起来。
2025-04-28 13:42:05
1073
原创 算力盒子VS边缘计算盒子
备丰富的功能拓展性,包括以太网、USB等接入功能,方便接入各种传感器和外设,支持HDMI显示或CAN工业总线等,支持Wi-Fi、4G/5G通信。用于本体部署、数据分析、数据计算、控制管理、安全布置等,广泛应用于连锁门店、加油站、化工厂、工地、厂区、电力系统、电信机房、智能安防、智慧社区、校园、景区、园区等场景。边缘计算盒子是一种用于边缘计算的设备,通常包括计算、存储、网络和安全等功能,用于处理和计算边缘设备生成的数据,并将处理结果传输到云端或其他地方。需支持高速网络(如4G/5G/WiFi)
2025-03-27 14:44:59
1141
原创 具身智能(Embodied Intelligence)介绍
具身智能(Embodied Intelligence) 是指智能体(如机器人、虚拟代理等)通过与物理环境或虚拟环境的交互,感知、学习和执行任务的能力。与传统的基于纯数据或算法的智能不同,具身智能强调智能体必须“拥有身体”,并通过身体与环境互动来实现智能行为。
2025-03-27 14:40:53
442
原创 MCP(Model Context Protocol,模型上下文协议)
MCP(Model Context Protocol,模型上下文协议)是由 Anthropic 提出并于 2024 年 11 月开源的一种通信协议,旨在解决大型语言模型(LLM)与外部数据源及工具之间无缝集成的需求。它通过标准化 AI 系统与数据源的交互方式,帮助模型获取更丰富的上下文信息,从而生成更准确、更相关的响应。
2025-03-27 14:29:54
895
原创 docker-compose隐藏敏感配置项
在使用docker-compse启动docker容器时,docker-comose.yaml文件可以清楚的查看到详细配置项,这样可以允许你轻松管理配置项,但是有时候对于敏感的配置,例如:数据库密码、认证密码 不能直接显示在配置文件中。此时我们就需要在使用docker-compose隐藏敏感配置项。
2024-10-25 08:00:00
576
原创 ThingsBoard知识点(Transports和Rule Engine)
1、JDK 111、org.thingsboard.server.transport.mqtt.MqttTransportHandler存在提示“ Cannot resolve symbol ‘TransportProtos’”步骤一:打开idea菜单: File->setting->plugins 搜索 proto*, 安装protocol Buffer Linter插件, 并重启打开idea 的路径,找到 bin 下的 idea.properties 配置文件, 记事本打开,搜索。
2024-03-07 08:30:00
1519
原创 ThingsBoard自定义规则节点开发
3.1 下载rule-node-examples源码3.2 编译example3.3 开发自定义规则节点(RuleNode)1) 实现TbNode接口2)添加@RuleNode注释,添加节点的名称、关联类型、说明、UI文件、及UI的selector模块名(驼峰命名法,对应着js的短横线命名法)等3)实现TbNode接口对应的init()、onMsg()方法■ init()中初始化,主要获取用户配置的数据■ onMsg()中处理业务逻辑。
2024-03-06 23:20:06
1782
原创 SkyWalking介绍与使用docker-compose部署服务
Skywalking是分布式系统的应用程序性能监视工具,专为微服务,云原生架构和基于容器(Docker,K8S,Mesos)架构而设计,它是一款优秀的APM(Application Performance Management)工具,包括了分布式追踪,性能指标分析和服务依赖分析等。
2024-01-25 15:43:29
1486
原创 SkyWalking介绍和Docker环境下部署
Skywalking是一个国产的开源框架,2015年由吴晟个人开源,2017年加入Apache孵化器,国人开源的产品,主要开发人员来自于华为,2019年4月17日Apache董事会批准SkyWalking成为顶级项目,支持Java、.Net、NodeJs等探针,数据存储支持Mysql、Elasticsearch等,跟Pinpoint一样采用字节码注入的方式实现代码的无侵入,探针采集数据粒度粗,但性能表现优秀,且对云原生支持,目前增长势头强劲,社区活跃。整个架构,分成上、下、左、右四部分。
2024-01-08 19:45:00
4102
1
原创 基于PGPOOL-II部署PostgreSQL高可用环境
PGPOOL-II可以保持已经连接到 PostgreSQL 服务器的连接,并在使用相同参数(例如:用户名、数据库、协议版本)连接进来时重用它们。而当PGPOOL-II的连接数达到最大值时,新的连接会被放入队列,而不是立即返回一个错误。总的来说,PGPOOL-II是一个功能强大的中间件,能够提供连接池、复制、负载均衡、限制超过限度的连接以及并行查询等功能,以提高数据库的性能和可靠性。使用并行查询时,数据可以被分割到多台服务器上,所以一个查询可以在多台服务器上同时执行,以减少总体执行时间。
2024-01-04 18:30:00
1453
原创 Spring HTTP请求与应答国密算法加解密(对称加密方式SM4)
标志着我国商用密码算法国际标准体系进一步完善,展现了我国先进的密码科技水平和国际标准化能力,对提升我国商用密码产业发展、推动商用密码更好服务“一带一路”建设具有重要意义;如果接口加了解密注解DecryptionAnnotation,并且参数使用RequestBody注解标注,传入json使用统一格式RequestData类,则自动解密,并且转为对应的数据类型;如果接口加了加密注解EncryptionAnnotation,并且返回统一的json数据Response类,则自动对数据进行加密。
2023-12-28 17:02:24
1432
原创 EMQX(5.3.1)多机集群部署
也就是说,在 emqx.conf 中的 node.name = emqx@192.168.0.12 应该使节点的 监听端口 5370,端口 5371 用于 emqx1(或 emqx-1),以此类推。例如,在 emqx.conf 中的 node.name = emqx@192.168.0.12 应该使 节点的监听端口为 4370,而 emqx1(或 emqx-1)的端口为 4371,以此类推。只有 "BasePort" 是 "5370"。如果集群节点之间有防火墙,常规监听端口应该允许集群中的其他节点连通。
2023-12-11 23:30:00
933
原创 EMQX-5.3.1单机集群部署并基于Nginx实现负载均衡
有特殊需求,希望同一个客户端连接至同一个服务器,则可以使用 IP Hash 策略。部署的服务器存在性能差异,我们可以通过配置权重 weight 来修改轮询的几率。本例单机集群部署使用三个节点,分别为node1、node2、node3。3 创建docker-compose.yml文件。最小连接数策略,优先分配给获得连接数较少的服务器。随机轮询就是从待选列表中随机分配连接。6 配置Nginx的负载均衡策略。默认用户名: admin。默认密码: public。7 扩展其他负载均衡策略。IP Hash 策略。
2023-11-25 17:15:32
1931
原创 基于MongoDB的空间数据存储与查询
MongoDB 中使用 GeoJSON对象 或 坐标对 描述空间地理数据。MongoDB使用 WGS84 参考系进行地理空间数据查询。更多更新信息请关注“技术客格”公众号。
2023-08-20 20:55:09
2210
原创 Redis集群部署(docker-compose)
更多更新信息请关注“技术客格”公众号。依次使用不同的端口号。1)进去启动服务容器配置集群。2)配置集群。使用3主+3从的部署方式。
2023-08-07 22:43:11
782
1
原创 MySQL集群部署(基于GTID方式)
基于 GTID 的主从复制方式的出现,主要是用于替换传统的日志点 复制方式。通过GTID 可以保证每个主库提交的事务在集群中都有 唯一 的一个事务 ID。强化了数据库主从的一致性和故障恢复数据的容错能力,在主库 宕机发生主从切换 的情况下,GTID 方式可以让其他从库自动找到新主库复制的位置。GTID 指的是全局事务 ID,全程是 Global Transaction Identifier ,在整个事务流程中每一个事务 ID 是全局唯一的,且在整个主从复制架构中该 ID 都不会相同。1.2 从数据库配置。
2023-08-05 23:44:11
418
原创 SeaweedFS安全配置(Security Configuration)
SeaweedFS安全配置(Security Configuration)
2022-06-28 00:16:35
2011
原创 开源文件服务(SeaweedFS)
SeaweedFS是一个非常优秀的由 golang 开发的分布式存储开源项目。它是用来存储文件的系统,并且与使用的语言无关,使得文件储存在云端变得非常方便。
2022-04-30 22:56:00
3299
原创 S3协议介绍
Amazon S3 提供了一个简单 Web 服务接口,可用于随时在 Web 上的任何位置存储和检索任何数量的数据。此服务让所有开发人员都能访问同一个具备高扩展性、可靠性、安全性和快速价廉的数据存储基础设施。
2022-04-29 21:48:10
9506
原创 PostgreSQL修改连接数
PostgreSQL数据库最大连接数是系统允许的最大连接数,当数据库并发用户超过该连接数后,会导致新连接无法建立或者连接超时。
2022-04-28 22:37:50
10311
SeaweedFS 3.00
2022-04-30
Android 调用摄像头功能【拍照与视频】Demo
2014-06-03
Android WebView与JavaScript交互操作(Demo)
2014-06-20
Activity页面跳转传值
2014-04-29
hibernate-release-4.3.8.Final
2015-01-20
Android下拉刷新上拉加载效果功能
2014-04-30
Hessian-3.2.1.jar和源码
2016-06-18
如何成为软件架构师?
2014-09-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人