⇤ ← Revision 1 as of 2025-07-24 13:42:43
Size: 6275
Comment:
|
Size: 6298
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 76: | Line 76: |
``` | {{{ |
Line 99: | Line 99: |
* '''Uses:''' 이 패턴이 사용하는 다른 패턴들 * '''Used by:''' 이 패턴을 사용하는 패턴들 * '''Enables:''' 이 패턴이 가능하게 하는 패턴들 * '''Complements:''' 보완하는 패턴들 |
* '''Uses:''' 이 패턴이 사용하는 다른 패턴들 * '''Used by:''' 이 패턴을 사용하는 패턴들 * '''Enables:''' 이 패턴이 가능하게 하는 패턴들 * '''Complements:''' 보완하는 패턴들 |
Line 106: | Line 106: |
``` | }}} |
Line 154: | Line 154: |
- [x] [[TinyExperiment]] (완성) - [ ] UseDataToMakeLogicSimple - [ ] ProblemSpaceSolutionSpace |
- [x] [[TinyExperiment]] (완성) - [ ] UseDataToMakeLogicSimple - [ ] ProblemSpaceSolutionSpace |
Line 159: | Line 159: |
- [ ] BabyStep - [ ] NamingIsDesignPractice - [ ] TddIsDesignActivity |
- [ ] BabyStep - [ ] NamingIsDesignPractice - [ ] TddIsDesignActivity |
Line 164: | Line 164: |
- [ ] MicroCommit - [ ] UseAbduction - [ ] HereAndNowDebugging |
- [ ] MicroCommit - [ ] UseAbduction - [ ] HereAndNowDebugging |
Line 169: | Line 169: |
- [ ] CraftNotScience - [ ] LastFivePercentAutomation - [ ] PairProgrammingWithJuniors |
- [ ] CraftNotScience - [ ] LastFivePercentAutomation - [ ] PairProgrammingWithJuniors |
Line 174: | Line 174: |
- [ ] Update [[기술문서모음/ToJuniors]] with all pattern links - [ ] Create pattern relationship visualization - [ ] Validate semi-lattice structure |
- [ ] Update [[기술문서모음/ToJuniors]] with all pattern links - [ ] Create pattern relationship visualization - [ ] Validate semi-lattice structure |
Line 184: | Line 184: |
* Christopher Alexander - "A Pattern Language", "The Timeless Way of Building" * [[기술문서모음/ToJuniors]] - Original proverb collection * [[OrgPatterns]] - Pattern language inspiration and structure * [[가추법]] - Abduction methodology |
* Christopher Alexander - "A Pattern Language", "The Timeless Way of Building" * [[기술문서모음/ToJuniors]] - Original proverb collection * [[OrgPatterns]] - Pattern language inspiration and structure * [[가추법]] - Abduction methodology |
AiGarden/ToJuniorsPatternLanguage
주니어 개발자들을 위한 프로그래밍 지혜를 Christopher Alexander의 패턴 언어로 변환하는 프로젝트.
Contents
Project Vision
기술문서모음/ToJuniors 페이지의 27개 핵심 격언들을 개별 패턴으로 확장하여, 반격자(semi-lattice) 구조의 상호 연결된 지식 네트워크를 구축한다. 각 패턴은 이솝우화 스타일의 스토리텔링으로 작성되어 초보자들이 쉽게 이해하고 기억할 수 있도록 한다.
Pattern Language Structure
Foundation Patterns (가장 기본적)
TinyExperiment (완성) - 작은 실험 환경을 통한 점진적 학습과 개발 ↳ enables → BabyStep, UseAbduction, HereAndNowDebugging ↳ used by → TddIsDesignActivity, PiecemealGrowthCenterFirst
UseDataToMakeLogicSimple - 관심사 분리의 기본 원칙 ↳ supports → MakeDSL, DoNotMixLogicAndDataConstruction ↳ enables → FindCommonalityAndVariability
ProblemSpaceSolutionSpace - 근본적 사고 체계 ↳ guides → NamingIsDesignPractice, MakeItWorkThenMakeBetter ↳ supports → TddIsDesignActivity
Intermediate Patterns (기초 위에 구축)
BabyStep - 핵심적 진화적 접근법 ↳ connected to → MicroCommit, ShortFeedbackCycle ↳ enables → PiecemealGrowthCenterFirst ↳ requires → DoNotGuessValidateIt
NamingIsDesignPractice - 추상화 생성 ↳ uses → ProblemSpaceSolutionSpace ↳ supports → MakeDSL ↳ enables → FindCommonalityAndVariability
TddIsDesignActivity - 피드백을 통한 설계 ↳ uses → ProblemSpaceSolutionSpace, BabyStep ↳ requires → ShortFeedbackCycle, UseAbduction ↳ produces → RegressionTest
Application Patterns (구체적 실천)
MicroCommit - 버전 제어 원칙 ↳ implements → BabyStep ↳ enables → PiecemealGrowthCenterFirst
UseAbduction - 탐구 방법 ↳ supports → TddIsDesignActivity, HereAndNowDebugging ↳ opposite of → DoNotGuessValidateIt
HereAndNowDebugging - 디버깅 접근법 ↳ uses → UseAbduction, EliminateIntermediateLayers ↳ implements → DoNotGuessValidateIt
=== Meta-Patterns (과정 자체에 대한) === CraftNotScience - 개발 철학 ↳ manifests through → BabyStep, LastFivePercentAutomation ↳ guides → LearnFromExperts
LastFivePercentAutomation - 자동화의 한계 ↳ reflects → CraftNotScience ↳ requires → PairProgrammingWithJuniors
Social Patterns (팀 역학)
PairProgrammingWithJuniors - 지식 전수 ↳ enables → LearnFromExperts ↳ uses → YesButYesAnd ↳ supports → LastFivePercentAutomation
Pattern Template
각 패턴은 Alexander의 형식을 따르되, 이솝우화 스타일로 작성된다:
#acl +All:read = PatternName = == Context == 언제 이 패턴이 적용되는가 == Problem == 스토리나 우화로 문제 상황 묘사 == Solution == 구체적이고 실행 가능한 해결책 문단 형태로 자연스럽게 서술 == Examples == 실제 개발 상황의 구체적 예시들 캐릭터와 스토리가 있는 경험담 == Resulting Context == 이 패턴 적용 후의 상황 == Related Patterns == * '''Uses:''' 이 패턴이 사용하는 다른 패턴들 * '''Used by:''' 이 패턴을 사용하는 패턴들 * '''Enables:''' 이 패턴이 가능하게 하는 패턴들 * '''Complements:''' 보완하는 패턴들 ---- CategoryPattern
Complete Proverb List
Data & Logic Design: 1. "use data to make logic simple" 2. "make DSL" 3. "do not mix logic and data construction"
Programming Philosophy: 4. "last 5% automation" 5. "craft, not science" 6. "Make it work, then make it better" 7. "problem space, solution space" 8. "naming itself is a design practice" 9. "programming is to make a language system"
Programming Fundamentals: 10. "공통점과 차이점 찾기" (Find commonality and variability)
TDD & Evolutionary Design: 11. "Baby Step" 12. "quickly step back to closest green-bar" 13. "TDD is a design activity" 14. "short feedback cycle" 15. "micro commit, one at a time" 16. "isolation" 17. "use abduction" 18. "piecemeal growth, center first"
Testing & Debugging: 19. "eliminate/reduce intermediate layers" 20. "넘겨짚지 말고, 마술의 동작과 동작 사이를 잘 들여다보기" 21. "do not guess far. when you guess, validate it" 22. "regression test" 23. "Here and now debugging"
Collaboration & Team: 24. "XP over Scrum for developers" 25. "pair programming with juniors" 26. "Yes, but / Yes, and"
Learning & Expertise: 27. "Learn from experts (CTA, CDE)"
Implementation Strategy
Phase 1: Foundation (현재)
- [x] TinyExperiment (완성) - [ ] UseDataToMakeLogicSimple - [ ] ProblemSpaceSolutionSpace
Phase 2: Intermediate Layer
- [ ] BabyStep - [ ] NamingIsDesignPractice - [ ] TddIsDesignActivity
Phase 3: Application Patterns
- [ ] MicroCommit - [ ] UseAbduction - [ ] HereAndNowDebugging
Phase 4: Meta & Social
- [ ] CraftNotScience - [ ] LastFivePercentAutomation - [ ] PairProgrammingWithJuniors
Phase 5: Integration
- [ ] Update 기술문서모음/ToJuniors with all pattern links - [ ] Create pattern relationship visualization - [ ] Validate semi-lattice structure
Progress Log
2024-01: Project initiated. First pattern TinyExperiment created with story-driven approach. Enhanced from bullet-point structure to Aesop's fable style storytelling. Pattern successfully integrates assumption, validation, fail-safe, fast feedback loop, isolation, baby step, and abduction concepts.
References
- Christopher Alexander - "A Pattern Language", "The Timeless Way of Building"
기술문서모음/ToJuniors - Original proverb collection
OrgPatterns - Pattern language inspiration and structure
가추법 - Abduction methodology