自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4480)
  • 资源 (258)
  • 收藏
  • 关注

原创 【AI 大模型】大模型概念简介 ② ( NLP 从 特征工程 到 表示学习 | 表示学习 六代架构 | Transformer 架构 | 仅解码器架构 Decoder-Only | 大模型训练范式 )

本文梳理了AI Agent背后大模型的技术演进:从早期依赖人工特征工程的规则系统,到深度学习时代的表示学习;通过六代架构(RNN→LSTM→GRU→Seq2Seq→Attention→Transformer)的迭代,揭示了模型如何逐步摆脱“逐字处理”的局限,最终以Transformer为基石实现并行计算与长程依赖建模。后半部分解析训练流程,阐明模型如何通过指令微调与强化学习,从“接话”进化为“理解意图、答得好”。

2026-11-14 17:28:11 290

原创 【AI 大模型】大模型概念简介 ① ( 大模型 定义、特征、分层 | 大模型 数据、算力、架构 | 大模型按功能与模态分类 | 大模型语料与参数配比 )

本文系统梳理大模型的核心概念,从参数、语料、算力、架构四维构建认知框架,厘清“大模型”定义的三重标准:参数超10亿、语料达万亿token、能力通用。强调参数非能力本身,训练非抄答案,基座模型≠聊天产品。解析token计量单位与语料规模,揭示基座模型(Foundation Model)作为通用底座的特性,并阐明其经指令微调、对齐优化后演变为上层应用的派生路径。最终落脚于工程实践:面对特定语料时,应依据数据量级与任务需求,合理匹配模型规模,避免盲目追求参数膨胀。

2026-11-12 19:39:57 345

原创 【错误记录】安卓 adb 调试 5037 端口占用排查 ( adb 的三层结构 | 找出本机占用 5037 的进程 )

本文详细分析了adb install报错“版本不匹配”“无法连接守护进程”的根本原因:5037端口被非ADB程序占用。通过逐行解读错误信息,揭示ADB三层架构(client/server/adbd)及端口机制,指出19045为系统版本号而非ADB版本,证明非标准服务占用了端口。最终通过netstat -ano定位到占用进程(如360MobileSrv.exe),并提供从端口→PID→进程路径的通用排查方法,强调学会定位方法比照搬进程名更重要,实现高效解决ADB连接问题。

2026-11-10 22:59:10 448

原创 【开发环境】流氓软件清理记录 ( 清理提示词推荐 | 按时间轴重建安装链 | 安装的软件与插件清单总结 | 植入的库与内核驱动 | 残留清理与工程化约束 | 权限与提权边界 )

2026年11月7日,一台Windows主机因误装“疾风软件市场”导致系统被植入10余款推广软件、5个驱动及多个恶意配置。本文复盘了从取证到清理的全流程,提出一套高精度提示词框架:以安装时间(11:26前后)为锚点,结合注册表、日志、进程、防火墙等多维度线索,明确白名单(如MuMu模拟器),强制只读取证、分批确认删除,并通过重启复查确保残留彻底清除。关键设计包括时间过滤、异常现象泛化、权限边界控制与内核文件卸载策略,实现安全、可复用的流氓软件清理方案。

2026-11-07 23:45:00 748

原创 【开发环境】Docker 开发笔记 ④ ( Ubuntu 安装 Docker | Docker 容器迁移 - 在线下载、离线同步 | Docker 常用命令速查 )

本文为Docker开发环境系列第四篇,聚焦于将Windows端已配置好的Docker环境无缝迁移至Ubuntu系统,并实现内网离线交付。内容涵盖Ubuntu官方安装Docker的完整流程,包括源配置、免sudo设置、镜像加速及状态验证;提供在线下载与离线tar包两种迁移方案,确保无外网环境下也能复现环境;附赠命令速查表与常见问题排查指南,助力开发者从“本地可用”迈向“可交付、可复制”的标准化开发体系。

2026-11-07 19:21:28 326

原创 【开发环境】Docker 开发笔记 ③ ( Docker 进阶案例 | Dockerfile 配置 | docker-compose.yml 配置 | Docker 打包发布 | 离线 tar 包 )

本文基于Docker Desktop与Compose v2,详解Python+MySQL双容器项目从本地部署到生产发布的全流程。第一部分通过Dockerfile与docker-compose.yml实现一键启动,强调文件命名一致性、构建上下文优化及.dockerignore配置;第二部分聚焦镜像打包、离线tar包生成、内网仓库推送及增量发布与回滚策略,确保环境在开发、测试、生产间无缝复用。全程基于实际运行记录,代码与配置均经验证,适用于真实项目落地。

2026-11-06 21:53:51 1088

原创 【开发环境】Docker 开发笔记 ② ( Docker 环境安装 | 前置条件 | 虚拟化 | WSL 内核 | 基础案例 | 端口映射、数据卷挂载、环境变量 | 镜像与容器生命周期 )

把 MySQL 从 Windows 本机搬进容器, 看起来只是换了个安装位置 , 实际改的是整套环境的交付方式;传统装法要在每台机器上装服务 , 配环境变量 , 配字符集 , 配开机自启 , 版本一多还要为端口和服务名互相让路;换一台机器 , 上面这些再走一遍;容器把这套流程压成三步 ,拉镜像 , 起容器 , 映射端口, 剩下的交给引擎;但 Windows 这边多隔了一层 WSL2 , 虚拟化 , 系统版本 , 内核更新两项 Windows 功能 , 镜像源 , 任何一项没对齐。

2026-11-06 14:03:37 215

原创 【开发环境】Docker 开发笔记 ① ( Docker 概念简介 | 环境不一致问题 | 容器与虚拟机的差别 | 核心概念 : 镜像、容器、仓库、数据卷、Dockerfile、Compose )

本文面向容器新手,从环境不一致的痛点出发,阐述容器技术如何通过“一次封装,到处运行”解决开发、测试、生产环境差异问题。以Python + MySQL项目为例,演示在Windows与Ubuntu间无缝迁移的实践路径,强调版本统一、依赖隔离与环境可复现的重要性。结合Docker核心特性——可移植性、可伸缩性与隔离性,说明其在提升协作效率、降低部署成本方面的价值,最终实现代码与环境一体化交付。

2026-11-05 12:22:04 294

原创 【AI 大模型】Skill 开发指南 ( 概念简介 | 架构原理 : 渐进式加载 | 调用逻辑 : 模型怎么想到要用它 | Skill 与 MCP 的区别 | 如何写好 Skill )

一、Skill 概念简介1、一句话定义2、三部分构成3、规范与文档入口二、架构原理 : 渐进式加载1、三层加载模型2、为什么这样设计3、上下文成本账三、调用逻辑 : 模型怎么想到要用它1、四步链路2、触发失败的两个根因3、让模型遇事提问4、让模型稳定执行四、Skill 与 MCP 的区别1、本质差异2、多维度对比3、组合使用五、怎么写好一个 Skill1、定人设与边界2、写 description3、主干是决策树4、拆 references5、定义输入输出契约

2026-11-03 19:36:20 207

原创 【AI 大模型】MCP 开发实战 ⑤ ( 使用 build-mcp-server、build-mcp-app、build-mcpb 等 Skill 技能开发 MCP 服务器 )

本文介绍Anthropics推出的MCP服务器开发三技能链,通过build-mcp-server、build-mcp-app、build-mcpb三个可组合技能,将选型决策流程化,解决远程HTTP与本地stdio、工具设计范式等关键决策难题。仅需执行三步稀疏克隆命令,即可高效下载19个核心文档(84KB),避免整仓拉取。技能遵循开放格式,兼容WorkBuddy、TraeCode等平台,中文版工程可用,实现从“反复推倒重来”到“对话式智能引导”的转变。

2026-11-02 18:41:18 369

原创 【AI 大模型】MCP 开发实战 ④ ( MCP 服务器代码结构推荐 )

本文记录了在 mcp-server 项目中因 main.py 路径错误导致 PyInstaller 打包失败的排查全过程。问题根源在于采用 src 布局却误将入口文件置于根目录,实际路径应为 src/mcp_server/main.py。修正路径后发现,若将 __init__.py 改名为 main.py,会导致包退化为命名空间包,引发导入失败、控制台入口失效及构建报错。尽管打包生成的 .exe 可运行,但仅因脚本独立执行,不反映工程结构健康。文章强调:打包成功 ≠ 项目健康,必须确保包结构完整、入口点正确

2026-11-01 22:32:03 401

原创 【AI 大模型】MCP 开发实战 ③ ( 将 MCP 打包成可执行程序 | 部署 MCP 到 Linux 云服务器、Windows 服务器 | 设计好用的 MCP 工具、资源、提示词 )

本文为MCP系列第三篇,聚焦MCP Server的发布与部署。针对前两篇“本地运行”的局限,提出三种交付方案:①用PyInstaller打包成可执行文件,实现零依赖分发;②部署至Linux云服务器,对外提供公网访问;③适配Windows服务器,支持企业级落地。每种方案均从原理、步骤、配置到商业化封装全面解析,解决“如何让非技术人员也能使用”和“如何安全稳定上线”的核心痛点,助力MCP能力真正走出开发机,迈向生产环境。

2026-11-01 21:37:21 518

原创 【AI 大模型】MCP 开发实战 ② ( MCP 开发场景 | 本地 STDIO 模式 | SSE 模式 | Streamable HTTP 模式 )

一、MCP : 本地 STDIO 模式1、原理与适用场景2、操作步骤3、配置方式4、简单示例5、MCP Inspector 调试6、商业化封装建议二、MCP : SSE 模式1、原理与适用场景2、操作步骤3、配置方式4、简单示例5、MCP Inspector 调试6、商业化封装建议三、MCP : Streamable HTTP 模式1、原理与适用场景2、操作步骤3、配置方式4、简单示例5、MCP Inspector 调试6、商业化封装建议

2026-10-30 20:37:17 400

原创 【AI 大模型】MCP 开发实战 ① ( MCP 概念简介 | MCP 开发环境搭建 | 第一个 MCP Server 编写 | 本地 Agent 工具配置 MCP )

一、MCP 是什么 : 先把概念彻底讲透二、MCP 开发环境搭建1、UV 工具2、安装 UV3、UV 安装 Python4、UV 常用命令速查5、初始化 Python 项目环境6、编辑器与插件7、运行 main 函数三、写出第一个 MCP Server5、Resource 怎么写6、mcp.run 与三种传输协议7、用 MCP Inspector 本地验证服务四、本地 Agent 工具配置 MCP Server1、WorkBuddy 配置 MCP2、MCP 触发方法

2026-10-29 16:57:00 1081

原创 【AI 大模型】MCP 依赖库版本分析 ( MCP 版本报错 | MCPServer 与 FastMCP 依赖问题分析 )

一、从一个报错说起 : FastMCP 去哪了1、报错现场还原2、报错原因分析3、修复方案二、MCP Python SDK 2.x 的来龙去脉1、版本时间线2、v2 带来了哪些变化3、v1.x 的维护状态三、两个 FastMCP 的历史恩怨1、FastMCP 1.0 : 并入官方 SDK 的版本2、独立版 FastMCP : Prefect 出品的框架3、名称混淆是最大的坑四、官方 MCPServer 与 FastMCP 4 开发方式对比1、相同的部分2、代码写法对比

2026-10-29 10:12:28 385

原创 【JavaEE】Servlet 开发 ③ ( Request 请求参数中文乱码 POST 解决方案 | Request 请求参数中文乱码 GET 解决方案 | Request 请求转发 )

本文聚焦Servlet开发中常见的三大痛点:POST请求中文乱码、GET请求乱码及请求转发问题。通过复现乱码场景,剖析其根源——编码不一致(如UTF-8与ISO-8859-1冲突),并给出核心解决方案:在getParameter前调用request.setCharacterEncoding("UTF-8")。同时延伸至Spring MVC等框架的等价写法,提供可直接复制运行的代码示例与避坑清单,助力开发者从原生Servlet平滑过渡到主流框架。

2026-10-28 16:30:23 418

原创 【AI 大模型】Ollama 本地部署大模型 ⑥ ( 大模型参数调节 | ollama run 交互内调参 | API 调用时传入 options | Modelfile 固化参数配置 )

一、问题现象 : 成段复读与字数严重缩水1、复现过程2、输出数据统计二、原因分析 : 排除上下文与缓存之后1、先排除两个常见误区2、真正成因 : 重复退化三、核心参数解析 : 五个采样参数的分工1、生成一个词的完整流程2、逐个参数详解3、参数分工速查表四、操作实施 : 三种落地方式1、方式一 : ollama run 交互内调参2、方式二 : API 调用时传入 options3、方式三 : Modelfile 固化参数配置4、辅助手段 : 提示词与模型选型五、注意事项与避坑

2026-10-27 14:55:43 347

原创 【错误记录】Codex 接入 Ollama 本地大模型报错 ( This model requires an Ollama account. Please sign in to Ollama t )

前言一、报错信息与现象二、错误原因分析1、hf.co 命名空间存在强制鉴权2、为什么容易误判为网络问题三、解决方案1、方案一 : 重命名模型 ( 推荐 、 已解决问题 )2、方案二 : 登录 Ollama 账号 ( 官方路径 )3、方案三 : 清理旧标签 ( 收尾动作 )四、验证步骤五、注意事项与避坑总结

2026-10-27 13:48:09 223

原创 【AI 大模型】Ollama 本地部署大模型 ⑤ ( Codex 接入本地 Ollama 模型 )

一、Ollama 部署本地大模型二、Codex 接入本地 Ollama 模型 1、config.toml 添加本地供应商 2、编写 profile 文件 3、Codex 桌面版与 WorkBuddy 配置三、踩坑一:供应商 ID 与内置保留名冲突四、踩坑二:聊天模板报错 System message must be at the beginning 1、为什么改 Modelfile 无效 2、方案:给 GGUF 内嵌模板打补丁并验证五、踩坑三:profile 命名与模型命名

2026-10-26 22:29:03 692

原创 【错误记录】iOS 编译 Flutter 项目报错 ( ios/Pods/Manifest.lock: No such file or directory error: The sandbox i )

diff: /Users/hsl/001_Project/008_Flutter/device_repair/ios/Pods/Manifest.lock: No such file or directoryerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.

2026-10-26 19:46:45 44

原创 【AI 大模型】Ollama 本地部署大模型 ④ ( Qwen 文本大模型选型 | 显存预算 | GGUF 量化 | Qwen3.8 与 Qwen3 系列模型选择攻略 )

一、显存预算:1080Ti定位、预算公式二、GGUF量化:档位、静态vs imatrix(i1)、选档表三、Qwen3.8系列:基座与9B蒸馏、14B-Turbo剪枝四、9B衍生分类:蒸馏/智能体/写作/安全/格式五、14B+盘点:可装三类、不建议两类、实验架构六、Qwen3 14B微调:基座/对齐/数学/智能体/角色/领域/算法七、Ollama:安装、上下文、采样与故障八、nvidia-smi:三命令、逐行解读、溢出优化九、Codex CLI:配置、同步项、能力边界十、避坑:选型/运行/

2026-10-24 16:13:54 971

原创 【AI 大模型】Ollama 本地部署大模型 ③ ( 本地开源大模型选型依据 | Hugging Face 选型完整流程 | 大模型花名解析 | 大模型写作能力 | 图片与视频生成模型本地部署 )

一、HF选型全流程1 模型文件形态2 搜索面板用法3 模型卡六项必读4 GGUF仓库可靠性5 真实水平评估6 选型决策树7 工具清单二、模型花名解析1 名字六层结构2 基座与规格3 训练/微调法4 去审查与内容标签5 量化格式6 营销代号7 上传者前缀8 四个解剖实例9 1080Ti可用量化10 选型避坑三、写作能力1 能力判定2 写作测试题3 参数配置4 中文选型要点四、开源生图与视频1 三事区分2 文生图对照3 视频模型对照4 部署路线

2026-10-24 15:46:10 537

原创 【JavaEE】Servlet 开发 ② ( Request 请求简介 | Request 继承体系 | Request 获取请求数据的请求行、请求头、请求体、请求参数 )

本文详解Servlet中HttpServletRequest的使用,从浏览器输入地址到服务器响应的完整流程入手,系统讲解请求报文结构、Tomcat解析机制及request对象的创建与作用。重点剖析请求行、请求头、请求体与请求参数的获取方式,结合代码示例说明getParameter等核心方法如何统一处理GET/POST差异,帮助初学者彻底理解“为什么必须传request和response”,并掌握其在登录、表单处理等场景中的实际应用。

2026-10-23 21:42:15 392

原创 【AI 大模型】Ollama 本地部署大模型 ② ( 大模型推理过程 | 大模型参数解析 | 大模型量化 | 显存 、架构与显卡 | 模型运行位置 - 内存、显存 | Ollama 参数详解 )

本文深入解析大模型本地部署的核心原理,破解新手在模型选型、参数理解与设备适配中的困惑。通过拆解模型文件本质(如GGUF格式)、推理链路(分词→嵌入→过网络→打分→采样)及显存开销(权重、KV Cache等),揭示“1080Ti跑不动模型”的根本原因——显存不足。强调显存是硬门槛,推理依赖完整加载权重,而解码阶段更考验显存带宽。文章提供实用判断逻辑,帮助用户基于硬件精准选择合适模型,实现高效本地化部署。

2026-10-23 09:17:57 807

原创 【错误记录】Ollama 下载大模型报错 ( Error: max retries exceeded: Get “XX“ : dial tcp 179.60.193.16:443:connect )

Error: max retries exceeded: Get "XX" : dial tcp 179.60.193.16:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to re

2026-10-22 14:15:25 390

原创 【AI 大模型】Ollama 本地部署大模型 ① ( 硬件摸底与整体规划 | 中文写作大模型选型 | Ollama 部署 : 程序与模型指定安装位置 | 前端界面与进阶方案 )

一、准备工作 : 硬件摸底与整体规划1、参考机器配置2、磁盘分区规划3、核心结论二、中文写作大模型选型1、量化格式怎么选2、16 GB 内存机器推荐 ( 纯 CPU )3、32 GB 内存机器推荐 ( 含显存加速 )4、参考机器综合推荐清单5、选型建议6、内存预算分配 ( 以 30B MoE 为例 )三、Ollama 部署 : 程序与模型都放 D 盘1、安装 Ollama 到指定目录2、设置模型存放位置3、验证模型是否写入 D 盘4、拉取正式模型 一5、拉取正式模型 二

2026-10-22 14:06:08 696

原创 【错误记录】网络配置问题处理 ( 获取服务器的 出口 和 入口 IP | 定位网络变化 )

本文梳理了一台Windows服务器因NAT配置变更导致访问地址失效的排查过程。核心揭示:出口IP(检测网站返回)与发布地址(对外服务入口)在NAT环境下天然不同,前者仅反映出网身份,后者才是外部访问的“门牌号”。服务器本机无法通过公网地址访问自身(因防火墙默认禁用NAT回环),故内网测试无效。通过端口探测、RDAP查询等手段,最终确认旧地址已失效,新地址为正确发布地址。关键结论:外网连通性应以真实用户环境测试为准,检测网站结果仅反映出口身份,不能作为服务访问地址依据。

2026-10-14 10:42:08 561

原创 【JavaEE】Servlet 开发 ① ( 概念简介 | 快速入门 | 执行流程 | 生命周期 | 常用方法 | 体系结构 | urlPattern 配置 | XML 配置 )

本文系统讲解Servlet核心知识,涵盖其概念、作用及与Tomcat的关系。通过快速入门案例,手把手演示创建Web项目、实现Servlet接口、配置访问路径,并结合注解与XML两种方式配置urlPattern。内容深入浅出,完整解析执行流程与生命周期,帮助零基础读者掌握Servlet开发全流程,为后续学习Request、Response及会话技术奠定坚实基础。代码示例可直接运行,配套项目已开源。

2026-10-13 22:24:24 529

原创 【JavaEE】Tomcat 服务器 ( Web 服务器和 Tomcat 简介 | Tomcat 安装部署流程 | IDEA 创建 Maven Web 项目 | IDEA 中集成 Tomcat )

一、Web 服务器和 Tomcat 简介1、为什么需要 Web 服务器2、Tomcat 是什么3、Tomcat 的学习路线二、Tomcat 安装部署流程1、下载与安装2、卸载3、启动4、关闭5、配置6、部署项目三、IDEA 创建 Maven Web 项目1、Web 项目的两种结构2、使用骨架创建 Maven Web 项目3、不使用骨架创建 Maven Web 项目四、IDEA 中集成 Tomcat1、为什么需要在 IDEA 中集成 Tomcat

2026-10-13 07:58:23 252

原创 【错误记录】使用 Maven 骨架创建 Web 应用报错 ( sun.security.validator.ValidatorException: PKIX path building faile )

sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

2026-10-12 14:55:59 171

原创 【iOS】阿里云 APP 备案流程 ② ( 备案入口 | 填写主办者及负责人信息 | 填写 APP 信息 | 获取秘钥信息 | 传图片资料 | 提交初审 )

一、阿里云 APP 备案信息填写1、备案入口2、填写主办者信息3、填写互联网信息服务信息二、APP 秘钥、指纹信息填写1、填写 iOS 相关信息2、填写 Android 相关信息秘钥简介获取 MD5 指纹获取公共密钥输入备案信息三、上传图片资料等待审核1、上传图标资料2、审核进度查看

2026-10-12 10:55:13 609

原创 【Flutter】MacOS 系统搭建 Flutter 开发环境 ⑦ ( iOS 内测分发 | 开发者账号内部设置 - 追加 UDID 设备、添加应用标识符、描述文件 | iOS 应用编译打包 )

本文详细讲解Flutter项目iOS Ad Hoc内测分发全流程,涵盖开发者账号中证书、标识符(App ID)、描述文件(Profile)的配置,重点说明Bundle ID匹配、分发证书使用、设备UDID添加及描述文件生成规则。强调私钥管理、权限最小化原则与有效期限制,指导从Xcode归档到手动签名导出IPA的完整操作,并解析各产物文件作用,帮助新手避坑,实现高效内测分发。

2026-10-08 20:40:20 578

原创 【错误记录】iOS 开发者账号登录报错 ( Access Unavailable | You currently don‘t have access to this membership reso )

Access UnavailableYou currently don't have access to this membership resource. To resolve this issue, agree to the latest Program License Agreement in your developer account.

2026-10-08 16:35:42 378

原创 【JavaEE】HTTP 协议 ( Web 核心介绍 | HTTP 协议的三个特点 | HTTP 请求数据格式 | 请求行、请求头、请求体 | HTTP 响应数据格式 | 响应行、响应头、响应体 )

一、Web 核心介绍1、什么是 Web 与 JavaWeb2、B/S 架构3、JavaWeb 技术栈全景4、Web 访问的完整过程5、Web 核心的学习路线二、HTTP 简介1、HTTP 的概念2、HTTP 协议的三个特点三、HTTP 请求数据格式1、格式总览2、请求行3、请求头4、请求体5、GET 与 POST 的核心差异6、抓包验证 GET 与 POST四、HTTP 响应数据格式1、格式总览2、响应行3、响应头4、响应体5、响应状态码体系

2026-10-07 21:04:35 486

原创 【JavaEE】MyBatis 基本用法 ⑥ ( 添加数据操作 | 添加数据返回主键 | 修改数据操作 | 动态修改部分字段 | 删除单个数据 | 批量删除数据 | 参数传递原理 | 使用注解操作 )

一、MyBatis 基础添加操作二、MyBatis 添加操作返回主键三、MyBatis 修改全部字段四、MyBatis 修改动态字段五、MyBatis 删除单个数据六、MyBatis 批量删除七、MyBatis 参数传递八、使用注解开发

2026-10-05 00:14:47 293 2

原创 【JavaEE】MyBatis 基本用法 ⑤ ( 单条件查询 | 多条件查询 | 多条件动态查询 | 单条件动态查询 )

一、MyBatis 参数传递与单条件查询1、参数占位符 : #{} 与 ${}2、parameterType 参数类型3、特殊字符处理二、单条件查询案例实现三、多条件查询四、多条件查询案例实现五、多条件动态查询1、if 标签 : 条件判断2、if 的弊端与恒等式方案3、where 标签 : 推荐方案5、测试方法六、单条件动态查询1、choose , when , otherwise 标签七、注意事项与避坑

2026-10-03 23:06:37 1014 1

原创 【JavaEE】MyBatis 基本用法 ④ ( 环境准备 | MyBatis 查询流程 | 编写接口方法、编写 SQL 映射文件、编写 Java 代码 | 结果映射 : 解决列名与属性名不一致 )

一、环境准备1、创建数据库表 tb_brand2、创建实体类 Brand3、准备 Mapper 接口与配置文件4、效率工具 MyBatisX 插件二、MyBatis 查询流程 : 三步走标准流程1、第一步 : 编写接口方法2、第二步 : 编写 SQL 映射文件3、第三步 : 执行方法 , 测试验证4、理解底层执行链路三、查询数据 : 不需要结果映射的场景1、自动封装的生效条件2、映射失效的情况四、结果映射 : 解决列名与属性名不一致

2026-10-02 00:20:47 315 1

原创 【AI 大模型】Codex CLI 基本用法 ③ ( 完整操作流程 | 权限与安全 : 沙箱与审批策略 | 常用指令全表 : 命令行参数 | 会话内斜杠命令与快捷键 )

一、先搞清楚 Codex 到底是什么二、安装与登录三、项目级配置 : 把模型、沙箱、权限写进仓库四、进入 Codex 对话 : 多轮交互与会话内调参7、TUI 简要介绍 : 用法与界面内容五、第一次使用 : 完整操作流程4、命令行模式下怎么控制授权六、权限与安全 : 沙箱与审批策略七、常用指令全表 : 命令行参数八、命令行常用操作 : 上下文、配置与工程命令九、引用本地文件 : @ 提及的完整用法十、配置文件与 AGENTS.md 项目说明书十一、进阶能力 : 上下文延续、MCP、S

2026-09-29 21:43:02 930

原创 【AI 大模型】Codex CLI 基本用法 ② ( Codex 接入第三方大模型 | config.toml 配置 | 环境变量写入与生效 | 模型切换与连通性验证 | 交互式终端命令行界面 )

一、方案总览与账号准备1、三源模型清单2、需要准备的三个 API Key二、config.toml 全量配置1、配置文件位置与生效规则2、完整配置内容三、环境变量写入与生效1、写入三个 API Key2、重开终端并确认变量四、模型切换与连通性验证1、15 个 Profile 速查表2、按 Profile 启动3、curl 连通性自测4、Codex CLI 交互式终端命令行界面五、注意事项与避坑指南

2026-09-29 00:07:48 1549 2

原创 【JavaEE】MyBatis 基本用法 ③ ( Mybatis 核心配置文件详解 | DTD 声明与顺序约束 | 项目中的配置与生效链路 | 事务管理器与数据源 | Mapper 代理方式 )

本文以 mybatis-demo 最小工程为样本,逐标签解析 MyBatis 核心配置文件 mybatis-config.xml,详解 typeAliases、mappers 等关键标签的属性、顺序与常见坑点。结合传统方式与 Mapper 代理开发,揭示配置文件作为 DTD 约束树的本质,帮助开发者避免“复制粘贴”式配置错误,实现精准排查与高效调试。

2026-09-28 00:19:17 546 1

算法Graham 凸包扫描算法 ( 凸包概念 - 常用的凸包算法 - 角排序 - 叉积 - Python 代码示例 )

【算法】Graham 凸包扫描算法 ( 凸包概念 | 常用的凸包算法 | 角排序 | 叉积 | Python 代码示例 ) https://hanshuliang.blog.csdn.net/article/details/139651095 博客源码快照 一、Graham 凸包扫描算法 1、凸包概念 2、常用的凸包算法 3、Graham 凸包扫描算法 二、Graham 算法前置知识点 1、角排序 2、叉积 3、算法过程分析 三、代码示例 1、完整代码示例 2、执行结果

2024-06-13

FFmpegSDL 音视频开发 ②

【FFmpeg】SDL 音视频开发 ② https://hanshuliang.blog.csdn.net/article/details/139592113 博客源码快照

2024-06-11

FFmpegSDL 音视频开发 ① ( SDL 窗口绘制 )

【FFmpeg】SDL 音视频开发 ① ( SDL 窗口绘制 | SDL 视频显示函数 | SDL_Window 窗口 | SDL_Renderer 渲染器 | SDL_Texture 纹理 ) https://hanshuliang.blog.csdn.net/article/details/139528565 博客源码快照 一、SDL 视频显示函数 1、SDL_Init 函数 2、SDL_Quit 函数 3、SDL_CreateWindow 函数 4、SDL_CreateRenderer 函数 5、SDL_CreateTexture 函数 6、窗口 / 渲染器 / 纹理 关联 二、SDL 窗口绘制 - 代码示例 1、SDL 窗口绘制代码 2、执行结果

2024-06-07

FFmpegSDL 开发环境搭建

【FFmpeg】SDL 开发环境搭建 ( SDL 简介 | 下载 SDL 开发库 | 拷贝动态库到 C:\Windows\SysWOW64 目录 | 将 SDL 开发库配置到 Qt 项目 ) https://hanshuliang.blog.csdn.net/article/details/139516815 博客源码快照 一、SDL 简介 1、SDL 简介 2、SDL 相关网站 二、SDL 开发环境搭建 1、下载 SDL 开发库 2、SDL 开发库内容解析 3、拷贝动态库到 C:\Windows\SysWOW64 目录 4、创建 Qt 项目 5、将 SDL 开发库配置到 Qt 项目 6、SDL 窗口示例

2024-06-07

【OpenHarmony】ArkTS 语法基础 ⑥ ( ArkTS 状态管理 - @Link 装饰器 )

【OpenHarmony】ArkTS 语法基础 ⑥ ( ArkTS 状态管理 | @Link 装饰器 | 子组件定义使用 @Link 变量 | 父容器中定义 @State 变量并绑定子组件变量 ) https://hanshuliang.blog.csdn.net/article/details/139466799 博客源码快照 一、ArkTS 状态管理 - @Link 装饰器 1、@Link 装饰器 2、子组件定义 @Link 变量 3、子组件中使用 @Link 变量 4、父容器中定义 @State 变量 6、父容器中绑定 @State 变量和 @Link 变量 二、完整代码示例 1、自定义组件代码 2、父容器组件代码 3、执行结果

2024-06-05

【OpenHarmony】ArkTS 语法基础 ⑤ ( ArkTS 状态管理 / @State 装饰器定义状态数据 )

【OpenHarmony】ArkTS 语法基础 ⑤ ( ArkTS 状态管理 | @State 装饰器定义状态数据 | 使用状态数据渲染组件 ) https://hanshuliang.blog.csdn.net/article/details/139452711 博客源码快照 一、ArkTS 状态管理 - @State 装饰器 1、@State 装饰器定义状态数据 2、@State 装饰器定义状态数据 - 示例分析 3、使用 @State 装饰器定义的状态数据渲染组件 - 示例分析 二、完整代码示例 1、完整自定义组件代码示例 2、展示效果

2024-06-05

【OpenHarmony】ArkTS 语法基础 ③ ( 自定义组件生命周期回调函数 - 页面生命周期回调函数 )

【OpenHarmony】ArkTS 语法基础 ③ ( @Component 自定义组件生命周期回调函数 | @Entry 页面生命周期回调函数 ) https://hanshuliang.blog.csdn.net/article/details/139424435 博客源码快照 一、ArkTS @Component 自定义组件生命周期 1、自定义组件生命周期 2、aboutToAppear 函数执行时机和作用 3、aboutToDisappear 函数执行时机和作用 4、代码示例 二、ArkTS @Entry 页面生命周期 1、@Entry 页面生命周期 2、onBackPress 和 onPageHide 回调函数无关联 三、代码示例 - @Entry 页面生命周期 + @Component 自定义组件生命周期 1、代码示例 - @Component 自定义组件生命周期 2、代码示例 - @Entry 页面生命周期 3、进入页面后的效果 4、屏幕熄灭 4、屏幕点亮 5、按下 Home 键 6、Home 键返回 7、回退键退出应用

2024-06-04

【OpenHarmony】ArkTS 语法基础 ④ ( ArkTS UI 渲染控制 - 条件渲染 - 循环渲染 )

【OpenHarmony】ArkTS 语法基础 ④ ( ArkTS UI 渲染控制 | if else 条件渲染 | ForEach 循环渲染 ) https://hanshuliang.blog.csdn.net/article/details/139441781 博客源码快照 一、ArkTS UI 渲染控制 1、if else 条件渲染 2、ForEach 循环渲染 二、完整代码示例 1、自定义组件代码 2、主界面代码 3、执行结果

2024-06-04

【OpenHarmony】 ArkTS 语法基础 ② ( ArkTS 自定义组件 )

【OpenHarmony】ArkTS 语法基础 ② ( ArkTS 自定义组件 | 自定义可导入组件 - export 声明模块 | 导入自定义组件 - import 导入组件 ) https://hanshuliang.blog.csdn.net/article/details/139407374 博客源码快照 一、ArkTS 自定义组件 1、@Component 装饰器 2、自定义组件语法 3、将自定义组件设置为页面入口 二、ArkTS 使用外部自定义组件 1、自定义可导入组件 - export 声明模块 2、导入自定义组件 - import 导入组件

2024-06-03

Windows 10 平台 FFmpeg 开发环境搭建 博客资源

【FFmpeg】Windows 10 平台 FFmpeg 开发环境搭建 ④ ( FFmpeg 开发库内容说明 | 创建并配置 FFmpeg 项目 | 拷贝 DLL 动态库到 SysWOW64 目录 ) https://hanshuliang.blog.csdn.net/article/details/139172564 博客资源 一、FFmpeg 开发库 1、FFmpeg 开发库编译 2、FFmpeg 开发库内容说明 二、创建并配置 FFmpeg 项目 1、拷贝 dll 动态库到 C:\Windows\SysWOW64 目录 - 必须操作 特别关注 2、创建 Qt 项目 - C 语言程序 3、配置 FFmpeg 开发库 - C 语言项目 4、创建并配置 FFmpeg 开发库 - C++ 项目

2024-05-24

FFmpegFilter 过滤器 ⑥ ( 九宫格画面拼接 ) 博客资源

【FFmpeg】Filter 过滤器 ⑥ ( 九宫格画面拼接 ) 博客资源 博客地址 : https://hanshuliang.blog.csdn.net/article/details/139008847

2024-05-17

【移动端网页布局】Flex 弹性布局案例 ③

【移动端网页布局】Flex 弹性布局案例 ③

2024-03-06

GIF录屏工具-Gif123-GifCam-LICEcap

GIF录屏工具-Gif123-GifCam-LICEcap

2024-03-04

Java 语言中的 properties 配置文件使用

【Java 语言】读取 properties 配置文件 ( Java 语言中的 properties 配置文件 | 使用 properties 配置文件 ) https://hanshuliang.blog.csdn.net/article/details/134435350 博客源码

2023-11-16

JetpackNavigation 导航组件 ④ ( Fragment 跳转中使用 safe args 安全传递参数 )

https://hanshuliang.blog.csdn.net/article/details/131406972 博客源码快照 一、页面跳转间的传统的数据传递方式 1、传统的数据传递方式 - Bundle 传递数据 1、Navigation 组件中的 Bundle 数据传递 2、传统数据传递实现步骤 3、FragmentA 完整代码示例 4、FragmentB 完整代码示例 5、执行结果 2、使用 Bundle 传递数据安全性差 二、页面跳转间的传统的数据传递方式 1、导入插件依赖 2、使用插件 3、在 navigation_graph.xml 中定义要传递的 argument 参数信息 4、重新编译生成参数传递相关代码 5、调用 FragmentBArgs 类生成参数 Bundle 6、FragmentA 中获取参数 三、两种传参方式的完整代码示例 1、Gradle 构建脚本 I、根目录下 settings.gradle 构建脚本 II、根目录下 build.gradle 构建脚本 III、Module 目录下 build.gradle 构建脚本 2、res 资源配置

2023-08-25

可运行的 Android 版本的 ijkplayer 2023年 8 月 14 日调试完毕

运行环境 : 2021.3.1 Dolphin , Android Gradle 插件版本号 3.2.0 , Gradle 版本号 gradle-4.6-all.zip 【ijkplayer】编译 Android 版本的 ijkplayer ⑦ ( 使用 AS 打开源码 | 重新设置 AGP 和 Gradle 版本号 | 设置依赖仓库 | 设置依赖 | 编译运行 ) 原文链接:https://blog.csdn.net/shulianghan/article/details/132274142 一、Android Studio 打开编译后的 ijkplayer 源码 二、重新设置 Android Gradle 插件版本号和 Gradle 构建工具版本号 三、设置依赖仓库 1、取消 jcenter 仓库 2、添加 google 和 mavenCentral 仓库 3、添加阿里云仓库 四、取消 jcenter 上传相关插件 五、设置编译工具版本号 六、取消 productFlavors 七、设置 build.gradle 中的依赖为 implementation 依赖 八、编译应用

2023-08-14

hadoop-3.3.4.tar.gz + winutils 安装环境

【开发环境】安装 Hadoop 运行环境 ( 下载 Hadoop | 解压 Hadoop | 设置 Hadoop 环境变量 | 配置 Hadoop 环境脚本 | 安装 winutils ) https://hanshuliang.blog.csdn.net/article/details/132045605 一、下载 Hadoop 二、解压 Hadoop 三、设置 Hadoop 环境变量 四、配置 Hadoop 环境脚本 五、安装 winutils 六、重启电脑 七、验证 Hadoop 安装效果

2023-08-03

JetpackNavigation 导航组件 ③ ( 为 Navigation Graph 添加跳转动画 )

【Jetpack】Navigation 导航组件 ③ ( 为 Navigation Graph 添加跳转动画 ) 博客源码快照 博客地址 : https://hanshuliang.blog.csdn.net/article/details/131405392 一、为 Navigation Graph 添加跳转动画 1、进入 Navigation Graph 配置的 Design 模式 2、选中 action 跳转 3、为 action 跳转设置 enterAnim 进入动画 4、为 action 跳转设置 exitAnim 退出动画 5、通过代码为 action 跳转设置进入 / 退出动画

2023-06-26

JetpackNavigation 导航组件 ②

【Jetpack】Navigation 导航组件 ② ( Navigation 核心要点说明 | 创建 Navigation Graph | 创建 NavHostFragment | 完整代码示例 ) https://hanshuliang.blog.csdn.net/article/details/131299078

2023-06-21

DB Browser for SQLite 数据库查看工具

DB Browser for SQLite 数据库查看工具

2023-06-14

【AI 大模型】MCP 开发实战 ⑤ ( 使用 build-mcp-server、build-mcp-app、build-mcpb 等 Skill 技能开发 MCP 服务器 )

【AI 大模型】MCP 开发实战 ⑤ ( 使用 build-mcp-server、build-mcp-app、build-mcpb 等 Skill 技能开发 MCP 服务器 ) 博客资源 https://hanshuliang.blog.csdn.net/article/details/169842743 一、三个 MCP 开发 Skill 简介 1、分工与调用链 2、四类产出形态 3、为什么三个必须一起装 二、只下载这三个 Skill 1、为什么不建议整仓克隆 2、三步命令逐条拆解 3、验证下载结果 4、不走 git 的替代方案 三、安装到 WorkBuddy 与 TraeCode 1、两个平台的技能目录 2、复制命令与覆盖刷新 3、验证与生效 四、英文 Skill 换成中文还能不能用 1、规范里只有一个硬约束 2、逐文件核验数据 3、中文版的三个真实代价

2026-11-02

Web APIsJavaScript 开发框架 ① ( JS 框架核心概念 - JS 框架与 JS 插件 - 常用前端框架 - 使用 Bootstrap 实现轮播图 )

【Web APIs】JavaScript 开发框架 ① ( JS 框架核心概念 | JS 框架与 JS 插件 | 常用前端框架 | 使用 Bootstrap 实现轮播图 ) https://hanshuliang.blog.csdn.net/article/details/156560620?spm=1011.2415.3001.5331 博客源码 一、JavaScript 框架 1、JS 框架核心概念 2、JS 框架与 JS 插件 3、常用前端框架 二、使用 Bootstrap 实现轮播图 1、核心概念 2、代码示例 3、执行效果

2026-01-04

Web APIs移动端常用的 JavaScript 开发插件 ⑤ ( Swiper 插件案例 - 3D 木马特效 )

【Web APIs】移动端常用的 JavaScript 开发插件 ⑤ ( Swiper 插件案例 - 3D 木马特效 ) https://hanshuliang.blog.csdn.net/article/details/156532805?spm=1011.2415.3001.5331 博客代码示例 一、Swiper 插件案例 - 3D 木马特效 1、需求说明 2、官方示例代码 二、完整流程 1、拷贝并导入 CSS 和 JS 依赖文件 2、修改 HTML 结构 3、拷贝 CSS样式 4、拷贝 JS 脚本 5、样式调整 三、完整代码示例 1、HTML 代码 - index.html 2、CSS 样式代码 - index.css 3、JS 脚本代码 - index.js 4、执行效果

2026-01-03

Web APIs移动端常用的 JavaScript 开发插件 ④ ( Swiper 插件案例 )

【Web APIs】移动端常用的 JavaScript 开发插件 ④ ( Swiper 插件案例 | 导入外部依赖 | 编写 HTML 结构 | 编写 CSS 代码 | 编写 JS 代码 ) 博客源码示例 https://hanshuliang.blog.csdn.net/article/details/156516906?spm=1011.2415.3001.5331 一、Swiper 插件案例 1、需求说明 2、HTML 页面设置 ① 导入外部依赖 ② 编写 HTML 结构 3、编写 CSS 代码 4、编写 JS 代码 二、代码示例 - Swiper 插件案例 1、HTML 代码 - index.html 2、JavaScript 脚本 - index.js 3、CSS 样式 - index.css 4、执行效果 ————————————————

2026-01-02

Web APIs移动端返回顶部案例 ( 返回顶部按钮 显示 / 隐藏 设置 - 返回顶部操作 )

【Web APIs】移动端返回顶部案例 ( 返回顶部按钮 显示 / 隐藏 设置 | 返回顶部操作 ) https://hanshuliang.blog.csdn.net/article/details/156455859 博客源码 一、移动端返回顶部案例 1、需求说明 2、返回顶部按钮 显示 / 隐藏 设置 3、返回顶部操作 二、代码示例 - 移动端返回顶部案例 1、代码示例 2、执行结果

2025-12-31

Web APIs移动端轮播图案例

【Web APIs】移动端轮播图案例 ( 轮播图自动播放 | 设置无缝衔接滑动 | 手指滑动轮播图 | 完整代码示例 ) 博客地址 : https://hanshuliang.blog.csdn.net/article/details/156421377 一、移动端轮播图案例 1、需求说明 2、HTML 结构布局 4、轮播图自动播放 5、设置无缝衔接滑动 6、手指滑动轮播图 二、代码示例 - 移动端轮播图案例 1、代码示例 2、执行结果

2025-12-31

Web APIs动画案例 - 筋斗云导航栏 源码

【Web APIs】动画案例 - 筋斗云导航栏 博客源码 博客地址 : https://hanshuliang.blog.csdn.net/article/details/156160033

2025-12-22

Web APIs网页轮播图 前端代码示例

【Web APIs】网页轮播图 ( 清除默认边距、样式 | ul 列表样式设置 | 循环无缝滚动实现 | 动画节流阀 | 左右按钮触发动画 | 小圆点按钮触发动画 ) https://blog.csdn.net/shulianghan/article/details/155915283?spm=1001.2014.3001.5501 一、轮播图案例 - 需求、结构、页面样式解析 1、需求说明 2、HTML 结构 3、CSS 样式 - 清除边距及默认样式 ① 清除默认内外边距 ② 清除列表样式 ③ 清除链接样式 4、CSS 样式 - 轮播图图片 ① 左浮动横向排列 ② 轮播图图片父容器 ul 列表样式 ③ 轮播图父容器样式 5、CSS 样式 - 轮播图左右按钮 6、CSS 样式 - 轮播图小圆点按钮 二、轮播图案例 - JavaScript 脚本解析 1、页面加载执行脚本、获取必要的 DOM 元素 2、鼠标进出轮播图区域的事件设定 3、小圆点按钮触发动画 4、循环无缝滚动实现 5、动画节流阀 6、左右按钮触发动画 7、自动轮播设置 三、代码示例 - 网页轮播图 1、代码示例 ① HTML 代码 ② CSS 样式代码 ③ JavaScript 脚本代码 - 轮播图控制核心代码 ④ JavaScript 脚本代码 - 动画封装函数 2、执行结果

2025-12-17

Autoware.Universe 2025年11月27日 最新文档

Autoware.Universe 2025年11月27日 最新文档 , 下载地址 : https://github.com/autowarefoundation/autoware-documentation

2025-11-27

FFmpegFLV 格式分析 ④ ( 解析 FLV 代码分析 )

【FFmpeg】FLV 格式分析 ④ ( 解析 FLV 代码分析 ) https://hanshuliang.blog.csdn.net/article/details/145478719 博客源码

2025-10-17

【JT/T 808协议】808 协议开发笔记 ① 博客资源

【JT/T 808协议】808 协议开发笔记 ① ( JT/T 808 协议简介 | 协议数据分析 | 连接建立与断开 与 终端的注册和鉴权 | Java 代码参考 ) 博客地址 : https://blog.csdn.net/shulianghan/article/detail 一、协议简介 1、JT/T 808 协议简介 2、JT/T 808 协议应用场景 二、协议数据分析 1、数据类型 2、数据消息结构 3、标志位 4、消息头 ① 消息体属性格式 ② 消息包封装项 ③ 消息流水号 ④ 总结 5、消息体 6、校验码 三、连接建立与断开 与 终端的注册和鉴权 1、连接建立与断开 2、心跳包案例 3、终端注册与注销 4、终端鉴权 四、Java 代码参考 1、常见的消息类型 2、工具类 3、消息头封装类 4、拼接数据封装类

2025-02-21

AndroidAndroid 悬浮窗开发

【Android】Android 悬浮窗开发

2025-02-18

FFmpegH.264 格式分析 ② ( 网络抽象层单元 NALU - NALU 功能结构 - VCL 视频编码层 - NAL 网络提取层 - H.264 封装模式 - annexb 模式 )

一、网络抽象层单元 - NALU ( Network Abstraction Layer Unit ) 1、NALU 简介 2、NALU 常见的数据类型 3、NALU 传输注意事项 4、NALU 功能结构 ① 视频编码层 ② 网络提取层 ③ NALU 的 VCL 和 NAL 对应的 nal_unit_type 类型 5、NALU 数据结构 ① Start Code 起始标志位 ② NALU Header 头 ③ NALU Payload 载荷 二、H.264 封装模式 - annexb模式 / MP4 模式 1、Annex B 模式 2、MP4 模式 3、Annex B 和 MP4 模式的对比 三、将 MP4 模式 转为 Annex B 模式

2025-01-07

【Android UI】SurfaceView中使用 Canvas 绘制可缩放大图

【Android UI】SurfaceView中使用 Canvas 绘制可缩放大图 ( 拖动和缩放相关的变量 | Canvas 绘图函数 | 手势识别 多点触控流程 | 拖动图片 | 缩放图片 ) 博客链接:https://blog.csdn.net/shulianghan/article/details/143950948 一、需求分析 和 核心要点 说明 1、需求说明 2、核心要点 - 拖动和缩放相关的变量 3、核心要点 - Canvas 绘图函数 4、核心要点 - 手势识别 多点触控流程 5、核心要点 - 拖动图片 6、核心要点 - 缩放图片 二、完整代码示例 1、环境说明 2、SurfaceView 完整代码 3、运行结果

2024-11-21

FFmpegSDL 音视频开发 ⑦ ( 播放 PCM 音频数据 )

【FFmpeg】SDL 音视频开发 ⑦ ( 播放 PCM 音频数据 | 提取 PCM 格式数据 | 设置音频参数 | 打开音频设备 | 设置播放回调函数 | 播放音频数据 | 关闭音频设备 ) 博客地址 : https://hanshuliang.blog.csdn.net/article/details/141950997 一、PCM 格式简介 1、PCM 简介 2、PCM 参数 3、声音频率 ( 注意与采样率区分 ) 4、使用 ffmpeg 获取 PCM 格式数据 5、使用 ffplay 播放 PCM 格式数据 二、SDL 播放 PCM 流程 1、初始化 SDL 2、设置音频参数 3、打开音频设备 4、设置播放回调函数 5、播放音频数据 6、关闭音频设备 7、SDL 播放 PCM 音频数据的 关键步骤 代码示例 三、完整代码示例 1、完整代码示例 2、执行结果

2024-09-10

FFmpegSDL 音视频开发 ⑥ ( SDL 播放 YUV 视频 )

【FFmpeg】SDL 音视频开发 ⑥ ( SDL 播放 YUV 视频 | YUV 4:2:0 采样 | YUV420P 格式介绍 | 获取 YUV 视频文件 | 读取并加载 YUV 画面数据 ) 博客地址:https://blog.csdn.net/shulianghan/article/details/141900912 一、SDL 播放 YUV 视频 1、YUV 4:2:0 采样 2、YUV420P 格式介绍 3、获取 YUV 视频文件 4、读取 YUV 画面数据 5、加载 YUV 视频数据 二、完整代码示例 1、代码示例 2、执行效果

2024-09-05

【AI 大模型】函数调用 Function Calling ② ( 函数调用 引入 - 函数调用开发流程 - 代码示例 )

【AI 大模型】函数调用 Function Calling ② ( Plugins、Actions 扩展 | 函数调用 Function Calling 引入 | 函数调用开发流程 | 代码示例 ) https://hanshuliang.blog.csdn.net/article/details/140380268 博客代码示例 一、Plugins、Actions 扩展 1、GPT 大模型缺陷 - 引入 Plugins、Actions 扩展 2、Plugins 插件 3、Plugins 插件开发流程 4、Plugins 插件弊端 - Actions 引入 5、Actions 简介 二、ChatGPT 的平替 - Coze、Dify 三、函数调用 Function Calling 引入 四、函数调用开发流程 1、调用 OpenAI 的接口 2、函数定义 3、大模型回调 4、本地代码逻辑 5、第二次大模型调用 五、函数调用代码示例

2024-07-20

【AI 大模型】OpenAI 接口调用 ① ( PyCharm 中开发 Python 程序调用 OpenAI 接口 )

【AI 大模型】OpenAI 接口调用 ① ( 安装 openai 软件包 | 查看 openai 软件包版本 | PyCharm 中开发 Python 程序调用 OpenAI 接口 ) https://hanshuliang.blog.csdn.net/article/details/139922167 博客源码快照 一、安装 Python SDK 二、安装 OpenAI Python SDK 1、安装 openai 软件包 2、查看 openai 软件包版本 3、openai 接口参考文档 三、PyCharm 中开发 Python 程序调用 OpenAI 接口 1、PyCharm 创建 Python 项目 2、购买 API Key 3、API Key 配置用法 4、中转 API 与 直联 API 使用注意事项 5、Python 代码示例

2024-06-24

FFmpegSDL 音视频开发 ④ ( SDL 多线程 / 创建线程 / 等待线程执行完毕 )

【FFmpeg】SDL 音视频开发 ④ ( SDL 多线程 | SDL_Thread 结构体 | SDL_CreateThread 函数创建线程 | SDL_WaitThread 函数等待线程执行 ) https://hanshuliang.blog.csdn.net/article/details/139760886 博客源码快照 一、SDL 多线程简介 1、SDL 多线程引入 2、SDL_Thread 多线程模型 二、SDL 多线程相关函数 1、SDL 创建线程 - SDL_CreateThread 函数 2、SDL 等待线程执行完毕 - SDL_WaitThread 函数 三、SDL 线程代码示例 - 创建并等待线程执行完毕 1、代码示例 2、执行结果

2024-06-18

FFmpegSDL 音视频开发 ③ ( SDL 事件处理 )

【FFmpeg】SDL 音视频开发 ③ ( SDL 事件处理 | SDL_Event 数据结构分析 | 事件处理流程 | SDL 事件获取函数 | SDL_WaitEvent 函数 ) https://hanshuliang.blog.csdn.net/article/details/139669401 博客源码快照 一、SDL 事件处理简介 1、SDL 事件处理引入 2、SDL 事件处理步骤 二、SDL 事件数据结构分析 1、SDL_Event 事件 - union 联合体 2、SDL_Event 事件处理流程 三、SDL 事件函数 1、SDL_PollEvent 函数 2、SDL_WaitEvent 函数 四、完整代码示例 1、代码示例 2、执行结果

2024-06-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除