This repository is a general tutorial-engineering project used to systematically organize learning paths, chapter structures, and cohesive teaching content across different technical topics.
Its goal is not to pile up scattered materials, but to turn a topic into a tutorial project that can genuinely be read from beginning to end.
This repository focuses on how tutorials are designed, not just on the tutorial content itself.
Core questions include:
- How should a complex topic be broken into chapters?
- Why should the chapters be organized in this order?
- How do you help readers progress from not knowing to being capable?
- How can the same tutorial-engineering structure be reused across different topics?
prd.md: The repository-level general tutorial PRD, defining the layered structure of tutorial projects and the methodology for instructional designspec/: A complete tutorial topic centered on requirements, specifications, and the system of software engineering documentswindow_functions/: Learning and visualization materials for window functions, including JPG plots of common window functions in the time domain and their frequency-domain magnitude responses
spec/ currently includes a continuous sequence of chapters from conceptual introduction to full case studies, covering:
- What requirements and specifications are
- Where specifications sit in the software development process
- How to write PRDs, user stories, acceptance criteria, and functional specs
- Business rules, states, data boundaries, and non-functional requirements
- Spec reviews, common mistakes, and case-based practice
window_functions/ currently includes a reproducible plotting script and images for 20 common window functions. Each image shows both the time-domain weighting shape of the window and its main lobe, side lobes, and attenuation characteristics in the frequency domain. This makes the material useful for understanding spectrum analysis, FFT leakage control, FIR filter design, and the effects of signal truncation.
This repository emphasizes three things:
- A tutorial is not a collection of articles, but a learning path.
- Every chapter must have a clear instructional purpose.
- The same structure should be reusable across different topics.
Because of that, the repository normally distinguishes several layers of content:
- Root-level
prd.md - Topic-level
prd.md - Reading-order files within topic directories
- The main body of each chapter
This repository is suitable for:
- People who want to turn a technical topic into a structured tutorial
- People who want to build a long-term maintainable knowledge project
- People who want a tutorial that supports both sequential learning and problem-driven reading
If this is your first time entering the repository, a good reading path is:
- Read the root-level
prd.mdfirst to understand the overall design of the tutorial project. - Enter
spec/and review00 总目录与阅读顺序.md. - Then read the detailed content chapter by chapter.
If you want to learn about window functions in signal processing, go to window_functions/, read its README.md first, and then compare the JPG images to observe the trade-offs each window makes between time-domain shape and frequency-domain behavior.
Study is best understood as a combined repository of a tutorial-engineering template and topic-specific instructional content.
It does not only record knowledge points. It also emphasizes:
- Teaching structure
- Chapter responsibilities
- Learning-path design
- A tutorial organization method that can scale over time