Differences between revisions 2 and 41 (spanning 39 versions)
Revision 2 as of 2025-07-24 13:47:23
Size: 6298
Editor: 정수
Comment:
Revision 41 as of 2025-12-30 07:46:58
Size: 4287
Editor: 정수
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
주니어 개발자들을 위한 프로그래밍 지혜를 Christopher Alexander의 패턴 언어로 변환하는 프로젝트. ''주니어 개발자들을 위한 패턴 언어 - 35개의 살아있는 중심들의 연결망''

이 패턴 언어는 단순한 규칙의 모음이 아닙니다. 각 패턴은 다른 패턴을 지지하며, 전체가 부분의 합보다 커지는 '''살아있는 구조(Living Structure)'''를 지향합니다.
Line 9: Line 11:
== Project Vision == == Structure of the Language (연결망의 구조) ==
Line 11: Line 13:
[[기술문서모음/ToJuniors]] 페이지의 27개 핵심 격언들을 개별 패턴으로 확장하여, 반격자(semi-lattice) 구조의 상호 연결된 지식 네트워크를 구축한다. 각 패턴은 이솝우화 스타일의 스토리텔링으로 작성되어 초보자들이 쉽게 이해하고 기억할 수 있도록 한다. 이 언어는 다섯 개의 주요 '''중심 커뮤니티(Communities of Centers)'''로 구성됩니다. 각 커뮤니티는 개발자의 마음, 코드의 구조, 그리고 팀의 협력을 하나의 전체성으로 묶어줍니다.
Line 13: Line 15:
== Pattern Language Structure == === 1. The Mind (인지적 중심) ===
개발자의 내면을 관찰하고 명료한 인식을 유지하게 돕는 패턴들입니다.
 * [[PresentMoment]] → [[SingleFocus]] → [[ActiveReflection]] → [[ThinkingMirror]] → [[CognitiveMicroscope]]
 * ''핵심 역동: '''명료함(Clarity)'''. 현실을 직시하고 집중할 때, 실시간 성찰이 가능해지며 이는 메타인지의 성장으로 이어집니다.''
Line 15: Line 20:
=== Foundation Patterns (가장 기본적) ===
'''[[TinyExperiment]]''' (완성) - 작은 실험 환경을 통한 점진적 학습과 개발
↳ enables → BabyStep, UseAbduction, HereAndNowDebugging
↳ used by → TddIsDesignActivity, PiecemealGrowthCenterFirst
=== 2. The Theory (구조적 중심) ===
문제를 이해하고 이를 표현하는 언어를 구축하는 패턴들입니다.
 * [[TwoWorlds]] → [[DataAsFoundation]] → [[LanguageBuilding]] → [[NamesAsDesign]] → [[MetaphorThinking]] → [[LivingVocabulary]] → [[ComplexityTaming]]
 * ''핵심 역동: '''의미(Meaning)'''. 문제와 해결 공간을 분리하고 데이터와 언어를 통해 이론을 구축할 때 복잡성이 길들여집니다.''
Line 20: Line 25:
'''UseDataToMakeLogicSimple''' - 관심사 분리의 기본 원칙
↳ supports → MakeDSL, DoNotMixLogicAndDataConstruction
↳ enables → FindCommonalityAndVariability
=== 3. The Rhythm (실행적 중심) ===
안전하고 리드미컬하게 전진하게 돕는 실천적 패턴들입니다.
 * [[TightLoop]] → [[TinyExperiment]] → [[ShortLeash]] → [[BabySteps]] → [[AtomicCommit]] → [[WorkingFirst]] → [[The95PercentRule]]
 * ''핵심 역동: '''흐름(Flow)'''. 빠른 피드백과 작은 실험이 반복될 때, 시스템은 멈추지 않고 전진합니다.''
Line 24: Line 30:
'''ProblemSpaceSolutionSpace''' - 근본적 사고 체계
↳ guides → NamingIsDesignPractice, MakeItWorkThenMakeBetter
↳ supports → TddIsDesignActivity
=== 4. The Growth (진화적 중심) ===
시스템이 생명력을 잃지 않고 거대하게 자라나게 돕는 패턴들입니다.
 * [[StrongCenter]] → [[OrganicGrowth]] → [[DirectPath]] → [[SafetyNet]] → [[GreenRefuge]] → [[ArtisanMind]]
 * ''핵심 역동: '''전체성(Wholeness)'''. 강한 중심에서 시작해 유기적으로 성장하며, 안전망을 통해 구조를 보존합니다.''
Line 28: Line 35:
=== Intermediate Patterns (기초 위에 구축) ===
'''BabyStep''' - 핵심적 진화적 접근법
↳ connected to → MicroCommit, ShortFeedbackCycle
↳ enables → PiecemealGrowthCenterFirst
↳ requires → DoNotGuessValidateIt
=== 5. The Soul (사회적 중심) ===
개인을 넘어 공동체의 지혜로 확장되는 패턴들입니다.
 * [[TechnicalCommunity]] → [[SharedMind]] → [[BuildingBridge]] → [[FlowingFeedback]] → [[MasterApprentice]] → [[CraftPath]] → [[InstinctiveChoice]] → [[TinyResearch]] → [[PatternHunting]] → [[DetectiveWork]] → [[RootHunting]]
 * ''핵심 역동: '''공명(Resonance)'''. 함께 배우고 협력할 때 개인의 한계를 넘어 거장의 직관과 수사 기법을 습득합니다.''
Line 34: Line 40:
'''NamingIsDesignPractice''' - 추상화 생성
↳ uses → ProblemSpaceSolutionSpace
↳ supports → MakeDSL
↳ enables → FindCommonalityAndVariability
== Core Dynamics (주요 역동) ==
Line 39: Line 42:
'''TddIsDesignActivity''' - 피드백을 통한 설계
↳ uses → ProblemSpaceSolutionSpace, BabyStep
↳ requires → ShortFeedbackCycle, UseAbduction
↳ produces → RegressionTest
이 언어 안에는 여러 패턴들이 결합하여 만드는 강력한 '''고차원 패턴'''들이 숨어 있습니다:
Line 44: Line 44:
=== Application Patterns (구체적 실천) ===
'''MicroCommit''' - 버전 제어 원칙
↳ implements → BabyStep
↳ enables → PiecemealGrowthCenterFirst
 * '''The Safety Net (안전의 그물):''' [[BabySteps]] + [[GreenRefuge]] + [[SafetyNet]] + [[AtomicCommit]]
   * 시스템을 결코 죽이지 않고 영원히 살려두는 기술적 장치입니다.
 * '''The Learning Loop (학습의 고리):''' [[TinyResearch]] + [[CognitiveMicroscope]] + [[ActiveReflection]] + [[ThinkingMirror]]
   * 매일의 작업에서 암묵지를 추출하여 전문성으로 변환하는 엔진입니다.
 * '''The Domain language (도메인의 목소리):''' [[LanguageBuilding]] + [[LivingVocabulary]] + [[NamesAsDesign]]
   * 코드가 비즈니스의 진실을 말하게 하여 의사소통의 장벽을 허무는 힘입니다.
Line 49: Line 51:
'''UseAbduction''' - 탐구 방법
↳ supports → TddIsDesignActivity, HereAndNowDebugging
↳ opposite of → DoNotGuessValidateIt
== Current Status ==
Line 53: Line 53:
'''HereAndNowDebugging''' - 디버깅 접근법
↳ uses → UseAbduction, EliminateIntermediateLayers
↳ implements → DoNotGuessValidateIt
 * '''Phase 1 (Foundation):''' 완료 (11개)
 * '''Phase 2 (TDD & Design):''' 완료 (14개)
 * '''Phase 3 (Collaboration):''' 완료 (10개)
 * '''Total:''' 35개 패턴 완성.
Line 57: Line 58:
=== Meta-Patterns (과정 자체에 대한) ===
'''CraftNotScience''' - 개발 철학
↳ manifests through → BabyStep, LastFivePercentAutomation
↳ guides → LearnFromExperts
== Future Work ==
Line 62: Line 60:
'''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:''' 보완하는 패턴들
 * 각 패턴 상세 페이지의 '''Related Patterns''' 섹션을 보강하여 연결망을 더욱 촘촘하게 만듭니다.
 * 실제 사례(Case Study)를 각 패턴 커뮤니티별로 추가합니다.
Line 105: Line 64:
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

----
CategoryAiGardenProject CategoryPattern
CategoryAiGardenProject CategoryPatternLanguage

AiGarden/ToJuniorsPatternLanguage

주니어 개발자들을 위한 패턴 언어 - 35개의 살아있는 중심들의 연결망

이 패턴 언어는 단순한 규칙의 모음이 아닙니다. 각 패턴은 다른 패턴을 지지하며, 전체가 부분의 합보다 커지는 살아있는 구조(Living Structure)를 지향합니다.

Structure of the Language (연결망의 구조)

이 언어는 다섯 개의 주요 중심 커뮤니티(Communities of Centers)로 구성됩니다. 각 커뮤니티는 개발자의 마음, 코드의 구조, 그리고 팀의 협력을 하나의 전체성으로 묶어줍니다.

1. The Mind (인지적 중심)

개발자의 내면을 관찰하고 명료한 인식을 유지하게 돕는 패턴들입니다.

2. The Theory (구조적 중심)

문제를 이해하고 이를 표현하는 언어를 구축하는 패턴들입니다.

3. The Rhythm (실행적 중심)

안전하고 리드미컬하게 전진하게 돕는 실천적 패턴들입니다.

4. The Growth (진화적 중심)

시스템이 생명력을 잃지 않고 거대하게 자라나게 돕는 패턴들입니다.

5. The Soul (사회적 중심)

개인을 넘어 공동체의 지혜로 확장되는 패턴들입니다.

Core Dynamics (주요 역동)

이 언어 안에는 여러 패턴들이 결합하여 만드는 강력한 고차원 패턴들이 숨어 있습니다:

Current Status

  • Phase 1 (Foundation): 완료 (11개)

  • Phase 2 (TDD & Design): 완료 (14개)

  • Phase 3 (Collaboration): 완료 (10개)

  • Total: 35개 패턴 완성.

Future Work

  • 각 패턴 상세 페이지의 Related Patterns 섹션을 보강하여 연결망을 더욱 촘촘하게 만듭니다.

  • 실제 사례(Case Study)를 각 패턴 커뮤니티별로 추가합니다.


CategoryAiGardenProject CategoryPatternLanguage

AiGarden/ToJuniorsPatternLanguage (last edited 2025-12-31 03:35:40 by 정수)