์šฐ๋ฆฌFISA 3

๐Ÿ“ ์šฐ๋ฆฌ FISA ํด๋ผ์šฐ๋“œ์—”์ง€๋‹ˆ์–ด๋ง 3์ฃผ์ฐจ ๊ธฐ๋ก

์ด๋ฒˆ์ฃผ๋Š” ๋น„์ฆˆ ํŠน๊ฐ•์ด ๋‘๋ฒˆ์ด๋‚˜ ์žˆ์–ด์„œ ์ˆ˜์—… ์ •๋ฆฌ๊ฐ€ ๋ณ„๋กœ ์—†๋„ค ๐Ÿ“‹ ์ˆ˜์—… ๊ธฐ๋ก Docker ๋ž€? ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹ ์†ํ•˜๊ฒŒ ๊ตฌ์ถ•, ํ…Œ์ŠคํŠธ ๋ฐ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๊ฒŒ, ๋ฆฌ๋ˆ…์Šค ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ๊ฐ€์ƒํ™” ํ”Œ๋žซํผ * ์ปจํ…Œ์ด๋„ˆ? ํ‘œ์ค€ํ™”๋˜๊ณ  ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๊ตฌ์„ฑ์š”์†Œ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์†Œ์Šค ์ฝ”๋“œ์™€ ์ด ์ฝ”๋“œ๋ฅผ ์ž„์˜์˜ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์šด์˜์ฒด์ œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ์ข…์† ํ•ญ๋ชฉ์„ ์กฐํ•จํ•œ ๊ฒƒ * ๊ฐ€์ƒํ™”? ๋ฌผ๋ฆฌ์  ์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด๋ฅผ ๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ํ”„๋กœ์„ธ์Šค, ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…์˜ ๊ธฐ๋ฐ˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•ด ํ”„๋กœ์„ธ์„œ, ๋ฉ”๋ชจ๋ฆฌ, ์Šคํ† ๋ฆฌ์ง€ ๋“ฑ, ์ปดํ“จํ„ฐ์˜ ํ•˜๋“œ์›จ์–ด ์š”์†Œ -> ๊ฐ€์ƒ๋จธ์‹ ์œผ๋กœ ๋ถ„ํ• ํ•˜๋Š” ํ•˜๋“œ์›จ์–ด ์ƒ์˜ ์ถ”์ƒํ™” DockerFile - Docker ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์˜ ๋นŒ๋“œ ๋ฐฉ๋ฒ•์— ๊ด€ํ•œ ์ง€์‹œ์‚ฌํ•ญ์ด ํฌํ•จ๋œ ๋‹จ์ˆœ ํ…์ŠคํŠธ..

๐Ÿ“ ์šฐ๋ฆฌ FISA ํด๋ผ์šฐ๋“œ์—”์ง€๋‹ˆ์–ด๋ง 2์ฃผ์ฐจ ๊ธฐ๋ก

์ด๋ฒˆ์ฃผ์—๋Š” ์—์ฝ”๋ฐฑ์— ์—ฌ๋Ÿฌ ์„ ๋ฌผ์„ ๋ฐ›์•˜๋‹ค. ์ œ์ผ ๋งˆ์Œ์— ๋“œ๋Š”๊ฑฐ ๋ฉ€ํ‹ฐ ํ—ˆ๋ธŒ,,,, ๊ฐœ๋ฐœ์ž์—๊ฒŒ ํ•„์š”ํ•œ ๋ฌผํ’ˆ๋“ค๋กœ ๋ฐ›์•„์„œ ๋ญ”๊ฐ€ ๋ฌผ๊ฑด ๊ณ ๋ฅด๋Š” ์„ผ์Šค๊ฐ€ ์žˆ๋‹ค๊ณ  ๋Š๊ผˆ๋‹นใ…Ž ์„ ๋ฌผ ๋ฐ›์œผ๋‹ˆ๊นŒ ๋ญ”๊ฐ€ ์†Œ์†๊ฐ๋„ ๋“ค๊ณ  ์ข‹์•˜๋‹น ๐Ÿ˜€ ๐Ÿ“‹ ์ˆ˜์—… ๊ธฐ๋ก ๐Ÿ” Singleton Design Pattern (์‹ฑ๊ธ€ํ†ค ๋””์ž์ธ ํŒจํ„ด) โœ”๏ธ What? ํ•˜๋‚˜์˜ ์ธ์Šคํ„ด์Šค๋งŒ ์ƒ์„ฑํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๋””์ž์ธ ํŒจํ„ด, ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•„์š”ํ•˜๋ฉด ๋˜‘๊ฐ™์€ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๊ณ  ๊ธฐ์กด์˜ ์ธ์Šคํ„ด์Šค ํ™œ์šฉ ์ƒ์„ฑ์ž๊ฐ€ ์—ฌ๋Ÿฌ๋ฒˆ ํ˜ธ์ถœ๋˜๊ณ  ์‹ค์ œ ์ƒ์„ฑ๋˜๋Š” ๊ฐ์ฒด๋Š” ํ•˜๋‚˜, ์ตœ์ดˆ๋กœ ์ƒ์„ฑ๋œ ์ดํ›„์— ํ˜ธ์ถœ๋œ ์ƒ์„ฑ์ž๋Š” ์ด๋ฏธ ์ƒ์„ฑํ•œ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ โœ”๏ธ Why? 1๏ธโƒฃ ๋ฉ”๋ชจ๋ฆฌ ์ด์  ๊ฐ์ฒด๋Š” ์ƒ์„ฑํ•  ๋•Œ๋งˆ๋‹ค ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ํ• ๋‹น๋ฐ›์•„์•ผ ํ•œ๋‹ค. ํ•œ๋ฒˆ์˜ new๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„๋ฅผ ๋ฐฉ์ง€ 2๏ธโƒฃ ์†๋„ ์ด์  ์ด๋ฏธ ์ƒ์„ฑ๋œ..

๐Ÿ“ ์šฐ๋ฆฌ FISA ํด๋ผ์šฐ๋“œ์—”์ง€๋‹ˆ์–ด๋ง 1์ฃผ์ฐจ ๊ธฐ๋ก

๐Ÿ“‹ ์ˆ˜์—… ๊ธฐ๋ก JVM (Java Virtual Machine) ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ Method Area (Class Area) ํด๋ž˜์Šค ๋‚ด์šฉ(Byte code : JVM์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด๋กœ ๋ณ€ํ™˜๋œ ์ž๋ฐ” ์†Œ์Šค์ฝ”๋“œ)๊ฐ€ ์ ์žฌ๋˜๋Š” ์˜์—ญ static ๋ณ€์ˆ˜ ๋ฐ ์ƒ์ˆ˜๊ฐ€ ์ ์žฌ๋˜๋Š” ์˜์—ญ Stack Area ๋ฉ”์†Œ๋“œ ์‹คํ–‰ ๊ณต๊ฐ„์ด ์ ์žฌ๋˜๋Š” ์˜์—ญ ๋กœ์ปฌ ๋ณ€์ˆ˜ ์ €์žฅ ๊ณต๊ฐ„ Heap Area ์ƒ์„ฑ๋œ ๊ฐ์ฒด๊ฐ€ ์ ์žฌ๋œ๋Š ์˜์—ญ ๊ฐ€๋น„์ง€ ์ฝœ๋ ‰ํ„ฐ : ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ธ์Šคํ„ด์Šค๋ฅผ ์ฐพ์•„ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์‚ญ์ œ maven build tool ๊ฐœ๋ฐœ ๋ฐ ์‹คํ–‰ ์‹œ ํ•„์š”ํ•œ library๋“ค์„ ์›๊ฒฉ์ง€๋กœ๋ถ€ํ„ฐ ์ž๋™์œผ๋กœ local ์‹œ์Šคํ…œ์— ๋‹ค์šด๋กœ๋“œ MVC Model - View - Contorller ํ™”๋ฉด๊ณผ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ๋ถ„๋ฆฌํ•ด ์ฝ”๋“œ ๊ฐ„์˜ ์ข…์†์„ฑ์„ ์ค„์ด๊ณ  ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์˜ ์—ญํ• ์„ ๋ช…..