Size: 6275
Comment:
|
Size: 2747
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
주니어 개발자들을 위한 프로그래밍 지혜를 Christopher Alexander의 패턴 언어로 변환하는 프로젝트. | 주니어 개발자들을 위한 프로그래밍 피드백을 Christopher Alexander의 패턴 언어로 변환하는 프로젝트. |
Line 11: | Line 11: |
[[기술문서모음/ToJuniors]] 페이지의 27개 핵심 격언들을 개별 패턴으로 확장하여, 반격자(semi-lattice) 구조의 상호 연결된 지식 네트워크를 구축한다. 각 패턴은 이솝우화 스타일의 스토리텔링으로 작성되어 초보자들이 쉽게 이해하고 기억할 수 있도록 한다. | [[개인위키공간/ToJuniors]] 문서의 27개 패턴을 Alexander의 패턴 언어 형식으로 변환하여 구조적이고 교육적인 자료로 발전시키는 것이 목표입니다. |
Line 13: | Line 13: |
== Pattern Language Structure == | === Core Principles === * '''Structure-Preserving Baby Steps''' - 기존 구조를 보존하며 점진적 발전 * '''Story-First Approach''' - 스토리로 시작해서 패턴으로 추상화 * '''Educational Focus''' - 학습자 중심의 명확한 설명 * '''Pattern Language Structure''' - Alexander 방식의 체계적 연결 |
Line 15: | Line 19: |
=== Foundation Patterns (가장 기본적) === '''[[TinyExperiment]]''' (완성) - 작은 실험 환경을 통한 점진적 학습과 개발 ↳ enables → BabyStep, UseAbduction, HereAndNowDebugging ↳ used by → TddIsDesignActivity, PiecemealGrowthCenterFirst |
== Current Status == |
Line 20: | Line 21: |
'''UseDataToMakeLogicSimple''' - 관심사 분리의 기본 원칙 ↳ supports → MakeDSL, DoNotMixLogicAndDataConstruction ↳ enables → FindCommonalityAndVariability |
=== Phase 1: Foundation Patterns === '''Status:''' In Progress |
Line 24: | Line 24: |
'''ProblemSpaceSolutionSpace''' - 근본적 사고 체계 ↳ guides → NamingIsDesignPractice, MakeItWorkThenMakeBetter ↳ supports → TddIsDesignActivity |
'''Completed Patterns:''' * [[TinyExperiment]] - 최소화된 반복을 통한 검증 |
Line 28: | Line 27: |
=== Intermediate Patterns (기초 위에 구축) === '''BabyStep''' - 핵심적 진화적 접근법 ↳ connected to → MicroCommit, ShortFeedbackCycle ↳ enables → PiecemealGrowthCenterFirst ↳ requires → DoNotGuessValidateIt |
'''Next Patterns to Complete:''' * UseDataToMakeLogicSimple * ProblemSpaceSolutionSpace |
Line 34: | Line 31: |
'''NamingIsDesignPractice''' - 추상화 생성 ↳ uses → ProblemSpaceSolutionSpace ↳ supports → MakeDSL ↳ enables → FindCommonalityAndVariability |
=== Validation Results === 첫 번째 패턴 [[TinyExperiment]]의 스토리 구조가 검증되어 패턴 언어로서의 가능성을 확인했습니다. |
Line 39: | Line 34: |
'''TddIsDesignActivity''' - 피드백을 통한 설계 ↳ uses → ProblemSpaceSolutionSpace, BabyStep ↳ requires → ShortFeedbackCycle, UseAbduction ↳ produces → RegressionTest |
== Implementation Plan == |
Line 44: | Line 36: |
=== Application Patterns (구체적 실천) === '''MicroCommit''' - 버전 제어 원칙 ↳ implements → BabyStep ↳ enables → PiecemealGrowthCenterFirst |
=== Phase 1: Foundation Level === 가장 기본이 되는 패턴들을 먼저 완성: * TinyExperiment ✓ * UseDataToMakeLogicSimple * ProblemSpaceSolutionSpace * StartWithWorkingCode |
Line 49: | Line 43: |
'''UseAbduction''' - 탐구 방법 ↳ supports → TddIsDesignActivity, HereAndNowDebugging ↳ opposite of → DoNotGuessValidateIt |
=== Phase 2: Intermediate Level === Foundation 패턴들을 기반으로 하는 중급 패턴들: * 구체적인 패턴 목록은 Phase 1 완료 후 결정 |
Line 53: | Line 47: |
'''HereAndNowDebugging''' - 디버깅 접근법 ↳ uses → UseAbduction, EliminateIntermediateLayers ↳ implements → DoNotGuessValidateIt |
=== Phase 3: Advanced Level === 복잡한 상황에 대한 고급 패턴들: * 세부 계획은 Phase 2 완료 후 수립 |
Line 57: | Line 51: |
=== Meta-Patterns (과정 자체에 대한) === '''CraftNotScience''' - 개발 철학 ↳ manifests through → BabyStep, LastFivePercentAutomation ↳ guides → LearnFromExperts |
== Next Steps == |
Line 62: | Line 53: |
'''LastFivePercentAutomation''' - 자동화의 한계 ↳ reflects → CraftNotScience ↳ requires → PairProgrammingWithJuniors |
=== Immediate Actions === * UseDataToMakeLogicSimple 패턴 작성 시작 * ProblemSpaceSolutionSpace 패턴 구조 설계 * 패턴 간 연결 관계 정의 |
Line 66: | Line 58: |
=== Social Patterns (팀 역학) === '''PairProgrammingWithJuniors''' - 지식 전수 ↳ enables → LearnFromExperts ↳ uses → YesButYesAnd ↳ supports → LastFivePercentAutomation |
=== Quality Assurance === * 각 패턴 완성 시 스토리 검증 * 패턴 언어로서의 일관성 확인 * 교육적 효과 평가 |
Line 72: | Line 63: |
== Pattern Template == | == Pattern Structure Template == |
Line 74: | Line 65: |
각 패턴은 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 |
각 패턴은 다음 구조를 따릅니다: * '''Context''' - 상황과 문제 * '''Problem''' - 구체적인 문제 정의 * '''Solution''' - 해결 방법 * '''Examples''' - 실제 적용 사례 * '''Related Patterns''' - 연결된 다른 패턴들 |
Line 180: | Line 74: |
'''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. | === Recent Achievements === * TinyExperiment 패턴 완성 및 검증 * 패턴 언어 구조 확립 * Foundation 레벨 패턴 목록 확정 |
Line 182: | Line 79: |
== References == * Christopher Alexander - "A Pattern Language", "The Timeless Way of Building" * [[기술문서모음/ToJuniors]] - Original proverb collection * [[OrgPatterns]] - Pattern language inspiration and structure * [[가추법]] - Abduction methodology |
=== Lessons Learned === * 스토리 우선 접근법의 효과 확인 * 패턴 간 연결의 중요성 인식 * 교육적 관점의 필수성 확인 |
Line 190: | Line 85: |
CategoryAiGardenProject CategoryPattern | CategoryAiGardenProject CategoryPatternLanguage |
AiGarden/ToJuniorsPatternLanguage
주니어 개발자들을 위한 프로그래밍 피드백을 Christopher Alexander의 패턴 언어로 변환하는 프로젝트.
Contents
Project Vision
개인위키공간/ToJuniors 문서의 27개 패턴을 Alexander의 패턴 언어 형식으로 변환하여 구조적이고 교육적인 자료로 발전시키는 것이 목표입니다.
Core Principles
Structure-Preserving Baby Steps - 기존 구조를 보존하며 점진적 발전
Story-First Approach - 스토리로 시작해서 패턴으로 추상화
Educational Focus - 학습자 중심의 명확한 설명
Pattern Language Structure - Alexander 방식의 체계적 연결
Current Status
Phase 1: Foundation Patterns
Status: In Progress
Completed Patterns:
TinyExperiment - 최소화된 반복을 통한 검증
Next Patterns to Complete:
Validation Results
첫 번째 패턴 TinyExperiment의 스토리 구조가 검증되어 패턴 언어로서의 가능성을 확인했습니다.
Implementation Plan
Phase 1: Foundation Level
가장 기본이 되는 패턴들을 먼저 완성:
Phase 2: Intermediate Level
Foundation 패턴들을 기반으로 하는 중급 패턴들:
- 구체적인 패턴 목록은 Phase 1 완료 후 결정
Phase 3: Advanced Level
복잡한 상황에 대한 고급 패턴들:
- 세부 계획은 Phase 2 완료 후 수립
Next Steps
Immediate Actions
UseDataToMakeLogicSimple 패턴 작성 시작
ProblemSpaceSolutionSpace 패턴 구조 설계
- 패턴 간 연결 관계 정의
Quality Assurance
- 각 패턴 완성 시 스토리 검증
- 패턴 언어로서의 일관성 확인
- 교육적 효과 평가
Pattern Structure Template
각 패턴은 다음 구조를 따릅니다:
Context - 상황과 문제
Problem - 구체적인 문제 정의
Solution - 해결 방법
Examples - 실제 적용 사례
Related Patterns - 연결된 다른 패턴들
Progress Log
Recent Achievements
TinyExperiment 패턴 완성 및 검증
- 패턴 언어 구조 확립
- Foundation 레벨 패턴 목록 확정
Lessons Learned
- 스토리 우선 접근법의 효과 확인
- 패턴 간 연결의 중요성 인식
- 교육적 관점의 필수성 확인