- 博客(107)
- 资源 (38)
- 收藏
- 关注
原创 KNX 技术调研报告
KNX协议作为楼宇自控的国际标准,其分布式架构和事件驱动特性使其区别于工业总线。文章系统阐述了KNX的核心原理(组地址寻址、DPT数据类型)、典型应用场景(照明、HVAC等)和网络拓扑结构(支线-主干分层)。针对数采需求,详细分析了三种实现方式:原生KNXnet/IP协议开发(推荐UDP组播模式)、硬件网关转换(Modbus/MQTT)和软件中间件方案(如KNXD)。文章还提供了虚拟测试工具(KNXVirtual、Wireshark)和开源库资源(Calimero/xknx等)的建议,最终推荐采用&
2025-12-10 14:36:44
690
原创 太惊艳了:看看我是如何用Gemini生成专业漂亮报告的
摘要:本文介绍如何利用AI工具Gemini快速生成专业报告。通过简单指令即可获得结构清晰、格式精美的报告内容,大幅提升工作效率。作者分享了使用体验,包括HTML博文生成功能,并建议用户可根据需求随时调整输出内容。这种方法能有效解放时间、提高生产力,欢迎读者在评论区分享相关实践经验。(98字)
2025-11-26 19:43:56
229
原创 AI风暴眼中的IT从业者:是“终结者”还是“协作者”?
AI正从根本上重塑IT行业,大规模接管重复性工作,如基础代码生成和自动化测试,促使从业者将重心转向架构设计与系统监督。但这并非“职业终结”,而是价值重构。IT专业人士的不可替代性在于其独特的创造性思维、战略决策能力,以及处理伦理和社会责任的情感智能。未来将是“人马智能”时代,人类与AI紧密协作,催生出AI提示工程师、AI治理师等新型混合岗位。IT从业者应积极拥抱变革,持续学习,掌握驾驭AI的能力,实现与技术的协同发展,从而创造出更高价值。
2025-11-25 20:02:39
410
原创 BACnet/IP BBMD跨网段通信深度解析与最佳实践
本文介绍了在BACnet/IP网络中通过BBMD实现跨子网设备通信的关键配置方法。重点阐述了广播分发表(BDT)中掩码设置的重要性:使用子网掩码(255.255.255.0)会导致路由器拦截广播消息,而必须采用主机掩码(255.255.255.255)才能启用单播隧道机制,使BACnet广播消息封装为可路由的单播UDP包。文章详细说明了BDT条目的正确配置格式、BIP广播地址的作用,并提供了验证步骤,强调在跨网段场景中,正确设置掩码是确保设备发现和通信成功的关键因素。
2025-11-25 18:59:12
1158
原创 物联网设备接入核心实战:从架构设计到代码实现
本文深入探讨物联网设备接入的关键挑战与解决方案。核心挑战包括设备异构性、海量连接管理、网络不稳定性和安全性问题。采用四层架构模型,推荐MQTT作为主流协议,并详细展示了基于Java/Springboot的实战实现,涵盖设备认证、连接管理和消息路由。针对高可用性,提出集群部署和一致性哈希扩展策略。安全设计强调多层次防护和TLS加密通信。最后介绍了监控运维实践和性能优化技巧,为构建稳定可扩展的物联网平台提供系统化指导。
2025-11-25 00:12:02
619
原创 分布式基石:CAP定理与ACID的取舍艺术
本文深入探讨分布式系统的CAP定理及其应用。CAP定理指出,分布式系统无法同时满足一致性、可用性和分区容错性,必须根据业务需求进行权衡:CP(一致性优先)适用于银行转账等场景,AP(可用性优先)适合商品详情等容忍短暂不一致的场景。文章还对比了ACID与BASE理论,强调互联网场景下最终一致性的重要性。实践建议核心链路保持强一致,非核心功能通过消息队列实现最终一致。架构设计应根据业务特点在CAP之间合理取舍。
2025-11-24 09:55:55
787
原创 探源分布式:从单体到星辰大海的演进之路
摘要:本文探讨了软件架构从单体向分布式系统的演进趋势。首先分析单体架构的优势(开发简单、部署便捷)与局限性(资源瓶颈、可靠性差),进而阐述分布式系统的核心价值(弹性扩展、独立部署)及其复杂性挑战(网络延迟、事务管理)。通过电商案例展示服务拆分的实际路径,强调架构决策应基于业务需求与团队能力平衡。文章指出,分布式系统虽能解决高并发、高可用问题,但需配套完善的服务治理体系,未来将向云原生和智能化方向发展。
2025-11-22 00:00:00
1387
原创 实战总结:BACnet/IP 跨网段通讯的两种解决方案(BBMD 与 Foreign Device)
摘要:本文针对楼宇自控项目中BACnet/IP协议跨VLAN通信问题,以5层酒店项目为例,对比分析了两种解决方案。项目因各楼层独立VLAN划分导致BACnet广播失效,通过BBMD(标准路由)和ForeignDevice(外部设备注册)两种方式实现跨网段设备发现。详细阐述了两种方案的原理、网络拓扑、配置要点及适用场景,推荐中小型项目采用成本更低的ForeignDevice方案,并提供了端口开放、IP固定等关键实施建议,为楼宇自控系统在复杂网络环境下的部署提供了实用指导。
2025-11-21 17:49:15
804
原创 氛围编程:AI时代软件开发的范式革命
2025年,柯林斯词典将"氛围编程"(Vibe Coding)评为年度词汇,这标志着AI辅助编程已经发展成为一种普遍文化现象。氛围编程是一种由大型语言模型驱动的新型开发方式,开发者仅需用自然语言描述需求,AI即可生成可运行代码。其核心流程包括提出目标、AI生成代码、运行验证和反馈调整的循环迭代。与传统AI辅助编程不同,氛围编程强调结果导向而非代码细节控制。虽然能显著提升开发效率,但也伴随代码质量不可控、安全隐患等风险。专家建议将其用于原型开发等场景,同时对生产代码保持谨慎。氛围编程代表了
2025-11-20 09:30:42
685
原创 物联网平台产品业务架构构建指南:从战略到实现的完整框架
本文系统阐述了物联网平台业务架构的设计与实践。在数字化转型背景下,物联网平台需平衡标准化与定制化,构建涵盖战略定位、业务模式和核心能力的四层架构。通过明确市场定位、设计分层盈利模式和生态合作机制,平台可有效管理设备接入、数据服务和运营支撑。关键挑战包括技术标准碎片化、商业模式验证和生态建设周期长等,需采取MVP策略、设备认证体系和开发者支持等应对措施。成功的业务架构应具备战略清晰性、能力完整性和生态开放性,成为平台在市场竞争中的核心优势。
2025-11-18 04:00:00
1165
原创 业务架构 vs 产品架构:本质区别与协同关系
业务架构与产品架构是企业数字化转型中的两大关键架构,具有本质区别。业务架构从企业战略视角出发,关注整体业务价值链和长期规划,核心是业务能力地图与流程优化;产品架构则聚焦具体产品实现,强调功能模块设计和技术解决方案。两者在视角定位、时间跨度、衡量标准等九大维度存在显著差异。正确理解二者的互补关系,建立分层治理体系和敏捷协同机制,才能实现战略方向与高效执行的统一,最终完成业务价值的高效交付。
2025-11-18 00:15:00
959
原创 业务架构绘制实战指南:从价值链到能力地图的完整方法
本文从实战角度系统介绍了业务架构绘制的方法与技巧,阐述了其对产品经理、架构师和开发人员的核心价值。详细解析了业务架构的四个层次(战略层、能力层、流程层、操作层)及其绘制方法,提供了具体的实操步骤和工具建议。针对常见问题给出解决方案,并以电商平台为例展示最佳实践。文章强调业务架构应作为持续演进机制,提出了架构治理流程和度量指标,指出成功的三个关键要素:业务驱动、迭代演进和跨角色协作。通过系统化的业务架构实践,可建立清晰的业务-IT对齐机制,助力企业数字化转型。
2025-11-17 09:27:38
965
原创 工业自动化技术体系与发展趋势:从传统控制到智能制造
工业自动化技术正在经历数字化、网络化、智能化的深刻变革。人机协作:人类智慧与机器智能深度融合绿色制造:能耗优化与环境友好柔性生产:快速响应市场变化全生命周期管理:从设计到退役的全程优化«温馨提示:企业在推进自动化升级时,需要结合自身实际情况,制定切实可行的实施路径,避免盲目追求技术先进性而忽视实际效益。»版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
2025-11-17 00:04:44
1254
原创 企业架构:数字化转型时代业务与IT的战略连接器
企业架构不再是IT部门的专属工具,而是数字化转型的战略核心。在数字化浪潮中,企业需要将架构思维提升到战略高度,通过业务、数据、应用、技术四层架构的协同设计,构建弹性、敏捷、智能的数字化底座。正如一位资深架构师所言:“好的企业架构就像城市的规划图,它不会限制建筑师的创造力,而是确保城市发展有序而美丽。”在数字化转型的征程中,企业架构正是这样一张确保业务与IT和谐发展的蓝图。
2025-11-16 23:30:12
923
原创 搞定产品需求到技术文档的“翻译”:写出让团队疯狂点赞的技术文档
如何将产品需求转化为高质量技术文档?本文介绍了三阶段方法:1.技术架构设计(理解需求、确定系统边界和核心模块);2.模块设计(拆解系统、明确功能分工);3.详细设计(数据库、接口等具体实现方案)。这三个步骤能帮助开发团队将抽象需求转为清晰可执行的技术文档,提升开发效率和协作质量。作者还邀请读者分享经验,并考虑后续推出详细专栏。
2025-09-03 16:38:22
489
原创 分布式事务的炼狱:Spring Cloud 微服务架构下的数据一致性保障战
微服务架构下的分布式事务挑战与解决方案 摘要:在微服务架构中,业务操作往往跨越多个独立服务,传统数据库事务机制难以保证数据一致性。本文分析了分布式事务面临的困境,包括跨服务调用的事务边界问题、CAP理论的权衡挑战等。介绍了四种主流解决方案:2PC(两阶段提交)、TCC(Try-Confirm-Cancel)、Saga模式和基于消息的最终一致性,详细阐述其原理及优缺点。最后探讨了Spring Cloud生态下使用Seata框架实现分布式事务的实践方案,包括AT模式的无侵入式实现方式。这些方案为微服务架构下保证
2025-06-11 18:23:52
1297
原创 搞定分布式锁:Spring Cloud 微服务高并发下的“定海神针”
在构建高并发、高可用的分布式系统时,数据一致性是开发者面临的核心挑战之一。传统的单体应用中,我们依赖本地锁(如Java的synchronized或ReentrantLock)来保证多线程对共享资源的并发访问安全。然而,在服务被拆分并部署到多台机器上的分布式微服务架构中,本地锁显然“鞭长莫及”。此时,分布式锁应运而生,它提供了一种跨进程、跨机器的协调机制,确保在分布式环境下,任何时刻只有一个服务实例能独占某个共享资源或执行某段关键业务逻辑,从而有效避免数据不一致、业务错误等问题
2025-06-10 11:13:55
986
原创 软件开发详细设计文档
本文介绍了软件研发中详细设计文档的重要性及模板框架。详细设计文档是开发过程中的关键文档,直接影响开发效率和代码质量。文档在概要设计基础上细化模块设计,包含需求分析、总体设计和详细设计三大部分。核心内容包括功能描述、系统结构、输入输出数据、算法流程、数据结构、接口设计等模块化设计要素,并涵盖非功能性需求考虑。该模板源自实际敏捷团队经验,支持在线文档管理,为开发、测试及评审人员提供标准化参考框架,确保设计思路清晰可执行。附录部分可补充相关技术细节和扩展内容。
2025-05-26 13:49:13
715
原创 MCP的推出将给未来的开发带来哪些变革?
* MCP(Model Context Protocol,模型上下文协议)** 是 AI 智能体开发中的一项关键技术,旨在为 AI 模型与外部工具、数据和服务提供标准化的交互接口。它由 Anthropic 在 2024 年 11 月推出,并迅速获得 OpenAI、百度等科技巨头的支持~说人话,基于他这个协议可以将原来的智能体分为,调大模型写的客户端和调各种工具的工具应用,从而最大程度的复用工具能力,简化智能体的开发,我将其理解为智能体的分布式架构。网关和业务微服务的关系。MCP整体架构。
2025-04-18 15:26:18
540
原创 MCP、A2A、Function Calling:AI架构设计的三驾马车
在AI技术快速发展的今天,MCP、A2A和Function Calling这三种架构设计和技术标准为我们提供了不同的视角和解决方案。它们各自具有独特的优点和应用场景,同时也存在一定的局限性。通过深入理解它们之间的关系和特点,我们可以更好地选择适合的技术方案,推动AI应用的开发和落地。未来,随着技术的不断融合和创新,AI将具备更强的协作能力和更广泛的应用范围,为我们的生活和工作带来更多的便利和价值。
2025-04-17 16:05:17
1129
原创 Linux本地安装N8N,一路解决各种问题
本笔记记录本地安装N8N 的过程,有遇到一些小问题,在此记录首先检查服务器的Docker版本docker - v本地运行镜像拉取和运行命令检查是否运行成功从如上效果来看, 已经安装成功,接下来直接访问即可,如果是http://localhost:5678/;默认应该出现如下效果(初始的页面忘记截图,应该根据系统初始化参与信息调研,然后申请一个免费的KEY,激活后就可以看到如下界面)要其他电脑访问,需要通过IP地址+端口访问,并且需要开启HTTPS,要么就禁用HTTPS。
2025-04-15 15:05:09
5815
原创 扩展知识1: LangChain中动态生成服务实现的工作原理
动态生成服务实现的基础是接口和注解的定义。开发者首先定义一个接口,接口中的每个方法都通过注解来描述其功能和行为。接口:定义了服务的契约,即可以被调用的方法。注解:提供了方法的具体行为描述,例如用户消息模板(@UserMessage)或系统消息(@SystemMessage)。动态生成服务实现是LangChain4j框架的核心功能,它通过接口和注解定义服务契约,动态创建代理对象来实现接口方法。这种机制使得开发者无需手动实现具体逻辑,而是由框架根据注解信息动态生成实现。
2025-02-28 06:30:00
830
原创 第9章:LangChain结构化输出-示例6(设置系统消息和用户消息模版)
定义了一个接口TextUtils,用于封装文本处理功能。translate(String text, String language):将文本翻译为目标语言。summarize(String text, int n):将文本总结为n个要点。解析方法定义:每个方法都通过@UserMessage注解定义了用户消息模板,{{text}}和{{language}}会被替换为方法参数。这使得AI能够理解用户的意图,并生成相应的响应。系统消息。
2025-02-25 06:30:00
940
原创 Elasticsearch索引设计与分片策略深度优化-手记
某社交平台因未关闭动态映射,用户输入的特殊符号导致字段爆炸式增长,最终引发集群元数据内存溢出。生产环境必须设置dynamic: strict通过ingest pipeline进行字段清洗和类型校验。
2025-02-24 14:57:51
595
原创 第9章:LangChain结构化输出-示例5(基于大模型如何精确匹配POJO的字段)
定义了一个接口RecipeExtractor,用于封装从文本中提取并构造Recipe对象的功能。接口中包含一个方法,用于从文本中提取Recipe对象。解析方法定义:extractRecipeFrom(String text)方法用于从文本中提取Recipe对象。注解使用:@UserMessage注解定义了用户消息模板,{{it}}会被替换为方法参数(即要提取信息的文本)。这使得AI能够理解用户的意图,并生成相应的响应。定义了一个Recipe类,用于表示提取的POJO对象。
2025-02-24 06:30:00
1337
原创 第9章:LangChain结构化输出-示例4(基于大模型从自然语言中提取POJO)
POJO提取服务通过定义一个接口PersonExtractor来封装POJO提取功能。接口中包含一个方法,用于从文本中提取并构造Person对象。解析方法定义:extractPersonFrom(String text)方法用于从文本中提取Person对象。注解使用:@UserMessage注解定义了用户消息模板,{{it}}会被替换为方法参数(即要提取信息的文本)。这使得AI能够理解用户的意图,并生成相应的响应。定义了一个Person类,用于表示提取的POJO对象。
2025-02-23 21:10:10
973
原创 第9章:LangChain结构化输出-示例3(日期和时间提取服务)
LangChain借助大模型从自然语言中提取日期和时间,日期和时间提取服务通过定义一个接口DateTimeExtractor来封装日期和时间提取功能。extractDateFrom(String text):从文本中提取日期(LocalDate)。extractTimeFrom(String text):从文本中提取时间(LocalTime)。extractDateTimeFrom(String text):从文本中提取日期和时间(LocalDateTime)。解析方法定义。
2025-02-23 20:39:00
939
原创 第9章:LangChain结构化输出-示例1(情感分析AI服务)
LangChain结构化输出,情感分析服务通过定义一个接口SentimentAnalyzer来封装情感分析功能。:分析文本的情感倾向,并返回一个Sentiment枚举值(POSITIVE、NEUTRAL、NEGATIVE)。:判断文本是否具有正面情感,并返回一个布尔值。")情感分析服务(SentimentAnalyzer)通过定义接口、使用注解和动态生成服务实现,展示了LangChain4j框架的强大功能。这种实现方式不仅简化了开发流程,还提高了代码的可维护性和可扩展性。
2025-02-23 20:05:51
1235
原创 第9章:LangChain结构化输出-示例2(数字提取服务)
LangChain结构化输出,关键内容提取;数字提取服务通过定义一个接口NumberExtractor来封装数字提取功能。extractInt(String text):从文本中提取整数(int)。extractLong(String text):从文本中提取长整数(long)。extractBigInteger(String text):从文本中提取大整数(BigInteger)。extractFloat(String text):从文本中提取浮点数(float)。
2025-02-23 20:02:31
1072
原创 第9章:LangChain让大模型结构化输出
文章详细介绍了LangChain4j中如何使用结构化输出(Structured Outputs)。文章还详细介绍了如何在低级ChatLanguageModel API和高级AI服务API中使用JSON Schema,以及如何通过@Description注解提供更详细的指令。此外,还列举了使用JSON Schema时的限制和注意事项。这种结构化输出功能使得LLM生成的输出可以更方便地被应用程序解析和使用。
2025-02-23 13:42:18
1248
原创 第8章:LangChain检索增强生成RAG--2.4Advanced RAG【高级RAG】
高级 RAG(Advanced RAG)通过多个模块化组件(如查询转换器、查询路由器、内容检索器、内容聚合器和内容注入器)来增强检索功能。这种实现方式提供了高度的灵活性和定制化能力,适用于需要复杂检索逻辑的场景。通过合理配置这些组件,开发者可以构建高效、智能的问答系统。
2025-02-21 19:58:17
1143
原创 第8章:LangChain检索增强生成RAG--2.3Naive RAG
Naive RAG 是一种简单但有效的 RAG 实现,适用于需要快速启用 RAG 功能的场景。通过配置 EmbeddingStoreContentRetriever 和 AiServices,可以轻松地将文档内容检索功能集成到 AI 服务中。这种方法虽然简单,但在许多场景下已经足够有效,尤其是在需要快速原型开发和概念验证时。
2025-02-21 19:22:45
534
原创 第8章:LangChain检索增强生成RAG--2.2Core RAG APIs
功能:对文档进行总结,并将总结存储在元数据中。目的提高效率:通过总结,语言模型可以更快地理解文档的核心内容。改善搜索:总结可以被包含在每个 TextSegment 中,从而提高搜索的准确性。示例由于没有一种通用的解决方案,LangChain4j 建议开发者根据自己的数据特点实现自己的 DocumentTransformer。建议自定义逻辑:根据你的数据格式和需求,实现特定的转换逻辑。灵活性:自定义转换器可以更好地适应你的应用场景。示例@Override// 自定义转换逻辑。
2025-02-21 19:15:31
848
原创 第8章:LangChain检索增强生成RAG--2.1Easy RAG实现
Easy RAG 是 LangChain4j 提供的一个简化版的检索增强生成(RAG)功能,旨在帮助开发者快速上手并使用 RAG 技术核心功能简化文档处理:Easy RAG 支持多种文档格式(如 txt、csv、pdf、md、doc、docx 等),并自动将文档内容转换为嵌入向量,存储在嵌入存储(向量数据库)中。提供了从文件系统加载文档的功能,支持单个文件或整个目录的加载。自动嵌入与存储:使用默认的嵌入模型(如 bge-small-en-v1.5)将文档片段转换为嵌入向量,并存储在内存向量数据库(
2025-02-21 13:59:56
1319
原创 第8章:LangChain检索增强生成RAG--1概述
本章主要介绍基于 LangChain4j 中的 RAG(Retrieval-Augmented Generation,检索增强生成)概念及其实现方式。RAG 是一种通过检索相关知识来增强语言模型生成能力的技术,特别适用于需要结合特定领域知识或私有数据的场景。
2025-02-21 13:25:32
635
原创 第7章:在LangChain中如何调用函数Tools (Function Calling)
这篇文章详细介绍了LangChain4j中工具(Tools)的概念和使用方法。工具允许LLM在生成文本的同时,触发外部操作(如调用API、执行代码等)。工具的基本概念:工具是LLM可以调用的外部功能,用于增强其能力(如数学计算、网络搜索等)。工具的声明和使用:通过ToolSpecification和@Tool注解,开发者可以定义工具并将其集成到LLM的交互中。工具的执行和反馈:LLM可以在响应中表达调用工具的意图,开发者需要执行工具并将结果反馈给LLM。高级抽象。
2025-02-20 21:46:33
1867
原创 第6章:基于LangChain如何开发Agents,附带客户支持智能体示例
大多数基本的“代理”功能可以通过高层次的 AI Service 和 Tool APIs 构建。ChatLanguageModel(聊天语言模型)ToolSpecification(工具规范)ChatMemory(聊天记忆)本文简要介绍了 LangChain4j 中的“代理”概念,并提供了构建代理的两种方法:使用高层次的 AI Service 和 Tool APIs,或者使用低层次的 ChatLanguageModel、ToolSpecification 和 ChatMemory API。
2025-02-20 21:14:29
1361
原创 第4章:在LangChain中如何实现响应式流(Response Streaming)
对于ChatLanguageModel和LanguageModel接口,LangChain4j提供了对应的StreamingChatLanguageModel和StreamingLanguageModel接口。这些接口的API类似,但支持流式传输响应。它们接受一个实现了StreamingResponseHandler接口的对象作为参数。// 当生成下一个token时调用default void onComplete(Response<T> response) {} // 当LLM完成生成时调用。
2025-02-20 20:22:43
1691
原创 第5章:在LangChain中如何使用AI Services
这篇文章详细介绍了 LangChain4j 中的 AI Services 概念,展示了如何通过高层次的抽象来简化与大语言模型(LLM)的交互。AI Services 的核心思想是隐藏底层复杂性,让开发者专注于业务逻辑,同时支持聊天记忆、工具调用和 RAG 等高级功能。通过示例和代码片段,文章展示了如何定义和使用 AI Services,以及如何将它们组合起来构建复杂的 LLM 驱动的应用程
2025-02-20 20:07:13
1425
原创 第3章:在LangChain中如何设置模型参数
这篇文章详细介绍了如何在LangChain4j中配置和调整模型参数,以优化模型的输出和性能。模型参数的作用:如何通过调整参数来控制模型的输出(如创造力、确定性、生成内容的量)以及连接性(如API密钥、超时时间等)。参数设置方式:通过静态工厂或构建器模式创建模型,并为每个参数指定值。在Quarkus和Spring Boot中的配置。
2025-02-20 17:08:38
1375
J2EE的13种核心技术.doc
2010-05-05
构建敏捷银行-平安银行信用卡中心转型案例
2019-04-08
信息系统项目管理师教程pdf高清版
2015-07-27
flash上传头像预览裁剪
2013-07-05
5个Why分析法
2019-04-08
activiti-designer-5.18.0 2.zip
2020-04-06
DHTML参考手册(CHM)版本
2013-07-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅