๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

SpringBoot/์ดํ•ด์™€ ์›๋ฆฌ2

Opinionated๊ณผ Out of the box Opinionated '์ž๊ธฐ ์ฃผ์žฅ์ด ๊ฐ•ํ•œ'์ด๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ–๋Š” ์ด ์šฉ์–ด๋Š” SpringBoot์˜ Concept๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. SpringBoot๋Š” ๋งค๋ฒˆ Servlet์„ ๋„์›Œ์•ผํ•˜๋Š” Spring์˜ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ํƒ„์ƒํ•œ Framework์ด๋‹ค. ์ด๋Ÿฐ Containerless ์„ฑ์งˆ๋ฟ๋งŒ ์•„๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐœ๋ฐœ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ธฐ๋ณธ์ ์ธ ๊ฐ€์ด๋“œ(?), ๋กœ๋“œ๋งต(?)์„ ์ œ๊ณตํ•˜๊ณ ์žˆ๋‹ค. Spring Framework์˜ ์„ค๊ณ„ ์ฒ ํ•™ ๊ทน๋‹จ์ ์œผ๋กœ ์œ ์—ฐํ•˜๋‹ค. ์˜์กด์„ฑ ์ฃผ์ž… (Dependency Injection, DI) ๊ด€์ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (Aspect-Oriented Programming, AOP) IoC(Inversion of Control) Container ๋‹ค์–‘ํ•œ ๋ชจ๋“ˆ, ํ™•์žฅ์„ฑ, ... ๋‹ค์–‘ํ•œ ๊ด€์ ์„ ์ˆ˜์šฉํ•œ๋‹ค ์›น ๊ฐœ๋ฐœ, .. 2024. 3. 4.
Containerless์™€ ๋…๋ฆฝ ์‹คํ–‰ํ˜• ํ”„๋กœ๊ทธ๋žจ(standalone application) ๋ณดํ†ต ๋ฌด์–ธ๊ฐ€๊ฐ€ ํ•„์š” ์—†์„ ๋•Œ less๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. Containerless๋Š” ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ Container๊ฐ€ ํ•„์š”์—†๋‹ค๋Š” ๋œป์„ ๊ฐ€์ง€๊ฒŒ ๋˜๋Š”๋ฐ, ์ด๊ฒƒ์ด ์Šคํ”„๋ง ๋ถ€ํŠธ๊ฐ€ ์‹œ์ž‘๋˜๋Š” ๋ฐฐ๊ฒฝ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. Container? ๋ชจ๋“ˆ๊ณผ ์ปดํฌ๋„ŒํŠธ, ์ปจํ…Œ์ด๋„ˆ์— ๋Œ€ํ•œ ํฌ์ŠคํŠธ๋ฅผ ์ฐธ๊ณ ํ•˜์‹œ๊ณ  ์˜ค๋ฉด ์ข‹๋‹ค. ์œ„ ํฌ์ŠคํŠธ์—์„œ ๋ชจ๋“ˆ๊ณผ ์ปดํฌ๋„ŒํŠธ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์—์„œ ์ •์˜ํ•œ ๋‚ด์šฉ์ด๋‹ค. ์ด ํฌ์ŠคํŠธ์˜ ์ปดํฌ๋„ŒํŠธ๋Š” FrontEnd์—์„œ ์„ค๋ช…ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ์™€ BackEnd์—์„œ ์„ค๋ช…ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํŒŒ์ƒ ๋œ ๊ฒƒ. ์šฐ๋ฆฌ๊ฐ€ ์›น, ์•ฑ์—์„œ ํŠน์ • ๊ธฐ๋Šฅ๋“ค(๊ธ€์“ฐ๊ธฐ, ๋ฉ”์ผ ์ž‘์„ฑ, ...)์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด FrontEnd์—์„œ ๋ณด์ด๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋ฐฑ์—”๋“œ์˜ ์ปดํฌ๋„ŒํŠธ์™€ ์—ฐ๊ฒฐ๋˜์–ด ์šฐ๋ฆฌ์—๊ฒŒ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ฒŒ ๋œ๋‹ค. SpringBoot๋Š” Java ๊ธฐ๋ฐ˜ FrameWo.. 2024. 3. 4.