HJR Docs

⚙️ C 语言

  • 1. C 语言基础
    • 1.1. C 语言简介与 VC10 开发环境搭建
      • 1.1.1. C 语言概述
        • 1.1.1.1. 核心特点
        • 1.1.1.2. 与 VC10 的关系
      • 1.1.2. 环境搭建
        • 1.1.2.1. 安装 Visual C++ 2010 Express
        • 1.1.2.2. 创建第一个 C 项目
        • 1.1.2.3. 第一个程序
      • 1.1.3. 项目文件结构
      • 1.1.4. VC10 编译器与标准
      • 1.1.5. 常用快捷键
    • 1.2. 基础语法
      • 1.2.1. 基本结构
      • 1.2.2. 注释
      • 1.2.3. 数据类型
        • 1.2.3.1. 基本数据类型
        • 1.2.3.2. 修饰符
        • 1.2.3.3. 常量
      • 1.2.4. 变量定义与初始化
      • 1.2.5. 运算符
        • 1.2.5.1. 算术运算符
        • 1.2.5.2. 关系运算符与逻辑运算符
        • 1.2.5.3. 位运算符
      • 1.2.6. 类型转换
        • 1.2.6.1. 隐式转换
        • 1.2.6.2. 显式转换(强制类型转换)
      • 1.2.7. printf 格式化输出
    • 1.3. 控制结构
      • 1.3.1. 选择结构
        • 1.3.1.1. if-else 语句
        • 1.3.1.2. 条件表达式(三元运算符)
        • 1.3.1.3. switch-case 语句
      • 1.3.2. 循环结构
        • 1.3.2.1. while 循环
        • 1.3.2.2. do-while 循环
        • 1.3.2.3. for 循环
      • 1.3.3. 循环控制
      • 1.3.4. 嵌套循环
      • 1.3.5. 综合示例:猜数字游戏
    • 1.4. 数组与字符串
      • 1.4.1. 一维数组
        • 1.4.1.1. 定义与初始化
        • 1.4.1.2. 访问与遍历
        • 1.4.1.3. 数组名与指针的关系
        • 1.4.1.4. 获取数组长度
      • 1.4.2. 多维数组
      • 1.4.3. 字符数组与字符串
        • 1.4.3.1. 字符串定义
        • 1.4.3.2. 字符串操作函数
        • 1.4.3.3. 字符串输入
        • 1.4.3.4. 常见字符串处理
    • 1.5. 函数
      • 1.5.1. 函数定义
      • 1.5.2. 参数传递
        • 1.5.2.1. 值传递(传值)
        • 1.5.2.2. 地址传递(传指针)
        • 1.5.2.3. 数组作为参数
      • 1.5.3. 返回值
      • 1.5.4. 函数原型(声明)
      • 1.5.5. 作用域与生命周期
      • 1.5.6. 递归函数
      • 1.5.7. inline 函数(C99)
      • 1.5.8. 函数指针
    • 1.6. 指针与内存管理
      • 1.6.1. 指针基础
        • 1.6.1.1. 什么是指针
        • 1.6.1.2. 指针的声明与初始化
        • 1.6.1.3. 指针与类型
      • 1.6.2. 指针运算
      • 1.6.3. 指针与 const
      • 1.6.4. 二级指针(指向指针的指针)
      • 1.6.5. 动态内存分配
        • 1.6.5.1. malloc vs calloc
        • 1.6.5.2. realloc(调整大小)
      • 1.6.6. 常见内存错误
      • 1.6.7. VC10 内存调试
    • 1.7. 结构体与联合体
      • 1.7.1. 结构体(struct)
        • 1.7.1.1. 定义与声明
        • 1.7.1.2. 访问成员
        • 1.7.1.3. 结构体指针
        • 1.7.1.4. 结构体嵌套
      • 1.7.2. 结构体大小与对齐
      • 1.7.3. typedef 类型别名
      • 1.7.4. 联合体(union)
        • 1.7.4.1. 联合体的典型用途
      • 1.7.5. 位域(Bit Field)
    • 1.8. 文件输入输出
      • 1.8.1. 文件操作基础
        • 1.8.1.1. 核心步骤
      • 1.8.2. 文件打开模式
      • 1.8.3. 文本文件读写
        • 1.8.3.1. fprintf / fscanf
        • 1.8.3.2. fgets / fputs
        • 1.8.3.3. fgetc / fputc
      • 1.8.4. 二进制文件读写
        • 1.8.4.1. fread / fwrite
      • 1.8.5. 文件定位
      • 1.8.6. 错误处理
      • 1.8.7. VC10 文件操作注意事项
    • 1.9. 预处理与宏
      • 1.9.1. 预处理工作流程
      • 1.9.2. 宏定义(#define)
        • 1.9.2.1. 简单宏
        • 1.9.2.2. 带参数宏(类函数宏)
        • 1.9.2.3. 多行宏
      • 1.9.3. 条件编译
        • 1.9.3.1. #ifdef / #ifndef / #endif
        • 1.9.3.2. #if / #elif / #else
        • 1.9.3.3. defined 运算符
      • 1.9.4. 文件包含(#include)
        • 1.9.4.1. 防止头文件重复包含
      • 1.9.5. 预定义宏
      • 1.9.6. # 运算符与 ## 运算符
        • 1.9.6.1. 字符串化(#)
        • 1.9.6.2. 标记拼接(##)
      • 1.9.7. #pragma 指令
      • 1.9.8. 断言(assert)
    • 1.10. VC10 特有功能与调试
      • 1.10.1. VC10 编译器选项
        • 1.10.1.1. 常用编译选项
        • 1.10.1.2. 运行时库选择
      • 1.10.2. 预编译头
      • 1.10.3. 链接器配置
      • 1.10.4. 调试技术
        • 1.10.4.1. 断点
        • 1.10.4.2. 监视窗口
        • 1.10.4.3. 调用堆栈
        • 1.10.4.4. 内存窗口
        • 1.10.4.5. 数据断点
      • 1.10.5. VC10 调试宏与函数
        • 1.10.5.1. 内存泄漏检测
      • 1.10.6. 常见编译错误与解决
      • 1.10.7. 项目配置速查
    • 1.11. 开发项目:XTF-CORE 测井文件解析库
      • 1.11.1. 项目简介
      • 1.11.2. 技术栈与设计约束
        • 1.11.2.1. 核心技术
        • 1.11.2.2. 工程规范(硬性约定)
      • 1.11.3. 系统架构
        • 1.11.3.1. 目录结构
        • 1.11.3.2. 分层设计
      • 1.11.4. 核心功能
        • 1.11.4.1. 读 XTF(xtf_core / xtf_curve)
        • 1.11.4.2. 写 XTF(xtf_write)
        • 1.11.4.3. LAS 双向转换(xtf_las / xtf_lasread)
        • 1.11.4.4. 语言绑定(src/api)
        • 1.11.4.5. 示例工具
      • 1.11.5. XTF 格式要点
      • 1.11.6. 开发记录
        • 1.11.6.1. 工程实践要点
      • 1.11.7. 构建与测试
      • 1.11.8. 快速使用
      • 1.11.9. 相关链接
    • 1.12. 开发项目:LAS-CORE 测井数据解析库
      • 1.12.1. 项目简介
      • 1.12.2. 技术栈与设计约束
        • 1.12.2.1. 核心技术
        • 1.12.2.2. 工程规范(硬性约定)
      • 1.12.3. 系统架构
        • 1.12.3.1. 目录结构
        • 1.12.3.2. 分层设计
      • 1.12.4. 核心功能
        • 1.12.4.1. 读 LAS(las_core / las_access)
        • 1.12.4.2. 导出与版本转换(las_write)
        • 1.12.4.3. 语言绑定(src/api)
        • 1.12.4.4. 示例工具
      • 1.12.5. LAS 格式要点
      • 1.12.6. 开发记录
        • 1.12.6.1. 工程实践要点
      • 1.12.7. 构建与测试
      • 1.12.8. 快速使用
      • 1.12.9. 相关链接

📐 Fortran

  • 1. Fortran 基础
    • 1.1. Fortran 简介与 IVF 2011 环境搭建
      • 1.1.1. Fortran 语言概述
        • 1.1.1.1. 核心特点
      • 1.1.2. Intel Visual Fortran 2011
      • 1.1.3. 环境搭建
        • 1.1.3.1. 安装 Intel Parallel Studio XE 2011
        • 1.1.3.2. 创建第一个 Fortran 项目
        • 1.1.3.3. 第一个程序
      • 1.1.4. 文件扩展名约定
      • 1.1.5. 启动脚本与环境变量
    • 1.2. 基础语法
      • 1.2.1. 程序结构
      • 1.2.2. 注释
      • 1.2.3. 数据类型
        • 1.2.3.1. 基本数据类型
        • 1.2.3.2. 常量定义
      • 1.2.4. 变量声明
      • 1.2.5. 运算符
        • 1.2.5.1. 算术运算符
        • 1.2.5.2. 关系运算符
        • 1.2.5.3. 逻辑运算符
      • 1.2.6. 字符串操作
      • 1.2.7. 格式化输出
    • 1.3. 控制结构
      • 1.3.1. 条件分支
        • 1.3.1.1. if-else if-else
        • 1.3.1.2. 单行 if
        • 1.3.1.3. if 块嵌套
      • 1.3.2. select case 语句
        • 1.3.2.1. select case 的灵活用法
      • 1.3.3. 循环结构
        • 1.3.3.1. do 循环
        • 1.3.3.2. do while 循环
      • 1.3.4. 循环控制
        • 1.3.4.1. 循环命名
      • 1.3.5. 数组循环(隐式 do)
      • 1.3.6. where 结构(数组条件操作)
      • 1.3.7. forall 结构(Fortran 95+)
      • 1.3.8. 综合示例:数值积分
    • 1.4. 数组
      • 1.4.1. 数组声明
        • 1.4.1.1. 静态数组
        • 1.4.1.2. 可分配数组(动态数组)
        • 1.4.1.3. 自动数组
      • 1.4.2. 数组初始化
      • 1.4.3. 数组操作
        • 1.4.3.1. 元素访问
        • 1.4.3.2. 整体运算
      • 1.4.4. 内置数组函数
      • 1.4.5. 数组作为参数
        • 1.4.5.1. 可分配数组作为过程参数
    • 1.5. 函数与子程序
      • 1.5.1. 函数(Function)
        • 1.5.1.1. 基本语法
        • 1.5.1.2. 简写形式
      • 1.5.2. intent 属性
      • 1.5.3. 子程序(Subroutine)
      • 1.5.4. 函数 vs 子程序
      • 1.5.5. 递归过程
      • 1.5.6. pure 与 elemental 过程
        • 1.5.6.1. pure 过程
        • 1.5.6.2. elemental 过程
      • 1.5.7. 可选参数与关键字参数
      • 1.5.8. interface 关键字
    • 1.6. 模块与作用域
      • 1.6.1. 模块基础
        • 1.6.1.1. 基本结构
        • 1.6.1.2. 使用模块
        • 1.6.1.3. 利用 only 精确控制
      • 1.6.2. 模块的可见性控制
      • 1.6.3. 嵌套模块(子模块)
      • 1.6.4. 模块间依赖
      • 1.6.5. 作用域规则
      • 1.6.6. block 结构(Fortran 2008+)
      • 1.6.7. 模块组织建议
    • 1.7. 文件输入输出
      • 1.7.1. 文件操作基础
        • 1.7.1.1. 核心步骤
        • 1.7.1.2. 文件通道号
      • 1.7.2. open 语句
        • 1.7.2.1. status 参数
      • 1.7.3. 文本文件读写
        • 1.7.3.1. 写入
        • 1.7.3.2. 读取
      • 1.7.4. 格式化描述符
      • 1.7.5. namelist(命名列表)
      • 1.7.6. 二进制文件
      • 1.7.7. 文件操作常用函数
    • 1.8. 派生类型与指针
      • 1.8.1. 派生类型(Derived Type)
        • 1.8.1.1. 定义与使用
        • 1.8.1.2. 嵌套派生类型
        • 1.8.1.3. 派生类型数组
        • 1.8.1.4. 派生类型过程绑定(Fortran 2003+ OOP)
        • 1.8.1.5. 可分配组件
      • 1.8.2. Fortran 指针
        • 1.8.2.1. 基本用法
        • 1.8.2.2. 指针与数组
        • 1.8.2.3. 可分配 vs 指针
      • 1.8.3. 链表示例
    • 1.9. IVF 并行计算与 MKL
      • 1.9.1. Intel MKL 数学库
        • 1.9.1.1. 配置 MKL
        • 1.9.1.2. BLAS 矩阵运算
        • 1.9.1.3. LAPACK 线性代数
      • 1.9.2. OpenMP 并行
        • 1.9.2.1. 启用 OpenMP
        • 1.9.2.2. 并行 do 循环
        • 1.9.2.3. 规约操作
        • 1.9.2.4. 并行区域
      • 1.9.3. do concurrent(Fortran 2008+)
      • 1.9.4. 自动并行化(IVF 编译器)
      • 1.9.5. 并行性能建议
      • 1.9.6. 环境变量
    • 1.10. IVF 编译器优化与调试
      • 1.10.1. 编译器选项速查
        • 1.10.1.1. 优化选项
        • 1.10.1.2. 调试选项
      • 1.10.2. 运行时检查
      • 1.10.3. 性能分析与调优
        • 1.10.3.1. 代码分析
        • 1.10.3.2. 向量化报告
        • 1.10.3.3. 优化循环的指导原则
      • 1.10.4. 调试技术
        • 1.10.4.1. VS 集成调试器
        • 1.10.4.2. 条件断点
        • 1.10.4.3. IVF 调试环境变量
      • 1.10.5. 常见错误与解决
      • 1.10.6. 项目配置对比

🐘 Scala

  • 1. Scala 基础
    • 1.1. Scala 简介与环境搭建
      • 1.1.1. Scala 语言概述
        • 1.1.1.1. 核心特性
        • 1.1.1.2. 典型应用场景
      • 1.1.2. 环境搭建
        • 1.1.2.1. 安装 JDK
        • 1.1.2.2. 安装 SBT(Scala 标准构建工具)
        • 1.1.2.3. IDE 选择
      • 1.1.3. 快速开始:Hello World
        • 1.1.3.1. 创建 SBT 项目
      • 1.1.4. Scala 2 与 Scala 3
    • 1.2. 基础语法
      • 1.2.1. 变量与数据类型
        • 1.2.1.1. 变量定义
        • 1.2.1.2. 类型推断
        • 1.2.1.3. 基本数据类型
        • 1.2.1.4. 字符串插值
      • 1.2.2. 控制结构
        • 1.2.2.1. 条件表达式
        • 1.2.2.2. 循环
        • 1.2.2.3. for 推导式(yield)
      • 1.2.3. 模式匹配
        • 1.2.3.1. 基本用法
        • 1.2.3.2. 守卫条件
        • 1.2.3.3. 解构匹配
      • 1.2.4. 异常处理
    • 1.3. 面向对象编程
      • 1.3.1. 类与对象
        • 1.3.1.1. 定义类
        • 1.3.1.2. 构造函数
        • 1.3.1.3. 访问修饰符
      • 1.3.2. 特质(Trait)
        • 1.3.2.1. 特质与抽象类的选择
      • 1.3.3. 样例类(Case Class)
      • 1.3.4. 单例对象与伴生对象
      • 1.3.5. 继承
      • 1.3.6. 密封类型(Sealed)
      • 1.3.7. 枚举(Scala 3)
    • 1.4. 函数式编程
      • 1.4.1. 函数定义
        • 1.4.1.1. 方法定义
        • 1.4.1.2. 过程(无返回值)
      • 1.4.2. 高阶函数
        • 1.4.2.1. 匿名函数(Lambda)
      • 1.4.3. 纯函数与副作用
      • 1.4.4. 不可变性
      • 1.4.5. Option、Either 与 Try
        • 1.4.5.1. Option
        • 1.4.5.2. Either
        • 1.4.5.3. Try
      • 1.4.6. Monad 基础概念
    • 1.5. 集合框架
      • 1.5.1. 集合层次结构
      • 1.5.2. 常用序列
        • 1.5.2.1. List(单向链表)
        • 1.5.2.2. Vector(随机访问序列)
        • 1.5.2.3. Range(数值范围)
      • 1.5.3. 集合核心操作
        • 1.5.3.1. 转换操作
        • 1.5.3.2. 筛选操作
        • 1.5.3.3. 聚合操作
        • 1.5.3.4. 排序操作
        • 1.5.3.5. 分组操作
      • 1.5.4. Map 操作
      • 1.5.5. Set 操作
      • 1.5.6. 视图(View)
    • 1.6. 类型系统
      • 1.6.1. 泛型
        • 1.6.1.1. 泛型约束
      • 1.6.2. 协变、逆变与不变
      • 1.6.3. 类型约束
        • 1.6.3.1. 上下文界定(Context Bound)
        • 1.6.3.2. 视图界定(View Bound,Scala 2 风格,Scala 3 中移除)
      • 1.6.4. 给定实例与 using 子句(Scala 3)
        • 1.6.4.1. 类型类模式
      • 1.6.5. 联合类型与交集类型(Scala 3)
        • 1.6.5.1. 联合类型(Union Type)
        • 1.6.5.2. 交集类型(Intersection Type)
      • 1.6.6. 不透明类型(Opaque Type)
    • 1.7. 并发编程
      • 1.7.1. 线程基础
      • 1.7.2. Future
        • 1.7.2.1. 基本用法
        • 1.7.2.2. Future 链式操作
        • 1.7.2.3. Future 组合
      • 1.7.3. Promise
      • 1.7.4. ExecutionContext 与自定义线程池
      • 1.7.5. Akka 与 Actor 模型
        • 1.7.5.1. 基本 Actor(Akka Classic)
        • 1.7.5.2. Akka Typed(类型安全 Actor)
      • 1.7.6. cats.effect.IO 与 ZIO
        • 1.7.6.1. cats.effect.IO
        • 1.7.6.2. ZIO
      • 1.7.7. 选择指南
    • 1.8. 构建工具与生态
      • 1.8.1. SBT(Scala Build Tool)
        • 1.8.1.1. build.sbt 配置
        • 1.8.1.2. 依赖配置语法
        • 1.8.1.3. 常用命令
        • 1.8.1.4. 多模块项目
      • 1.8.2. 测试框架
        • 1.8.2.1. ScalaTest
        • 1.8.2.2. MUnit
      • 1.8.3. 常用框架与库
      • 1.8.4. 学习资源

📱 Flutter

  • 1. Flutter 基础
    • 1.1. Flutter 简介与环境搭建
      • 1.1.1. Flutter 框架概述
        • 1.1.1.1. 核心特点
        • 1.1.1.2. 架构层次
      • 1.1.2. 环境搭建
        • 1.1.2.1. 安装 Flutter SDK
        • 1.1.2.2. 安装 IDE 插件
        • 1.1.2.3. 验证安装
      • 1.1.3. 快速开始:第一个 Flutter 应用
      • 1.1.4. 开发流程
    • 1.2. Dart 语言基础
      • 1.2.1. 变量与类型
        • 1.2.1.1. 类型声明
        • 1.2.1.2. 内置类型
      • 1.2.2. 空安全(Null Safety)
      • 1.2.3. 函数
        • 1.2.3.1. 基本用法
        • 1.2.3.2. 函数是一等公民
      • 1.2.4. 类与对象
        • 1.2.4.1. 继承与混入
        • 1.2.4.2. 抽象类与接口
      • 1.2.5. 异步编程
        • 1.2.5.1. Future
        • 1.2.5.2. Stream
    • 1.3. Widget 体系
      • 1.3.1. Widget 哲学
        • 1.3.1.1. 核心原则
      • 1.3.2. StatelessWidget vs StatefulWidget
        • 1.3.2.1. StatelessWidget(无状态)
        • 1.3.2.2. StatefulWidget(有状态)
      • 1.3.3. 基础 Widget
        • 1.3.3.1. 文本显示
        • 1.3.3.2. 图片
        • 1.3.3.3. 按钮
        • 1.3.3.4. 输入框
      • 1.3.4. 容器与修饰
        • 1.3.4.1. Container
        • 1.3.4.2. SizedBox(间隔控件)
        • 1.3.4.3. Padding
      • 1.3.5. Material 与 Cupertino 组件
        • 1.3.5.1. Material Design(Android 风格)
        • 1.3.5.2. Cupertino(iOS 风格)
    • 1.4. 布局与样式
      • 1.4.1. 布局模型
        • 1.4.1.1. Flutter 布局三步骤
      • 1.4.2. 核心布局 Widget
        • 1.4.2.1. Row(水平布局)
        • 1.4.2.2. Column(垂直布局)
      • 1.4.3. 布局与定位
        • 1.4.3.1. Stack(层叠布局)
        • 1.4.3.2. Align(对齐)
      • 1.4.4. Flexible 与 Expanded
      • 1.4.5. 弹性与滚动
        • 1.4.5.1. SingleChildScrollView(单子滚动)
        • 1.4.5.2. ListView(列表)
        • 1.4.5.3. GridView(网格)
      • 1.4.6. 自适应布局
        • 1.4.6.1. LayoutBuilder(获取父约束)
        • 1.4.6.2. MediaQuery(屏幕信息)
      • 1.4.7. 尺寸与间距速查
    • 1.5. 状态管理
      • 1.5.1. 什么是状态
      • 1.5.2. setState(基础方案)
      • 1.5.3. InheritedWidget(框架级)
      • 1.5.4. Provider(推荐入门)
        • 1.5.4.1. 添加依赖
        • 1.5.4.2. 定义模型
        • 1.5.4.3. 注入与消费
      • 1.5.5. Riverpod(进阶推荐)
        • 1.5.5.1. 添加依赖
        • 1.5.5.2. 定义与使用
      • 1.5.6. Bloc(事件驱动)
        • 1.5.6.1. 添加依赖
        • 1.5.6.2. 定义 Bloc
        • 1.5.6.3. 使用 Bloc
      • 1.5.7. 状态管理方案对比
    • 1.6. 路由与导航
      • 1.6.1. 基本路由
        • 1.6.1.1. Navigator.push / pop
      • 1.6.2. 命名路由
      • 1.6.3. onGenerateRoute(动态路由)
        • 1.6.3.1. 命名路由中的参数提取
      • 1.6.4. GoRouter(声明式路由)
        • 1.6.4.1. 添加依赖
        • 1.6.4.2. 基本用法
        • 1.6.4.3. 导航方法
        • 1.6.4.4. 重定向与守卫
      • 1.6.5. 路由方案选择
    • 1.7. 网络与数据持久化
      • 1.7.1. HTTP 网络请求
        • 1.7.1.1. 添加依赖
        • 1.7.1.2. 基本 GET 请求
        • 1.7.1.3. POST 请求
      • 1.7.2. Dio(功能更完善的 HTTP 库)
      • 1.7.3. JSON 序列化
        • 1.7.3.1. 手动序列化
        • 1.7.3.2. 使用 json_serializable(推荐)
      • 1.7.4. 本地数据持久化
        • 1.7.4.1. SharedPreferences(键值存储)
        • 1.7.4.2. 文件存储(path_provider)
        • 1.7.4.3. SQLite 数据库(sqflite)
      • 1.7.5. 网络状态与缓存
    • 1.8. 平台集成与发布
      • 1.8.1. 平台通道(Platform Channel)
        • 1.8.1.1. Dart 端(Flutter)
        • 1.8.1.2. Android 端(Kotlin)
        • 1.8.1.3. iOS 端(Swift)
      • 1.8.2. 常用插件(packages)
      • 1.8.3. 应用打包与发布
        • 1.8.3.1. Android 发布
        • 1.8.3.2. iOS 发布
        • 1.8.3.3. Web 发布
        • 1.8.3.4. Windows / macOS / Linux 发布
      • 1.8.4. CI/CD 与测试
        • 1.8.4.1. 测试类型
        • 1.8.4.2. CI/CD 配置
      • 1.8.5. 贴士与最佳实践
    • 1.9. 开发项目:蓝牙单片机控制器
      • 1.9.1. 项目简介
      • 1.9.2. 技术栈与版本
      • 1.9.3. 系统架构
      • 1.9.4. 通信协议定义
        • 1.9.4.1. 帧格式
        • 1.9.4.2. CRC-16-CCITT
        • 1.9.4.3. 发送样例
      • 1.9.5. 核心模块详解
        • 1.9.5.1. lib/mcu_frame.dart — 协议帧纯 Dart 参考实现
        • 1.9.5.2. lib/mcu_native.dart — MethodChannel 桥接
        • 1.9.5.3. NDK 原生层(C 实现)
        • 1.9.5.4. lib/main.dart — 界面与状态机
      • 1.9.6. 测试策略
      • 1.9.7. 开发记录(关键踩坑)
        • 1.9.7.1. 字节契约 Bug(Dart → Kotlin)
        • 1.9.7.2. FRAME_OVERHEAD 越界 Bug(C)
        • 1.9.7.3. MethodChannel <Uint8List> 强转
        • 1.9.7.4. UI 测试的坑
        • 1.9.7.5. 版本锁定
      • 1.9.8. 构建与使用
        • 1.9.8.1. 使用方法
        • 1.9.8.2. 自定义服务 / 特征 UUID
      • 1.9.9. 已知限制
      • 1.9.10. 相关链接

🎯 C#

  • 1. C# 编程基础
    • 1.1. C# 与 .NET 开发环境
      • 1.1.1. C# 语言概述
        • 1.1.1.1. 核心特点
      • 1.1.2. .NET 平台演进
      • 1.1.3. 开发环境搭建
        • 1.1.3.1. 安装 Visual Studio 2022
        • 1.1.3.2. 创建第一个项目
      • 1.1.4. 项目结构
      • 1.1.5. C# 与 VB.NET / F# 对比
    • 1.2. C# 语言基础
      • 1.2.1. 类型系统
        • 1.2.1.1. 值类型 vs 引用类型
        • 1.2.1.2. 内置类型
        • 1.2.1.3. var 关键字(类型推断)
        • 1.2.1.4. 可空类型
      • 1.2.2. 字符串
      • 1.2.3. 控制流
      • 1.2.4. 集合
      • 1.2.5. 异常处理
    • 1.3. 面向对象编程
      • 1.3.1. 类与对象
      • 1.3.2. record 类型(C# 9+)
      • 1.3.3. 继承与多态
      • 1.3.4. 抽象类与接口
      • 1.3.5. 委托与事件
      • 1.3.6. 泛型
    • 1.4. C# 高级特性
      • 1.4.1. LINQ(语言集成查询)
      • 1.4.2. async/await 异步编程
      • 1.4.3. 模式匹配(C# 7+)
      • 1.4.4. 扩展方法
      • 1.4.5. 依赖注入(DI)
      • 1.4.6. 反射与特性
      • 1.4.7. 不安全代码与互操作
    • 1.5. .NET 框架核心
      • 1.5.1. .NET 基类库(BCL)
        • 1.5.1.1. System 命名空间
      • 1.5.2. 文件 I/O
      • 1.5.3. 序列化
      • 1.5.4. 进程与线程
      • 1.5.5. 配置管理
      • 1.5.6. 日志系统
    • 1.6. Windows Forms
      • 1.6.1. WinForms 概述
      • 1.6.2. 创建 WinForms 项目
        • 1.6.2.1. 基本结构
      • 1.6.3. 常用控件
      • 1.6.4. 事件处理
      • 1.6.5. 对话框
      • 1.6.6. MDI 多文档界面
      • 1.6.7. 自定义控件
    • 1.7. WPF 基础
      • 1.7.1. WPF 概述
      • 1.7.2. XAML 基础
      • 1.7.3. 布局系统
      • 1.7.4. 数据绑定
        • 1.7.4.1. 核心概念
        • 1.7.4.2. XAML 绑定语法
        • 1.7.4.3. INotifyPropertyChanged
      • 1.7.5. 命令(ICommand)
      • 1.7.6. 样式与资源
    • 1.8. WPF 进阶:MVVM 与实践
      • 1.8.1. MVVM 模式详解
      • 1.8.2. 完整 MVVM 示例
        • 1.8.2.1. Model
        • 1.8.2.2. ViewModel
        • 1.8.2.3. View(XAML)
        • 1.8.2.4. Code-Behind(仅 View 层)
      • 1.8.3. 依赖注入集成
      • 1.8.4. 触发器与动画
      • 1.8.5. 转换器
    • 1.9. 数据访问
      • 1.9.1. ADO.NET
      • 1.9.2. Entity Framework Core
        • 1.9.2.1. DbContext 与实体
        • 1.9.2.2. CRUD 操作
        • 1.9.2.3. Migrations
      • 1.9.3. Dapper(轻量级 ORM)
      • 1.9.4. 文件数据库(SQLite)
    • 1.10. C# 编程实例
      • 1.10.1. 实例一:文件批量重命名工具
      • 1.10.2. 实例二:日志分析工具
      • 1.10.3. 实例三:MVVM 待办事项应用(WPF)
        • 1.10.3.1. Model
        • 1.10.3.2. ViewModel
        • 1.10.3.3. View(MainWindow.xaml)

🛠️ 开发项目

  • 1. 开发项目
    • 1.1. 项目一览

📊 统计与机器学习

  • 1. 统计视角下的半监督学习
    • 1.1. 半监督学习导论
      • 1.1.1. 问题背景
      • 1.1.2. 问题形式化
      • 1.1.3. 一个反直觉的发现
      • 1.1.4. SSL 的历史脉络
    • 1.2. 统计框架:缺失标签机制
      • 1.2.1. 缺失机制框架(Rubin, 1976)
        • 1.2.1.1. 完全随机缺失(MCAR)
        • 1.2.1.2. 随机缺失(MAR)
        • 1.2.1.3. 非随机缺失(NMAR / Non-ignorable)
      • 1.2.2. SSL 中无标签数据的信息
        • 1.2.2.1. 似然函数分解
      • 1.2.3. 生成式分类器的 Fisher 信息
      • 1.2.4. 渐近相对效率(ARE)
    • 1.3. SSL 的核心假设
      • 1.3.1. 平滑性假设
      • 1.3.2. 聚类假设
      • 1.3.3. 低密度分离假设
      • 1.3.4. 流形假设
      • 1.3.5. 假设强度与学习率
    • 1.4. 经典半监督学习方法
      • 1.4.1. 自训练(Self-Training)
        • 1.4.1.1. 算法流程
        • 1.4.1.2. 与 EM 算法的联系
        • 1.4.1.3. 风险
      • 1.4.2. 生成式模型方法
        • 1.4.2.1. 高斯混合模型(GMM)
        • 1.4.2.2. 线性判别分析(LDA)
      • 1.4.3. 基于图的 SSL 方法
        • 1.4.3.1. 核心思想
        • 1.4.3.2. 标签传播算法
      • 1.4.4. 协同训练(Co-Training)
        • 1.4.4.1. 核心思想
        • 1.4.4.2. 理论保证
      • 1.4.5. 半监督 SVM(S3VM)
    • 1.5. 理论结果与可改进性分析
      • 1.5.1. Fisher 信息分析
      • 1.5.2. 可改进性条件
        • 1.5.2.1. 基本条件
        • 1.5.2.2. 不可能性结果
      • 1.5.3. 学习率分析
      • 1.5.4. PAC 学习框架下的 SSL
      • 1.5.5. 泛化误差分解
    • 1.6. 现代深度半监督学习方法
      • 1.6.1. 一致性正则化
        • 1.6.1.1. 核心思想
        • 1.6.1.2. 经典方法演进
        • 1.6.1.3. FixMatch:一个统一框架
      • 1.6.2. 熵正则化
        • 1.6.2.1. 虚拟对抗训练(VAT)
      • 1.6.3. 数据增强在 SSL 中的角色
      • 1.6.4. 伪标签方法
      • 1.6.5. 对比学习与 SSL
      • 1.6.6. 深度 SSL 方法的共同框架
    • 1.7. 开放问题与未来方向
      • 1.7.1. 开放问题
        • 1.7.1.1. 1. SSL 成功的底层机制
        • 1.7.1.2. 2. 判别式模型的 SSL 理论
        • 1.7.1.3. 3. 假设违背的鲁棒性
        • 1.7.1.4. 4. 标签缺失机制的影响
        • 1.7.1.5. 5. 弱监督到无监督的平滑过渡
      • 1.7.2. 未来方向
        • 1.7.2.1. 方向一:理论驱动的 SSL 设计
        • 1.7.2.2. 方向二:数据增强的理论理解
        • 1.7.2.3. 方向三:安全 SSL 与鲁棒性
        • 1.7.2.4. 方向四:开放集 SSL
        • 1.7.2.5. 方向五:跨模态 SSL
        • 1.7.2.6. 方向六:SSL 与大模型的结合
    • 1.8. 参考文献
      • 1.8.1. 主要参考文献
      • 1.8.2. 经典 SSL 相关工作
      • 1.8.3. 深度 SSL 相关工作
      • 1.8.4. 更多资源
        • 1.8.4.1. 综述论文
        • 1.8.4.2. 书籍
        • 1.8.4.3. 开源库

📡 射频工程

  • 1. 射频工程基础
    • 1.1. 射频技术导论
      • 1.1.1. 频率划分与典型应用
      • 1.1.2. RF 与低频电路的核心区别
      • 1.1.3. 射频设计核心参数
        • 1.1.3.1. 阻抗
        • 1.1.3.2. 反射系数
        • 1.1.3.3. 驻波比 (VSWR)
        • 1.1.3.4. 插入损耗与回波损耗
        • 1.1.3.5. dB 与 dBm
      • 1.1.4. 射频系统的典型架构
    • 1.2. 传输线理论
      • 1.2.1. 传输线的基本模型
        • 1.2.1.1. 集总参数单元
        • 1.2.1.2. 电报方程
      • 1.2.2. 传播常数与特征阻抗
      • 1.2.3. 常见传输线类型
        • 1.2.3.1. 微带线(Microstrip)
        • 1.2.3.2. 带状线(Stripline)
        • 1.2.3.3. 共面波导(CPW)
      • 1.2.4. 传输线阻抗不连续
      • 1.2.5. 传输线端接条件
      • 1.2.6. 传输线的输入阻抗
    • 1.3. S 参数与史密斯圆图
      • 1.3.1. S 参数定义
      • 1.3.2. S 参数特性
      • 1.3.3. 二端口网络的稳定性
      • 1.3.4. 史密斯圆图(Smith Chart)
        • 1.3.4.1. 圆图上的关键点
      • 1.3.5. 史密斯圆图的应用步骤
        • 1.3.5.1. . 导纳圆图
      • 1.3.6. S 参数测量
    • 1.4. 阻抗匹配
      • 1.4.1. 匹配的必要性
      • 1.4.2. L 型匹配网络
        • 1.4.2.1. L 网络设计步骤
      • 1.4.3. π 型匹配网络
      • 1.4.4. T 型匹配网络
      • 1.4.5. 分布式匹配
        • 1.4.5.1. 四分之一波长阻抗变换器
        • 1.4.5.2. 渐变线(Taper)
      • 1.4.6. 匹配元件的高频实现
    • 1.5. 射频无源元件
      • 1.5.1. 电阻的高频模型
      • 1.5.2. 电容的高频模型
      • 1.5.3. 电感的高频模型
      • 1.5.4. 射频传输线变压器
      • 1.5.5. 功分器 / 合路器
        • 1.5.5.1. 威尔金森功分器
      • 1.5.6. 定向耦合器
      • 1.5.7. 环形器 / 隔离器
    • 1.6. 射频电路设计
      • 1.6.1. 射频放大器
        • 1.6.1.1. 放大器分类
        • 1.6.1.2. 小信号放大器设计(LNA)
        • 1.6.1.3. 噪声系数 (NF)
        • 1.6.1.4. 放大器稳定性
      • 1.6.2. 射频滤波器
        • 1.6.2.1. 滤波器类型
        • 1.6.2.2. 微带滤波器实现
        • 1.6.2.3. 滤波器设计参数
      • 1.6.3. 混频器
      • 1.6.4. 振荡器
        • 1.6.4.1. 相位噪声
    • 1.7. 射频 PCB 设计
      • 1.7.1. 叠层设计
      • 1.7.2. 关键布线规则
        • 1.7.2.1. 50 Ω 微带线设计
        • 1.7.2.2. 通用 RF 走线规则
      • 1.7.3. 接地设计
        • 1.7.3.1. 过孔
        • 1.7.3.2. 微带接地
      • 1.7.4. 电源去耦
      • 1.7.5. 屏蔽与隔离
        • 1.7.5.1. 隔离策略
      • 1.7.6. 温度与工艺考虑
    • 1.8. ADS 仿真思路与流程
      • 1.8.1. ADS 仿真流程总览
      • 1.8.2. ADS 仿真类型选择
      • 1.8.3. 常见仿真模板
        • 1.8.3.1. S 参数仿真模板
        • 1.8.3.2. 谐波平衡仿真模板
      • 1.8.4. ADS 调谐与优化
        • 1.8.4.1. 调谐(Tuning)
        • 1.8.4.2. 优化(Optimization)
      • 1.8.5. 电磁仿真(Momentum / FEM)
      • 1.8.6. 常用的 ADS 设计示例
        • 1.8.6.1. 示例:L 型匹配网络
        • 1.8.6.2. 示例:S 参数提取(去嵌入)
        • 1.8.6.3. 示例:单级放大器的设计
      • 1.8.7. ADS 快捷键与效率技巧
    • 1.9. 射频测量技术
      • 1.9.1. 矢量网络分析仪 (VNA)
        • 1.9.1.1. 工作原理
        • 1.9.1.2. VNA 校准
      • 1.9.2. 频谱分析仪
        • 1.9.2.1. RBW 的选择
      • 1.9.3. 噪声系数测量
        • 1.9.3.1. Y 因子法(冷/热源法)
      • 1.9.4. P1dB 与 IIP3 测量
        • 1.9.4.1. 1-dB 压缩点
        • 1.9.4.2. 三阶交调截点 (IIP3)
      • 1.9.5. 常见测量项目汇总
      • 1.9.6. 测试注意事项
    • 1.10. 射频设计实例
      • 1.10.1. 实例一:2.4 GHz L 型匹配网络
        • 1.10.1.1. 设计指标
        • 1.10.1.2. 设计步骤
      • 1.10.2. 实例二:微带带通滤波器
        • 1.10.2.1. 设计指标
        • 1.10.2.2. 设计步骤
      • 1.10.3. 实例三:RF PCB 布局
        • 1.10.3.1. 布局要点
        • 1.10.3.2. 检查清单

📶 ESP32

  • 1. ESP32 嵌入式开发
    • 1.1. ESP32 概述
      • 1.1.1. 核心规格
      • 1.1.2. 开发方式选择
      • 1.1.3. 芯片架构
      • 1.1.4. 内存映射
    • 1.2. ESP-IDF 环境搭建
      • 1.2.1. 安装 ESP-IDF
        • 1.2.1.1. 方式一:VSCode 插件(推荐)
        • 1.2.1.2. 方式二:命令行安装(Windows)
        • 1.2.1.3. 方式三:Linux / macOS
      • 1.2.2. 创建第一个项目
      • 1.2.3. 项目结构
      • 1.2.4. 常用 idf.py 命令
      • 1.2.5. 分区表
      • 1.2.6. 常见问题
    • 1.3. ESP-IDF 编程基础
      • 1.3.1. 日志系统
      • 1.3.2. GPIO 操作
      • 1.3.3. NVS 非易失存储
      • 1.3.4. 中断处理
      • 1.3.5. 定时器
      • 1.3.6. 看门狗
      • 1.3.7. 错误处理
    • 1.4. MicroPython 在 ESP32 上
      • 1.4.1. 固件烧录
      • 1.4.2. REPL 交互
      • 1.4.3. 基本示例
        • 1.4.3.1. LED 闪烁
        • 1.4.3.2. 按键输入
        • 1.4.3.3. PWM 呼吸灯
        • 1.4.3.4. ADC 读取
      • 1.4.4. I2C 总线
      • 1.4.5. WiFi 连接
        • 1.4.5.1. Web 服务器
      • 1.4.6. 文件管理
    • 1.5. ESP32 外设驱动
      • 1.5.1. UART 串口
      • 1.5.2. I2C
      • 1.5.3. SPI
      • 1.5.4. I2S(音频/I2S 数字音频)
      • 1.5.5. ADC
    • 1.6. WiFi 与 BLE 通信
      • 1.6.1. WiFi Station 模式
      • 1.6.2. WiFi AP 模式(软热点)
      • 1.6.3. HTTP 客户端
      • 1.6.4. MQTT 客户端
      • 1.6.5. BLE 蓝牙
        • 1.6.5.1. BLE 扫描(MicroPython)
    • 1.7. FreeRTOS 任务管理
      • 1.7.1. 任务创建
      • 1.7.2. 多核任务
      • 1.7.3. 队列通信
      • 1.7.4. 信号量
      • 1.7.5. 事件组
      • 1.7.6. 任务通知
      • 1.7.7. 软件定时器
      • 1.7.8. 栈溢出检测
    • 1.8. 调试与工具
      • 1.8.1. 串口监视器
      • 1.8.2. 内存泄漏检测
      • 1.8.3. 性能分析
      • 1.8.4. Flash 与 OTA 更新
      • 1.8.5. 常用调试命令
      • 1.8.6. 常用芯片调试工具
      • 1.8.7. 常见问题

⚡ DSP F28335

  • 1. TMS320F28335 DSP 开发
    • 1.1. TMS320F28335 概述
      • 1.1.1. 核心规格
      • 1.1.2. 芯片架构
      • 1.1.3. 存储器映射
      • 1.1.4. 典型应用框图
    • 1.2. CCS 开发环境搭建
      • 1.2.1. 安装 CCS
      • 1.2.2. 项目结构
      • 1.2.3. C2000Ware SDK
      • 1.2.4. 创建第一个项目
      • 1.2.5. 编译与烧录
    • 1.3. 系统控制:时钟与初始化
      • 1.3.1. 时钟系统
        • 1.3.1.1. PLL 配置
        • 1.3.1.2. 外设时钟使能
      • 1.3.2. 看门狗
      • 1.3.3. CPU 定时器
      • 1.3.4. 系统初始化流程
    • 1.4. GPIO 与 PIE 中断系统
      • 1.4.1. GPIO 配置
      • 1.4.2. GPIO 读写
      • 1.4.3. PIE 中断系统
        • 1.4.3.1. 中断配置步骤
      • 1.4.4. 外部中断(XINT1~XINT3)
      • 1.4.5. 中断优先级
    • 1.5. ePWM 脉宽调制
      • 1.5.1. ePWM 模块架构
      • 1.5.2. 时基配置
      • 1.5.3. 互补 PWM 与死区
      • 1.5.4. HRPWM 高分辨率 PWM
      • 1.5.5. PWM 频率与分辨率对照
      • 1.5.6. PWM 中断
    • 1.6. ADC 与 eCAP/eQEP
      • 1.6.1. ADC 模块
        • 1.6.1.1. ADC 初始化
        • 1.6.1.2. 排序器配置
        • 1.6.1.3. 读取结果
      • 1.6.2. eCAP 捕获模块
        • 1.6.2.1. eCAP 捕获测量频率
      • 1.6.3. eQEP 正交编码器接口
    • 1.7. 通信接口
      • 1.7.1. SCI (UART)
      • 1.7.2. SPI
      • 1.7.3. I2C
      • 1.7.4. eCAN
    • 1.8. Flash 编程与启动引导
      • 1.8.1. Flash 与 RAM 的区别
      • 1.8.2. Flash 配置
      • 1.8.3. 链接文件(CMD)
      • 1.8.4. RAM 中运行关键函数
      • 1.8.5. Boot ROM 与启动模式
      • 1.8.6. SCI 串口 Bootloader
      • 1.8.7. Flash API
HJR Docs
  • 搜索


© 版权所有 2026, HJR。

利用 Sphinx 构建,使用的 主题 由 Read the Docs 开发.