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

์„œ๋ฒ„3

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.
ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์‹œ์Šคํ…œ (Client-Server System) ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋ž€? ํด๋ผ์ด์–ธํŠธ๋ž€ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณต๋ฐ›๋Š” ์‚ฌ๋žŒ๋“ค์„ ์˜๋ฏธํ•œ๋‹ค. ์„œ๋ฒ„๋ž€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์„ ์˜๋ฏธํ•œ๋‹ค. ๋ณดํ†ต ์›น๊ณผ ์•ฑ, ๊ฒŒ์ž„์ด ์žˆ๋Š”๋ฐ ์•ฑ๊ณผ ๊ฒŒ์ž„์„ ์ƒ๊ฐํ•ด๋ณด๋ฉด ๋‹ค์šด๋กœ๋“œ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ์›น์€ ๋”ฐ๋กœ ๋‹ค์šด๋กœ๋“œ๋ฅผ ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ ์ด์œ ๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € OS์˜ ๊ฐœ๋…๊ณผ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์™€ ํ”„๋ก ํŠธ์—”๋“œ ์„œ๋ฒ„์— ๋Œ€ํ•ด์„œ ์•Œ๊ณ  ์žˆ์–ด์•ผํ•œ๋‹ค. ํ”„๋ก ํŠธ์—”๋“œ ์„œ๋ฒ„ ์›น์„ ์ƒ๊ฐํ•ด๋ณด์ž. ์šฐ๋ฆฌ๋Š” URL(Uniform Resource Locator, ์ผ๊ด€์„ฑ์žˆ๋Š” ์ž์›์˜ ์œ„์น˜)์„ ํ†ตํ•ด ์›น ํŽ˜์ด์ง€๋ฅผ ์ด์šฉํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ์›น ํŽ˜์ด์ง€๋Š” html๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ๊ณ  html ์ฝ”๋“œ ๋ธ”๋Ÿญ๊ณผ js, css๋กœ ํ‘œํ˜„๋˜์–ด์žˆ๋‹ค. ์ฆ‰ ํŠน์ • html์€ Resource(์ž์›)์ด ๋˜๊ณ  ์šฐ๋ฆฌ๋Š” ์ด ์œ„์น˜๋กœ ์ ‘์†ํ•ด ์ž์›์— ๋Œ€ํ•ด ์š”์ฒญํ•œ๋‹ค. ์ด ๋•Œ, URL์€ ์‹ค์ œ๋กœ i.. 2024. 2. 26.