MCP 正当时:FunctionAI MCP 开发平台来了!
作者:封崇
MCP:AI 时代的“操作系统接口”
2024 年 11 月,Anthropic 发布模型上下文协议(MCP),这一开放标准迅速引发开发者社区的"协议觉醒"。其本质是通过标准化接口实现 LLM 与外部世界的双向交互,正如 USB 协议统一外设接入,MCP 正成为 AI 应用连接数字生态的通用总线。随着 Cursor、Claude Desktop 等开发工具相继集成,特别是 OpenAI 宣布全面兼容 MCP 协议,标志着 MCP 从技术实验迈入产业级标准,这一标准化接口正重塑 AI 与数字世界的交互范式。
截至 2025 年 4 月,MCP.so【1】上已经已有超过 8000 个注册的 MCP Server,涵盖数据处理、文件系统、API 网关、聊天机器人、数据库等服务类别,这一数量还在迅速增长。
生态暴发期的痛点
尽管 MCP 生态呈现指数级增长,GitHub 仓库星标数半年突破 3.5 万,但生产级落地仍面临三重挑战:
1. 本地化瓶颈:当前绝大多数 MCP server 都采用传统 STDIO 模式,该模式没有鉴权能力(缺乏 OAuth 2.1 标准的双向认证机制、无法实现基于角色的访问控制),在复杂业务场景下暴露出调试困难、网络隔离性差等缺陷,难以实现访问内网环境的数据安全管控,内网穿透导致攻击面扩大;
2. 弹性困境:MCP 工具调用流量呈现显著的非稳态特征以及"脉冲式"波动,比如智能客服系统的峰谷效应非常明显,传统虚拟机部署造成大量资源浪费;
3. 开发断层:从本地调试到云端部署需要重构鉴权、变量管理、日志、中间件等基础组件,改造成本高,开发者大量的精力消耗在非业务代码的开发上;
Serverless 是 MCP 托管的最佳解决方案
我们观察到大部分的 MCP server 有以下特点:
-
稀疏调用,而且对算力的需求都比较小,0.5c/1G 的规格基本能够应对大部分场景;
-
代码体积比较小(<100MB),Node.js、Python 解释型语言是 MCP 的一等公民,大部分 MCP server 直接通过 npx、uv 就能一键运行;
-
MCP server 的迭代非常快,新增、修改或弃用 MCP server 的场景会非常高频,对 MCP server 元数据管理的需求非常普遍;
因此灵活部署、弹性扩展的运行时对于 MCP server 的托管非常契合,这恰恰是 Serverless 的最大优势。 以阿里云函数计算为例:
-
天然的事件驱动模型,提供毫秒级弹性能力、按量付费、安全沙箱的运行时环境,完美解决了云上托管对于性能、成本、安全的需求;
-
官方对于 Node.js、Python 运行时的支持完善,内置代码包加速能力以及层的扩展,大幅降低代码启动时间;
-
控制台、SDK、ServerlessDevs 工具提供丰富的函数元数据的管理能力;
这些能力让 Serverless 正成为托管 MCP 的最优解。作为 MCP 的最佳运行时,函数计算已经支持阿里云百炼 MCP 服务【2】。
Function AI 是基于函数计算构建的 Serverless AI 应用开发平台,基于函数计算的运行时能力上线了完整的 MCP 开发能力,成为真正意义上的 MCP 开发平台。您可以进入 FunctionAI 控制台【3】,快速体验 MCP 服务的能力。
快速部署
方式一:通过模板一键部署
1. 选择 MCP 模板
进入 FunctionAI 控制台【4】,选择探索->筛选应用模板(MCP Server),选择一个 MCP 模板进行部署
2. 填写模板配置,部署项目
3. 查看部署进度
方式二:创建自定义 MCP 服务
1. 创建空白项目
2. 创建 MCP 服务
3. 编辑 MCP 服务配置,完成后点击预览&部署
4. 查看部署进度,等待部署完成
方式三:使用 ServerlessDevs 工具本地部署
FunctionAI 正式发布了 ServerlessDevs【5】工具的 MCP 组件,实现本地部署 MCP 工程到 FunctionAI 的能力
1. 安装 ServerlessDevs 工具:
npm install @serverless-devs/s -g
2. 初始化 MCP 项目
s init start-fcai-mcp-nodejs
3. 查看 s.yaml
edition: 3.0.0
name: start-mcp-server-nodejs
access: 'default'
vars:region: 'cn-hangzhou'
resources:nodejs-stdio-hello-world:component: fcai-mcp-serverprops:region: ${vars.region}description: mcp server deployed by devstransport: stdio # stidio | sseruntime: nodejs20cpu: 1memorySize: 1024rootDir: ./codesource:oss: autobuild:default: #默认构建器# 构建环境languages:- nodejs20# 执行步骤steps:- run: npm install- run: npm run buildstartCommand: "node ./dist/index.js" # 启动命令instanceQuota: 1 # 实例数配额
4. 执行部署
s deploy
登录到控制台,可以查看云端的部署详情
测试 MCP 服务
FunctionAI 支持托管 STDIO/SSE 协议的 MCP server。如果 MCP server 代码采用 STDIO,FunctionAI 会启动一个 SSE 服务来代理 STDIO 的请求,客户端访问需要使用 SSE 方式。
当 MCP 服务部署完成后,平台会生成一个 SSE 的连接地址,并且会生成 MCP server 的 schema 用于测试。
用户可以直接在控制台上测试连接、测试工具,也可以使用官方的 Inspector 在本地进行测试。
方式 1:FunctionAI 控制台测试
查看日志和监控
方式 2:Inspector 本地测试
复制 FunctionAI 生成的公网访问地址
本地启动 inspector,输入访问地址进行调试
npx @modelcontextprotocol/inspector
高阶能力
鉴权
MCP 的鉴权只适用于 SSE 的协议,而且必须遵循 OAuth2.1 协议标准,对于大量的 STDIO 的 MCP 服务托管的改造难度非常之高,企业落地 MCP 鉴权是一个非常痛点的问题。
FunctionAI 提供了网关侧的 Bearer 鉴权能力,用户只需要开启鉴权功能,使用平台生成的 Bearer Token,就可以让 MCP 服务自带鉴权能力。
使用方式
编辑服务配置,点击开启鉴权,保存并且部署。开启后,平台会对服务生成一个只读的 Bearer Token。
测试鉴权生效
使用平台生成的 Bearer Token,可以正常访问 MCP 服务
使用错误的 token 时,访问失败
使用本地的 Inspector,输入服务的 token,访问正常。
变量管理
很多的 MCP Server 代码都需要访问第三方服务,比如高德地图、Github 等,需要持有用户的访问秘钥,比如 API-Key、AccessToken,这些秘钥通常以环境变量加载或者启动命令参数注入。
FunctionAI 提供了变量管理能力,并且支持敏感变量托管,可以实现 MCP 服务访问秘钥的安全可靠管理。
配置方式:设置服务变量
选择服务->服务变量,添加服务变量的 Key 和 Value
加载方式 1:环境变量
FunctionAI 上配置的服务变量会默认注入到函数启动的环境变量中,MCP 服务代码可以直接通过系统环境变量读取
加载方式 2:启动参数
FunctionAI 的服务变量支持通过 ${self.KEY_NAME} 的方式引用,可以在启动命令中修改命令行参数,使用变量的引用,在启动阶段注入变量的值。
绑定代码仓库进行持续部署
FunctionAI 的 MCP 服务面向开发态能力,提供以代码仓库托管 MCP 服务的能力。
使用方式:
-
编辑 MCP 服务配置,选择代码仓库,目前支持了 Github、Gitee、Codeup、GitLab、OSS 代码仓库。
-
选择仓库分支、MCP 工程在代码仓库中的根目录
-
选择构建环境:对于多语言的工程,可以选择多个构建环境
-
编辑构建命令:例如 npm build、pip install -r requirements.txt
-
可选:开启构建缓存,缓存目录根据不同语言可以设置/.npm(Node.js)、/.cache(Python)、~/.m2、(Java)
绑定 Git 仓库后,如果指定的分支有 push 操作,会自动触发服务的持续部署
极速模式
对于延迟敏感性的业务,FunctionAI 提供了极速模式,可以提前预留指定数量的实例快照,降低频繁冷启动带来的开销,并且只有在有活跃请求时才会产生 vCPU 费用,可以实现性能和成本的平衡。
另外由于 MCP SSE 请求的 session 机制,同一个 session id 访问到不同实例会导致上下文丢失,因此建议开启预置快照为 1 并且实例限额为 1,这样可以让 SSE 请求打到不同弹性实例的概率更小。
FunctionAI 后面会上线会话亲和性能力,尽情期待。
开启后,可以在函数监控页面看到预留实例的个数
总结与未来展望
FunctionAI 现在已经支持了完整的 MCP 开发能力,包括:
- 部署形式上,支持模板直接部署、自定义 MCP 服务、ServerlessDevs 工具本地部署
- 托管能力上,支持 STDIO/SSE 的自动托管,无需业务改造既能生成可用于访问的 SSE 地址
- 调试能力上,支持控制台直接调试以及 Inspector 本地调试
- 二次开发能力上,支持变量管理、鉴权、绑定代码仓库进行持续部署
- 可观测能力上,支持函数监控、实例监控以及日志
- 弹性调度上,支持标准模式以及极速模式
MCP 的价值是统一了 Agent 和 LLM 之间的标准化接口,有了 MCP Server 的托管以及开发态能力只是第一步,接下来重要的是做好 MCP 和 Agent 的集成,FunctionAI 即将上线 Agent 开发能力,敬请期待。
【1】MCP.so
https://mcp.so/
【2】Serverless MCP 运行时业界首发,函数计算让 AI 应用最后一公里提速
【3】FunctionAI 控制台
https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fcap.console.aliyun.com%2Fexplore&clearRedirectCookie=1&lang=zh
【4】FunctionAI 控制台
https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fcap.console.aliyun.com%2Fexplore&clearRedirectCookie=1&lang=zh
【5】ServerlessDevshttps://www.serverless-devs.com/
点击此处,立即体验!
相关文章:
MCP 正当时:FunctionAI MCP 开发平台来了!
作者:封崇 MCP:AI 时代的“操作系统接口” 2024 年 11 月,Anthropic 发布模型上下文协议(MCP),这一开放标准迅速引发开发者社区的"协议觉醒"。其本质是通过标准化接口实现 LLM 与外部世界的双向…...
AI Agents系列之AI代理的类型
在本文中,我们将探讨不同类型的 AI 代理,包括它们的实现、实际应用、优势和局限性。从简单反射代理到多代理系统,我们将了解这些模型如何推动自动化、决策制定和智能问题解决。 文章目录 1. AI代理的类型1.1 简单反射代理1.1.1 实现**1.1.2 优势****1.1.3 局限性**1.2 基于…...
Go RabbitMQ基础教程:入门与实践指南,实战代码讲解
简介: RabbitMQ是一款实现高级消息队列协议(AMQP)的消息代理软件,也称为消息队列或消息中间件。它通过解耦应用程序之间的直接通信,支持异步数据交换,增强了系统的可扩展性和灵活性。RabbitMQ能够跨平台运…...
LeetCode详解之如何一步步优化到最佳解法:27. 移除元素
LeetCode详解系列的总目录(持续更新中): LeetCode详解之如何一步步优化到最佳解法:前100题目录(更新中...)-CSDN博客 LeetCode详解系列的上一题链接: LeetCode详解之如何一步步优化到最佳解法…...
c++原子操作
原子操作,顾名思义,该操作不可分割。多线程环境也能保证读写数据不错乱。百度搜索了下,其核心概念如下: 1、不可分割性。原子操作是指一系列不可被CPU上下文交换的机器指令,操作要么完全执行,要么完全不执…...
在 Redis Lua 脚本中,keyCount 参数的作用是明确区分脚本参数中的 KEYS 和 ARGV,具体关系如下:
在 Redis Lua 脚本中,keyCount 参数的作用是**明确区分脚本参数中的 KEYS 和 ARGV**,具体关系如下: --- ### 核心作用 1. **参数分类标识** - keyCount 表示脚本中使用的 Redis KEY 的数量(即 KEYS 数组的长度)…...
小白如何从0学习CSS
以下是针对小白从零开始系统学习 CSS 的完整路径和实用指南,结合核心概念、实践技巧和项目经验,助你掌握网页样式的精髓: 1. 理解 CSS 是什么? 定义:CSS(层叠样式表)用于控制网页的视觉表现&…...
一文掌握RK3568开发板Android13挂载Windows共享目录
在物联网和边缘计算场景中,开发板与PC端的高效文件交互尤为重要。现以iTOP-RK3568开发板为例,详细演示Android13系统如何通过CIFS协议挂载Windows共享目录,实现开发板与PC的无缝文件共享。 RK3568开发板优势 iTOP-3568开发板采用瑞芯微RK3…...
UE5烘培后->为什么C磁盘满了
烘培会产生ddc 需要把路径切换一下,比如切换到游戏空间下。 如何修改,修改如下: 使用记事本打开BaseEngine.ini文件。 将以下内容: textCopy Code Path\"%ENGINEVERSIONAGNOSTICUSERDIR%DerivedDataCache\" 替换为&…...
本地搭建全网可访问的开源音乐服务器Melody结合内网穿透随时听歌
文章目录 前言1. 添加镜像源2. 本地部署Melody3. 本地访问与使用演示4. 安装内网穿透5. 配置Melody公网地址6. 配置固定公网地址 前言 嗨,各位音乐发烧友们!今天我要带你们解锁一个超酷的新技能——在香橙派Zero3上搭建自己的在线音乐平台,并…...
深度学习Y5周:yolo.py文件解读
🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊 一、前言 文件位置:./models/yolo.py 此文件是实现YOLOv5网络模型的搭建文件,如果想改进YOLOv5,这个文件是必须进行修改的…...
Qt实现文件传输服务器端(图文详解+代码详细注释)
Qt实现文件传输服务器 1、前言2、服务器2.1 服务器UI界面2.2添加网络模块和头文件2.3、创建服务器对象2.4 连接有新连接的信号与槽2.5实现有新连接处理的槽函数2.6 选择文件按钮实现2.6.1 连接按钮点击的信号与槽2.6.2 添加头文件2.6.3 创建所需对象2.6.3 选择文件按钮实现 2.7…...
记录学习的第二十七天
今天效率低下,只做了一道力扣的每日一题。 看了题解才懂的。下面复述一遍吧。 算法就是越长越合法型滑动窗口。 核心: 如果此时窗口中有c个元素x,此时再进一个x,那么相同数对就增加c个。 如果此时窗口有c个元素x,此…...
docker 安装TDengine 时序数据库
TDengine是一个高性能、分布式a的时序数据库,专为物联网(loT)和大数据分析日设计。使用Docker快速地搭建 TDengine 的开发或测试环境。以下技术指南,帮助您通过Docker Compose 安装并运行TDengine 1.拉取镜像 (3.3.6.0版本) docker pull registry.cn-ha…...
如何更好使用呼叫中心系统和语音机器人
要更好地使用呼叫中心系统和语音机器人,需要结合两者的优势,实现自动化、智能化、高效率的客户服务与业务运营。以下是优化策略和具体实践方法: 一、呼叫中心系统优化 1. 智能路由与IVR优化 智能ACD(自动呼叫分配&…...
C复习(主要复习)
指针和数组 指针数组是一个数组,数组的每个元素都是指针。它适用于需要存储多个指针的场景,如字符串数组。数组指针是一个指针,指向一个数组。它适用于需要传递整个数组给函数或处理多维数组的场景。 函数指针:函数指针的定义需要…...
网页五子棋项目测试报告
一、测试概述 网页五子棋项目运用 Java 语言与 Spring 框架开发,具备用户登录注册、人机对战、在线匹配对局、房间邀请对局及积分排行榜等功能。本次测试旨在评估项目各功能的完整性、稳定性与交互性,依据各文章所描述的功能设计和实现细节进行全面测试…...
大模型提示词prompt
系列文章目录 第一章 提示词的引言和指南 文章目录 系列文章目录前言原则1:写清楚具体的说明1、使用分割符2、要求结构化输出3、检查条件是否满足 检查完成任务所需的假设4、少量样例提示给出成功的例子 原则2:给模型足够的时间思考1、给予模型要输出执…...
如何让Agent开发正真可控、可靠?Cursor AI工程化
工程化的目的 不知道你在AI编程的过程中有没有这样的痛点?开发质量不理想、研发进度无法把控… 问题核心在于没有一套属于AI编程的规范,这正是工程化要解决的问题。 如何工程化 参考我们正常研发流程中的步骤,技术方案设计&评审->…...
计算机视觉——基于人工智能视觉注意力的在线广告中评估检测技术
概述 自2023年在线广告行业估计花费了7403亿美元以来,很容易理解为什么广告公司会投入大量资源进行这一特定领域的计算机视觉研究。 尽管这个行业通常较为封闭和保守,但偶尔也会在arxiv等公共存储库中发布一些研究,这些研究暗示了更先进的专…...
opencv函数展示
一、图像基础 I/O 与显示 1.cv2.imread() 2.cv2.imshow() 3. cv2.waitKey() 4. cv2.imwrite() 5. cv2.selectROI() 6. cv2.VideoCapture() 二、颜色空间与转换 1. cv2.cvtColor() 2. cv2.split() 三、阈值处理 1. cv2.threshold() 2. 特殊阈值方法...
Redis 的不同数据结构分别适用于哪些微服务场景
我们一块来分析下Redis 的不同数据结构在微服务场景下的具体应用: 1. String (字符串) 特点: 最基本的数据类型,二进制安全,可以存储任何类型的数据(文本、序列化对象、图片等),最大 512MB。支持原子性的…...
用node编写git钩子hooks的示例
关于 git 钩子函数,就是在 git 进行提交的时候触发一些可执行脚本的功能,详情可以看这篇博客【GIT知识】git进阶-hooks勾子脚本_git hooks-CSDN博客,我这里稍微演示一下怎么用 node 编写钩子的脚本 以 pre-commit 钩子为例,会在用…...
RISC-V架构新生态:鸿道Intewell操作系统×全志D1芯片
在全球化技术博弈与自主可控需求的双重驱动下,RISC-V架构正从开源革命走向产业落地。然而,RISC-V生态的成熟不仅需要硬件层面的突破,更需操作系统与芯片的深度协同。鸿道Intewell操作系统与全志D1(RISC-V架构)芯片的适…...
盈达科技:重新定义GEO优化的技术边界与商业未来
——以硬核技术领跑生成式AI时代的认知主权争夺战 01 技术架构:AICC 2.0智能协同中心 生成式AI优化的「核动力引擎」 盈达科技独创的AICC 2.0(自适应-智能-认知-动态响应)智能协同中心,构建…...
芯片测试工具系统Demo示例
芯片测试工具系统Demo示例 一个简单的芯片测试工具系统Demo示例,包含基础功能和模拟测试流程,使用Python实现: python import time import random import csv from datetime import datetime class VirtualChip: """模…...
从单模态到多模态:五大模型架构演进与技术介绍
前言 1. ResNet — 残差神经网络背景核心问题与解决方案原理模型架构ResNet 系列变体技术创新与影响 2. ViT — Vision Transformer背景核心思想发展历程Transformer的起源:ViT的出现:ViT的进一步发展: 模型架构技术创新与影响 3. Swin Trans…...
基于 Java 的淘宝 API 调用实践:商品详情页 JSON 数据结构解析与重构
一、引言 在电商领域,淘宝拥有海量的商品数据。通过调用淘宝 API 可以获取商品详情页的 JSON 数据,这对于商家进行市场分析、竞品调研等具有重要意义。本文将详细介绍如何使用 Java 调用淘宝 API,获取商品详情页的 JSON 数据,并对…...
Sentinel源码—3.ProcessorSlot的执行过程二
大纲 1.NodeSelectorSlot构建资源调用树 2.LogSlot和StatisticSlot采集资源的数据 3.Sentinel监听器模式的规则对象与规则管理 4.AuthoritySlot控制黑白名单权限 5.SystemSlot根据系统保护规则进行流控 3.Sentinel监听器模式的规则对象与规则管理 (1)Sentinel的规则对象 …...
【C++11】列表初始化、右值引用、完美转发、lambda表达式
📚 博主的专栏 🐧 Linux | 🖥️ C | 📊 数据结构 | 💡C 算法 | 🌐 C 语言 上篇文章:unordered_map、unordered_set底层编写 下篇文章:C11:新的类功能、模板的可…...
Spring中IOC的重点理解(笔记)
Spring: 出现在2002左右.解决企业级开发的难度.减轻对项目模块 类与类之间的管理帮助开发人员创建对象,管理对象之间的关系. 补充:什么是OCP原则?(面试) (1)是软件七大开发当中最基本的一个原则ÿ…...
数据库系统概论|第三章:关系数据库标准语言SQL—课程笔记4
前言 前面详细介绍了关于SELECT语句的相关使用方法,继续上文的介绍,本文将继续介绍数据查询的其他相关操作,主要包括排序(ORDER BY)子句、分组(GROUP BY)子句。与此同时,介绍完单表…...
【1】CICD持续集成-docker本地搭建gitlab代码仓库社区版
一、gitlab社区版概述 GitLab社区版(Community Edition, CE)是一个开源的版本控制系统,适用于个人开发者、中小团队及大型企业。 GitLab社区版采用MIT许可证,用户可以免费使用和修改源代码。其主要功能包括代码托管、版本控制…...
Verdi工具使用心得知识笔记(一)
Verdi工具使用知识点提炼 本文来源于移知,具体文档请咨询厚台 一、基础概念 波形依赖 Verdi本身无法生成波形,需配合VCS等仿真工具生成.fsdb文件。核心功能模块 • nTrace:代码调试与追踪 • nSchema:原理图分析 • nState&…...
【25软考网工笔记】第二章 数据通信基础(4)数据编码
目录 一、曼彻斯特编码 1. 以太网 2. 题型(考试过的选择题) 1)题目解析 二、差分曼彻斯特编码 三、两种曼彻斯特编码特点 编辑 1. 双相码 2. 将时钟和数据包含在信号数据流中 3. 编码效率低 4. 数据速率是码元速率的一半 5. 应用案例 编辑 1&…...
【正点原子STM32MP257连载】第四章 ATK-DLMP257B功能测试——USB OTG测试
1)实验平台:正点原子ATK-DLMP257B开发板 2)浏览产品:https://www.alientek.com/Product_Details/135.html 3)全套实验源码手册视频下载:正点原子资料下载中心 第四章 ATK-DLMP257B功能测试——USB OTG测试…...
现代c++获取linux系统磁盘大小
现代c获取linux系统磁盘大小 前言一、命令获取系统磁盘大小二、使用c获取系统磁盘大小三、总结 前言 本文介绍一种使用c获取linux系统磁盘大小的方法 一、命令获取系统磁盘大小 在linux系统中可以使用lsblk命令显示当前系统磁盘大小,如下图所示 lsblk二、使用c获…...
tcp和udp的数据传输过程以及区别
tcp和udp的数据传输过程以及区别 目录 一、数据传输过程 1.1 UDP 数据报服务图 1.2 TCP 字节流服务图 1.3 tcp和udp的区别 1.3.1 连接特性 1.3.2 可靠性 1.3.3 数据传输形式 1.3.4 传输效率与开销 应用场景 一、数据传输过程 1.1 UDP 数据报服务图 这张图展示了 UDP 数据报服务…...
C++项目-衡码云判项目演示
衡码云判项目是什么呢?简单来说就是这是一个类似于牛客、力扣等在线OJ系统,用户在网页编写代码,点击提交后传递给后端云服务器,云服务器将用户的代码和测试用例进行合并编译,返回结果到网页。 项目最大的两个亮点&…...
C 语言中的 volatile 关键字
1、概念 volatile 是 C/C 语言中的一个类型修饰符,用于告知编译器:该变量的值可能会在程序控制流之外被意外修改(如硬件寄存器、多线程共享变量或信号处理函数等),因此编译器不应对其进行激进的优化(如缓存…...
mysql表类型查询
普通表 SELECT table_schema AS database_name,table_name FROM information_schema.tables WHERE table_schema NOT IN (information_schema, mysql, performance_schema, sys)AND table_type BASE TABLEAND table_name NOT IN (SELECT DISTINCT table_name FROM informatio…...
JavaScript事件循环
目录 JavaScript 执行机制与事件循环 一、同步与异步代码 1. 同步代码(Synchronous Code) 2. 异步代码(Asynchronous Code) 二、事件循环(Event Loop) 1. 核心组成 2. 事件循环基本流程 3. 运行机制…...
Linux》》bash 、sh 执行脚本
通常使用shell去运行脚本,两种方法 》bash xxx.sh 或 bash “xxx.sh” 、sh xxx.sh 或 sh “xxx.sh” 》bash -c “cmd string” 引号不能省略 我们知道 -c 的意思是 command,所以 bash -c 或 sh -c 后面应该跟一个 command。...
Git完全指南:从入门到精通版本控制 ------- Git 查看提交历史(8)
Git提交历史深度解析:从代码考古到精准回退 前言 在软件开发的生命周期中,提交历史是团队协作的时空胶囊。Git作为分布式版本控制系统,其强大的历史追溯能力可帮助开发者: 精准定位引入Bug的提交分析代码演进趋势恢复误删的重要…...
精益数据分析(2/126):解锁数据驱动的商业成功密码
精益数据分析(2/126):解锁数据驱动的商业成功密码 大家好!在如今这个数据爆炸的时代,数据就像一座蕴含无限宝藏的矿山,等待着我们去挖掘和利用。最近我在深入研读《精益数据分析》这本书,收获了…...
【ssti模板注入基础】
一、ssti模板注入简介 二、模板在开发中的应用 为什么要使用模板 为什么要用模板来提升效率: 不管我们输入什么,有一部分内容都是不会变的 除了内容之外其他都不会变,如果我们有成千上万的页面,如果不用模板,就算复…...
如何在 Kali 上解决使用 evil-winrm 时 Ruby Reline 的 quoting_detection_proc 警告
在使用 Kali Linux 运行 Ruby 工具(例如 evil-winrm)时,你可能会遇到以下警告: Warning: Remote path completions is disabled due to ruby limitation: undefined method quoting_detection_proc for module Reline这个警告会导…...
从零开始搭建PyTorch环境(支持CUDA)
从零开始搭建PyTorch环境(支持CUDA) 本文将详细介绍如何在Windows系统上为RTX 3050显卡配置支持CUDA的PyTorch环境。 环境准备 本教程基于以下环境: 显卡:NVIDIA RTX 3050操作系统:WindowsPython版本:3.1…...
【扩散模型连载 · 第 2 期】逆向扩散建模与神经网络的角色
上期回顾 我们在第 1 期中介绍了 正向扩散过程(Forward Process),并用 CIFAR-10 图像演示了加噪过程: 正向过程是固定的,无需训练,但我们感兴趣的是:如何从纯噪声一步步“还原”出真实图像&…...
Mysql约束
约束其实就是创建表的时候给表的某些列加上限制条件。 主键约束和自增长约束比较重要 一、Mysql约束-主键约束 简介 指定的主键不能重复也不可以出现空值 1.添加单列主键 语法1:create table 表名(字段名 数据类型 primary key); 点开…...