- 博客(200)
- 收藏
- 关注
原创 Spring Cloud Alibaba 微服务架构拆分api和server的必要性
在 Spring Cloud Alibaba 微服务架构中,api和server分离是低成本、高收益的设计实践,尤其在中大型微服务项目中,能显著降低系统的复杂度、提升可维护性。如果是小型项目(仅2-3个微服务),可能感知不到明显优势,但随着服务数量增加,这种分层的价值会越来越突出。
2026-01-20 10:07:13
1360
原创 企业Agent落地的可靠实践
对有固定流程、高合规要求的核心业务,用工作流模式把Agent变成“标准化执行者”,保障稳定;对无固定流程、低价值的搜集整理任务,用自主规划模式把Agent变成“效率助手”,解放人力;最终形成“Agent承担重复操作、信息处理等效率活,人聚焦决策、策略等核心活”的分工,既保证业务稳定,又最大化Agent的价值。这种模式的落地门槛低、见效快,是企业从“Agent试点”到“规模化落地”的最优路径。
2025-12-12 09:46:29
1130
1
原创 LangChain和LangGraph的关系
1. 定义状态(共享数据结构)question: str # 用户问题code: str # 生成的代码result: str # 执行结果error: str # 错误信息# 2. 初始化工具和模型# 3. 定义节点函数(核心逻辑)"""节点1:生成代码"""
2025-12-08 10:06:18
1069
原创 LangChain 与其他大语言模型框架有什么区别
LangChain 并非“模型开发框架”,而是“LLM 应用编排框架”,核心差异在于其聚焦“连接与流程”,而非“模型本身”,是从“单一模型调用”到“复杂 AI 应用”的桥梁,这也是其与其他框架最本质的区别。List item。
2025-12-08 10:04:35
1047
原创 彻底搞懂 Django REST framework(DRF)中 几个View
视图类继承关系核心能力适用场景根类仅请求方法分发非API场景(或极简API)APIView基础API能力(解析、序列化、认证、响应)+ 请求分发自定义逻辑多的API(比如非CRUD)继承APIView + 封装查询集/序列化器需复用查询/序列化的API继承GenericAPIView + 封装CRUD核心逻辑标准CRUD API(推荐)
2025-12-05 16:17:00
927
原创 Django Rest Framework (DRF) 核心知识体系梳理与深度讲解
自定义查询集(如过滤当前用户数据、动态条件过滤);:动态切换序列化器(如列表用简易序列化器,详情用完整序列化器);:自定义数据保存/删除逻辑;action装饰器:自定义非标准动作(如批量删除、导出Excel):from rest_framework.decorators import action# 自定义动作:GET /books/export_excel/
2025-12-05 16:12:14
1442
原创 Python中的装饰器@property用法总结
property是Python实现“受控属性”的核心工具,既能让代码更简洁(方法属性化),又能灵活控制属性的读取、赋值和删除逻辑,广泛用于数据校验、动态计算、接口兼容等场景。
2025-12-03 08:36:28
886
原创 python序列类型
通过继承抽象基类(如Sequence或# 使用自定义序列ml.append(4) # 继承MutableSequence的方法print(ml[2]) # 输出3strtuplebytesrange,继承;listbytearraydequearray,继承。这种设计既保证了接口一致性,又通过抽象基类明确了不同序列的行为约束。
2025-12-03 08:36:08
1064
原创 python中定义函数参数规则的特殊符号
args**kwargs:处理可变长度参数;(单独):强制关键字参数;:类型注解;:默认参数;**(调用时):参数解包。结合使用这些符号可以灵活定义函数的参数规则,提升代码的灵活性和可读性。
2025-12-02 10:21:58
921
原创 `/`(仅限位置参数标记)和`*`(仅限关键字参数标记)
符号作用左侧参数规则右侧参数规则仅限位置参数标记仅位置传参位置/关键字传参仅限关键字参数标记位置/关键字传参仅关键字传参通过这两个符号,可以精确控制函数参数的传递方式,让代码更规范、可读性更强。
2025-12-02 10:20:56
443
原创 Python中的`__dict__`和`__dir__`介绍
_dict__是对象属性的“存储容器”,专注于自身可写属性的键值对;__dir__()是对象属性的“查询接口”,专注于枚举所有可访问的属性/方法名;实际开发中,dir(obj)(内置函数,调用)常用于调试查看对象属性,而__dict__多用于动态操作对象属性或分析对象结构。
2025-12-01 14:41:03
781
原创 python单下划线和双下划线属性区别
单下划线(_attr用于标识“内部使用”的属性/方法,提醒开发者避免外部直接调用,适用于模块内或类内的私有逻辑,但不强制限制。常见于模块级别的“私有”函数/变量(如import *不会导入单下划线开头的对象)。双下划线(__attr用于真正需要限制访问的场景(如避免子类覆盖父类属性、防止外部篡改),通过名称改写实现语法级别的隔离,但并非绝对安全(仍可通过_类名__attr访问)。
2025-12-01 14:39:59
896
原创 python中`__repr__` 和 `__str__`的区别
场景需求选择实现示例输出调试、日志记录(开发者看)__repr__用户展示、打印输出__str__Alice (25岁)快速开发(仅一个方法)__repr__兼顾调试和基础展示一句话记忆:__repr__给开发者看(精确),__str__给用户看(友好)。
2025-11-28 15:53:22
643
原创 Windows系统Redis(8.2.2)安装与配置完整教程
本文详细讲解了Windows系统下Redis的下载、安装、配置及验证流程,核心步骤可概括为“下载解压→修改配置→启动服务→连接验证”。需要注意的是,Windows版本为非官方编译,适合开发测试环境;生产环境建议使用Linux系统部署Redis,稳定性和性能更有保障。如果在操作过程中遇到其他问题,可通过Redis官网文档或开源项目的Issues页面获取帮助,也欢迎在评论区留言交流。添加链接描述。
2025-11-12 08:58:17
1856
原创 java 类一般什么情况下会同时出现extends一个父类并implements一个接口
extends解决“继承”问题:复用父类的属性和方法,明确类的层级关系(“is-a” 关系)。implements解决“实现”问题:强制类满足特定行为规范,扩展类的能力(“has-a” 能力关系)。两者结合时,类既能复用已有功能,又能通过接口满足多维度的行为约束,是 Java 中平衡代码复用与灵活性的常用方式。
2025-10-14 16:02:21
400
1
原创 Python与Java基础语法的详细差异
Python追求简洁性和开发效率,通过动态类型、强制缩进、内置数据结构等减少冗余代码,适合快速开发和脚本编写。Java强调严谨性和工程化,通过静态类型、显式声明、严格的访问控制等保证代码的可维护性和稳定性,适合大型企业级应用。理解这些差异有助于在跨语言开发时避免语法混淆,同时根据场景选择合适的语言工具。
2025-09-22 14:44:51
802
4
原创 密封接口关键字sealed详解
在 Java 中,sealed是用于修饰类或接口的关键字,从 Java 17 开始引入,主要用于限制类的继承或接口的实现,提供更严格的类型控制。当用sealed修饰接口时,称为(sealed interface),它可以指定哪些类或接口能够实现它,其他未被授权的类或接口则不允许实现。
2025-09-17 10:45:47
447
原创 从一个常用方法理解Optional的用法
表示“查询用户的操作可能成功(返回包含用户的Optional),也可能失败(返回空Optional)”。使用Optional可以让代码更健壮,避免空指针异常,同时让“值可能缺失”的语义更明确。
2025-09-17 08:48:22
626
原创 Spring Boot 内置的数据库初始化机制总结
开头的配置主要主要用于数据库初始化和脚本执行相关的配置,它们属于 Spring Boot 内置的数据库初始化机制(相关参数,可以在应用启动时自动完成数据库表结构创建和基础数据初始化,简化开发流程。)的一部分,用于在应用启动时自动执行 SQL 脚本(如建表语句、初始化数据等)。Spring Boot 中以。
2025-09-15 16:11:46
1256
原创 响应式编程思想与 Reactive Streams 规范
Reactive Streams 的接口位于接口名称角色核心职责生产者产生数据并向订阅者(Subscriber)推送数据;响应订阅者的背压信号(控制数据量)。消费者订阅 Publisher 的数据;接收 Publisher 推送的元素、完成信号、错误信号;反馈背压需求。订阅关系管理者连接 Publisher 和 Subscriber 的“桥梁”;传递背压信号(如request(n)表示需要 n 个元素);支持取消订阅(cancel()处理器。
2025-09-09 16:02:24
1258
1
原创 面向对象设计原则
面向对象设计(OOD)原则是指导开发者构建软件系统的核心思想,其本质是通过规范类与类、模块与模块之间的关系,降低系统复杂度,提升维护性。这些原则并非孤立存在,而是相互配合,共同支撑“开闭原则”这一最终目标。
2025-09-09 16:00:36
1289
2
原创 记一次VMware虚拟机(BC-linux)网络配置过程
原理:虚拟机软件默认会创建多个虚拟交换机(如VMware的VMnet0=桥接、VMnet1VMnet8=NAT),“自定义模式”允许用户手动选择虚拟机连接到哪个虚拟交换机,甚至使用自己创建的虚拟交换机。关键特点本质是“模式的灵活组合”,而非独立模式:选择VMnet0则等同于桥接模式,选择VMnet8则等同于NAT模式;适合复杂网络场景:例如创建两个虚拟交换机,一个连外网(NAT),一个连内部隔离网络(Host-Only),虚拟机可同时连接两个交换机(双网卡),实现“内外网同时访问”。
2025-09-03 17:27:06
917
原创 Windows系统安装VmWare 17时提示“安装程序检测到主机启用了HyperV/Device/Credential Guard”
如果已经关闭了Hyper-V,但VMware安装程序仍提示检测到Hyper-V或Device/Credential Guard,可能是因为Device/Credential Guard功能未完全关闭,或者系统相关设置没有及时更新。Windows系统安装VmWare 17时提示“安装程序检测到主机启用了HyperV/Device/Credential Guard”,通过以下方式关闭对应功能。关闭Hyper-V后,VMware可以正常使用CPU虚拟化技术,确保安装和运行的稳定性。
2025-09-02 14:54:49
3888
原创 java开发最新技术栈
Java开发者的核心竞争力在于“深度+广度”:既要夯实Java语言与JVM底层基础,也要紧跟云原生、分布式架构的发展,同时具备跨领域(如前端、AI集成)的适配能力。此外,工程化思维(自动化、可观测性、安全性)将成为区分高级开发者的关键。
2025-08-22 09:07:05
1125
原创 JDK17相较于JDK8,有哪些好用、常用的新特性
最近将几个项目升级到JDK17,JDK 17 是长期支持(LTS)版本,相较于 JDK 8(2014年发布)引入了许多重要的新特性和改进。如果从 JDK 8 升级,建议重点关注。这些高频实用特性,再逐步应用其他改进。
2025-08-07 09:20:07
1103
原创 快速搭建运行Django第一个应用—投票
这样就完整运行起来Django的第一个应用,包括 ORM、视图系统、模板引擎、表单处理、认证系统等,这样有了一个整体的认识后,再根据官方文档,逐个细化去了解每个特性。提示404,因为路径只配置了polls和admin,因此改一下路径:127.0.0.1:8000/admin,就进入到登录界面。为了快速对Django开发有一个整体认知,借助豆包生成Django第一个应用—投票的完整代码。,这里我在Anaconda Prompt执行。再次运行,这时候就可以正常操作投票功能了。
2025-06-12 16:31:22
524
1
原创 Django的HelloWorld程序
打开urls.py(不需要创建,已经有了),urls.py原本就是有一些内容的,这里就是添加一个path变量进去。我们添加的是path为hello的,admin那个是自带的。这将在当前目录下创建一个名为HelloWorld的文件夹,里面包含了项目的初始文件。输入127.0.0.1:8000。
2025-06-10 15:44:15
626
1
原创 【python基础知识】 *args, **kwargs介绍
语法作用函数内部类型调用时的作用*args接收任意数量的位置参数元组(tuple)解包可迭代对象为位置参数**kwargs接收任意数量的关键字参数字典(dict)解包字典为关键字参数注意args和kwargs只是约定俗成的名称,实际可使用任意合法变量名(如*params**options*args和**kwargs使函数更加灵活,但过度使用会降低代码可读性。建议根据实际需求合理使用。
2025-06-06 14:16:11
1998
原创 【python基础知识】变量名和方法名的单下划线(_)和双下划线(__)总结
命名方式含义与用途_variable约定为私有变量,不建议外部访问。__variable名称修饰,防止子类覆盖,实际可通过访问。特殊方法或内置属性,由 Python 解释器自动调用。临时变量、国际化或保存交互结果。注意Python 的访问控制是基于约定而非强制,开发者应自觉遵守命名规范。避免自定义名称使用__xx__格式,以防与 Python 内置功能冲突。
2025-06-06 14:08:37
583
1
原创 Dify应用类型和工作流介绍
在Dify中,“应用”是连接大语言模型与实际需求的桥梁,它不仅涵盖了开发AI应用的工程范式,还包含了具体的交付成果,让开发者能够轻松将智能AI技术落地到各类场景中。此外,它还具备定时和事件触发能力,方便开发者构建复杂的自动化流程,降低对提示词技术和模型推理能力的依赖,提高系统的可解释性、稳定性和容错性。面向文本生成类任务,如撰写故事、文本分类、翻译等,采用一问一答的交互方式,以表单+结果式的WebApp界面呈现,适用于需要快速生成文本内容的场景。它既包含了开发 AI 应用的工程范式,也包含了具体的交付物。
2025-06-05 16:22:48
859
原创 Dify 本地部署详细指南(Windows 11 系统)
该命令会自动安装默认的 Linux 发行版(通常为 Ubuntu),如未安装,可在微软官网下载。:打开浏览器,输入 `http://localhost:80,首次访问需设置管理员账号和密码。通过以上步骤,即可在 Windows11 系统上完成 Dify 的本地部署。后,系统会自动安装所选功能,完成后。在控制面板中,依次点击。启动 Docker。,若显示版本信息(如。),则说明安装成功。
2025-06-05 15:20:58
2982
3
原创 【python基础知识】文件和异常
使用with语句自动管理文件资源处理文件路径时使用os.path或pathlib模块写入非ASCII字符时指定编码(如掌握文件操作和异常处理是编写健壮Python程序的基础。通过with语句安全地读写文件,使用try-except处理潜在错误,以及利用JSON模块存储和读取数据,你可以构建出更加可靠、用户友好的应用程序。建议通过实际项目练习这些技巧,例如实现一个简单的配置管理系统或数据备份工具。
2025-06-04 08:33:29
356
原创 【python基础知识】类
单一职责:每个类只负责一项明确的任务继承适度:避免过深的继承层次组合优先:优先使用组合而非继承实现代码复用类是Python中实现面向对象编程的核心,掌握类的创建、继承机制以及模块化导入技巧,能够让你的代码更加结构化、可维护和可扩展。建议通过实际项目练习这些概念,例如实现一个简单的游戏或应用程序框架。
2025-06-04 08:33:04
526
原创 【python基础知识】函数
函数是带名字的代码块,用于完成特定任务。# 定义函数"""显示简单的问候语""" # 文档字符串")# 调用函数greet_user() # 输出: Hello!函数功能的简要描述参数:arg1 (type): 参数1的说明arg2 (type): 参数2的说明返回:type: 返回值的说明""" # 函数体 return result函数是Python编程中最强大的工具之一,掌握函数的定义、参数传递、返回值处理以及高阶函数的使用,能够让你的代码更加模块化、可复用和易于维护。
2025-06-03 08:39:33
580
原创 【python基础知识】条件测试和循环控制
条件测试:掌握比较运算符(==,!=, <, >等)、逻辑运算符(and, or, not)和成员运算符(in, not in)的使用。if-elif-else结构:实现多条件判断,注意条件的顺序和嵌套逻辑。处理空值:使用检查列表是否为空,通过列表解析过滤空值。用户输入:使用input()获取用户输入,注意类型转换。while循环:通过条件控制循环,使用标志变量、break和continue语句灵活管理循环流程。
2025-06-03 08:39:01
325
原创 【python基础知识】字典
字典是Python中最灵活的数据结构之一,适用于存储和处理关联数据。掌握字典的核心操作、遍历技巧以及嵌套应用,能够让你更高效地处理复杂数据。建议通过实际项目练习来加深理解,比如解析JSON数据、实现缓存系统等。
2025-06-01 07:40:41
711
原创 【python基础知识】操作列表
range():高效生成整数序列,常用于循环列表解析:用一行代码替代传统循环,使代码更简洁元组:不可变序列,适合存储固定数据和多值返回这些技巧是Python编程的核心能力,能够显著提升代码的可读性和效率。建议通过练习加深理解,比如尝试用列表解析重构旧代码,或使用元组优化函数返回值。
2025-06-01 07:39:54
491
原创 【python基础知识】列表简介
列表是Python中最灵活的数据结构之一,掌握列表的增删改查、排序遍历以及切片复制等操作,是编写高效Python代码的基础。建议通过实际项目练习来加深理解,比如处理数据集合、实现算法等。
2025-05-30 14:39:51
612
原创 【python基础知识】变量和简单数据类型
数据类型示例注意事项字符串'hello'或"hi"大小写转换不修改原字符串整数42-10运算结果始终为整数浮点数3.142.0存在精度问题布尔值TrueFalse首字母必须大写通过合理命名变量、灵活操作字符串、处理数字类型,并遵循注释规范,可以编写出更清晰、易维护的Python代码。
2025-05-30 14:28:21
450
DeepSeek-V3和DeepSeek-R1相关论文,介R1绍通过强化学习激发大语言模型的推理能力和V3的多头潜在注意力(MLA)和 DeepSeekMoE 架构
2025-02-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅