NIO的零拷贝如何实现高效数据传输?

博主头像 Java NIO零拷贝 在 Java NIO 中的通道(Channel)就相当于操作系统的内核空间(kernel space)的缓冲区,而缓冲区(Buffer)对应的相当于操作系统的用户空间(user space)中的用户缓冲区(user buffer)。 通道(Channel)是全双工的(双向传输 ...

AI Coding 工具 Trae 的简单实践

博主头像 〇、前言 前文已经介绍了关于 AI Coding 的相关概念,详见:I Coding 中的概念 Vibe Coding 和 Spec Coding 简介。 那么本文将通过 Trae 工具,简单实践一下,通过 AI 来实现一个简单的“贪吃蛇”游戏。 最终生成一个 HTML 文件,直接在浏览器中打开即可 ...

HagiCode 平台的多 AI Provider 架构实践

博主头像 HagiCode 平台的多 AI Provider 架构实践 本文分享了在 Orleans Grain 架构下,如何通过统一的 IAIProvider 接口集成 iflow 和 OpenCode 两个 AI 工具的技术方案,并详细对比了 WebSocket 和 HTTP 两种通信方式的实现差异。 背 ...

这个新闻居然是真的——一颗大脑被"上传"进电脑,然后"活"了

博主头像 2026 年 3 月 7 日,一家叫 Eon Systems 的旧金山初创公司,发布了一段视频。 视频里有一只果蝇。它在屏幕上走路,停下来梳理自己的身体,然后四处找食物。看起来就是一只正常的果蝇在做正常的事情。 但这只果蝇不是真的! 准确地说,它的"身体"是假的——是电脑模拟出来的一具虚拟躯壳。但它 ...

Go - Zerolog使用入门

博主头像 简介 Zerolog 是一个可以结构化输出 JSON 格式的 Go 日志库,其特点就是高性能,名字中的 zero 代表零分配设计,速度非常快。 什么是零分配设计? 在 Go 语言中,内存分配会带来一定的性能开销,频繁的内存分配和垃圾回收(GC)会影响程序性能。零分配设计的目标是在热点代码路径上尽量避 ...

AI时代,人人都是需求描述工程师

博主头像 AI时代,人人都是需求描述工程师 AI编程时代,代码写得再好,也不如把问题描述清楚。大模型能够快速生成代码,而且写得比大多数程序员都要好,可谓是又快又好。但前提是你能清晰、完整地描述需求,让AI真正听懂你的意图。 传统时代,程序员拿到需求文档就开始设计和编码。但在AI时代,程序员需要做得更深:理解需 ...

当纺织机轰鸣而来——一个数字时代“纺织女”的自白

博主头像 1840年代,英格兰兰开夏郡。 一个年轻的纺织女工站在崭新的动力织布机前,指尖还在隐隐作痛——那是日夜穿梭在老旧手拉织机上留下的茧。她看着这台钢铁怪物以她永远无法企及的速度吞吐着布匹,喉咙发紧。 她知道这意味着什么。 意味着她母亲教她的“手要稳,眼要快,心要静”的技艺,一夜之间成了博物馆里的展品。意 ...

高光谱成像基础(六)滤波匹配 MF

博主头像 在前面的几篇文章中,我们已经逐步介绍了高光谱图像分析中的一些基础方法,主要围绕 如何降低高光谱数据的维度 和 如何处理或抑制数据中的噪声 两个核心问题展开。 这些步骤本质上都是在为后续更高层的任务做准备,例如:地物分类、异常检测以及目标检测等。 在实际应用中,我们往往并不需要对整幅图像进行完整分类, ...

opencalw平替之nanobot 源码解析(一):环境搭建、Debug 配置与 onboard 命令详解

博主头像 学习任何一个开源项目,第一步永远是:把它跑起来,然后看它怎么动。 nanobot 的安装和配置非常简单,但简单背后隐藏着很多 Agent 设计的精妙之处。今天,我们就来拆解它的“启动仪式”。 1. 准备工作:克隆与安装 首先,把代码拉到本地。nanobot 是纯 Python 写的,对环境非常友好。 ...

灵感启发:日产文章 100 篇,打造“实时热点洞察”引擎

博主头像 引言:在这个算法统治的世界,你为什么还在用冷兵器战斗? 这是一个最好的时代,任何人都可以通过一根网线,触达亿万用户。这也是一个最坏的时代,信息的洪流每秒钟都在淹没无数平庸的声音。 作为一名内容创作者,你是否经历过这样的至暗时刻: 凌晨两点,你盯着空白的屏幕,光标闪烁如同嘲讽,大脑一片空白——所谓的“ ...

使用 C++ 模拟 ShaderLanguage 的 swizzle

博主头像 swizzle 语法 经常编写着色器的同学应该对 swizzle(重排)语法非常熟悉,方便又灵活,可以说是用过一次便回味无穷。 代码 vec4 color = vec4(1.0, 0.5, 0.0, 1.0); vec3 rgb = color.rgb; // { 1.0, 0.5, 0.0 } v ...

006:RAG 入门-面试官问你,RAG 为什么要切块?

本文是 refine-rag 系列教程的第六篇,我们来学习一下什么是切块,应该怎么样去切块? 本文所有代码都在:https://github.com/zonezoen/refine-rag 前言 前面花费了挺多时间去学习怎么读取数据的,那么在读取数据之后,我们要做的操作就是切块,那么什么是切块?为什 ...

Stanford-CS336-Lecture-02 Pytorch

博主头像 title: Stanford CS336 Lecture_02 Pytorch date: 2026-03-10 15:27:23 categories: [人工智能] 本内容为Stanford CS336 Lecture 02,主要不是为pytorch的所有方法进行详细的讲解,而是提供对pyto ...

<1···161718···100>