Size: 2747
Comment:
|
Size: 5162
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 11: | Line 11: |
[[개인위키공간/ToJuniors]] 문서의 27개 패턴을 Alexander의 패턴 언어 형식으로 변환하여 구조적이고 교육적인 자료로 발전시키는 것이 목표입니다. | [[기술문서모음/ToJuniors]] 문서의 패턴들을 Alexander의 패턴 언어 형식으로 변환하여 구조적이고 교육적인 자료로 발전시키는 것이 목표입니다. |
Line 19: | Line 19: |
== Pattern Inventory == === Foundation Patterns === '''Core Programming Principles''' * UseDataToMakeLogicSimple - 로직과 데이터 구성 분리, DSL 활용 * ProblemSpaceSolutionSpace - 문제 영역과 해결 영역 구분 * MakeItWorkThenMakeBetter - 작동 우선, 개선은 나중에 * CraftNotScience - 프로그래밍은 과학이 아닌 기예 * Last5PercentAutomation - 마지막 5% 자동화의 함정 === TDD & Evolutionary Design Patterns === * '''[[TinyExperiment]]''' ✓ - 최소 실험을 통한 빠른 검증 * BabyStep - 작은 단계로 진행하기 * QuicklyStepBackToGreen - 빨간 막대 보면 가장 가까운 초록으로 * TDDIsDesignActivity - TDD는 설계 활동 * ShortFeedbackCycle - 짧은 피드백 루프 * MicroCommit - 한 번에 하나씩 마이크로 커밋 * Isolation - 격리 * UseAbduction - 추론 활용 * PiecemealGrowth - 점진적 성장, 중심부터 * CenterFirst - 핵심부터 시작 === Testing & Debugging Patterns === * EliminateIntermediateLayers - 중간 레이어 제거/축소 * OneAtATime - 한 가지씩 차례로 * DoNotGuessFar - 멀리 추측하지 말고 검증하기 * RegressionTest - 회귀 테스트 * HereAndNow - 지금 여기서 상황 파악하고 근본 원인 찾기 * FindRootCause - 웹 페이지 뒤지지 말고 근본 원인 찾기 === Programming Fundamentals === * FindProgrammingPattern - 프로그래밍 패턴 찾기 * DealWithComplexity - 복잡성을 이해하고 처리할 수 있는 도구들 * NamingIsDesign - 네이밍 자체가 설계 실천 * BuildLanguageSystem - 프로그래밍은 언어 시스템 구축 * MakeVocabulary - 어휘 만들기 === Collaboration Patterns === * ConsiderXP - 스크럼보다 익스트림 프로그래밍 고려 * PairProgramming - 다른 주니어들과 함께 뛰어난 성과 * PullRequestAntiPattern - PR 안티패턴 피하기 * YesButYesAnd - "네, 하지만" vs "네, 그리고" === Learning & Expertise Patterns === * LearnFromExperts - 전문가로부터 잘 배우기 (CTA, CDE) * ApprenticeshipPattern - 견습 패턴 * ReflectivePractice - 성찰적 실천 * ReflectionInAction - 행동 중 성찰 * RecognitionPrimedDecision - 인식 우선 의사결정 |
|
Line 21: | Line 71: |
=== Phase 1: Foundation Patterns === '''Status:''' In Progress |
=== Phase 1: Foundation Patterns (In Progress) === '''Completed:''' * [[TinyExperiment]] ✓ - 패턴 언어 형식으로 완성, 검증됨 |
Line 24: | Line 75: |
'''Completed Patterns:''' * [[TinyExperiment]] - 최소화된 반복을 통한 검증 |
'''Next Priority:''' * UseDataToMakeLogicSimple - 로직 단순화의 핵심 * ProblemSpaceSolutionSpace - 사고 체계의 기본 |
Line 27: | Line 79: |
'''Next Patterns to Complete:''' * UseDataToMakeLogicSimple * ProblemSpaceSolutionSpace |
'''Remaining Foundation:''' * MakeItWorkThenMakeBetter, CraftNotScience, Last5PercentAutomation |
Line 34: | Line 85: |
== Implementation Plan == | == Implementation Strategy == |
Line 36: | Line 87: |
=== Phase 1: Foundation Level === 가장 기본이 되는 패턴들을 먼저 완성: * TinyExperiment ✓ * UseDataToMakeLogicSimple * ProblemSpaceSolutionSpace * StartWithWorkingCode |
=== Phase 1: Core Foundation (Current) === 가장 기본이 되는 5-6개 패턴을 완성하여 전체 구조의 기반을 마련 |
Line 43: | Line 90: |
=== Phase 2: Intermediate Level === Foundation 패턴들을 기반으로 하는 중급 패턴들: * 구체적인 패턴 목록은 Phase 1 완료 후 결정 |
=== Phase 2: TDD & Design Patterns === TDD와 설계 관련 패턴들을 체계화 (10-12개 패턴) |
Line 47: | Line 93: |
=== Phase 3: Advanced Level === 복잡한 상황에 대한 고급 패턴들: * 세부 계획은 Phase 2 완료 후 수립 |
=== Phase 3: Collaboration & Learning === 협업과 학습 관련 패턴들을 완성 (8-10개 패턴) |
Line 51: | Line 96: |
== Next Steps == | == Next Actions == |
Line 53: | Line 98: |
=== Immediate Actions === | === Immediate (This Week) === |
Line 55: | Line 100: |
* ProblemSpaceSolutionSpace 패턴 구조 설계 * 패턴 간 연결 관계 정의 |
* ProblemSpaceSolutionSpace 구조 설계 * Foundation 패턴들 간의 연결 관계 정의 |
Line 58: | Line 103: |
=== Quality Assurance === * 각 패턴 완성 시 스토리 검증 * 패턴 언어로서의 일관성 확인 * 교육적 효과 평가 |
=== Short Term (This Month) === * Foundation 레벨 5-6개 패턴 완성 * 패턴 언어로서의 일관성 검증 * Phase 2 패턴 우선순위 확정 |
Line 65: | Line 110: |
각 패턴은 다음 구조를 따릅니다: * '''Context''' - 상황과 문제 * '''Problem''' - 구체적인 문제 정의 * '''Solution''' - 해결 방법 |
각 패턴은 Alexander 방식을 따릅니다: * '''Context''' - 상황과 배경 * '''Problem''' - 구체적인 문제와 갈등 * '''Solution''' - 해결 방법과 원리 |
Line 75: | Line 120: |
* 원본 문서에서 27+개 패턴 목록 정리 완료 | |
Line 76: | Line 122: |
* 패턴 언어 구조 확립 * Foundation 레벨 패턴 목록 확정 |
* 3단계 구현 전략 수립 * Foundation 레벨 우선순위 확정 |
Line 80: | Line 126: |
* 전체 패턴 목록을 먼저 정리하는 것이 중요 | |
Line 81: | Line 128: |
* 패턴 간 연결의 중요성 인식 * 교육적 관점의 필수성 확인 |
* 패턴 간 연결 관계의 복잡성 인식 |
AiGarden/ToJuniorsPatternLanguage
주니어 개발자들을 위한 프로그래밍 피드백을 Christopher Alexander의 패턴 언어로 변환하는 프로젝트.
Contents
Project Vision
기술문서모음/ToJuniors 문서의 패턴들을 Alexander의 패턴 언어 형식으로 변환하여 구조적이고 교육적인 자료로 발전시키는 것이 목표입니다.
Core Principles
Structure-Preserving Baby Steps - 기존 구조를 보존하며 점진적 발전
Story-First Approach - 스토리로 시작해서 패턴으로 추상화
Educational Focus - 학습자 중심의 명확한 설명
Pattern Language Structure - Alexander 방식의 체계적 연결
Pattern Inventory
Foundation Patterns
Core Programming Principles
UseDataToMakeLogicSimple - 로직과 데이터 구성 분리, DSL 활용
ProblemSpaceSolutionSpace - 문제 영역과 해결 영역 구분
MakeItWorkThenMakeBetter - 작동 우선, 개선은 나중에
CraftNotScience - 프로그래밍은 과학이 아닌 기예
Last5PercentAutomation - 마지막 5% 자동화의 함정
TDD & Evolutionary Design Patterns
TinyExperiment ✓ - 최소 실험을 통한 빠른 검증
BabyStep - 작은 단계로 진행하기
QuicklyStepBackToGreen - 빨간 막대 보면 가장 가까운 초록으로
- TDDIsDesignActivity - TDD는 설계 활동
ShortFeedbackCycle - 짧은 피드백 루프
MicroCommit - 한 번에 하나씩 마이크로 커밋
- Isolation - 격리
UseAbduction - 추론 활용
PiecemealGrowth - 점진적 성장, 중심부터
CenterFirst - 핵심부터 시작
Testing & Debugging Patterns
EliminateIntermediateLayers - 중간 레이어 제거/축소
- OneAtATime - 한 가지씩 차례로
DoNotGuessFar - 멀리 추측하지 말고 검증하기
RegressionTest - 회귀 테스트
HereAndNow - 지금 여기서 상황 파악하고 근본 원인 찾기
FindRootCause - 웹 페이지 뒤지지 말고 근본 원인 찾기
Programming Fundamentals
FindProgrammingPattern - 프로그래밍 패턴 찾기
DealWithComplexity - 복잡성을 이해하고 처리할 수 있는 도구들
NamingIsDesign - 네이밍 자체가 설계 실천
BuildLanguageSystem - 프로그래밍은 언어 시스템 구축
MakeVocabulary - 어휘 만들기
Collaboration Patterns
- ConsiderXP - 스크럼보다 익스트림 프로그래밍 고려
PairProgramming - 다른 주니어들과 함께 뛰어난 성과
PullRequestAntiPattern - PR 안티패턴 피하기
YesButYesAnd - "네, 하지만" vs "네, 그리고"
Learning & Expertise Patterns
LearnFromExperts - 전문가로부터 잘 배우기 (CTA, CDE)
ApprenticeshipPattern - 견습 패턴
ReflectivePractice - 성찰적 실천
ReflectionInAction - 행동 중 성찰
RecognitionPrimedDecision - 인식 우선 의사결정
Current Status
Phase 1: Foundation Patterns (In Progress)
Completed:
TinyExperiment ✓ - 패턴 언어 형식으로 완성, 검증됨
Next Priority:
UseDataToMakeLogicSimple - 로직 단순화의 핵심
ProblemSpaceSolutionSpace - 사고 체계의 기본
Remaining Foundation:
Validation Results
첫 번째 패턴 TinyExperiment의 스토리 구조가 검증되어 패턴 언어로서의 가능성을 확인했습니다.
Implementation Strategy
Phase 1: Core Foundation (Current)
가장 기본이 되는 5-6개 패턴을 완성하여 전체 구조의 기반을 마련
Phase 2: TDD & Design Patterns
TDD와 설계 관련 패턴들을 체계화 (10-12개 패턴)
Phase 3: Collaboration & Learning
협업과 학습 관련 패턴들을 완성 (8-10개 패턴)
Next Actions
Immediate (This Week)
UseDataToMakeLogicSimple 패턴 작성 시작
- Foundation 패턴들 간의 연결 관계 정의
Short Term (This Month)
- Foundation 레벨 5-6개 패턴 완성
- 패턴 언어로서의 일관성 검증
- Phase 2 패턴 우선순위 확정
Pattern Structure Template
각 패턴은 Alexander 방식을 따릅니다:
Context - 상황과 배경
Problem - 구체적인 문제와 갈등
Solution - 해결 방법과 원리
Examples - 실제 적용 사례
Related Patterns - 연결된 다른 패턴들
Progress Log
Recent Achievements
- 원본 문서에서 27+개 패턴 목록 정리 완료
TinyExperiment 패턴 완성 및 검증
- 3단계 구현 전략 수립
- Foundation 레벨 우선순위 확정
Lessons Learned
- 전체 패턴 목록을 먼저 정리하는 것이 중요
- 스토리 우선 접근법의 효과 확인
- 패턴 간 연결 관계의 복잡성 인식