- 博客(213)
- 资源 (1)
- 收藏
- 关注
原创 mcp server demo,多种调用方式
本文介绍了一个基于MCP服务的天气预报系统实现方案。该系统提供两个核心功能:1)通过经纬度获取天气预报数据;2)通过城市名称获取天气预警信息。系统采用FastMCP框架构建,包含模拟数据生成器和日志记录装饰器。技术实现上,使用SSE协议建立长连接,通过POST请求进行会话交互。文章还展示了如何将大模型与MCP服务集成,实现自动工具调用决策:大模型分析用户输入,决定调用哪个工具并提取参数,最终返回处理结果。整个系统演示了从服务端开发到客户端调用的完整流程,体现了MCP服务在功能调用和AI集成方面的灵活性。
2025-12-18 21:49:47
325
原创 FastAPI 源码阅读==浏览器一次请求到 uvicorn/FastAPI 的底层流程(含 epoll/FD)
✅ 从浏览器发起 HTTP 请求到 uvicorn/FastAPI 的底层机制(含 FD / epoll / uvloop)libuv 调用 epoll_ctl(EPOLL_CTL_ADD),将监听 FD 加入 epoll。当浏览器再次发起请求,FD 再次可读,被 epoll 标记,再次被 uvloop 回调处理。内核将该 FD 标记为 EPOLLIN,epoll_wait 被唤醒并返回该 FD。uvicorn 创建 socket FD(如 fd=7)并调用事件循环注册监听。
2025-11-21 22:00:39
477
原创 spark热点key导致的数据倾斜复现和加盐处理
使用Python生成了1.5亿条含80%热点数据的测试数据,并上传至HDFS。通过Scala编写了三种RDD处理方案对比:普通groupByKey,加盐优化(20段)和热点单独处理。文章从Spark原理角度分析了数据倾斜导致单个Task处理80%数据成为瓶颈的原因,并提出了改进思路。
2025-10-15 21:30:14
1128
原创 Dask read_csv未指定数据类型报错
摘要:Dask的read_csv函数在读取多个CSV文件时,仅从第一个文件开头采样256KB来推断数据类型,并将该类型强制应用到所有文件。当同一列在不同文件中包含不同数据类型时,会导致类型转换错误。本文分析了源码中的采样机制和类型强制应用过程,揭示了问题根源,并提供了手动指定dtype、增加采样大小等解决方案。该设计权衡了性能与数据一致性,最佳实践建议在数据生成阶段做好类型标准化或读取时明确指定数据类型。
2025-09-14 21:50:54
652
原创 distributed.client.Client 用户可调用函数分析
本文分析了Dask分布式计算中的distributed.client.Client用户可调用函数,系统梳理了其核心功能。主要内容包括:1)任务提交执行函数(submit、map、compute等);2)数据管理函数(scatter、gather、数据集管理等);3)任务控制与集群管理函数;4)监控诊断工具;5)数据优化功能;6)实用工具及其他辅助功能。这些函数全面覆盖了分布式计算的任务调度、数据管理、集群监控等核心环节,为开发者提供了完整的分布式计算操作接口。文章采用分类方式呈现,便于用户按需查阅和使用。
2025-09-08 22:20:11
605
原创 dask.dataframe.shuffle.set_index中获取 divisions 的步骤分析
本文分析了Dask DataFrame中set_index方法动态计算分区边界(divisions)的详细过程。当未提供divisions参数时,系统通过以下步骤确定分区边界:1)并行计算各分区的数据大小、分位数、最小/最大值;2)通过percentiles_summary函数采用混合采样策略(等间距+随机)生成百分位值;3)合并压缩各分区摘要;4)检查数据是否已排序以优化性能;5)处理空数据集和分类数据类型等特殊情况。整个过程采用分布式计算和智能采样策略,在保证准确性的同时优化计算效率。
2025-09-06 22:35:41
666
原创 DASK shuffle任务图分析
Dask的compute()调用实质是一次跨越 Client、Scheduler、Worker 的分布式执行流程。Client 提交任务图(DSK)至 Scheduler;Scheduler 维护任务状态(released→waiting→processing→memory),并将计算分配给合适的 Worker;Worker 负责执行函数,结果存入本地内存后上报 Scheduler。当 Client 通过 gather 请求结果时,Scheduler 从对应 Worker 拉取数据并返回
2025-09-02 20:28:04
961
原创 AS400==WINDOWS开发COBOL/安装DB2/连接DB2
安装GNUCOBOL环境VSCODE安装COBOL插件docker安装DB2localhost50000db2inst1。
2025-03-26 20:50:35
438
原创 Failed to execute goal on project spark-streaming-mqtt_2.10: Could not resolve dependencies for pro
1.0.1版本仓库里都没了。
2025-02-15 16:18:26
230
原创 mongodb==安装prisma连接
创建文件夹D:\sf_develop\mongodb\data\db。修改bin/mongod.cfg。会自动在依赖包里生成客户端代码。执行rs.initiate。会发现生成了一个配置文件。创建一个node项目。
2025-01-06 21:27:37
896
原创 spark==centos安装hadoop集群,安装spark standalone集群,编写pyspark/java/scala代码使用集群
master地址 hadoop100:8080历史服务器 hadoop100:18080hdfs地址1centos安装hadoop集群,上传文件到hdfs2安装spark standalone集群,查看自带的pyspark使用的python版本,然后安装annaconda安装该版本的虚拟环境,安装该版本的pyspark依赖包3 python pyspark代码pycharm远程选择python解释器编写pyspark代码。
2024-11-03 18:07:18
569
原创 spark==windows启动spark集群
将spark-3.5.3-bin-hadoop3\python\pyspark拷贝到python项目所用的解释器的LIB里。如果pip install pyspark报错了,就直接拷贝spark里自带的。有可能需要将localhost换成主机名。下载hadoop3.0.0。编写测试代码提交到集群执行。下载spark3.5.0。基于python3.10。安装pyspark,
2024-10-31 21:14:37
686
原创 dotnet7==windows ZIP方式安装和web demo和打包
文件夹下,可以将其部署到任何支持 .NET 7 的环境中。打包为自包含(Self-contained)应用。打包后的应用将打包到。
2024-10-08 22:25:20
681
原创 windows cuda12.1 pytorch gpu环境配置
nvcc -Vconda create -n llama3_env python=3.10conda activate llama3_envconda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidiagpu - Pytorch version for cuda 12.2 - Stack Overflow
2024-09-22 12:59:21
699
原创 AS400==使用COBOL写个HELLWORLD
随便选一个,在OPT输入12回车打开这个FILE,最下面一排提示了,F6创建一个新的MEMBER输入这个FILE。FILE相当于文件夹,MEMBER相当于一个代码文件test.py。左上角SEU箭头后面输入file回车就保存了。可以看到在我的lib下拥有的FILES列表。在最下方的箭头后输入wrkobjpdm回车。OPT输入14将代码编译成OBJECT。登录后输入命令WRKOBJPDM。call lib名字/OBJ名字。查看刚才编译好的OBJECT。调用刚才编译好的OBJ。移动光标输入程序代码。
2024-08-02 20:53:14
375
原创 AS400==创建主机,使用客户端连接上主机
因为AS400基于的CPU架构和自己用的PC不一致,所以要么自己买台AS400主机/上云服务买一台,或者去些网站免费申请一台。连上后默认光标会停在your user name后面,输入你的用户名,键盘下键移动到密码行输入密码,然后回车。下键移动到下下行,左键移动到new password的最后一个点后两个空格处输入新密码。下键移动到下下行,左键移动到new password的最后一个点后两个空格处输入新密码。输入第一个命令DSPLIB然后回车,查看这个操作系统有什么基础的LIB。F3回到最开始那个界面。
2024-08-02 20:13:36
615
原创 以太坊==给合约转入/查询合约剩余/合约转给某账户/结构体/MAP
在 Solidity 中,有三种常用的方法可以将以太币转账到另一个地址:transfer、send 和 call。它们各自有不同的特性和用法,call:最灵活和通用的方法,适用于复杂的场景,允许指定 Gas 和调用其他合约方法。transfer:安全性高,适用于简单转账,不需要处理失败情况。必须要定义该函数,或者定义fallback。send:灵活性较高,需要手动处理失败。
2024-06-22 19:45:58
470
原创 以太坊==windows电脑本地搭建一个虚拟的以太坊环境
除了在IDE里指向本地的以太坊环境,也可以通过METAMASK跳转。remix IDE中使用。测试部署和两次set。
2024-06-22 17:26:14
621
原创 以太坊==MetaMask获取测试币最新网址
根据自己的GITHUB等账号,申请个人护照,账号绑定越多,获得分数就越高。水龙头地址,填入自己的测试钱包地址。
2024-06-22 14:59:31
1393
原创 K8S==ingress简单搭建和使用
Ingress通常配合Ingress Controller一起使用,Ingress Controller负责实际的请求转发,而Ingress对象定义了转发规则。在Kubernetes中,Nginx通常用作Ingress Controller的一部分,负责实际处理Ingress规则定义的请求转发、路由、负载均衡等任务。在Kubernetes中,你可以选择其他Ingress Controller,比如Traefik、HAProxy等,根据你的需求和偏好来进行选择。
2024-06-04 22:07:32
1249
keycloak18.0.0==前后端分离项目中使用,前端react后端springboot 源码
2024-03-10
javaweb15代码和SQL
2023-06-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅