Differences between revisions 1 and 2
Revision 1 as of 2025-07-24 13:42:43
Size: 6275
Editor: 정수
Comment:
Revision 2 as of 2025-07-24 13:47:23
Size: 6298
Editor: 정수
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의 패턴 언어로 변환하는 프로젝트.

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 (현재)

Phase 2: Intermediate Layer

Phase 3: Application Patterns

Phase 4: Meta & Social

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


CategoryAiGardenProject CategoryPattern

AiGarden/ToJuniorsPatternLanguage (last edited 2025-07-24 16:15:03 by 정수)