- 博客(424)
- 收藏
- 关注
原创 AI实践(8)Skills技能
本文介绍了AI领域中的Skills机制,这是一种模块化能力扩展技术,用于增强大语言模型在特定领域的表现。Skills通过将指令、元数据和资源打包为独立单元,实现专业化能力定制、降低重复劳动和提升能力组合性。文章对比了Skills与传统Prompt的区别,分析了官方和社区Skills仓库的特点,并阐述了Skills基于文件系统的工作原理。该机制使AI代理能像专家助手一样精准处理特定任务,是提升AI实用性的重要技术方向。
2026-03-18 23:11:32
2903
39
原创 Linux之(31)Shell的set命令
本文介绍了Linux Shell脚本中set命令的用法,重点阐述了其在脚本安全性和调试方面的应用。set命令是Bash内置工具,通过-e(命令失败退出)、-u(未定义变量报错)和-o pipefail(管道错误处理)组合可构建"严格模式",显著提升脚本可靠性。调试方面,set -x能输出展开后的执行命令,配合PS4变量可定制调试信息格式。文章还介绍了选项状态保存恢复技巧,以及set命令在条件语句中的特殊行为。这些功能为Shell脚本开发提供了基础安全保障和高效调试手段。
2026-04-15 22:47:21
375
5
原创 网络以太网之(3)LLDP协议
本文介绍了链路层发现协议(LLDP)的基础知识及其应用。LLDP是IEEE 802.1AB定义的第二层发现协议,用于网络设备间自动交换能力、管理地址等信息,帮助构建网络拓扑。LLDP具有厂商无关性,支持多种TLV结构扩展信息,采用单向部署机制,支持四种工作模式。文章阐述了LLDP的封装格式、应用场景(如拓扑发现、故障诊断、自动化配置等)以及相关标准文档。LLDP通过提供链路层信息,显著提升了网络的可管理性和运维效率,是网络运维体系中的基础协议之一。
2026-04-15 22:42:46
545
1
原创 光通信(2)行业分析
光通信行业分析摘要 光通信市场持续增长,2023年全球光模块规模超百亿美元,预计2028年突破200亿美元。数通市场增速领先,受AI与云计算驱动,400G/800G模块需求激增,1.6T技术研发启动;电信市场受益于5G建设,25G/50G光模块需求旺盛,6G预研推动未来技术升级。产业链上游光芯片(如DFB、EML)和电芯片(DSP)技术壁垒高,海外厂商主导;中游光模块环节中国厂商(如中际旭创、光迅科技)占据全球50%以上份额,但上游芯片国产化空间大。政策支持与国产替代加速,推动产业链从封装向上游核心芯片延伸
2026-04-08 22:28:44
434
11
原创 光通信(1)概述
文章摘要 本文概述了光通信的定义、发展历程及基本原理。光通信利用光波通过光纤传输数据,始于20世纪60年代激光器和低损耗光纤的发明。现代光通信系统包括光发射器、光纤信道和光接收器,广泛应用于电信和数通市场。光纤波段如C波段(1530~1565nm)因其低损耗特性成为长途传输首选。技术演进中,PDH(准同步数字体系)解决了早期数字网络同步问题,但存在地区标准不兼容的局限性。光通信持续向高速率、大容量发展,支撑着全球信息基础设施。
2026-04-08 22:24:09
650
26
原创 Windows技巧(1)多网卡下路由和DNS配置
,多网卡路由分流本身并非复杂的技术问题,但Windows系统在多出口场景下的行为不够透明,各类应用程序对网络接口的使用方式也缺乏统一规范。当前方案在成本与效果之间取得了一个可接受的平衡点,适合作为轻量级的日常解决方案使用,如果对隔离性有更高的要求,则需要引入策略路由或虚拟化网络等更为系统的手段来实现。
2026-03-27 23:33:43
566
13
原创 C++之《程序员自我修养》读书总结(12)
《程序员自我修养》读书总结(十二)探讨了系统调用与API的核心概念。系统调用是用户程序访问内核服务的唯一入口,Linux通过软中断(如int 0x80)或高效指令(sysenter)实现特权级切换。Windows则通过封装系统调用的Win32 API(如kernel32.dll)提供更稳定的接口。文章对比了两大系统的实现差异:Linux直接暴露系统调用(约300个),而Windows强调通过API间接调用内核服务。同时指出POSIX标准解决了跨平台兼容性问题,使应用程序获得源码级可移植性。通过分析文件读写、
2026-03-18 23:06:43
439
7
原创 AI实践(7)工具函数调用
本文探讨了AI大模型中工具函数调用(Tool Use/Function Calling)技术的原理与应用。文章首先解释了该技术如何让纯文本生成的大语言模型突破知识边界,通过结构化JSON数据调用外部函数获取实时信息或执行操作。核心内容包括: 技术原理:模型通过专项微调获得识别外部工具需求的能力,严格按预定义函数签名生成调用请求,由外部程序实际执行。 应用场景:解决数据获取(如天气查询)和执行行动(如发送邮件)两类问题,弥补模型静态知识的不足。 实现示例:以OpenAI的天气查询函数为例,展示如何定义工具sc
2026-03-14 23:28:15
1522
37
原创 AI实践(6)联网搜索与深度研究
AI联网搜索与深度研究技术演进 本文探讨了AI领域联网搜索与深度研究的技术发展。传统搜索引擎在应对复杂研究需求时存在局限,大语言模型虽具备强大理解能力,但存在知识时效性问题。2025-2026年出现的Agentic Deep Research技术实现了质的飞跃,通过"自主推理规划→多源检索→动态整合"的闭环,使AI能够像研究员一样开展系统性研究。文章详细分析了联网搜索的工作原理,包括模型自主决策机制和多轮检索流程,并阐述了深度研究如何通过任务分解、交叉验证和结构化论证超越普通搜索。当前技
2026-03-14 23:20:58
658
6
原创 C++之《程序员自我修养》读书总结(11)
摘要:本文探讨了C/C++程序运行库的核心机制,重点分析了入口函数与程序初始化的流程。在glibc中,程序通过_start调用__libc_start_main完成线程设置、全局初始化等操作后进入main函数;MSVC则通过mainCRTStartup进行堆、I/O等初始化。运行库还负责标准I/O流的绑定和缓冲区管理,采用延迟初始化优化性能。C运行库(CRT)包含启动/退出逻辑和标准函数实现,其中堆管理(malloc/free)和调试支持是重要模块。C标准库从C89到C11不断演进,glibc作为Linux
2026-03-12 09:58:45
429
5
原创 AI实践(5)检索增强(RAG)
本文介绍了检索增强生成(RAG)技术及其核心组件。RAG通过结合信息检索与文本生成模型,解决了大语言模型知识过时、幻觉和缺乏领域知识的问题。文章详细阐述了RAG的工作原理和发展历程,从早期的Naive RAG到2025年出现的Graph-RAG和Agentic RAG等新范式。同时介绍了支撑RAG的关键技术——Embedding向量嵌入,以及两种主流开发框架LangChain和LlamaIndex的特点与适用场景。全文系统性地梳理了RAG技术的理论基础和实践方法,为构建高效可靠的检索增强生成系统提供了指导。
2026-03-11 11:18:09
1278
30
原创 node.js(1)ubuntu安装node和npm
本文介绍了在Ubuntu系统上安装Node.js和npm的几种方法。最直接的方式是通过apt安装,但版本较旧;推荐使用NodeSource仓库或nvm工具安装最新版本。nvm支持多版本管理,适合开发环境。文章详细说明了nvm的安装步骤和配置方法,并解释了npm包的两种安装方式(局部和全局)及其存储路径差异。对于服务器部署,建议使用NodeSource源;日常开发则推荐nvm方案,便于管理多个Node.js版本。
2026-03-11 11:07:40
683
3
原创 AI实践(3)Token与上下文窗口
本文深入探讨了大语言模型中的Token与上下文窗口概念。Token是模型处理文本的最小单元,采用子词分词算法将文本拆解为数字序列,不同语言的分词效率存在显著差异。上下文窗口则是模型的"工作记忆",决定了单次交互可处理的信息量,以Token数量衡量其大小。文章详细介绍了分词器原理、Token计数API的实用价值,以及如何利用这些知识优化AI应用的成本和性能。通过理解这些核心概念,开发者可以更高效地设计提示词和管理模型资源。
2026-03-09 10:34:07
1784
26
原创 AI实践(4)幻觉处理
AI幻觉:现实挑战与应对策略 AI幻觉指AI系统生成与事实不符的内容,表现为虚构事实或偏离指令。原因包括训练数据噪声、模型结构缺陷及评估体系偏差。在法律、医疗等领域已造成严重后果,如虚构判例和虚假医疗建议。诺奖得主辛顿认为,AI的"虚构"本质与人类认知过程相似。当前研究正致力于通过数据清洗、模型校准和评估体系改革来缓解这一问题。
2026-03-09 10:29:58
439
1
原创 C++之《程序员自我修养》读书总结(10)
本文节选自《程序员自我修养》读书笔记,重点探讨程序内存管理的核心概念。文章详细分析了32位与64位系统下虚拟内存空间的布局差异,比较了Linux和Windows的内存划分特点。深入讲解了栈的工作原理,包括堆栈帧的组成、函数调用时的寄存器操作流程,并以AArch64架构为例展示了函数调用过程中栈帧的实际变化。文章还讨论了编译器优化选项(-fomit-frame-pointer)对栈回溯的影响,为理解程序运行时内存机制提供了清晰的技术视角。
2026-03-07 23:45:52
470
2
原创 AI实践(2)提示词工程
本文摘要: 《AI实践(2)提示词工程》深入探讨了与大语言模型交互的核心方法论。文章系统性地介绍了提示词工程的组成模块,包括任务背景、目标、思维链、约束条件等关键要素,并通过对比示例展示了结构化描述的重要性。作者提出了清晰表达需求的具体方法,如使用前缀标记划分功能区块、拆分复杂需求为编号列表等。文章还通过实际案例演示了如何为技术文章撰写推荐语,体现了提示词工程从随意书写到系统设计的转变过程。这些方法论为开发者提供了连接模型能力与业务需求的有效桥梁。
2026-03-05 23:07:41
1645
25
原创 C++之《程序员自我修养》读书总结(9)
本文是《程序员自我修养》读书笔记的第九部分,主要介绍了Windows共享库DLL的相关知识。内容包括DLL的基本概念、文件格式与PE规范的关系、基地址和RVA等关键概念,以及DLL的两种链接方式(加载时链接和运行时链接)。文章详细解析了DLL的符号导出导入表机制,包括导出地址表(EAT)、符号名表等核心结构,以及导出重定向和延迟载入等高级特性。最后讨论了DLL的优化策略,如基地址选择和代码共享机制。通过代码示例展示了DLL的编译和使用过程,帮助读者深入理解Windows动态链接库的工作原理。
2026-03-05 22:59:17
404
5
原创 AI实践(0)学习路线
本文介绍了AI学习方法与实践路线,重点阐述了AI技术发展、核心概念和必备技能。作者指出AI已成为基础生产力工具,掌握AI使用方法是现代职业发展的关键。文章详细解析了机器学习、深度学习等核心概念,并介绍了RAG、AI Agent等前沿技术。在技能层面,强调提示词工程的重要性,推荐了OpenCode等开发工具。全文为AI学习者提供了系统的知识框架和实践指南,帮助读者从入门到精通AI应用开发。
2026-03-03 10:45:37
2480
29
原创 C++之《程序员自我修养》读书总结(8)
本文总结了《程序员自我修养》中关于Linux共享库的关键内容,包括共享库版本管理、符号版本机制和系统路径规范。共享库版本通过主次版本号区分兼容性,SO-NAME机制确保主版本兼容性。符号版本技术解决了次版本依赖问题,通过版本脚本和汇编指令实现精细控制。Linux系统遵循FHS标准存放共享库,动态链接器利用ldconfig缓存快速定位库文件。这些机制共同保障了共享库的兼容性和高效管理。
2026-03-03 10:40:20
600
3
原创 C++之《程序员自我修养》读书总结(7)
《程序员自我修养》读书总结(七)探讨了动态链接的核心机制。静态链接会导致代码冗余和更新困难,而动态链接通过运行时符号解析实现资源共享。关键点包括:1)动态链接器在程序启动时加载共享对象并完成重定位;2)地址无关代码(PIC)通过相对寻址避免修改代码段;3)延迟绑定(PLT/GOT)机制将函数解析推迟到首次调用时,提升启动性能;4)ELF文件中.dynamic段保存依赖信息,.got和.plt段协作实现动态绑定。这些技术共同解决了静态链接的资源浪费问题,支持灵活的模块化架构。
2026-02-27 23:39:43
1942
24
原创 C++之《程序员自我修养》读书总结(6)
本文探讨了可执行文件与进程的关系,从程序装载到进程虚拟空间的构建过程。程序作为静态实体,通过操作系统映射为动态进程实例,一个程序可对应多个进程。现代系统采用页映射机制实现按需装载,利用虚拟内存技术提升内存利用率。文章分析了进程虚拟空间的布局原理,包括ELF文件的执行视图优化、段映射机制以及BSS段的零填充实现。通过操作系统视角,揭示了进程建立时的环境构建过程,包括页表初始化、按需调页等核心机制,展现了软硬件协同设计的精妙之处。
2026-02-27 23:34:34
677
2
原创 GCC编译(7)链接脚本LinkerScripts
本文介绍了GCC编译中的链接脚本(Linker Scripts)功能。链接脚本用于精确控制可执行文件的布局,定义代码、数据等内容的地址分布和加载策略。文章详细解析了链接脚本的基本概念、语法结构和常用命令。文章适用于需要精细控制内存布局的嵌入式开发场景,帮助开发者理解和使用链接脚本这一强大工具。
2026-02-25 23:37:12
928
18
原创 数据结构(2)常见概念
本文介绍了数据结构与算法的基本概念和核心原理。首先阐述了数据结构的本质是数据元素及其关系的集合,程序设计的核心在于选择合适的数据结构并设计高效算法。然后分析了顺序存储和链式存储两种物理结构的特点及适用场景。接着探讨了数据类型在程序设计中的约束作用,以及抽象数据类型(ADT)的重要性。最后详细讲解了算法的定义、特性,以及时间复杂度和空间复杂度的分析方法,强调复杂度评估对算法效率的关键影响。全文系统性地梳理了数据结构与算法的基础知识,为后续深入学习奠定了理论基础。
2026-02-25 23:32:01
844
1
原创 昨日故事(1)2026年2月24日
摘要: 本文讲述了一位年轻人从大学毕业到福州工作的四年心路历程。从初入职场的激情满怀,到经历工作倦怠、感情挫折和健康问题后的自我反思。作者通过健身、社交、工作挑战等途径实现自我救赎,最终学会与孤独和解,找到内心平静。文章记录了从迷茫焦虑到沉稳从容的成长蜕变,以及在病痛和工作压力中对生命意义的思考。这段漂泊经历让作者明白:真正的幸福源于自我认同而非外界认可,人生需要放下执念、专注当下,学会在独处中取悦自己。
2026-02-24 00:44:57
695
4
原创 C++之《程序员自我修养》读书总结(5)
《程序员自我修养》读书总结:Windows PE/COFF格式解析 本文深入探讨了Windows平台的核心二进制文件格式PE/COFF。主要内容包括: 发展历史:从Unix的COFF格式演变到Windows的PE格式,再到64位的PE32+扩展,保持兼容性的同时支持新特性。 mingw-w64工具链:介绍这套跨平台编译工具链的组成、用途和安装配置方法,支持在Linux/macOS上交叉编译Windows程序。 文件结构:详细解析PE文件的映像头和段表结构,包括_IMAGE_FILE_HEADER各字段含义,
2026-02-22 20:59:39
1858
4
原创 C++之《程序员自我修养》读书总结(4)
本文是《程序员自我修养》读书总结的第四部分,主要探讨静态链接的关键技术。内容包括空间和地址分配策略(相似段合并)、符号解析与重定位机制、COMMON块处理规则、C++特性支持(如模板实例化处理),以及静态库链接原理。文章详细分析了链接器如何通过两阶段处理(空间分配+符号解析)将分散目标文件组织为可执行映像,并深入讨论弱符号、函数级别链接、ABI兼容性等核心概念。通过具体示例和流程图,展现了从编译单元到最终二进制文件的转换过程。
2026-02-22 20:53:12
739
2
原创 GCC编译(6)静态库工具AR
本文介绍了GCC工具链中的AR(Archive)命令,主要用于创建、修改和提取静态库文件。文章概述了AR的基础使用场景,包括创建档案文件、查看内容、添加/删除成员等操作。重点解析了档案文件的本质特性:作为链接优化的二进制容器,其符号索引机制(armap)可显著提升链接效率。文章还对比了普通archive和thin archive的区别,前者完全拷贝对象文件适合发布,后者仅保存引用路径适合本地构建。最后详细列出了AR命令的参数说明和使用方法,帮助开发者高效管理静态库文件。
2026-02-20 11:40:46
1789
24
原创 GCC编译(5)头文件处理
本文主要介绍了GCC编译器处理头文件的相关技术和最佳实践。内容涵盖头文件预处理机制、编译规则、防止重复包含的方法、C/C++兼容性处理以及依赖关系生成等方面。重点讨论了预处理阶段宏展开和路径搜索策略,头文件定义与声明的规范使用,include guard和#pragma once的对比选择,跨语言接口设计中的extern "C"用法,以及构建系统中自动生成头文件依赖关系的技巧。文章通过具体示例和参数说明,为开发者提供了处理头文件相关问题的实用指导,有助于提高代码质量和构建效率。
2026-02-20 11:31:36
721
2
原创 GCC编译(4)构造和析构函数
本文探讨了GCC编译器中构造和析构函数的实现机制。从程序初始化视角分析了广义构造/析构过程,包括全局对象初始化、静态变量处理等。详细介绍了GCC特有的__attribute__((constructor))和__attribute__((destructor))属性,它们通过.init_array和.fini_array段实现函数自动调用。文章还解析了优先级控制、执行顺序等特性,并通过实例展示了从源码到ELF二进制文件的实现细节,包括符号表分析、段结构验证等,为理解程序启动和终止流程提供了技术参考。
2026-02-19 12:22:00
723
5
原创 GCC编译(3)常见编译选项
本文介绍了GCC编译器的常见编译选项及其功能。主要内容包括:基础控制选项(-c、-o、-E、-S、-v等)用于控制编译流程;优化选项(-O0~-O3、-Os、-flto等)调整编译优化级别;警告诊断选项(-Wall、-Wextra、-Werror等)提高代码质量;宏与头文件控制(-D、-I)影响预处理行为;链接选项(-L、-l、-static等)控制库链接方式;语言标准选项(-std)指定编译标准。文章还通过示例展示了各选项的具体应用场景,帮助开发者更高效地使用GCC进行代码构建和优化。
2026-02-19 11:48:10
1079
14
原创 GCC编译(2)C语言交叉编译
文章摘要: 本文介绍了GCC交叉编译C语言程序的基本方法。首先通过简单的多文件编译示例展示了增量编译的优势,详细讲解了Makefile的编写规则,包括变量定义、模式匹配和伪目标的使用。然后重点阐述了ARM平台交叉编译环境的搭建,包括工具链选择、Ubuntu系统下的安装配置方法,以及32位和64位编译器的使用示例。最后简要说明了本地与远程服务器之间的文件传输方法,为跨平台开发提供了完整的工具链指导。文章适合Linux环境下进行C语言开发和交叉编译的初学者参考。
2026-02-14 23:54:40
672
2
原创 GCC编译(1)入门概述
本文概述了GCC编译器的发展历程、编译流程和主要组件。GCC最初作为GNU C Compiler,逐步发展为支持多语言的GNU Compiler Collection。其编译流程分为预处理、编译、汇编和链接四个阶段,每个阶段由不同工具完成。文章详细介绍了各阶段的功能和对应命令,并列举了GCC的主要组件及其作用,包括c++、g++、gcj等语言驱动程序和libgcc、libstdc++等核心库。GCC的分阶段设计和模块化架构使其成为Linux系统重要的构建工具。
2026-02-14 23:43:04
750
2
原创 C++之《程序员自我修养》读书总结(3)
本文节选自《程序员自我修养》读书总结第三部分,重点探讨目标文件格式及其核心概念。文章首先指出目标文件与可执行文件本质上是同一套二进制格式在不同阶段的表现形式,详细分析了ELF和PE文件的结构特点及其历史演进。通过实例展示了代码段、数据段和bss段的实际布局,揭示了编译器优化策略对空间利用的影响。最后通过size和objdump工具的实际输出,直观呈现了目标文件中各段的组织方式及其内存映射关系,为理解程序构建流程提供了技术基础。
2026-02-10 11:50:54
1262
26
原创 C++之《程序员自我修养》读书总结(2)
《程序员自我修养》读书总结(二):编译与链接的深层逻辑 本文深入解析了C程序从源码到可执行文件的完整构建过程。通过GCC编译的四个阶段(预处理、编译、汇编、链接),揭示了程序如何从"人类可读描述"转化为"操作系统可装载实体"。重点剖析了链接器的核心功能:地址空间分配、符号决议和重定位,解释了静态链接中启动文件、用户代码和标准库的交互机制。同时阐述了编译器工作的多阶段特性(词法分析→语法分析→语义分析→中间代码生成→目标代码生成),以及链接器在程序语义落地中的关键作用。
2026-02-10 10:53:39
701
7
原创 C++之《Effective C++》读书总结(4)
摘要: 本文探讨了《Effective C++》中模板与泛型编程的核心原则。首先分析了隐式接口与编译期多态的特性,对比了class显式接口的运行期多态差异。其次解析了typename在模板参数声明和嵌套从属类型中的双重作用。针对模板继承问题,提出了通过this->或基类限定符访问基类成员的方法。此外,建议抽离与模板参数无关的代码以减少膨胀,并通过成员函数模板实现类型兼容性,提升泛型设计的灵活性与安全性。这些技巧对于编写高效、可维护的C++模板代码至关重要。
2026-02-06 23:08:01
820
20
原创 C++之《程序员自我修养》读书总结(1)
《程序员自我修养》读书总结(一)深入探讨了程序从编译到运行的全过程。文章解析了编译器如何将高级语言转换为机器码,详细介绍了可执行文件的结构与组织方式,包括ELF格式的段布局和元数据。通过分析标准库的实现机制,解释了头文件包含与链接过程的区别。文章还对比了不同编译器、硬件平台和操作系统下的编译结果差异,并完整梳理了"Hello World"程序从装载到退出的执行流程,包括main函数前后的运行时初始化工作。最后探讨了无操作系统环境下运行程序所需的条件,展现了底层系统与程序运行的密切关系。
2026-02-06 23:01:55
724
3
原创 C++之《Effective C++》读书总结(3)
本文摘要总结了《Effective C++》第三部分关于实现优化的关键建议: 推迟变量定义:在首次使用时定义变量,避免不必要的构造/析构开销,同时提高代码可读性。建议定义时直接初始化而非先定义后赋值。 减少类型转换:避免使用C风格强制转换,优先使用语义明确的新式转换(static_cast等)。特别警惕dynamic_cast的性能开销和多态设计问题。 避免返回内部句柄:不要返回指向对象内部成员的指针/引用,以维护封装性,防止const语义破坏和悬空引用问题。 异常安全保证:确保代码在异常发生时至少满足基本
2026-02-03 22:26:55
1271
17
原创 C++之《Effective C++》读书总结(2)
在 C++ 中,“以对象管理资源”并不是一种语法技巧,而是一种资源生命周期与对象生命周期绑定的设计哲学。RAII(Resource Acquisition Is Initialization)的核心思想是:**资源一旦被成功获取,就必须立刻交由对象托管**。
2026-01-30 10:02:51
1245
19
原创 数据结构(1)整体认知与框架思维
从宏观视角看,数据结构并不是零散孤立的知识点,而是一套可以被高度抽象和统一理解的组织模型。在高层次上,几乎所有常见数据结构都可以归结为数组与链表两种基础形态。
2026-01-30 09:45:35
798
8
原创 C++之《Effective C++》读书总结(1)
**将 C++ 视为一个语言联邦(C、Object-Oriented C++、Template C++、STL)**,是《Effective C++》中极具洞察力的抽象。这种观点强调:C++ 并非单一范式语言,而是由多个相互重叠、规则各异的子语言共同构成。理解这一点,有助于开发者在不同语境下采用恰当的思维模型,避免因误用某一子语言的规则而引发隐蔽缺陷或性能问题。
2026-01-27 15:39:29
1936
21
Autotool Tutorial(epita.fr) - Autorools使用教程PDF文档
2023-12-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅