Skip to content

JayYa/LearningLessons

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📘 Learning Lessons

一套涵盖现代 C# 语言演进、维京历史、VS Code 扩展开发与 GitHub Actions 自动化的技术/人文课程合集。四个课程分别深挖 .NET 从 C# 8 到 C# 15 的每一次语法升级、冰海战纪背后的真实维京时代、从零构建一个 VS Code 扩展的工程全流程,以及用 GitHub 标签触发 AI 工作流的自动化实践。虽主题各异,但共享同一方法论——从表层 API 下沉到内部机制,从孤立知识点串成系统认知。

🌐 在线查看:JayYa.github.io/LearningLessons

Morden .NET

# 课程 描述
1 Lesson 01: C# 8 Nullable Reference Types — 从 Framework 4.8 到现代 .NET 从 Framework 4.8 迁移背景出发,讲解可空引用类型的设计动机与空安全实践
2 Lesson 02: C# 8 Switch Expressions · Using Declarations · Indices/Ranges 解析 switch 表达式模式匹配、using 声明与索引/范围三种语法改进
3 Lesson 03: C# yield return 同步迭代器 拆解 yield return 延迟执行与编译器生成的状态机实现
4 Lesson 04: C# 8 Async Streams — 异步流 从同步迭代器到 IAsyncEnumerable,全面讲解异步流的消费、取消与上下文控制
5 Lesson 05: SynchronizationContext — await 续延调度的核心机制 深入 SynchronizationContext 调度模型,理解 await 续延如何在执行上下文中流转
6 Lesson 06: C# 8 收尾 — Default Interface Methods 与其他实用特性 收尾讲解默认接口方法及 C# 8 其余实用特性,完成 C# 8 特性全景
7 Lesson 07: C# 9 Records — 不可变引用类型与值相等语义 深入 records 不可变引用类型,理解值相等语义、with 表达式与继承行为
8 Lesson 08: C# 9 小特性集 — Top-level Statements · Pattern Matching 增强 · Target-typed new · Covariant Returns 快速浏览 C# 9 四项实用小特性,提升日常开发效率
9 Lesson 09: C# 10 — Record Structs(记录结构体) 讲解 record struct 值类型语义,对比 record class 与传统 struct 的设计取舍
10 Lesson 10: C# 10 — 文件范围命名空间 · 全局引用 · 常量内插字符串 介绍 C# 10 三项简化代码结构与提升可读性的生产力特性
11 Lesson 11: C# 11 — Raw String Literals(原始字符串字面量) 深入原始字符串字面量的多行语法与转义免除机制
12 Lesson 12: C# 11 — List Patterns · Required Members 解析列表模式解构语法与 required 成员初始化约束
13 Lesson 13: C# 11 — UTF-8 String Literals · C# 11 总结 讲解 UTF-8 字符串字面量语法,回顾 C# 11 特性全景
14 Lesson 14: C# 12 — Primary Constructors(主构造函数) 深入主构造函数语法,简化依赖注入与成员初始化的样板代码
15 Lesson 15: C# 12 — Collection Expressions(集合表达式) 解析集合表达式语法,统一数组、列表与 span 的初始化方式
16 Lesson 16: C# 12 — ref readonly 参数 + 内联数组 讲解 ref readonly 参数传递语义与内联数组的高性能栈分配技巧
17 Lesson 17: C# 12 — Lambda 默认参数 · 任意类型别名 · Experimental · Interceptors 收尾 C# 12 小特性集:Lambda 默认参数、任意类型别名、Experimental 特性与 Interceptors 拦截器预览
18 Lesson 18: C# 13 — params 集合 + 新 Lock 对象 讲解 C# 13 的 params 集合增强与新型 Lock 对象,拥抱最新语言特性
19 Lesson 19: C# 13 — ref struct 三部曲 深入 C# 13 ref struct 接口约束与泛型反变等三部曲,解锁高性能场景新可能
20 Lesson 20: C# 13 — 小特性合集 速览 C# 13 中多项实用小特性,收尾 C# 13 语言演进全景
21 Lesson 21: C# 14 — field 关键字 探索 C# 14 field 关键字,简化属性访问器的自定义逻辑编写
22 Lesson 22: C# 14 — 扩展成员 解析 C# 14 扩展成员语法,以更自然的方式为已有类型添加方法与属性
23 Lesson 23: C# 14 — 中等特性合集 收尾 C# 14 中等特性合集:params 增强、部分属性等语言特性深度解析
24 Lesson 24: C# 14 — 小特性合集 速览 C# 14 各项小特性,完成 C# 14 语言演进全景收官
25 Lesson 25: C# 15 — Union 类型 探索 C# 15 的 union 类型语法,以类型安全方式表达多选一的数据结构
26 Lesson 26: C# 15 — Closed Hierarchies(封闭继承层次) 讲解 C# 15 封闭继承层次,限制类型派生以确保 API 的完整性与可预测性
27 Lesson 27: C# 15 — 集合表达式参数 解析 C# 15 集合表达式作为方法参数的语法增强,进一步统一集合传递方式

参考资料:

Vinland Saga

# 课程 描述
1 Lesson 0001 — 维京时代概览:冰海战纪的历史舞台 概览维京时代的历史背景与社会结构,为《冰海战纪》的叙事世界提供真实历史锚点
2 Lesson 0002 — 漫画 vs 史实:《冰海战纪》角色原型对照 对比漫画角色与真实维京历史人物,揭示幸村诚笔下的史实基础与创作改编
3 Lesson 0003 — 丹麦征服英格兰:维京人的北海霸权 讲述丹麦王朝对英格兰的征服历程,梳理维京人在北海的霸权兴衰
4 Lesson 0004 — 克努特大帝与北海帝国 剖析克努特大帝如何整合英格兰、丹麦与挪威,建立横跨北海的维京帝国
5 Lesson 0005 — 维京东线与瓦良格卫队 探索维京人的东进之路,讲述瓦良格卫队在拜占庭帝国的传奇与历史影响
6 Lesson 0006 — 文兰:北欧人发现北美与定居失败 追寻北欧人向西探索文兰的航海壮举,解析北美定居尝试的成败与考古证据
7 Lesson 0007 — 维京人的社会结构:Jarl、Karl 与奴隶 拆解维京社会的三层等级体系,从贵族 Jarl、自由民 Karl 到奴隶,揭示《冰海战纪》角色的社会身份根源
8 Lesson 0008 — 北欧的基督教化:从奥丁到基督 追溯北欧从多神信仰到基督教化的漫长转变,理解《冰海战纪》中信仰冲突的历史根源
9 Lesson 0009 — 维京人的日常生活:长屋、食物、衣装、营养与体格 走进维京人的日常世界,了解长屋生活、饮食习俗与衣物装扮,还原战斧之外的真实维京
10 Lesson 0010 — 维京人的战争方式:武器、盔甲与战术 解析维京人的武器、盔甲与战术体系,还原北海战士在战场上的真实面貌与战斗智慧
11 Lesson 0011 — 维京长船:设计、航海与海洋帝国 深入维京长船的设计原理、航海技术与建造工艺,揭示北欧海洋帝国赖以崛起的工程基础
12 Lesson 0012 — 冰岛萨迦:口传、书写与历史的炼金术 解读冰岛萨迦文学如何将口传记忆转化为书写文本,探讨其作为历史素材的可信度与局限
13 Lesson 0013 — 维京时代的女性:钥匙、法律与萨迦中的女人 还原维京女性的法律地位、家庭权力与社会角色,从萨迦中重新发现北欧妇女的真实面貌

参考资料:

Claude Context Bar

# 课程 描述
1 Lesson 0001 — VS Code 扩展的解剖结构 拆解 VS Code 扩展的 manifest、激活事件与代码骨架,理解扩展生命周期
2 Lesson 0002 — 激活与生命周期 深入 VS Code 扩展的激活事件类型与生命周期管理机制
3 Lesson 0003 — StatusBarItem:状态栏 UI 原语 解析 StatusBarItem API 的设计与用法,掌握状态栏 UI 元素的创建与控制
4 Lesson 0004 — findActiveSessions:数据引擎 揭示 findActiveSessions 数据引擎如何扫描 git 仓库与终端会话,驱动扩展的上下文感知
5 Lesson 0005 — refreshAllSessions:从数据到 UI 串联数据引擎与状态栏 UI,完成从轮询数据源到刷新显示的完整数据闭环
6 Lesson 0006 — debug.ts:独立调试管线 构建扩展的独立调试环境,不依赖 VS Code 运行时可快速验证核心逻辑
7 Lesson 0007 — 单元测试:从 fixture 设计到安全重构 构建扩展的单元测试体系,从 fixture 设计原则到安全重构策略,确保代码可维护性
8 Lesson 0008 — CI 集成:用 GitHub Actions 自动运行测试 在 GitHub Actions 中配置跨平台测试矩阵与自动发布流程,实现 CI/CD 集成
9 Lesson 0009 — 打包与发布:从代码到 Marketplace 讲解 VS Code 扩展的打包配置、版本管理与 Marketplace 发布流程,完成从开发到上线的最后一公里

参考资料:

GitHub and SandCastle

# 课程 描述
1 Lesson 0001 — 你的第一个标签触发工作流 从零搭建第一个标签触发工作流,理解 GitHub Actions 的事件驱动模型
2 Lesson 0002 — 标签状态机 将标签工作流抽象为状态机,掌握工作流编排的工程化思维
3 Lesson 0003 — 高级模式:链式触发、预检、形状检测与 PRD 链式推进 探索链式触发、预检与形状检测等高级模式,解决真实场景中的复杂自动化需求
4 Lesson 0004 — AI 分析 Issue:第一个 AI 驱动的工作流 将 AI 能力集成到 GitHub Actions 工作流中,实现 Issue 内容的智能分析与自动处理
5 Lesson 0005 — 从 YAML 内联到 TypeScript 脚本:迈向 Sandcastle 架构 将 YAML 内联脚本重构为 TypeScript 模块,为 Sandcastle 可扩展架构奠定基础

参考资料:

自动生成

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors