- 博客(110)
- 收藏
- 关注
原创 海康威视摄像头视频Web播放方案
本文整理了海康威视摄像头视频在Web端播放的5种解决方案:1)官方SDK/插件方案(IE兼容);2)RTSP转码方案(HLS/RTMP/FLV);3)WebRTC低延迟方案;4)萤石云集成;5)浏览器兼容处理。各方案在延迟(100ms-5秒)、兼容性、部署复杂度上存在差异,推荐WebRTC(低延迟)或HLS转码(高兼容)方案。文中包含具体技术实现代码和性能对比表格,可根据项目需求选择适合方案。
2025-06-09 23:21:32
59
原创 一文搞懂 Dify
Dify(Different Interface For You)是面向开发者的智能体(AI Agent)构建平台,通过可视化编排降低大模型应用开发门槛。其核心价值在于将复杂的模型训练、API对接、数据清洗等过程转化为拖拽式操作(类似AI领域的「WordPress」)。
2025-06-09 22:13:03
234
原创 Prompt 工程师必备的编程技能
Prompt工程师需掌握Python编程(基础语法、requests/pandas等库)、API调用(RESTful/SDK)、数据处理(分析/可视化)和自动化脚本编写能力,并熟悉Git版本控制。核心技能为Python+API集成,辅助技能包括数据分析和自动化优化,以高效开发和测试AI应用。
2025-06-09 21:58:41
308
原创 实用的 Prompt 设计框架与工具
摘要: 本文介绍了实用的Prompt设计框架与工具,主要包括5种设计框架(角色扮演、链式思考、反向Prompt、多轮对话、结构化输出)和6种工具(如PromptPerfect、FlowGPT等),帮助优化AI输出质量。通过结合框架指导和工具辅助,并参考行业案例,可高效构建自动化AI应用。最终强调"框架+工具+案例"三位一体的Prompt设计方法论,提升AI交互效果。
2025-06-09 21:50:03
314
原创 如何成为一名合格的 Prompt 工程师 ?
摘要: Prompt工程师的成长需要技术、实战与职业发展三维结合。核心能力包括领域知识融合、模型理解和结构化Prompt设计,掌握量化评估工具与跨界沟通技巧。进阶路径分阶段:1-2月打基础,3-6月深化技术并考取认证(如星火、AWS)。企业实战强调复杂系统设计(Agent编排/RAG)和效能优化(模板引擎化)。职业发展分P3-P5等级(年薪15万-200万+),可转向AI产品经理等方向。需持续参与竞赛、技术沙龙,聚焦工程化能力与多模态技术,避免基础指令编写的低效竞争。成长公式为:领域知识×模型理解×工程能力
2025-06-09 21:43:56
497
原创 Docker 命令大全
Docker 常用命令速查指南 Docker 作为流行的容器化平台,其命令体系主要包含镜像管理、容器操作、网络配置和卷管理等功能。核心命令包括:docker pull 拉取镜像,docker run 运行容器,docker ps 查看容器状态,docker exec 进入容器,docker build 构建镜像。网络管理使用 docker network 系列命令,数据持久化则依赖 docker volume。此外,docker-compose 命令用于多容器编排。本文分类整理了 Docker 日常操作中最
2025-06-09 21:26:50
124
原创 SpringAI 集成 DeepSeek 以及多模型切换功能的demo
将模型列表和默认模型存储在数据库或配置中心(如 Nacos、Apollo),支持动态更新而无需重启服务。:SpringAI 应用可灵活切换 DeepSeek 的不同模型,满足多样化业务需求。
2025-06-09 21:24:34
68
原创 AI Agent 与 AI RAG 的对比,以及未来发展趋势
需要特定领域(如电商推荐系统)的技术实现方案时,可提供详细需求获取定制化架构设计。Agent拆解子任务。
2025-06-09 19:33:22
734
原创 SpringAI和LangChain4j哪个更适合企业级应用开发?
摘要: Spring AI更适合企业级AI应用开发,优势体现在成熟度、微服务集成、安全合规及运维支持。LangChain4j适用于复杂场景(如多轮对话),但需额外开发企业级功能。建议混合架构:Spring AI作核心底座,LangChain4j处理特定复杂任务。关键决策因素包括企业认证需求与场景复杂度,Spring AI在稳定性、监控和资源优化方面表现更优,而LangChain4j版本兼容性和运维成本较高。优先采用Spring AI实现基础功能,必要时补充LangChain4j工具链。
2025-06-09 12:59:30
508
原创 SpringAI集成RAG与Milvus/FAISS完整指南 && FAISS与Milvus在RAG系统中的对比分析
特性FAISSMilvus性能极致快(毫秒级)快(受服务层影响)规模适合小规模(万级以内)适合大规模(百万级以上)功能仅向量搜索全功能(存储+检索+管理)扩展性需自行实现分布式原生支持分布式易用性需自行集成文档管理开箱即用运维复杂度低(纯客户端库)中高(需数据库运维)典型使用场景实时问答、边缘设备企业知识库、大规模RAG系统最终选择应根据具体业务需求、团队能力和资源状况综合决定。
2025-06-09 10:01:53
557
原创 SpringAI核心解析 && SpringAI支持哪些主流的AI模型?
Spring AI 通过标准化接口实现了对20+ 主流 AI 模型供应商的支持,涵盖文本生成、向量计算、图像生成、语音转换四大核心能力,并提供对开源模型的灵活扩展能力。开发者无需重构代码即可自由切换底层模型供应商。注:完整支持列表可查阅Spring AI 官方文档(持续更新)。
2025-06-09 10:01:23
667
原创 AI名词详解大全 && AI名词详解大全(中英对照表格版)
本AI名词大全涵盖了AI的基础概念、模型算法、数据处理、评估指标、应用领域、开发工具、部署运维、伦理安全及新兴技术,适用于AI学习者、开发者及研究人员参考。无监督学习 / Unsupervised Learning。监督学习 / Supervised Learning。机器翻译 / Machine Translation。机器学习 / Machine Learning。深度学习 / Deep Learning。卷积神经网络 / CNN。循环神经网络 / RNN。自然语言处理 / NLP。
2025-06-09 10:00:47
522
原创 分布式算法 - Gossip算法
Gossip算法是一种去中心化的信息传播协议,其核心思想是通过随机节点间信息交换实现分布式系统的最终一致性。该算法具有高容错性、可扩展性等优势,适用于节点数量多、网络复杂的场景。典型应用包括分布式监控、缓存同步和服务发现等。与Paxos/Raft相比,Gossip实现更简单但只保证最终一致性。优化方向包括传播效率、可靠性增强和安全性提升等。该算法特别适合需要最终一致性和高容错性的分布式系统。
2025-06-08 02:42:08
605
原创 分布式算法 - Snowflake算法
Snowflake算法通过巧妙地将时间戳、工作机器ID和序列号组合,在保证ID全局唯一的同时实现了趋势递增,非常适合分布式系统的高并发ID生成需求,是分布式系统设计中的重要基础组件之一。Snowflake算法是Twitter开源的分布式ID生成算法,用于在分布式系统中生成全局唯一且趋势递增的ID,满足高并发、高性能的需求。是否大于上次时间戳?
2025-06-08 02:24:43
523
原创 分布式算法 - 一致性Hash算法
一致性Hash算法通过将数据和节点映射到环形空间,巧妙地解决了分布式系统中节点变动时的数据迁移问题,在保证数据一致性的同时大幅减少了系统开销,是分布式系统设计中的重要基础算法之一。一致性Hash算法是为了解决分布式缓存系统中节点增减时数据迁移量过大而提出的算法,最早由MIT的Karger等人于1997年提出。计算数据Key的Hash值。
2025-06-08 02:21:22
624
原创 分布式算法 - ZAB算法
采用主从架构简化设计结合ZXID实现高效的Leader选举和数据同步通过原子广播协议保证操作的原子性和顺序性在工程实现上注重性能和可靠性平衡ZAB在ZooKeeper中得到了成功应用,证明了其在分布式协调场景下的有效性,但相比Raft等算法,其学习和实现复杂度较高。
2025-06-08 02:18:41
521
原创 分布式算法 - Paxos算法
设计哲学Paxos:理论优先,通用性强Raft:工程优先,易理解实现方式Paxos:需要自行实现日志复制、选举等机制Raft:内置完整解决方案运维体验Paxos:故障排查困难Raft:状态机清晰,易于监控适用场景Paxos:需要高度定制化的系统Raft:需要快速落地的生产系统。
2025-06-08 02:10:13
638
原创 分布式算法 - Raft算法
易于理解:将复杂的一致性问题分解为几个清晰的子问题强领导:通过领导者集中管理日志复制安全性保证:通过任期号和日志一致性检查保证安全可用性:通过领导者选举保证系统可用性性能:日志复制是并行的,可以高效处理大量请求Raft算法通过这种设计,在保证强一致性的同时,提供了良好的可理解性和实现性,广泛应用于分布式系统中。
2025-06-08 01:41:54
413
原创 seata的核心表-与全局事务、分支事务、锁信息、回滚日志、TCC 防护日志以及一些扩展配置信息相关
Seata分布式事务框架的核心数据库表结构包括:1)global_table记录全局事务基本信息,如事务ID、状态和超时时间;2)branch_table存储分支事务详情,包括资源标识和操作状态;3)lock_table维护全局锁信息,防止资源并发冲突。这些表构成Seata的存储层,支持分布式事务的跟踪、管理和一致性保障,确保在异常情况下能正确进行事务补偿或回滚。表结构设计包含事务关联字段、状态标识、资源信息和扩展数据等关键字段。
2025-06-08 00:21:37
868
原创 Seata是如何处理空补偿和悬挂问题的?
空回滚:通过 tcc_fence_log 表校验 Try 状态,未执行 Try 的 Cancel 自动跳过并标记 suspended。事务状态表 创建 tcc_fence_log 表,字段包括 xid、branch_id、status 持久化事务状态,支持前置校验。当分支事务的 Try 阶段未执行(如网络超时或服务宕机),但全局事务触发回滚调用 Cancel 方法,导致无效回滚操作。Cancel 先于 Try 执行(如 Try 请求延迟到达),导致 Try 操作误执行,预留资源无法释放。
2025-06-08 00:20:55
534
原创 分布式事务的空补偿与悬挂问题详解及解决方案
分布式事务中的空补偿与悬挂问题是常见的数据一致性问题。空补偿指补偿操作执行时原业务未实际执行,而悬挂则是补偿操作先于原业务执行,均会导致数据不一致。解决方案需遵循幂等性设计、状态机控制和消息顺序保证原则,包括业务状态校验、分布式锁防护及状态机框架应用。同时需建立监控告警体系,对空补偿次数和异常状态跳转等指标进行实时监测。最佳实践建议在设计阶段明确状态流转图,开发阶段实现完善的日志和测试,运维阶段定期检查优化。通过系统级防护和业务校验,可以有效解决这些问题,保障分布式系统数据一致性。
2025-06-08 00:16:15
717
原创 JVM 内存模型(JMM, Java Memory Model)详解
JVM 内存模型(JMM)详解摘要 JMM是Java虚拟机定义的多线程内存访问规范,确保原子性、可见性和有序性。核心机制包括主内存(共享变量存储)和工作内存(线程私有副本),通过8种原子指令(如read/write)同步数据。关键特性: 原子性:基本类型读写、synchronized块; 可见性:volatile强制刷新内存,synchronized清空工作内存; 有序性:happens-before规则约束指令顺序。 JMM通过内存屏障适配不同硬件,解决CPU缓存一致性问题。实践建议:共享变量用volat
2025-06-08 00:13:12
318
原创 JDK8 JVM结构详细介绍 (一)(二)(三) (四)(五)
JDK8的JVM结构主要包括类加载子系统、运行时数据区、执行引擎和本地方法接口。相比之前版本,JDK8将方法区从永久代改为元空间,使用本地内存而非堆内存,解决了永久代常见的内存溢出问题。元空间与堆内存的关键区别在于:元空间存储类元数据,使用本地内存且默认无大小限制,而堆内存存储对象实例,由GC管理且大小可配置。这种改进提升了内存管理效率和稳定性,更好地适应现代应用需求。运行时数据区分为线程共享(方法区、堆)和线程私有(程序计数器、虚拟机栈、本地方法栈)区域,执行引擎包含解释器和JIT编译器,垃圾回收器负责内
2025-06-08 00:12:01
516
原创 常见算法及其特点
常见算法分为排序、搜索、图算法、动态规划、贪心算法等。排序算法中,快速排序(O(n log n))适合大数据,插入排序(O(n²))适用于小数据;搜索算法如二分搜索(O(log n))高效查找有序数据,DFS/BFS(O(V+E))用于图遍历。图算法如Dijkstra(O((V+E) log V))解决最短路径,Kruskal/Prim生成最小生成树。动态规划(如背包问题)处理最优子结构,贪心算法(如霍夫曼编码)选择局部最优。回溯算法(如八皇后)穷举解空间,字符串算法(KMP)优化匹配。
2025-06-08 00:10:37
382
原创 常用的数据结构及其特点
本文介绍了常见的数据结构及其特点,包括数组、链表、栈、队列、哈希表、树、堆、图、字典树和并查集。数组适合随机访问,链表适合频繁增删,栈和队列遵循特定顺序原则,哈希表提供高效查找,树适合层次化数据,堆支持优先级操作,图用于节点关系建模,字典树优化字符串检索,并查集管理动态连通性。不同数据结构适用于不同场景,开发者应根据需求选择合适的数据结构以提高算法效率。
2025-06-08 00:09:46
397
原创 Kubernetes (k8s) 命令大全
本文整理了Kubernetes常用命令,涵盖集群管理、Pod、Deployment、Service等核心资源操作。基础命令包括查看集群信息、资源详情和删除资源;Pod相关命令涉及创建、查看、进入和删除Pod;Deployment命令包括创建、更新、回滚和扩缩容;Service命令涉及创建和管理服务;ConfigMap和Secret命令涵盖创建、查看和删除配置与密钥;最后介绍了Namespace的创建、查看和删除操作。这些命令为Kubernetes日常管理提供了实用参考。
2025-06-07 00:29:00
695
1
原创 在 Jenkins 流水线中集成 SonarQube 进行代码质量检查
摘要: 本文详细介绍了如何在Jenkins流水线中集成SonarQube进行代码质量检查。主要内容包括: 环境准备:通过Docker或Helm部署SonarQube,获取Token并配置Jenkins访问权限; Jenkins集成:安装插件、配置SonarQube Server,并通过修改Jenkinsfile添加分析步骤,支持Kubernetes动态节点; 结果查看:在Jenkins日志和SonarQube Web界面查看代码问题; 常见问题:分析失败或连接错误的解决方案,如检查扫描路径和凭据配置。 适用
2025-06-07 00:23:10
889
原创 Kubernetes 部署 Java 服务并配置探活检查(Liveness & Readiness Probe)
如果 Java 应用没有 HTTP 健康检查接口,可以使用 TCP 探活(检查端口是否可连接)。如果 Java 应用需要执行自定义命令检查健康状态(如调用内部 API),可以使用。适用于 Java Web 应用(如 Spring Boot),通常使用。在 Kubernetes 中部署 Java 服务时,必须配置。,以确保应用正确启动并健康运行。Java 应用的探活检查通常通过。Spring Boot 默认提供。或自定义健康检查接口。
2025-06-07 00:16:20
471
原创 Kubernetes + Jenkins + GitLab 自动部署 Java 应用完整方案
本方案实现从 GitLab 代码提交 → Jenkins 自动构建 → Kubernetes 部署 Java 应用的全流程自动化,适用于企业级 DevOps 流水线。进入 Jenkins Web 界面 →。在 Kubernetes 集群中创建。在 GitLab 仓库根目录创建。
2025-06-07 00:15:24
808
原创 Kubernetes etcd 详解 以及 etcd数据同步的核心原理
etcd 是 Kubernetes 的核心组件之一,作为分布式键值存储系统,它负责存储 Kubernetes 集群的所有配置数据和状态信息。etcd 是 Kubernetes 的“大脑”,所有集群状态(如节点、Pod、Service、ConfigMap、Secret 等)都存储在 etcd 中。实现分布式一致性,确保集群中所有节点的数据同步。
2025-06-07 00:14:24
799
原创 Kubernetes ConfigMap 与 Kubernetes Secret
Kubernetes ConfigMap与Secret摘要 ConfigMap用于存储非敏感配置数据,支持键值对或文件形式,实现配置与镜像解耦。可通过命令行或YAML创建,并挂载为环境变量或文件。特点包括1MB大小限制、命名空间隔离及需手动更新配置,适用于应用配置和环境变量。 Secret专为敏感数据设计(如密码、证书),默认加密存储。使用方式类似ConfigMap,但更安全。两者均支持环境变量和文件挂载,但Secret适用于密钥等机密信息。最佳实践是将非敏感数据存于ConfigMap,敏感数据用Secre
2025-06-07 00:13:29
924
原创 Kubernetes Ingress详解 (一) (二) (三) (四)
Kubernetes Ingress详解 Ingress是Kubernetes管理外部访问的核心API对象,主要功能包括HTTP/HTTPS路由、负载均衡、SSL/TLS终止等。它由Ingress资源(规则定义)和Ingress Controller(执行组件)两部分组成,支持多域名访问、路径路由等场景。典型配置包含host、path和backend服务定义,高级功能涵盖路径重写、自定义错误页等。部署时需先安装Ingress Controller(如Nginx),并通过Service将流量最终分发到Pod。
2025-06-07 00:12:18
844
原创 Kubernetes网络插件(CNI插件)详解
对比维度FlannelCalicoCilium通信方式隧道封装(UDP/VXLAN)三层IP路由(BGP)eBPF直接转发网络策略不支持支持支持(更强大)性能一般较好极高(eBPF优化)复杂度简单中等较高(需eBPF支持)适用场景简单部署生产环境高性能/安全需求。
2025-06-07 00:11:20
636
原创 Kubernetes架构介绍、Node与Pod的区别
用户接口层 | <---> | 控制平面层 | <---> | 数据平面层 || (kubectl等) | | (Master节点) | | (Worker节点) || | |v v v| 命令行工具 | | API Server | | kubelet || Dashboard等 | | (集群网关) | | (节点代理) || | |v v v| Web UI | | Controller | | 容器运行时 || | | Manager | | (Docker等) |
2025-06-07 00:09:52
711
原创 Docker架构介绍、网络架构与机制、与Kubernetes网络的区别
一、Docker架构图示| Docker客户端 | <---> | Docker守护进程 | <---> | Docker Registry || (Docker CLI) | | (Docker Daemon) | | (镜像仓库) || | |v v v| 用户指令 | | 镜像管理 | | 镜像存储 || (docker run等) | | (构建、运行容器) | | (Docker Hub等) |二、核心组件详解Docker客户端(Docker CLI)
2025-06-07 00:08:33
710
原创 Seata TCC模式详解(底层原理与实现 + Java代码示例)
Seata TCC模式详解:通过Try-Confirm-Cancel三阶段实现分布式事务。Try阶段预留资源并检查业务规则(如库存检查),Confirm阶段确认业务操作(订单支付),Cancel阶段执行补偿(恢复库存)。实现要点包括幂等性设计、业务状态管理和异常处理。Java示例展示了订单服务接口及实现,通过@GlobalTransactional注解开启全局事务。TCC模式适合复杂业务场景,需遵循Try轻量化、状态机管理和异常捕获等最佳实践。虽然实现复杂,但提供了事务控制的灵活性。
2025-06-07 00:07:41
674
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人