当前位置: 首页 > article >正文

ComfyUI全面掌握-知识点详解——ComfyUI 开发与扩展基础(开发指南+环境搭建)

本文为「ComfyUI 全面掌握」系列第 23 篇是高阶进阶章节的第一篇知识点详解博客。作为开发系列的起点本文将带你系统了解 ComfyUI 社区贡献流程并手把手搭建完整的自定义节点开发环境为后续的节点开发与发布奠定坚实的技术基础。知识点详解——ComfyUI 开发与扩展基础开发指南环境搭建目录一、引言从使用者到贡献者1.1 为什么要学习 ComfyUI 开发1.2 本文学习目标二、ComfyUI 开源项目概览与社区贡献指南2.1 仓库结构与核心模块2.2 参与社区贡献的方式2.3 开发规范与代码风格2.4 开发文档体系介绍三、开发环境搭建全流程3.1 整体流程概览3.2 安装 Python 3.103.3 安装 VS Code 与必备扩展3.4 克隆 ComfyUI 源码仓库3.5 创建虚拟环境与安装依赖3.6 配置 comfy-cli 命令行工具3.7 验证开发环境四、编写第一个测试节点Hello World4.1 节点目录结构4.2 编写节点代码4.3 在 ComfyUI 中加载测试五、开发调试技巧5.1 日志输出技巧5.2 VS Code 调试配置5.3 热重载与快速迭代5.4 常见错误排查六、总结与下一篇预告官方参考链接一、引言从使用者到贡献者1.1 为什么要学习 ComfyUI 开发在过去的四个章节中你已经全面掌握了 ComfyUI 的使用——从部署安装到工作流搭建从文生图到视频生成从使用已有节点到安装社区自定义节点。这是一个了不起的成就但 ComfyUI 的真正魅力在于它的可扩展性。ComfyUI 是一个完全开源的项目这意味着任何人都可以参与它的发展——不仅仅是报告 Bug 或提出功能建议更可以直接编写代码来扩展它的能力。学习 ComfyUI 开发的价值体现在多个层面对个人而言能够根据特定需求开发专属节点不再受限于现有节点的功能边界深入理解 ComfyUI 的底层架构使用起来更加得心应手掌握一项有价值的 AI 工具开发技能提升技术竞争力对团队而言能够将 ComfyUI 的生成能力与内部系统集成实现自动化生产开发符合业务需求的定制化节点提升团队工作效率对社区而言将优秀的节点发布到 Comfy Hub与其他开发者分享你的创意参与 ComfyUI 核心仓库的贡献推动项目持续发展而这一切都始于一个正确的开发环境。1.2 本文学习目标完成本文学习后你将能够✅ 理解 ComfyUI 开源项目的仓库结构和社区贡献流程✅ 独立搭建完整的自定义节点开发环境Python 3.10 VS Code comfy-cli✅ 编写并加载第一个Hello World测试节点✅ 掌握基本的开发调试技巧和常见问题排查方法一句话总结本文的目标只有一个——让你的电脑变成一个可用的 ComfyUI 开发工作站。后续的节点开发、API 集成等内容都将在本文搭建的环境之上进行。二、ComfyUI 开源项目概览与社区贡献指南2.1 仓库结构与核心模块ComfyUI 的官方 GitHub 仓库comfyanonymous/ComfyUI是整个项目的中枢。理解仓库结构是参与开发的第一步。目录/文件作用main.pyComfyUI 主入口服务启动脚本comfy/核心引擎目录包含模型加载、采样、节点注册等核心逻辑comfy_extras/内置扩展节点官方维护的额外节点集custom_nodes/自定义节点目录用户安装的第三方节点存放于此nodes.py内置基础节点定义文件web/前端 Web 界面代码models/模型文件存放目录checkpoints, loras, vae 等requirements.txtPython 依赖列表user/用户配置与数据目录开发相关的核心目录comfy/目录包含了 ComfyUI 的核心运行逻辑包括comfy/model_management.py模型加载与内存管理comfy/samplers.py采样器实现comfy/sd.pyStable Diffusion 模型处理comfy/clip.pyCLIP 模型处理comfy/controlnet.pyControlNet 支持comfy_extras/目录是官方维护的扩展节点集提供了大量社区常用功能的官方实现。这些节点的代码风格和组织方式是学习自定义节点开发的最佳参考。custom_nodes/目录是第三方自定义节点的存放位置。当你安装一个新节点时它会被克隆或复制到这个目录下。ComfyUI 启动时会自动扫描此目录并加载其中的节点。2.2 参与社区贡献的方式参与 ComfyUI 社区贡献有多种方式不一定是写代码① 报告 Bug适合所有用户如果使用过程中遇到 Bug可以在 GitHub Issues 中提交问题报告。好的 Bug 报告应包含清晰的标题和问题描述复现步骤越详细越好运行环境信息操作系统、Python 版本、ComfyUI 版本完整的错误日志相关工作流文件JSON截图② 提交功能建议适合所有用户通过 GitHub Issues 的 Feature Request 模板提交。好的功能建议应说明要解决什么问题建议的解决方案替代方案如果有③ 改进文档适合有文档编写能力的用户ComfyUI 的官方文档也是开源的可以在文档仓库提交改进。文档贡献是新手参与开源的好起点。④ 提交 Pull Request适合开发者如果你修复了一个 Bug 或实现了一个新功能可以通过 Pull Request 将代码贡献到 ComfyUI 主仓库。PR 提交前请注意确保代码风格符合项目规范确保新功能有充分的测试在 PR 描述中清楚说明改动内容和原因⑤ 开发自定义节点适合所有开发者这是最常见的贡献方式。通过开发自定义节点你可以直接扩展 ComfyUI 的功能并将成果发布到 Comfy Hub 供他人使用。这也是本章节的重点内容。2.3 开发规范与代码风格ComfyUI 项目虽然没有严格的编码规范文档但从源码中可以总结出以下约定Python 代码规范使用 4 空格缩进标准 Python 风格类名使用 PascalCase如LoadImage,KSampler,CLIPTextEncode函数和变量名使用 snake_case如get_timestep_range,model_options常量使用 UPPER_CASE如CATEGORY,RETURN_TYPES节点命名规范节点类名应反映其功能如ImageUpscale,TextConcatenateCATEGORY 使用有意义的层级结构如image/processing,text/utils输入/输出名称使用可读的 snake_case文件组织规范每个自定义节点包应放在custom_nodes/下的独立子目录中包内应包含__init__.py文件建议将节点类定义放在单独的.py文件中避免单个文件过于庞大2.4 开发文档体系介绍ComfyUI 官方文档的开发与扩展模块是你开发过程中最核心的参考资料。该模块包含文档章节内容适合场景开发指南开发流程概述、环境搭建建议入门阅读自定义节点节点结构、输入输出类型、注册规范核心开发参考节点替换旧节点迁移到新节点的方案节点更新升级API本地 API 端点与调用方式API 集成开发前端扩展JS 前端扩展开发高级 UI 定制建议在开始开发前花 30 分钟浏览开发与扩展模块的所有页面建立一个整体的认知框架。开发过程中遇到具体问题时再回到对应的页面查阅细节。三、开发环境搭建全流程3.1 整体流程概览开发环境的搭建分为以下几个步骤安装 Python 3.10 ↓ 安装 VS Code Python 扩展 ↓ 克隆 ComfyUI 源码仓库 ↓ 创建 Python 虚拟环境 ↓ 安装项目依赖 ↓ 配置 comfy-cli可选但推荐 ↓ 验证开发环境重要提示建议在独立的目录中搭建开发环境与已有 ComfyUI 安装分开。这样既不影响日常使用也避免开发过程中的修改破坏已有环境。开发环境主要用于编写和测试自定义节点不需要放置大量模型文件一个基础模型即可满足测试需求。3.2 安装 Python 3.10ComfyUI 推荐的 Python 版本是3.10。虽然较新版本如 3.11、3.12可能也能运行但为了保证兼容性特别是使用 comfy-cli 和一些自定义节点时建议严格使用 Python 3.10。检查是否已有 Pythonpython3 --version如果输出Python 3.10.x则无需重新安装。如果没有 Python 或版本不正确请按以下步骤安装macOS 安装# 使用 Homebrew 安装推荐 brew install python3.10 # 验证安装 python3.10 --versionWindows 安装访问 Python 3.10 官方下载页面选择 Windows Installer (64-bit) 下载安装时务必勾选 Add Python 3.10 to PATH打开命令提示符验证python --versionLinuxUbuntu/Debian安装sudo apt update sudo apt install python3.10 python3.10-venv python3.10-dev -y python3.10 --version3.3 安装 VS Code 与必备扩展VS CodeVisual Studio Code是目前最流行的 Python 开发 IDE免费、轻量、功能强大。① 下载并安装 VS Code访问 VS Code 官网 下载对应系统版本。② 安装 Python 扩展打开 VS Code点击左侧扩展图标或按CmdShiftX/CtrlShiftX搜索并安装以下扩展扩展名用途是否为必需Python微软官方Python 语言支持、代码补全、调试✅必需Pylance快速、功能丰富的 Python 语言服务✅必需Python DebuggerPython 调试器支持✅必需GitLensGit 历史可视化代码溯源⭕ 推荐Rainbow CSVCSV 文件语法高亮⭕ 推荐③ 配置 Python 解释器在 VS Code 中按CmdShiftPmacOS或CtrlShiftPWindows/Linux输入 Python: Select Interpreter选择你刚安装的 Python 3.10。3.4 克隆 ComfyUI 源码仓库创建一个专门的开发目录并从 GitHub 克隆 ComfyUI 源码# 创建开发目录建议放在用户目录下 mkdir ~/comfyui-dev cd ~/comfyui-dev # 克隆 ComfyUI 源码 git clone https://github.com/comfyanonymous/ComfyUI.git # 进入 ComfyUI 目录 cd ComfyUI分支选择建议默认master分支包含最新代码适合开发测试如需稳定版本可以 checkout 到具体的 Release 版本git checkout v0.3.0版本号以实际为准建议使用 master 分支因为自定义节点通常需要兼容最新版本的 ComfyUI3.5 创建虚拟环境与安装依赖① 创建 Python 虚拟环境虚拟环境可以隔离项目依赖避免不同项目之间的包冲突。# macOS / Linux python3.10 -m venv venv source venv/bin/activate # Windows python -m venv venv venv\Scripts\activate激活虚拟环境后命令行前面会出现(venv)标识。② 升级 pippip install --upgrade pip③ 安装核心依赖# 安装基础依赖 pip install -r requirements.txt # 安装开发额外依赖如需调试 PyTorch pip install torch torchvision torchaudio依赖安装加速如遇下载缓慢可使用国内镜像源pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple常见问题处理macOS M1/M2 芯片如果 PyTorch 安装失败尝试pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu权限问题如遇权限错误检查是否在虚拟环境内source venv/bin/activate依赖冲突使用pip list检查已安装的包必要时使用pip uninstall先卸载冲突包3.6 配置 comfy-cli 命令行工具comfy-cli 是 ComfyUI 的官方命令行工具提供了项目管理、插件安装、配置管理等功能。虽然不是开发必需的但它能大大简化开发流程。① 安装 comfy-clipip install comfy-cli② 验证安装comfy --version③ 常用命令一览命令功能开发中的用途comfy node install url安装自定义节点安装测试依赖节点comfy node list列出已安装节点查看节点加载状态comfy node update name更新指定节点更新节点到最新版本comfy run启动 ComfyUI开发模式快速启动测试comfy env显示环境信息排查环境配置问题④ 开发模式启动关键使用 comfy-cli 以开发模式启动 ComfyUI# 在 ComfyUI 项目目录下 comfy run --listen 0.0.0.0 --port 8188此时终端会显示更详细的日志信息包括节点加载过程、错误堆栈等对开发调试非常有帮助。3.7 验证开发环境在正式开始开发之前先验证环境是否配置正确。步骤 1启动 ComfyUI# 确保虚拟环境已激活 source venv/bin/activate # macOS/Linux # 或 venv\Scripts\activate # Windows # 启动 ComfyUI python main.py步骤 2验证访问浏览器访问http://127.0.0.1:8188应看到 ComfyUI 主界面。步骤 3验证节点加载观察终端输出确认没有ERROR级别的日志。如果看到Custom nodes loaded相关的提示说明节点加载正常。步骤 4验证 Python 开发环境在 VS Code 中创建一个测试文件test_env.py# test_env.py import torch import comfy print(fPyTorch 版本: {torch.__version__}) print(fCUDA 可用: {torch.cuda.is_available()}) print(fComfyUI 导入成功: {comfy.__name__})右键选择 Run Python File in Terminal 运行确认输出正常。环境验证清单✅ Python 3.10 可正常调用✅ VS Code 已选择正确的 Python 解释器✅ ComfyUI 可正常启动并访问✅ 虚拟环境已激活依赖已安装✅ comfy-cli 已安装可选✅ PyTorch 可导入✅ comfy 核心模块可导入四、编写第一个测试节点Hello World在搭建好开发环境后让我们编写第一个自定义节点——一个简单但功能完整的 Hello World 节点。这个节点会接收一个文本输入在控制台打印问候语并返回格式化后的字符串。4.1 节点目录结构在custom_nodes/目录下创建一个新的节点包custom_nodes/ └── comfyui-hello-world/ # 节点包目录 ├── __init__.py # 包初始化文件必需 └── hello_node.py # 节点实现文件4.2 编写节点代码第一步创建目录cd ~/comfyui-dev/ComfyUI/custom_nodes mkdir comfyui-hello-world cd comfyui-hello-world第二步编写__init__.py# __init__.py # ComfyUI 在加载自定义节点时会首先执行此文件 # 在此文件中导入节点类确保节点被注册到系统中 from .hello_node import HelloWorldNode第三步编写hello_node.py# hello_node.py # Hello World 自定义节点示例 # 功能接收文本输入添加问候语前缀并返回 class HelloWorldNode: 一个简单的 Hello World 节点。 展示 ComfyUI 自定义节点的基本结构和注册方式。 # 节点的类别显示在节点列表中的路径 CATEGORY example # 节点的输入类型定义 classmethod def INPUT_TYPES(cls): 定义节点的输入端口。 返回一个字典包含 required必需和 optional可选输入。 return { required: { input_text: (STRING, { multiline: True, # 允许多行文本 default: World, # 默认值 placeholder: 请输入你的名字 # 占位提示 }), greeting: ([Hello, Hi, Hey, 你好, Bonjour], { default: Hello }), }, optional: { suffix: (STRING, { default: ! }), } } # 节点的返回类型定义 RETURN_TYPES (STRING,) # 节点返回端口的显示名称可选 RETURN_NAMES (greeting_text,) # 节点的功能函数名称 FUNCTION greet # 节点的显示名称在界面上显示的名称 DISPLAY_NAME Hello World 问候 # 节点的描述信息鼠标悬停时显示 DESCRIPTION 一个简单的问候节点输入名字并选择问候语 def greet(self, input_text, greeting, suffix!): 核心功能函数。 参数名必须与 INPUT_TYPES 中定义的键名一致。 Args: input_text: 用户输入的文本 greeting: 选择的问候语 suffix: 后缀符号 Returns: 包含格式化问候语的元组 # 在控制台输出日志 print(f[HelloWorld] 收到输入: {input_text}, 问候语: {greeting}) # 生成问候文本 result f{greeting}, {input_text}{suffix} # 在控制台输出结果 print(f[HelloWorld] 输出结果: {result}) return (result,) # 节点导出映射兼容 ComfyUI 的节点发现机制 NODE_CLASS_MAPPINGS { HelloWorldNode: HelloWorldNode } NODE_DISPLAY_NAME_MAPPINGS { HelloWorldNode: Hello World 问候 }4.3 在 ComfyUI 中加载测试步骤 1重启 ComfyUI# 确保在 ComfyUI 项目目录且虚拟环境已激活 python main.py步骤 2观察启动日志在终端中你应该能看到类似以下的输出[ComfyUI] Loading custom nodes from: /path/to/comfyui-dev/ComfyUI/custom_nodes/comfyui-hello-world [ComfyUI] Registering node: HelloWorldNode (Hello World 问候)步骤 3在界面中使用浏览器访问http://127.0.0.1:8188右键点击工作区域在菜单中选择 Add Node → example → Hello World 问候节点会出现在工作区包含一个文本输入框和一个问候语下拉选择添加一个Text Multiline节点用于显示输出连接 HelloWorldNode 的输出到 Text Multiline 的输入输入文本点击 Queue Prompt 执行查看输出结果排错提示节点没有出现在菜单中 → 检查终端是否有错误日志确认__init__.py是否正确导入执行时报错 → 检查 FUNCTION 指定的方法名是否与代码中的方法名一致输出为空 → 检查 RETURN_TYPES 定义是否正确返回值是否匹配五、开发调试技巧5.1 日志输出技巧在节点开发过程中日志是最常用也最有效的调试手段。ComfyUI 会将标准输出print和标准错误sys.stderr显示在终端中。基础日志输出print([MyNode] 这是一个调试信息) print(f[MyNode] 变量值: {variable})带前缀的日志风格推荐def process(self, input_data): print(f[MyCustomNode] 开始处理...) print(f[MyCustomNode] 输入参数: {input_data}) # 处理逻辑 result do_something(input_data) print(f[MyCustomNode] 处理完成结果: {result}) return (result,)使用 Python logging 模块高级import logging logger logging.getLogger(comfyui.my_custom_node) class MyAdvancedNode: def process(self, data): logger.info(fProcessing data: {data}) logger.debug(fDetailed debug info: ...) # ...5.2 VS Code 调试配置VS Code 的调试功能可以让你在代码中设置断点逐步执行检查变量值。配置调试器在 VS Code 中打开 ComfyUI 项目目录点击左侧运行和调试图标或按CmdShiftD点击创建 launch.json 文件选择 Python Debugger → Python File将生成的launch.json配置修改为{ version: 0.2.0, configurations: [ { name: ComfyUI Debug, type: debugpy, request: launch, program: ${workspaceFolder}/main.py, console: integratedTerminal, justMyCode: false, env: { PYTHONPATH: ${workspaceFolder} } } ] }使用调试器在节点代码中点击行号左侧添加断点红点按F5启动调试ComfyUI 启动后在工作流中执行你的节点当代码执行到断点处时VS Code 会暂停执行可以使用变量面板检查当前变量值使用F10单步执行F11进入函数内部5.3 热重载与快速迭代方法一手动重启最常用每次修改代码后停止 ComfyUICtrlC然后重新启动。这种方法简单可靠适合开发初期。方法二使用 --auto-launch 参数python main.py --auto-launchComfyUI 启动后会自动打开浏览器。方法三不重启快速测试对于纯逻辑测试不涉及节点注册可以直接在 Python 中导入并测试# 在项目目录下创建 test_quick.py from custom_nodes.comfyui-hello-world.hello_node import HelloWorldNode node HelloWorldNode() result node.greet(World, Hello) print(result) # 输出: (Hello, World!,)# 运行快速测试确保虚拟环境已激活 python test_quick.py5.4 常见错误排查错误现象可能原因解决方法模块导入错误ModuleNotFoundError虚拟环境未激活或依赖未安装激活虚拟环境source venv/bin/activate安装依赖pip install -r requirements.txt节点未注册节点列表找不到__init__.py未正确导入节点类或 NODE_CLASS_MAPPINGS 缺失检查__init__.py中的导入语句确认有NODE_CLASS_MAPPINGS定义执行时报错TypeError等FUNCTION 方法名不匹配或参数名不一致确认FUNCTION method_name与实际的def method_name():一致确认方法参数名与 INPUT_TYPES 中的键名一致返回类型不匹配RETURN_TYPES 与实际返回值类型或数量不匹配确认返回值是元组确认元素数量与 RETURN_TYPES 定义一致CUDA 内存不足测试时使用了过大模型或过大的图像尺寸降低图像尺寸使用 CPU 模式测试逻辑正确性端口被占用另一个 ComfyUI 实例已在运行关闭其他实例或使用--port 8189指定不同端口六、总结与下一篇预告6.1 本章核心知识点回顾通过本文的学习你已经完成了从 ComfyUI 使用者到开发者的第一步。让我们回顾一下本文的核心内容社区贡献指南✅ 理解了 ComfyUI 仓库结构——comfy/核心引擎、comfy_extras/扩展节点、custom_nodes/自定义节点✅ 了解了五种社区贡献方式——Bug 报告、功能建议、文档改进、Pull Request、自定义节点开发✅ 掌握了开发规范和代码风格要求开发环境搭建关键产出✅ Python 3.10 已安装并可用✅ VS Code 已配置 Python 扩展和正确的解释器✅ ComfyUI 源码已克隆到开发目录✅ 虚拟环境已创建依赖已安装✅ comfy-cli 已配置可选✅ 开发环境验证通过第一个测试节点✅ 理解了自定义节点的基本代码结构——CATEGORY、INPUT_TYPES、RETURN_TYPES、FUNCTION✅ 编写了 Hello World 节点并在 ComfyUI 中成功加载✅ 掌握了基本的日志输出和调试方法6.2 下一篇预告自定义节点创建与发布环境搭建完成Hello World 节点也跑通了。下一篇博客 24我们将在此基础上大展拳脚——深入学习自定义节点的完整开发流程包括节点代码结构深度拆解继承体系、输入/输出配置、注册机制三个实操案例——文本格式化节点、图像尺寸计算节点、条件路由节点调试技巧进阶——断点调试、异常处理、输入验证节点发布至 Comfy Hub——从注册到审核的全流程准备好了吗下一篇我们将真正开始创造自定义节点。官方参考链接ComfyUI GitHub 仓库 — 主仓库源码ComfyUI 官方文档 — 开发与扩展 — 开发指南与自定义节点文档ComfyUI 自定义节点开发文档 → 开发与扩展 → 自定义节点 — 节点结构、输入输出类型规范comfy-cli GitHub 仓库 — 命令行工具源码与使用文档VS Code Python 扩展文档 — Python 开发环境配置教程Python 3.10 下载页面 — 推荐的 Python 版本Comfy Hub — 工作流与自定义节点市场

相关文章:

ComfyUI全面掌握-知识点详解——ComfyUI 开发与扩展基础(开发指南+环境搭建)

本文为「ComfyUI 全面掌握」系列第 23 篇,是高阶进阶章节的第一篇知识点详解博客。作为开发系列的起点,本文将带你系统了解 ComfyUI 社区贡献流程,并手把手搭建完整的自定义节点开发环境,为后续的节点开发与发布奠定坚实的技术基础…...

STM32矩阵按键详解——4×4行列扫描与非阻塞消抖(硬件总结六)

前言 独立按键虽然简单,但当产品需要十几个按键时,每个按键独占一个GPIO的接法就变得很不经济。矩阵按键通过“行列”的交叉结构,仅用NM个GPIO即可驱动NM个按键。以最常见的44矩阵为例,16个按键仅需8个GPIO,引脚利用率…...

鸿蒙中的自由流转

鸿蒙自由流转是 ‌HarmonyOS(鸿蒙系统)‌ 实现多设备协同的核心能力之一,旨在打破设备边界,让应用和服务在不同终端间无缝流转,提升用户体验。‌什么是鸿蒙自由流转?‌鸿蒙自由流转是指用户在多个搭载 Harm…...

RUST编程学习.2语法

目录 前言 一、思维导图 二、Rust语法专属 1.迭代器 2.生命周期 总结 前言 在进行编译器下载后,就可以写代码进行编译调试了,在这之前就是要学习rust语法,在学习的过程中我整理了一版思维导图,最直观的感觉就是rust的语法很…...

【SSD】闪存1

闪存的特点 闪存是非易失存储器,掉电了数据也不会丢失,但是闪存不能够覆写,必须按块擦除,按页写入。 闪存的基本单元 闪存的基本单元是Cell,一种类Nmos的双层浮栅MOS管 MOS管 首先理解什么是MOS管:(金…...

性价比高的国产PLM软件公司

在制造业领域,不少企业都面临着研发效率低下、协同困难等问题。比如某电子制造企业,研发部门与生产部门之间信息沟通不畅,图纸版本管理混乱,导致产品研发周期延长,生产成本增加,新品上市时间比预期晚了近30…...

分布式团队的代码协作规范:从分支策略到提交信息格式

在分布式团队模式下,代码协作的地域分散、时区差异和沟通成本,给版本控制和质量保障带来了严峻挑战。作为软件测试从业者,我们不仅是代码质量的“守门员”,更需要深入理解并推动执行规范的代码协作流程,从分支管理到提…...

几十万买的数字孪生低代码平台集体落灰?被隐瞒的落地真相,终于说透了

在政企数字化采购圈子里,一直有个特别讽刺、且年年重复上演的现象。很多企业、政府单位,手握专项数字化预算,毫不犹豫花几十万重金购入数字孪生、3D可视化低代码平台。采购前被厂商的宣传话术打动:零代码拖拽、人人上手、无需专业…...

在家办公效率低?试试这个“空间切换”技巧

一、软件测试从业者居家办公的效率困境对于软件测试从业者而言,居家办公看似摆脱了办公室的嘈杂与束缚,实则面临着诸多独特的效率挑战。测试工作本身就需要高度的专注与严谨,从需求分析、用例设计到缺陷跟踪,每一个环节都容不得半…...

SMARTFORM不同模板一起打印

一、背景由于客户提出发货单要加上条形码打印,条形码单独一个模板,加在后面打印,输出PDF并发送邮件。二、效果展示不同模板一起打印效果如下,建立smartforms的表单时,也使用了两个不同的模板三、smartforms建立表单&am…...

远程技术面试的潜规则:摄像头角度可能影响你的录用

一、摄像头角度:被忽视的专业细节在软件测试的工作中,我们习惯用严谨的态度去排查代码里的每一个bug,用精准的测试用例去验证产品的每一项功能。但在远程技术面试这个特殊的“测试场景”里,很多人却忽略了一个看似无关紧要&#x…...

Spec-Kit + Superpowers 实战:Go语言博客论坛系统的规范驱动开发

从“凭感觉写代码”到“按规范做工程”,一套完整的AI驱动开发方法论落地 一、引言:AI编程的“效率陷阱” 2024年Google DORA报告揭示了一个令人困惑的数据:AI编码助手采用率每提升25%,软件交付稳定性反而下降7.2%。问题出在哪?研究表明,当上下文从1K Token扩展到32K Tok…...

微波遥感杂谈五(微波辐射计)

前言微波辐射计是通过被动的接收各个高度传来的温度辐射的微波信号来判断温度、 湿度曲线,能定量测量目标(如地物和大气各成分)的低电平微波辐射的高灵敏度接收装置。目前机载微波辐射计实测温度分辨率达0.02K,星载微波辐射计温度分辨率达 0.2&#xff5…...

适配多层级组织管理,科学运用 360 度反馈打造公平高效绩效文化

360度绩效反馈评估是一种从上级、下属、同事、客户等多个维度收集反馈的综合绩效评估方法,通过多源数据消除单一评价者的主观偏差,帮助企业获得更全面、客观的员工能力画像。相比传统的上级单向评价,360度反馈能将评估准确度提升40%以上&…...

鸿蒙备考题库页面构建:错题本、小组榜单与备考提示模块详解

鸿蒙备考题库页面构建:错题本、小组榜单与备考提示模块详解 前言 在 HarmonyOS 6.0 应用开发中,教育类应用的错题管理、学习排行榜和系统提示是提升用户粘性的关键功能模块。本文将以“备考题库”应用中的“错题本”高频错题列表、“小组榜单”学习排名和…...

中文编程语言的开创性语法,言律:一门以汉语为思维内核的原生中文编程语言

在对母语作为思维原生载体的深层结构、语言相对论与神经认知机制的探讨基础上,我们不再满足于“把英文关键字翻译成中文”的表层汉化,而是要开创一种真正根植于汉语思维逻辑的编程语法体系—— 🌿「言律」(Yn Lǜ)&…...

leetcode思路-236 二叉树的最近公共祖先

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的…...

把SAC model的数据导出到BW的ADSO中

目录 1. SAC 侧的准备 1.1 OData连接要做好 1.2 SAC里的model设置要配置好允许导出到Odata 2. BW侧要做的准备(先跟着SAP的note走) 3. SAC 模型数据导出 一般都是把planning model的数据导出到一个ADSO中,然后再用Composite Provider里…...

Word文档保护技巧:防止内容被轻易复制

Word文档如何防止复制呢?其实,Word根本没有真正意义上的禁止复制,因为用户按一下手机截图,或者拍张照片,内容照样能拿走。但是,我们可以提高复制门槛,也就是让其他用户通过“CtrlC”无法直接复制…...

计算机毕业设计 | SpringBoot+vue医院药品管理系统(附源码+论文)

1,绪论 1.1课题背景 身处网络时代,随着网络系统体系发展的不断成熟和完善,人们的生活也随之发生了很大的变化。目前,人们在追求较高物质生活的同时,也在想着如何使自身的精神内涵得到提升,而读书就是人们…...

机器学习之逻辑回归算法

一、逻辑回归简介 1. 定义 逻辑回归(Logistic Regression)是一种有监督学习算法,主要用于解决二分类问题的统计学习方法。尽管名字中带有“回归”,但它实际上是一种分类算法。 大白话解释 逻辑回归就是一种“做判断题”的算法&…...

强制启动 Cursor IDE 主程序(不带 Agent 模式)

🔧 终极解决:强制启动 Cursor IDE 主程序(不带 Agent 模式)方法 1:用「命令行」强制启动主程序(最稳)按 WinR 打开运行窗口,输入 cmd 回车,打开命令提示符输入下面这行命…...

Ollama访问限制

发布于: Ollama访问限制 | Eucalyptushttps://blog.mingliangstar.com/2026/05/21/Ollama%E8%AE%BF%E9%97%AE%E9%99%90%E5%88%B6/ NginxBasic Auth认证 生成密码文件 # 安装工具 yum install httpd-tools -y# 创建密码文件(用户名 admin)…...

7.跨品牌手机刷机原理深度解析|BL 解锁机制 + 分区读写 + 故障修复全方案

摘要 本文系统性地阐述主流品牌智能手机(华为、小米、OPPO、vivo、一加、苹果)刷机与维修的核心原理与操作流程。针对不同品牌底层架构差异,提供从Bootloader解锁、Recovery刷写到系统固件注入的完整技术方案。所有操作步骤均基于实际硬件环境验证,包含完整可运行的Python…...

【K8s】解惑:K8s 与 Docker 的关系

目录 引言:一个绕不开的问题 一句话说清K8s与Docker的关系 澄清三个误解 从命令的角度,直观对比 引言:一个绕不开的问题 在学习云原生技术的路上,几乎每个人都会遇到这样一个困惑: “有了 Kubernetes&#xff08…...

6.解决 99% 刷机故障|GPT 分区修复 + SEP 兼容检测 + 全分区备份,工程师实战手册

摘要 本文面向具备基础Linux命令行操作能力的维修工程师与高级发烧友,系统阐述主流品牌手机刷机与维修的底层逻辑与标准化操作流程。内容覆盖高通、联发科、苹果A系列三大芯片平台的刷机协议差异,提供完整的刷机工具链搭建脚本、分区备份恢复脚本、以及底层驱动级故障诊断代…...

论文AI率爆表怕延毕?5招实测降AI率,3分钟知网AIGC过审上岸

2025 年 12 月 25 日知网 AIGC 检测系统升级,2026 年 4 月 27 日维普 AI 率检测平台升级…2026 毕业季,各大主流 AIGC 检测软件陆续升级系统,识别 AI 痕迹更加精准。 临近毕业,同学们看者飘红的 AIGC 检测报告、纷繁复杂的降 AI …...

探索C/C++程序从源码到可执行文件的编译之旅

计算机程序设计语言可大致分为机器语言、汇编语言和高级语言三类。高级语言需经翻译成机器语言后方可执行,此翻译过程包括编译和解释两种方式。因此,高级语言可进一步细分为编译型语言和解释型语言。编译型语言如C、C、Java,其程序需经过预处…...

AI犯了错没人追责,工程师犯了错丢饭碗?

芯片公司开始大量引入AI辅助设计工具,生成RTL代码、跑仿真、做时序分析。与此同时,公司对工程师的容错空间越来越小,考核越来越严,出了bug第一反应是找人背锅。这两件事放在一起,细想一下,其实挺荒诞的。AI…...

通宵降AI率?10款降AI工具亲测:哪个神器一次过,哪个白花钱

2025 年 12 月 25 日知网 AIGC 检测系统升级,2026 年 4 月 27 日维普 AI 率检测平台升级…2026 毕业季,各大主流 AIGC 检测软件陆续升级系统,识别 AI 痕迹更加精准。 临近毕业,同学们看者飘红的 AIGC 检测报告、纷繁复杂的降 AI 系…...