- 博客(94)
- 收藏
- 关注
原创 从 Kafka 告警到前端实时可见:SSE 在故障诊断平台中的一次完整落地实践
♥️作者:小宋1021🤵♂️个人主页:小宋1021主页♥️坚持分析平时学习到的项目以及学习到的知识,和大家一起努力呀!!!🎈🎈加油!加油!加油!加油【写在前面】这篇文章的目标不是再讲一遍“什么是 SSE”的基础定义,而是基于一个真实业务场景,把“为什么选 SSE、怎么设计、怎么编码、怎么测试、怎么上线”讲透。场景很典型:后端持续消费 Kafka 告警流,需要按卫星维度把告警实时推送给前端页面,供值班人员快速感知与处置。
2026-02-24 15:21:27
783
原创 Java Web 接口 vs Python Web 接口:Spring Boot 与 Flask/FastAPI 对照
你会 Java Web(Spring Boot),想快速上手 Python Web(Flask/FastAPI)。这里继续用更直白的说法:如果你会 Java,就把“做法”和“习惯”平移到 Python,只是写法更短、文件更少。任何一个场景,都先写出能跑的最小版本,再慢慢拆层、加配置、加日志。会 Java 的人直接照着对照写,一小时内就能搭起 Python Web。真正容易出问题的地方不是语法,而是结构、依赖、配置、并发和资源释放。这篇文章提供的是“对照式地图”,你可以直接照着映射去写。
2026-02-09 09:54:13
626
原创 Java 多线程 vs Python 并发
本文完全按照“Java 写法 → Python 写法 → 一句话理解”来写,不讲术语,不绕概念,直接告诉你怎么写。目标:看完你能把 Java 的多线程思路直接套到 Python,并且知道什么时候用线程、什么时候用异步。一句话理解:Java pool.submit 对应 Python pool.submit。一句话理解:Java 用 Thread 子类,Python 用函数 + Thread。一句话理解:Java 链式回调,Python 用 await。一句话理解:Python 靠锁保证安全。
2026-02-09 09:53:56
689
原创 Java 程序员快速入门 Python:常见语法对照 + 常用库映射
这篇文章按“会 Java 的人”的习惯来讲 Python,重点是能看懂、能上手、能写代码。这部分继续用最直白的话解释:如果你会 Java,就把“做法”和“习惯”平移到 Python,只是写法更短。任何一个场景,都可以先写出最能跑的版本,再慢慢拆层、加配置、加日志。你会 Java,这篇文章就按“Java 写法 → Python 写法 → 一句话解释”来讲,并补上常用库映射。如果你感觉 Python 太自由,不知道怎么组织,就按 Java 的套路来:分层、分包、统一入口、统一配置。多写小项目,你会很快适应。
2026-02-09 09:53:41
797
原创 Java 数据库访问 vs Python 数据库访问:JDBC vs ORM
这里继续用更直白的说法:如果你会 Java,就把“做法”和“习惯”平移到 Python,只是写法更短、文件更少。任何一个场景,都先写出能跑的最小版本,再慢慢拆层、加配置、加日志。Java 用 JDBC/ORM,Python 用 DB-API/ORM。本文给出最直白对照。Java 的数据库思路和 Python 一样:连接、执行、提交、关闭。conn.commit() # 手动提交。
2026-02-09 09:53:14
375
原创 Java 项目结构 vs Python 项目结构:如何快速搭一个可跑项目
如果你会 Java,但刚学 Python,最容易卡住的不是语法,而是“项目怎么搭、目录怎么放、怎么跑起来”。这篇文章就用最通俗的方式,把 Java 项目结构和 Python 项目结构一一对照,让你一眼明白。Java 项目是“规范模板”,Python 项目是“约定模板”。你可以沿用 Java 的分层习惯,只是把每层放进 Python 的包里。Python 的入口是 if __name__ == '__main__'。每一节都给出“Java 写法/结构 → Python 写法/结构”的对照。
2026-02-08 20:35:07
635
原创 Python 与 Java 语法差别保姆级攻略(看这一篇就够了)
你如果会 Java,这篇文章就按“Java 写法 → Python 写法 → 一句话解释”来走。如果你之前写 Java,很容易把“类型 + 访问修饰符 + 结构”当成必须,但 Python 更强调“能跑 + 可读”。实际开发中,Python 的写法会更短,但一旦规模变大,也需要像 Java 一样做模块化、分层和规范命名。如果你习惯了 Java 的 IDE 提示,也可以给 Python 加类型提示(type hints),这样编辑器也能提示类型。一句话理解:Python 里拼字符串优先用 f,又短又清晰。
2026-02-08 20:31:37
768
原创 Kafka 自动发送消息 Demo 实战:从配置到发送的完整流程(java)
本文介绍了一个用于自动发送Kafka消息的Java Demo项目。该项目通过YAML配置文件指定Kafka地址、Topic和消息文件路径,支持多JSON消息以空行分隔的方式批量发送。核心设计采用配置驱动和同步发送机制,确保测试过程可控。项目结构清晰,包含配置加载、消息分段读取和Kafka生产者等模块,便于扩展和复用。使用时只需修改配置文件即可快速发送测试消息,适用于报警系统、日志采集等需要批量推送数据的场景。
2026-01-18 15:33:58
1047
2
原创 kafka入门+代码初步实现--小白必看
Kafka传统定义: Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。发布/订阅:消息的发布者不会将消息直接发布给特定的订阅者,而是将发布的消息分为不同的类别,订阅者只接收感兴趣的消息。Kafka最新定义:Kafka是一个开源的分布式事件流平台(Event Streaming Platform),被数千家公司用于高性能的数据管道、流分析、数据集成和关键任务应用。
2025-12-03 17:59:30
716
原创 Neo4j-图数据库入门图文保姆攻略
node-name 节点名# label-name标签名# 1、Neo4j数据库服务器使用此<node-name>将此节点详细信息存储在Database.As中作为Neo4j DBA或Developer,我们不能使用它来访问节点详细信息。# 2、Neo4j数据库服务器创建一个<label-name>作为内部节点名称的别名。作为Neo4j DBA或Developer,我们应该使用此标签名称来访问节点详细信息。# 创建带有属性的节点CREATE (........
2025-10-28 22:02:44
1488
2
原创 gpt-5和gpt-5-codex到底用哪个好?
当我们下载好codex插件之后默认是gpt-5而并非是gpt-5-codex,有小伙伴就问了,这个gpt-5和gpt-5-codex到底有什么区别呢,到底什么时候需要切换模型呢,在这里我整理了一下这两个模型的区别。愿大家在工作路上一帆风顺~若不确定:先尝试当前模型(gpt-5-codex),若处理效果差(如无法理解业务逻辑),再切换到 gpt-5。编写Java/SQL/XML 代码(如 MyBatis 映射文件、Spring Boot 接口)一、优先选择「gpt-5-codex」的场景(编程开发核心)
2025-10-27 15:19:11
1265
1
原创 Windows安装官方Claude Code 保姆级教程附带403登陆问题解决Idea集成Claude Code
Claude是由Anthropic公司开发的人工智能语言模型,被誉为"新一代数字助理"。它具备强大的能力,可以执行多种任务,如问答、写作、分析、创意等,并且拥有独特的人格特质。
2025-10-15 21:53:30
2736
原创 win11固定本机ip地址
在我们开发的时候如果网络波动或者重新链接wifi的时候可能会出现更换本机ip地址的情况,这样会对前后端联调以及穿透功能造成一些影响,还需要改其余地方的地址,十分麻烦,这样我们就需要固定自己的ip地址,即使网络变化只要是同一个wifi也不会改变ip地址,提升了开发的稳定性。子网掩码固定为255.255.255.0,默认网关和首选dns服务器前两位为你本身ip的前两位,后两位为1.1即可。1.邮件任务栏左侧,点击设置按钮,跳转到设置页面。8.点击使用下面的ip地址,即可固定ip。知识,和大家一起努力呀!
2025-08-22 10:08:37
1688
原创 Hutool生成二维码保姆级介绍
如果觉得单独的一个二维码很单调,没关系,我们可以自定义背景代码如下@OverrideQrCodeUtil.generate("https://www.baidu.com/", config, FileUtil.file("E:\\twoCode\\小宋的二维码2.jpg"));这两句话设置了生成二维码的宽高和二维码背景,我们运行一下代码看一下。apiPost请求成功,我们查看是否已经生成完毕。指定文件夹下已生成二维码文件。
2025-08-19 13:44:00
1063
原创 Java发送企业微信通知
这个功能是在后端实现的,首先我们要把自己的ip地址加在企业微信官网的ip白名单里。♥️坚持分析平时学习到的项目以及学习到的。🤵♂️个人主页:小宋1021主页。知识,和大家一起努力呀!♥️作者:小宋1021。
2025-08-18 16:56:07
485
原创 芋道审批流配置流程表单超详细介绍
这里的bedId就是我们刚刚配置好的字段唯一id,这段代码会找这个bedId是否有值,如果有值的话就转化成一个Long类型的数组,因为是级联选择器所以传过来的包含所有的路径id,我们只需要倒数第一位(床位号),倒数第二位(宿舍号)即可,把这两条数据放入到实体类里即可,这样在审批时需要填写表单的功能就做完了。2.选项数据:选项数据可以选择静态数据和动态数据,静态数据就是在这个页面自己配置好的数据,也就是写死的数据,我们一般不会用到静态数据,而且静态数据偏简单所以我们这里使用动态数据,动态的在后端获取数据。
2025-08-18 14:44:10
2011
原创 Java实现微信公众号发送通知
1.登录微信公众平台进入自己的微信公众号点击广告与服务下的订阅通知,如下图2.点击公共模板库,选择一个自己想要的模板(模板只能使用微信提供的模板),按照自己的需求去找一个模板,我这里要做一个访客出场提示。3.点击选用,保留自己想要的提示项即可。4.点击提交之后即可生成一条模板信息。
2025-08-14 14:06:57
507
1
原创 java调用api接口自动判断节假日信息
该接口支持按年、月、日来查询当天的信息,包括是否为工作日、是否调休、如果为节假日的话节假日的信息等...非常好用,下面是这个接口会返回的字段。
2025-08-13 13:48:49
1540
原创 pg序列实现字段的自增
需求:某个公司的外协员工在新增的时候需要自动生成工号,规则为W+五位数字,例如W00001,W00002,以此类推,数据库用的pg数据库,我本来想着查询出所有外协员工的数据,然后order by拿到最新一条的数据然后拿到最新的那一条记录,获取到这一条的工号加一赋值给新的数据。而且依赖新增时间进行搜索就会有问题,因为会出现同时创建的记录这样就会出现问题。所以我们可以使用pg的序列来实现这个需求,我们新增一个序列,让他从1开始,到9999999999结束,这样就可以对上我们的需求。
2025-08-08 17:26:12
396
1
原创 多线程向设备发送数据
需求:做一个部门授权,可以把所选择部门下面的所有人的人脸信息传到设备组里(多个设备),问题在于图片是通过Base64处理之后的,会导致文件名非常长,如果一次性传很多数据就会超过设备的最长请求长度,如果不用Base64处理的话让设备自己去minio下载就会导致特别慢,设备容易掉线,所以就用多线程发送。先看一下全部的代码,再看一下多线程的方法。
2025-07-29 09:17:34
629
原创 SpringBootloggers未授权访问漏洞处理
在编写系统的时候SpringBootloggers在未授权情况下可以访问是一个系统漏洞,我们可以通过加白名单或者直接关闭功能的方式处理。1.添加白名单添加SpringSecurity方法拦截,过滤用户拦截请求AuthorizeRequestsCustomizer。
2025-07-12 18:23:25
580
原创 无法更新postgre数据库类型为int8(即Long)类型的字段为空的解决办法
如图是一个很简单的逻辑,需求是doorId和doorGroupId不能同时存在,必须有一个值为空,本身是一个非常简单的逻辑但是就是无法set这个值为null,上网查了一下框架默认为null的时候不进update语句,解决办法是把mybatis语句变成sql语句拼进去,但是太麻烦了。就可以忽略哪些字段为null的限制,通过update语句把他置空,非常好用,如下图。其实是一个注解就可以解决的问题,把注解加入到DO实体类就可以。
2025-07-07 16:59:35
286
原创 SpringBoot2.3.1集成Knife4j接口文档
首先要查看项目中pom文件里面有没有swagger和knife4j的依赖,如果有的话删除,加入以下依赖。2.在controller上面加tag注解可以给controller接口起名字,改变英文显示。新建WebAppConfig类来控制./doc.html可以访问。到此配置完毕,范围localhost:后端端口/doc.html。operation则会改变接口的名字。
2025-06-03 16:39:20
599
原创 虚拟机安装达梦数据库
(Y/y:是 N/n:否) [Y/y]:Y。YOUR_DB_INSTANCE_NAME:数据库实例名称,替换成你想要的名字。YOUR_DB_NAME:和上一步中的YOUR_DB_NAME保持一致。(Y/y:是 N/n:否) [Y/y]:N。请选择安装语言(C/c:中文 E/e:英文) [C/c]:C。(Y/y:是 N/n:否) [Y/y]:Y。请选择安装目录 [/opt/dmdbms]:/opt/dm。YOUR_DB_NAME:数据库名称,替换成你想要的名字。(Y/y:是 N/n:否):Y。
2025-05-16 09:35:33
897
原创 使用nps配置内网穿透加域名解析
确保错误页面路径正确。cp startup102-3306-9018.sh startup本地ip-本地端口号-外网访问端口号.sh。修改-vkey为3生成的-vkey, 并修改日志的名称为log本地ip-本地端口号-外网访问端口号.log。./startup本地ip-本地端口号-外网访问端口号.sh。查看日志是否启动成功。
2025-05-15 19:22:30
660
原创 natapp结合nginx使用一个域名跑两个服务
log=none #log 日志文件,可指定本地文件, none=不做记录,stdout=直接屏幕输出 ,默认为none。clienttoken= #对应客户端的clienttoken,将会忽略authtoken,若无请留空,mac 下,终端运行。此时打开对应的域名地址即可访问到本地启动的对应服务。监听我们的端口,我的前端项目端口为 80,故使用 80 端口,配置了前后端项目代理,例如这里我的前端项目启动的服务地址为。
2025-05-14 10:56:18
1156
原创 在虚拟机中安装Linux详细教程
运行指令:tar -xvf VMware-Workstation-Full-版本 号.x86_64.tar。自定义硬件-新CD/DVD(SATA),浏览【CentOS镜像所在位置(之前所放在的位置)】,找到将其打开即可。④ 配置如下图所示就行(选择Linux(L)后版本默认一般选择Ubuntu),完成下一步。再点击左上角的完成,退出来可以看到,网络问题已经解决了。直接点击右上角完成,回到配置页面,可以看到,这个也解决了。将阿里云的源输入进去,然后点击 完成 ,就配置好了。最后,我们配置 软件选择。
2025-04-25 17:25:41
1579
原创 Linux安装Elasticsearch详细教程
M1(Arm) 系列 Mac 用户建议选择 ES 7.8.x 以上版本,因为考虑到 ELK 不同产品自身兼容性,7.8.x以上版本原生支持 Arm 原生 JDK。ES 8.x 及之后版本,选择 Java 17 或者 Java 18,建议 Java 17,因为对应版本的 Logstash 不支持 Java 18。注:如果Linux服务本来没有配置jdk,则会直接使用es目录下默认的jdk,反而不会报错。#修改/etc/sudoers文件,进入超级用户,因为没有写权限,所以要先把写权限加上。
2025-04-11 16:40:19
1264
原创 单点登录云平台子系统集成方式
log.warn("参数校验失败异常:-----------------" + fieldError.getDefaultMessage());log.warn("自定义异常:-----------------" + e.getMessage());// 取得token。log.warn("参数校验失败异常:-----------------" + message);4. 请保持网络连接;
2025-04-11 13:59:14
1187
原创 centos 编译安装 python 和 openssl
安装环境:centos 7.9 : python 3.10.5 和 openssl 3.0.12centos 6.10 : python 3.10.5 和 openssl 1.1.1两个环境都能安装成功,可以正常使用。
2025-04-08 11:11:23
588
2
原创 Vue实现动态数据透视表(交叉表)
需求:需要根据前端选择的横维度、竖维度、值去生成一个动态的表格,然后把交叉的值放入到对应的横维度和竖维度之下,其实就是excel里面的数据透视表功能,查询交叉语句为sql语句。获取动态表头方法:通过前端传过来的数据库字段的值,distinct查出这个字段有什么值,然后转化成对应的map集合发给前端实现动态表格。选择一下横维度、竖维度、值之后点击查询即可出现交叉结果。其余的条件都是过滤条件。
2025-03-27 20:08:09
992
原创 Hutool创建数据源工厂动态查询不同数据库不同数据表的数据
需要我去通过各种不同的id找到不同的表,最后的重点是通过数据库表里存的连接信息,用户名和密码去指定数据库类型(比如MySql、DM等)数据库做链接然后找到对应数据表里的所有信息。Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。Hutool中的工具方法来自每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;
2025-02-20 16:10:04
585
原创 DeepSeek-R1+对话页面本地部署保姆级教程
选择好模型之后,点击右侧这个按钮,复制指令,这里是:ollama run deepseek-r1:7b。接下来让我们回到官网,找到models去寻找deepseek-r1(现在很火,第一个就是)安装完成后,你会发现你的Docker界面里多了Open WebUI的条目。但是在命令行窗口下对话,还是太抽象,我们需要一个美观的图文交互界面。下载完成之后选择安装,安装完成之后任务栏会有一个常驻的小羊驼标志。图形界面的DeepSeek-R1,准备就绪,随时待命!使用win+r,输入cmd召唤出命令行窗口。
2025-02-08 14:52:54
778
原创 使用NPS内网穿透图文详细教程
NPS及内网穿透介绍:NPS是一款轻量级、高性能、功能强大的内网穿透代理服务器,以下是关于它的详细介绍:内网穿透是一种技术,允许通过公网访问内网的设备和服务。NPS通过在公网上搭建一个服务器,然后将内网设备和服务通过一个安全的隧道连接到这个服务器上,从而实现公网访问。协议支持全面:兼容几乎所有常用协议,如TCP、UDP、HTTP(S)、SOCKS5、P2P等。全平台兼容:支持Linux、Windows、Mac系统,还支持一键安装为系统服务,简化操作流程。控制全面:服务端和客户端控制一体化,管理更加便捷。HT
2025-01-14 15:17:32
2765
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅