Kata (形):源自日本武道,指通过反复练习基本动作来精进技艺。本项目是个人的编程练习集合,涵盖多种编程语言、系统编程、算法等领域。
kata/
├── Algorithm/ # 算法与数据结构
├── Android/ # Android 开发学习
├── ARM/ # ARM 汇编与交叉编译
├── book/ # 读书笔记
├── compile_tool/ # 编译工具学习 (CMake, Makefile)
├── Compiler/ # 编译原理与 ELF 文件分析
├── Language/ # 编程语言学习
├── Linux_driver/ # Linux 驱动开发
├── Linux_kernel/ # Linux 内核编程
├── Linux_system/ # Linux 系统编程
├── Linux_tool/ # Linux 工具配置
├── MBTI/ # MBTI 人格测试
├── nodejs/ # Node.js 学习
└── tina/ # C 语言算法练习
子目录
内容
leetcode/
LeetCode 算法题解 (C 语言实现)
rb_tree/
红黑树实现 (Python),包含可视化绘制
子目录
内容
binder/
Android Binder IPC 机制深入研究,包含 Framework 层和 Kernel 层源码分析
firstLineAnroid/
《第一行代码 Android》书籍配套练习 (Chapter 1-14)
protobuftest/
Android 中使用 Protocol Buffers 的示例
weiqing/
其他 Android 实验项目
ARM 平台下的 C/C++ 程序编译与运行,包含 Android NDK 编译配置:
基础语法:for, if_else, switch, while
C++ 特性:c++_class, c++_stl
交叉编译:Android.mk 与 Makefile
书籍
内容
《人生得遇苏东坡》
完整读书笔记,包含人生轨迹、核心感悟、金句摘录等
子目录
内容
cmake/
CMake 的应用与实践,多个示例项目
Makefile/
Makefile 编写,从简单到复杂的递进示例
ELF 文件格式分析
目标文件 (.o) 结构解析
链接过程研究
平台
内容
aarch64/
ARM64 汇编
x86/
x86 汇编
c_inline_asm/
C 语言内联汇编
GNU_GCC/ - GCC 扩展特性
grammer/ - C 语言语法练习
K&&R_C/ - K&R《C 程序设计语言》习题
unit_test/ - 单元测试框架
grammer/ - C++ 语法与特性
stl/ - STL 容器与算法
data_structure/ - 数据结构实现
design_pattern/ - 设计模式
大量 Go 语言练习 (192+ 个 .go 文件)
涵盖语法、并发、网络等主题
design_pattern/ - 设计模式实现
beauty_xml/ - XML 处理
子目录
内容
grammer/
Python 语法练习 (78+ 文件)
module/
标准库与第三方库使用 (121+ 文件)
crypto/
密码学实现
design_pattern/
设计模式
database/
数据库操作
python_source_analysis/
Python 源码分析
python_web_server/
Web 服务器实现
The_Rust_Programming_Language/ - 官方教程练习
rust_first_class/ - Rust 入门
design_pattern/ - 设计模式
grammer/ - 语法练习
🐧 Linux_driver - Linux 驱动开发
子目录
内容
cdev/
字符设备驱动
kobject/
Kobject 子系统
LKMPG/
Linux Kernel Module Programming Guide 示例
scsi/
SCSI 驱动
workqueue/
工作队列机制
🔬 Linux_kernel - Linux 内核编程
crypto/ - 内核加密 API
list_head/ - 内核链表使用
process_schedue/ - 进程调度模拟
🖥️ Linux_system - Linux 系统编程
spacemacs/ - Spacemacs 配置与 PlantUML 图表
xmodmap/ - 键盘映射配置
文件
内容
MBTI介绍.md
MBTI 四维度详解(E/I、S/N、T/F、J/P)及 16 种人格类型
MBTI测试题.md
200 题完整自评测试
我的MBTI测试结果.md
个人测试结果:ENFJ (主人公/教育者)
系统化的 Node.js 学习路径:
章节
主题
01
第一个应用
05
回调函数
06
事件驱动
07
EventEmitter
09
Stream 流
10
模块系统
12
路由
15
文件系统
16
GET/POST 请求
18
Web 开发
19
Express 框架
20
RESTful API
21
多进程
24
MongoDB
类别
数量
主要目录
14 个
编程语言
8+ 种
Python 文件
300+
Go 文件
190+
C/C++ 文件
200+
Rust 文件
70+
克隆仓库
git clone < repo-url>
cd kata
各子目录独立运行
大部分子目录包含独立的 Makefile 或构建脚本
参考各子目录的 README.md 获取详细说明
环境要求
GCC/Clang (C/C++)
Python 3.x
Go 1.x
Rust (cargo)
Node.js
Android SDK/NDK (Android 相关)
个人学习项目,仅供参考。
持续学习,不断精进。