--- id: P-REINFORCE-AUTO-PARC-001 category: "10_Wiki/๐Ÿ’ก Topics/AI" confidence_score: 0.95 tags: [auto-reinforced, software-architecture, principles, quality-attributes, design] last_reinforced: 2026-04-20 --- # [[Principles-of-Architecture|Principles-of-Architecture]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > "์ง€์† ๊ฐ€๋Šฅํ•œ ๋ณต์žก์„ฑ์„ ์œ„ํ•œ ์•ฝ์†: ์‹œ์Šคํ…œ์ด ์ปค์ ธ๋„ ๋ฌด๋„ˆ์ง€์ง€ ์•Š๋„๋ก, ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์˜ ๊ฒฐํ•ฉ์„ ๋Š๊ณ  ์†Œํ†ต ๋ฐฉ์‹์„ ํ‘œ์ค€ํ™”ํ•˜๋Š” ๊ฑฐ์‹œ์  ์„ค๊ณ„ ์›์น™." ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜ ์›์น™(Principles of Architecture)์€ ๋ณต์žกํ•œ ์‹œ์Šคํ…œ์„ ํšจ์œจ์ ์œผ๋กœ ๊ตฌ์ถ•ํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ธฐ ์œ„ํ•ด ์ง€์ผœ์•ผ ํ•  ๊ธฐ๋ณธ ์ง€์นจ์ž…๋‹ˆ๋‹ค. 1. **๊ฐ€์žฅ ํ•ต์‹ฌ์ ์ธ 3๋Œ€ ์›์น™**: * **Separation of Concerns (๊ด€์‹ฌ์‚ฌ ๋ถ„๋ฆฌ)**: ํ•ต์‹ฌ ๋กœ์ง, ๋ฐ์ดํ„ฐ ์ ‘๊ทผ, UI ์ฒ˜๋ฆฌ๋ฅผ ๋ช…ํ™•ํžˆ ๋ถ„๋ฆฌํ•˜์—ฌ ํ•œ ๋ถ€๋ถ„์˜ ๋ณ€ํ™”๊ฐ€ ์ „์ฒด๋ฅผ ํ”๋“ค์ง€ ์•Š๊ฒŒ ํ•จ. * **Abstraction (์ถ”์ƒํ™”)**: ๊ตฌํ˜„์˜ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ๊ฐ์ถ”๊ณ  ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ๋…ธ์ถœํ•˜์—ฌ ์‹œ์Šคํ…œ๊ฐ„ ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถค. * **Modularity (๋ชจ๋“ˆํ™”)**: ๋…๋ฆฝ์ ์œผ๋กœ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋‹จ์œ„๋กœ ์‹œ์Šคํ…œ์„ ์ชผ๊ฐœ์–ด ํ™•์žฅ์„ฑ ํ™•๋ณด. 2. **ํ’ˆ์งˆ ์†์„ฑ (Quality Attributes)**: * **Scalability**: ๋Š˜์–ด๋‚˜๋Š” ๋ถ€ํ•˜์— ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€? * **Resilience**: ์žฅ์•  ์‹œ ๋ณต๊ตฌ ๊ฐ€๋Šฅํ•œ๊ฐ€? * **Maintainability**: ์ฝ๊ธฐ ์‰ฝ๊ณ  ๊ณ ์น˜๊ธฐ ์‰ฌ์šด๊ฐ€? 3. **์„ค๊ณ„ ์ ‘๊ทผ๋ฒ•**: * Monolithic vs Microservices: ๋น„์ฆˆ๋‹ˆ์Šค ๊ทœ๋ชจ์™€ ํŒ€ ๊ตฌ์กฐ์— ๋”ฐ๋ฅธ ์„ ํƒ. * Layered Architecture: ๊ณ„์ธต๋ณ„ ์—ญํ•  ๋ถ„๋‹ด์„ ํ†ตํ•œ ๊ตฌ์กฐ์  ํ†ต์ œ. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ**: ๊ณผ๊ฑฐ์—๋Š” '์™„๋ฒฝํ•œ ๋ฏธ๋ฆฌ ์„ค๊ณ„(Upfront Design)'๋ฅผ ๊ถŒ์žฅํ–ˆ์œผ๋‚˜, ํ˜„๋Œ€ ์•„ํ‚คํ…์ฒ˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋ณ€ํ™”์— ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์‘ํ•˜๋Š” '์ง„ํ™”์  ์•„ํ‚คํ…์ฒ˜(Evolutionary Architecture)'์™€ 'Agile ์„ค๊ณ„'๋ฅผ ์ง€์ง€ํ•จ. - **์ •์ฑ… ๋ณ€ํ™”(RL Update)**: ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ํ™˜๊ฒฝ์œผ๋กœ์˜ ์ „ํ™˜ ์ •์ฑ…์— ๋”ฐ๋ผ, ๋ชจ๋“  ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜๋Š” '์žฅ์• ๋ฅผ ๊ฐ€์ •ํ•˜๊ณ  ์„ค๊ณ„(Design for Failure)'ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์•ˆ์ •์„ฑ ์ตœ์šฐ์„  ์ •์ฑ…์ด ๊ธ€๋กœ๋ฒŒ ํ‘œ์ค€์ด ๋จ. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - [[Object-Oriented-Design-Patterns|Object-Oriented-Design-Patterns]], [[Software-Design-Principles|Software-Design-Principles]], [[Polymorphism-in-Engine-Architecture|Polymorphism-in-Engine-Architecture]], [[Complexity Theory|Complexity Theory]], System Thinking - **Modern Tech/Tools**: Kubernetes, Docker, AWS Well-Architected Framework. ---