Differences between revisions 1 and 5 (spanning 4 versions)
Revision 1 as of 2025-07-24 13:42:43
Size: 6275
Editor: 정수
Comment:
Revision 5 as of 2025-07-24 16:00:12
Size: 2747
Editor: 정수
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의 패턴 언어로 변환하는 프로젝트.

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:

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

Quality Assurance

  • 각 패턴 완성 시 스토리 검증
  • 패턴 언어로서의 일관성 확인
  • 교육적 효과 평가

Pattern Structure Template

각 패턴은 다음 구조를 따릅니다:

  • Context - 상황과 문제

  • Problem - 구체적인 문제 정의

  • Solution - 해결 방법

  • Examples - 실제 적용 사례

  • Related Patterns - 연결된 다른 패턴들

Progress Log

Recent Achievements

  • TinyExperiment 패턴 완성 및 검증

  • 패턴 언어 구조 확립
  • Foundation 레벨 패턴 목록 확정

Lessons Learned

  • 스토리 우선 접근법의 효과 확인
  • 패턴 간 연결의 중요성 인식
  • 교육적 관점의 필수성 확인


CategoryAiGardenProject CategoryPatternLanguage

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