--- id: P-REINFORCE-AUTO-F57735 category: "10_Wiki/๐Ÿ’ก Topics/Programming & Language" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - ๋‹จ์ผ ์ฑ…์ž„ ์›์น™(SRP)" --- # [[แ„ƒแ…กแ†ซแ„‹แ…ตแ†ฏ แ„Žแ…ขแ†จแ„‹แ…ตแ†ท แ„‹แ…ฏแ†ซแ„Žแ…ตแ†จ(SRP)|๋‹จ์ผ ์ฑ…์ž„ ์›์น™(SRP)]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > ๋‹จ์ผ ์ฑ…์ž„ ์›์น™(SRP, Single Responsibility Principle)์€ ํด๋ž˜์Šค๋‚˜ ๋ชจ๋“ˆ์ด ๋‹จ ํ•˜๋‚˜์˜ ๋ณ€๊ฒฝ ์ด์œ ๋งŒ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„ ์›์น™์ž…๋‹ˆ๋‹ค [1, 2]. ํ•˜๋‚˜์˜ ๋ชจ๋“ˆ์— ์˜์†์„ฑ, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ, ์•Œ๋ฆผ ๋“ฑ ์—ฌ๋Ÿฌ ์ฑ…์ž„์ด ์„ž์ด๋ฉด ์ฝ”๋“œ๊ฐ€ ๋ถˆ์•ˆ์ •ํ•ด์ง€๊ณ  ์กฐ๊ทธ๋งŒ ์ˆ˜์ •์—๋„ ์˜ˆ๊ธฐ์น˜ ์•Š์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์œ„ํ—˜์ด ์ปค์ง‘๋‹ˆ๋‹ค [2]. ์ด ์›์น™์„ ์ค€์ˆ˜ํ•˜๋ฉด ๊ฐ ๋ชจ๋“ˆ์ด ํ•œ ๊ฐ€์ง€ ๋ช…ํ™•ํ•œ ์—ญํ• ๋งŒ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋˜์–ด, ํ•œ ์˜์—ญ์˜ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ ๋‹ค๋ฅธ ๋ฌด๊ด€ํ•œ ๋กœ์ง์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [2, 3]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) - **๊ฐœ๋…์˜ ์ •์˜**: ๋ชจ๋“ˆ์ด ๋ณ€๊ฒฝ๋˜์–ด์•ผ ํ•˜๋Š” '์ด์œ '๋Š” ๋‹จ ํ•˜๋‚˜์—ฌ์•ผ ํ•˜๋ฉฐ, ์ด๋Š” ํŠน์ • ์ดํ•ด๊ด€๊ณ„์ž, ๋น„์ฆˆ๋‹ˆ์Šค ๊ทœ์น™ ๋˜๋Š” ์™ธ๋ถ€ ์‹œ์Šคํ…œ์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค [2]. ํด๋ž˜์Šค๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์€ ์ฑ…์ž„์„ ์ง€๊ฒŒ ๋˜๋ฉด ์žฆ์€ ๋ณ€๊ฒฝ์— ๋…ธ์ถœ๋˜๊ณ  ์ทจ์•ฝํ•ด์ง‘๋‹ˆ๋‹ค [4]. - **์œ„๋ฐ˜์˜ ์ง•ํ›„ (Red Flags)**: HTTP ํ•ธ๋“ค๋Ÿฌ, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง, ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๋กœ์ง์ด ํ•œ ํŒŒ์ผ์— ๋’ค์„ž์—ฌ ์žˆ๋Š” ๊ฒฝ์šฐ, ๋น„๋Œ€ํ•œ "god" ํด๋ž˜์Šค๋กœ ์ธํ•ด ์ฝ”๋“œ ๋ณ‘ํ•ฉ ์ถฉ๋Œ(merge conflict)์ด ๋นˆ๋ฒˆํ•œ ๊ฒฝ์šฐ, ๊ทธ๋ฆฌ๊ณ  ์ฝ”๋“œ ์ฃผ์„์— "~๋„ ์ˆ˜ํ–‰ํ•จ(also does...)" ๊ฐ™์€ ์„ค๋ช…์ด ๋ถ™๋Š” ๋ฉ”์„œ๋“œ ๋“ฑ์€ SRP ์œ„๋ฐ˜์„ ์‹œ์‚ฌํ•ฉ๋‹ˆ๋‹ค [3]. - **๋ฆฌํŒฉํ† ๋ง ์ „๋žต**: ์‹ค์šฉ์ ์ธ ํ•ด๊ฒฐ์ฑ…์€ "๋น„๋ช…์„ ์ง€๋ฅผ ๋•Œ๊นŒ์ง€ ์ถ”์ถœํ•˜๋ผ(extract till you scream)"๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๋‘๋“œ๋Ÿฌ์ง€๋Š” ๋ถ€์ฐจ์ ์ธ ์ฑ…์ž„์„ ๋…๋ฆฝ๋œ ๋ณ„๋„์˜ ํด๋ž˜์Šค๋กœ ๋นผ๋‚ด๊ณ , ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค [3]. ์ด๋ ‡๊ฒŒ ์—ญํ• ์„ ๋ถ„๋ฆฌํ•˜๋ฉด, ๊ฒฐ์ œ ๋กœ์ง์„ ๊ฑด๋“œ๋ฆฌ์ง€ ์•Š๊ณ  ์ด๋ฉ”์ผ ์ œ๊ณต์ž๋ฅผ ๊ต์ฒดํ•˜๊ฑฐ๋‚˜ ์Šคํ‚ค๋งˆ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [3]. - **์‹ค๋ฌด ์ ์šฉ ์‚ฌ๋ก€**: - **Toss Front SDK**: "๋ฆฌ์†Œ์Šค๋ฅผ ๋งŒ๋“  ๊ณณ์—์„œ ๋‹ซ๋Š”๋‹ค"๋Š” ์ ‘๊ทผ์€ ๋‹จ์ผ ์ฑ…์ž„ ์›์น™์„ ์ž˜ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž ์‹ค์ˆ˜๋กœ ์ธํ•œ ๋ฆฌ์†Œ์Šค ๋ฐ ๋ฆฌ์Šค๋„ˆ ๋ˆ„์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•˜์—ฌ SDK ์ „๋ฐ˜์˜ ์•ˆ์ •์„ฑ์„ ๊ตณ๊ฑดํ•˜๊ฒŒ ์ง€์ผœ๋ƒ…๋‹ˆ๋‹ค [5]. - **Strapi ๊ฐœ๋ฐœ**: ์ปค์Šคํ…€ ์ปจํŠธ๋กค๋Ÿฌ์˜ ๋กœ์ง์„ ๊ฐ€๋ณ๊ฒŒ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ์—…๋กœ๋“œ, ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ, ๋ถ„์„ ๋“ฑ์˜ ์ž‘์—…์€ ํ•˜๋‚˜์˜ ์ปจํŠธ๋กค๋Ÿฌ ํŒŒ์ผ์— ๋ชฐ์•„๋„ฃ์ง€ ์•Š๊ณ  ๊ฐœ๋ณ„ ์„œ๋น„์Šค๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ํ˜ธ์ถœํ•˜๋„๋ก ์„ค๊ณ„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [3]. - **์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด์˜ ํ™œ์šฉ**: ๋‹จ์ผ ์ฑ…์ž„ ์›์น™์€ ์ธํ„ฐํŽ˜์ด์Šค ๋ถ„๋ฆฌ ์›์น™(ISP)๊ณผ ๊ถค๋ฅผ ๊ฐ™์ดํ•ฉ๋‹ˆ๋‹ค. ๋ณต์žกํ•œ ์‹œ์Šคํ…œ์„ ํผ์‚ฌ๋“œ(Facade) ํŒจํ„ด์œผ๋กœ ๊ฐ์‹ธ ์ฑ…์ž„์„ ๋‹จ์ˆœํ™”ํ•˜๋ฉด, ๊ฐœ๋ฐœ์ž์˜ ์ธ์ง€ ๋ถ€ํ•˜๋ฅผ ์ค„์ด๊ณ  ์‹œ์Šคํ…œ ๊ฐ„ ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถ”๋Š” ๊ฐ•๋ ฅํ•œ ์ˆ˜๋น„ ์ „๋žต์ด ๋ฉ๋‹ˆ๋‹ค [4]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Programming & Language ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** [[SOLID แ„‹แ…ฏแ†ซแ„Žแ…ตแ†จ|SOLID]], ์ธํ„ฐํŽ˜์ด์Šค ๋ถ„๋ฆฌ ์›์น™(ISP), ํผ์‚ฌ๋“œ(Facade) ํŒจํ„ด - **Projects/Contexts:** [[Toss Front SDK แ„€แ…ตแ„‡แ…กแ†ซ แ„‹แ…ฌแ„‡แ…ฎ แ„‹แ…งแ†ซแ„ƒแ…ฉแ†ผแ„‰แ…ก แ„‘แ…ณแ†ฏแ„…แ…ฅแ„€แ…ณแ„‹แ…ตแ†ซ แ„€แ…ขแ„‡แ…กแ†ฏ แ„‰แ…ขแ†ผแ„แ…ขแ„€แ…จ แ„€แ…ฎแ„Žแ…ฎแ†จ|Toss Front SDK]], Strapi - **Contradictions/Notes:** ์†Œ์Šค ๋‚ด์—์„œ ๋‹จ์ผ ์ฑ…์ž„ ์›์น™์— ๋Œ€ํ•œ ๋ชจ์ˆœ์ ์€ ์—†์œผ๋ฉฐ, ์ œ๊ณต๋œ ๋ชจ๋“  ์†Œ์Šค์—์„œ ๋ชจ๋“ˆ์˜ ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถ”๊ณ  ์˜ˆ์ธก ๊ฐ€๋Šฅ์„ฑ์„ ๋†’์ด๋Š” ํ•ต์‹ฌ ์•„ํ‚คํ…์ฒ˜ ์›์น™์œผ๋กœ ์ผ๊ด€๋˜๊ฒŒ ๊ฐ•์กฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. --- *Last updated: 2026-04-18* - Raw Source: 00_Raw/2026-04-20/๋‹จ์ผ ์ฑ…์ž„ ์›์น™(SRP).md ---