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

๊ฐœ๋ฐœ ๊ณต๋ถ€10

์ธํ„ฐ๋„ท ๋„คํŠธ์›Œํฌ โœ… IP (์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ) - ์ธํ„ฐ๋„ท๋ง์„ ํ†ตํ•ด ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›์œผ๋ ค๋ฉด IP์ฃผ์†Œ๋ฅผ ๋ถ€์—ฌ๋ฐ›์•„์•ผ ํ•œ๋‹ค. - ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ์ด๋ž€, ์ง€์ •ํ•œ IP ์ฃผ์†Œ์—๊ฒŒ ํŒจํ‚ท์ด๋ผ๋Š” ํ†ต์‹  ๋‹จ์œ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ทœ์•ฝ์„ ๋งํ•œ๋‹ค. - ํŒจํ‚ท์—๋Š” ์ถœ๋ฐœ์ง€IP์ฃผ์†Œ, ๋ชฉ์ ์ง€IP์ฃผ์†Œ ๋“ฑ์˜ ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ ์žˆ๋‹ค. - ์ธํ„ฐ๋„ท๋ง์— ํŒจํ‚ท์„ ๋˜์ง€๋ฉด ๋…ธ๋“œ -> ๋…ธ๋“œ -> ๋…ธ๋“œ ... ๋กœ ๋˜์ ธ์ง€๋ฉด์„œ ์ตœ์ข… ๋ชฉ์ ์ง€๋กœ ์ „๋‹ฌ๋œ๋‹ค.  โœ… ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ์˜ ํ•œ๊ณ„ ๐Ÿฅ ๋น„์—ฐ๊ฒฐ์„ฑ    - ํŒจํ‚ท์„ ๋ฐ›์„ ๋Œ€์ƒ์ด ์—†๊ฑฐ๋‚˜, ์„œ๋น„์Šค ๋ถˆ๋Šฅ ์ƒํƒœ์—ฌ๋„ ํŒจํ‚ท์€ ์ „์†ก๋œ๋‹ค.    - ์ „์†กํ•˜๋Š” ์ชฝ์€, ๋Œ€์ƒ ์„œ๋ฒ„๊ฐ€ ํŒจํ‚ท์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ์ธ์ง€ ์•Œ ์ˆ˜ ์—†๋‹ค. ๐Ÿฅ ๋น„์‹ ๋ขฐ์„ฑ    - ํŒจํ‚ท์ด ์œ ์‹ค๋˜๊ฑฐ๋‚˜, ์ˆœ์„œ๋Œ€๋กœ ์˜ค์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค.๐Ÿฅ ๊ฐ™์€ IP๋ฅผ ์‚ฌ์šฉํ•˜๋Š”, ์„œ๋ฒ„์—์„œ ํ†ต์‹ ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋‘˜ ์ด.. 2024. 3. 18.
Pub/Sub Architecture โœ… ๊ธฐ๋ณธ ๊ฐœ๋… - Publisher : ํŠน์ • topic(๋˜๋Š” subject) ์— ๋Œ€ํ•œ ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๊ณ , ๋ฉ”์‹œ์ง€๋ฅผ ์‹œ์Šคํ…œ์— ์ „์†กํ•˜๋Š” ์ฃผ์ฒด - Subscriber : ํŠน์ • topic๋“ค์„ ๊ตฌ๋…ํ•˜๊ณ , ๊ตฌ๋…ํ•œ topic์˜ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด, ์ด๋ฒคํŠธ ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ ํ•˜๋Š” ์ฃผ์ฒด  - Publisher์™€ subscriber๋Š” ์„œ๋กœ์˜ ์กด์žฌ๋ฅผ ๋ชจ๋ฅด๋ฉฐ, ์ง์ ‘ ํ†ต์‹ ํ•˜์ง€ ์•Š๋Š”๋‹ค. - ์ œ3์˜ ์š”์†Œ๊ฐ€ publisher์™€ subscriber๋ฅผ ์—ฐ๊ฒฐํ•˜๋ฉฐ ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.  - Publisher์™€ subscriber๊ฐ€ publishing๊ณผ receiving ํ•˜๋Š” ๋™์•ˆ ์„œ๋กœ ์—ฐ๊ฒฐ์„ ์ง€์†ํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฏ€๋กœ ํšจ์œจ์ ์ด๋‹ค.  - ์ตœ์ ์˜ ํšจ์œจ์„ ์œ„ํ•ด, pub/sub ๋ชจ๋ธ์—์„œ๋Š” 3๊ฐ€์ง€ ์ฐจ์›์„ ๋ถ„๋ฆฌํ•œ๋‹ค.      1๏ธโƒฃ ๊ณต๊ฐ„ ๋ถ„๋ฆฌ (Space de.. 2023. 11. 28.
URI vs URN vs URL ์ฐจ์ด์ ? โœ… URI  - Uniform Resource Identifier  - ๋ง ๊ทธ๋Œ€๋กœ, ์ธํ„ฐ๋„ท ์ƒ์˜ ํŠน์ • ๋ฆฌ์†Œ์Šค์˜ ์œ ์ผํ•œ ์‹๋ณ„์ž์ด๋‹ค.  - URI์˜ ํ•˜์œ„ ๊ฐœ๋…์œผ๋กœ, URN๊ณผ URL์ด ์žˆ๋‹ค.   URI, URN, URL์˜ ๊ด€๊ณ„๋Š” ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™๋‹ค.  โœ… URN  -   Uniform Resource Name  -   ๋ฆฌ์†Œ์Šค์˜ ์ด๋ฆ„์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฆฌ์†Œ์Šค ์‹๋ณ„์ž์ด๋‹ค. - URN ์˜ˆ์‹œ     urn:isbn:0451450523  โœ… URL  - Uniform Resource Locator  - ์„œ๋ฒ„์— ์ €์žฅ๋œ ๋ฆฌ์†Œ์Šค์˜ “์œ„์น˜”์™€ “์ ‘๊ทผ ๋ฐฉ๋ฒ•”๊นŒ์ง€ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฆฌ์†Œ์Šค ์‹๋ณ„์ž์ด๋‹ค.  - ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ๋ณด๋Š” ์ธํ„ฐ๋„ท ์ฃผ์†Œ์ฐฝ์— ์ ํžŒ ์ฃผ์†Œ ์ „๋ถ€๊ฐ€ ๋ฐ”๋กœ URL์ด๋‹ค.  - URL ๊ตฌ์กฐ     scheme://host[:port][/path].. 2023. 8. 18.
Spring DI โœ…  DI ํ•„์š”์„ฑ ์šฐ์„  "์˜์กด์„ฑ(Dependency)"์˜ ์˜๋ฏธ์— ๋Œ€ํ•ด ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ•ด๋ณด์ž๋ฉด, ํด๋ž˜์Šค ๊ฐ„ ์˜์กด์„ฑ์ด ์žˆ๋‹ค = ํ•œ ํด๋ž˜์Šค๊ฐ€ ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•œ๋‹ค = ํ•œ ํด๋ž˜์Šค๊ฐ€ ๋ฐ”๋€Œ๋ฉด ๋‹ค๋ฅธ ํด๋ž˜์Šค๋„ ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋‹ค = ํ•œ ํด๋ž˜์Šค๋Š” ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ๋ณ€๊ฒฝ์œผ๋กœ๋ถ€ํ„ฐ ์ž์œ ๋กญ์ง€ ์•Š๋‹ค ์ •๋„๋กœ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒ ๋‹ค.  ์ข‹์€ ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„ ์›์น™(SOLID) ์ค‘DIP(Dependency Inversion Principle, ์˜์กด์„ฑ ์—ญ์ „ ์›์น™)๋Š” ๋ฐ”๋กœ ์ด ์˜์กด์„ฑ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•œ๋‹ค.  - ๊ตฌ์ฒด์— ์˜์กดํ•œ ๊ฒฝ์šฐ: ์ถ”์ƒ ์ธํ„ฐํŽ˜์ด์Šค์— ๋ณ€๊ฒฝ์ด ์ƒ๊ธฐ๋ฉด, ์ด๊ฒƒ์„ ๊ตฌ์ฒดํ™”ํ•œ ๊ตฌํ˜„์ฒด๋“ค๋„ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค. - ์ถ”์ƒ์— ์˜์กดํ•œ ๊ฒฝ์šฐ: ๊ทธ๋Ÿฌ๋‚˜ ๊ตฌํ˜„์ฒด์— ๋ณ€๊ฒฝ์ด ์ƒ๊ธฐ๋”๋ผ๋„, ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋ณ€๊ฒฝ๋  ํ•„์š”๊ฐ€ ์—†๋‹ค. ๋”ฐ๋ผ์„œ ๊ตฌ์ฒด๊ฐ€ ์•„๋‹Œ ์ถ”์ƒ์— ์˜์กดํ•ด์•ผ, ์œ ์—ฐํ•˜๊ณ  ํ™•์žฅ์„ฑ.. 2023. 8. 17.
REST API์™€ URI ์„ค๊ณ„ ๊ทœ์น™ โœ… API๋ž€?  - Application Programming Interface  - ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ธฐ๋Šฅ์„ ์‹คํ–‰์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค    ( ์˜ˆ๋ฅผ ๋“ค๋ฉด , ์šฐ๋ฆฌ๋Š” API๋ฅผ ์ด์šฉํ•˜์—ฌ ํœด๋Œ€ํฐ์˜ ๋ณผ๋ฅจ์„ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋Šฅ, ํ™”๋ฉด์„ ๊ป๋‹ค ์ผœ๋Š” ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. )   - ์„œ๋กœ ๋‹ค๋ฅธ ์†Œํ”„ํŠธ์›จ์–ด๋ผ๋ฆฌ ์ง€์ •๋œ ํ˜•์‹์œผ๋กœ ์š”์ฒญํ•˜๊ณ  ์‘๋‹ต๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค  - ์ฆ‰, ํ•œ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ช…์‹œํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค โœ… REST API ํ•„์š”์„ฑ ์›น์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ๋Š” ๋ธŒ๋ผ์šฐ์ € ๋ฟ๋งŒ์ด ์•„๋‹ˆ๋ผ,์Šค๋งˆํŠธํฐ, ํƒœ๋ธ”๋ฆฟ, ์Šค๋งˆํŠธ ์›Œ์น˜, ์„ผ์„œ, CCTV ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ๊ธฐ๊ธฐ๋“ค์ด ๋  ์ˆ˜ ์žˆ๋‹ค. ์›น ์„œ๋ฒ„๋Š” ์ด์ฒ˜๋Ÿผ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ๋“ค์— ์š”์ฒญ์— ๋Œ€ํ•ด ์ ์ ˆํžˆ ์‘๋‹ตํ•ด.. 2023. 8. 11.
DDD ์„ค๊ณ„, SQL ์ค‘์‹ฌ ์„ค๊ณ„ โœ… DDD์„ค๊ณ„ -  Domain-Driven Design. (๋„๋ฉ”์ธ ์ค‘์‹ฌ ์„ค๊ณ„)     ๐Ÿฅ ๋„๋ฉ”์ธ์ด๋ž€?        - ํŠน์ • ์ฃผ์ œ๋‚˜ ๊ด€์‹ฌ ์˜์—ญ.        - ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ ๋„๋ฉ”์ธ์ด๋ž€, ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์ด๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ฃผ์š” ๋ชฉ์ ์ด ๋˜๋Š” ๋ฌธ์ œ ์˜์—ญ(๋น„์ฆˆ๋‹ˆ์Šค ์˜์—ญ)์ด๋‹ค.  - ์ฆ‰ DDD์„ค๊ณ„๋ž€, ๋น„์ฆˆ๋‹ˆ์Šค ๋„๋ฉ”์ธ์˜ ๋ณต์žก์„ฑ๊ณผ ๊ทœ๋ชจ๋ฅผ ๋ฐ˜์˜ํ•˜์—ฌ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•๋ก ์ด๋‹ค. - ๋„๋ฉ”์ธ ๋ชจ๋ธ์„ ์ค‘์‹ฌ์œผ๋กœ ํ•˜์—ฌ ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ์‚ฌํ•ญ์„ ์ฝ”๋“œ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ ์ดˆ์ ์„ ๋‘”๋‹ค. - ๋„๋ฉ”์ธ ๋ชจ๋ธ์€ ์—”ํ‹ฐํ‹ฐ, ๊ฐ’ ๊ฐ์ฒด(value object), ์• ๊ทธ๋ฆฌ๊ฒŒ์ดํŠธ(aggregate) ๋“ฑ์˜ ๊ฐœ๋…์„ ํ™œ์šฉํ•˜์—ฌ ์„ค๊ณ„ํ•œ๋‹ค.  - ๋ณต์žกํ•œ ์‹œ์Šคํ…œ์„ ๋‹ค๋ฃฐ ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋œ๋‹ค.  ๐Ÿฅ DDD์˜ ํ•ต์‹ฌ ๊ฐœ๋…  - ์œ ๋น„์ฟผํ„ฐ์Šค ์–ธ์–ด (๋ณดํŽธ ์–ธ์–ด)    .. 2023. 8. 3.
728x90