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

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

(32)
๊ฐœ์ธ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘! ํ‰์†Œ ํ•˜๊ณ  ์‹ถ์—ˆ๋˜ ๊ฒƒ ์ค‘์— ๋‚˜๋งŒ์˜ ํ™ˆํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๋Š” ๊ฒƒ์ด ์žˆ์—ˆ๋‹ค.์›๋ž˜๋Š” ์ทจ์ค€์„ ํ•˜๋ฉฐ ๊ฐœ๋ฐœ์„ ์žŠ์ง€ ์•Š๊ธฐ ์œ„ํ•ด(?) ์ง„ํ–‰ํ•˜๋ ค๊ณ  ํ–ˆ์œผ๋‚˜ ์šด์ด ์ข‹๊ฒŒ ๊ธˆ๋ฐฉ ์ทจ์ง์„ ํ•˜์—ฌ ๋’ท์ „์ด ๋ผ๋ฒ„๋ฆฐ ๊ณ„ํš์ด์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์˜ฌํ•ด 1์›”, ์‹ ๋…„ ๋ชฉํ‘œ๋ฅผ ์„ธ์šฐ๋ฉฐ ํฌํŠธํด๋ฆฌ์˜ค ์‚ฌ์ดํŠธ ๋งŒ๋“ค๊ธฐ๋ฅผ ๊ณผ๊ฐํžˆ ๊ธฐ๋กํ•˜์˜€์œผ๋‚˜.. 2024๋…„์ด ์„ธ ๋‹ฌ ๋‚จ์€ ์ง€๊ธˆ ๋“œ๋””์–ด ์‹œ์ž‘ํ•ด ๋ณด๋ ค๊ณ  ํ•œ๋‹ค ใ…Žใ…Ž.. ์šฉ๋„๋Š” SSAFY๋ฅผ ํ•˜๋ฉด์„œ ์ง„ํ–‰ํ–ˆ๋˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ •๋ฆฌํ•˜์—ฌ ํฌํŠธํด๋ฆฌ์˜ค๋กœ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๊ฐœ์ธ ์ผ์ƒ์„ ๋„์ ๋„์  ๊ธฐ๋กํ•ด๋‘๋Š” ๊ทธ๋Ÿฐ ๊ณต๊ฐ„์œผ๋กœ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•œ๋‹ค.์‚ฌ์‹ค ๊ณ„์† ๋ฏธ๋ค˜๋˜ ๊ฐ€์žฅ ํฐ ์ด์œ ๋Š” ์ƒ๊ฐ๋ณด๋‹ค ํ•ด์•ผํ•  ๊ฒŒ ๋„ˆ~~~~~~~~๋ฌด ๋‚˜๋„ ๋งŽ์•„์„œ๋‹ค.์„œ๋ฒ„, ๋ฏธ๋“ค์›จ์–ด, ์–ธ์–ด, ๋ฒ„์ „, ํ”„๋ ˆ์ž„์›Œํฌ.......... ๋ฒŒ์จ ๋จธ๋ฆฌ์•„ํ”„์ง€๋งŒ ํ•˜๋‚˜์”ฉ ์ง„ํ–‰ํ•ด๋ณด๊ฒ ๋‹ค.
43์ธ์น˜ ์‚ผ์„ฑ ์Šค๋งˆํŠธ๋ชจ๋‹ˆํ„ฐ M7 S43BM700 4K UHD ํ›„๊ธฐ ์ด๋ฒˆ์— ํœด๋Œ€ํฐ + ์ธํ„ฐ๋„ท๋ฅผ ์„ค์น˜ํ•˜๋ฉด์„œ ํ”„๋ฆฌ๋ฏธ์—„ ์‹ฑ๊ธ€๊ฒฐํ•ฉ์œผ๋กœ ๋ฌถ์œผ๋ฉด ํ• ์ธ์ด ํฌ๊ธธ๋ž˜ tv๊นŒ์ง€ ๊ฐ€์ž…ํ–ˆ๋‹ค.. ๊ฒฐํ•ฉ ๊ฐ€์ž…ํ•˜๋ฉด์„œ ์ž์ทจ๋ฐฉ์— ๋†“์„ tv๊ฐ€ ํ•„์š”ํ–ˆ๋Š”๋ฐ ๋งˆ์นจ ํ•ซ๋”œ์ด ๋– ์„œ ๊ตฌ์ž…ํ–ˆ๋‹ค. ์ƒ๊ฐ๋ณด๋‹ค ํฌ๊ณ  ๊น”๋”ํ•˜๊ณ  ํ™”์งˆ์ด ์ข‹๋‹ค. ๊ธฐ๊ฐ€์ง€๋‹ˆ๋ž‘ ์—ฐ๊ฒฐ๋„ ์ž˜ ๋œ๋‹ค. ๊ฐ€๊ฒฉ๋Œ€๋น„ ์„ฑ๋Šฅ ์งฑ!
SSAFY ํŠนํ™”ํ”„๋กœ์ ํŠธ ํšŒ๊ณ  ๐Ÿ’– NFT ํ—Œํ˜ˆ์ฆ์„œ ํ”Œ๋žซํผ ๐Ÿ’– ํ”„๋กœ์ ํŠธ ์ผ์ • ๐Ÿ“… 2023-02-20(์›”) ~ 2023-04-07(๊ธˆ) (7์ฃผ) ํŠนํ™” ํ”„๋กœ์ ํŠธ๋Š” 4์ฐจ ์‚ฐ์—…ํ˜๋ช… ๋„๋ฉ”์ธ ์ค‘ ํ•œ ๊ฐ€์ง€ ์ฃผ์ œ๋ฅผ ์„ ํƒํ•˜๊ณ  ํ•ด๋‹น ๋„๋ฉ”์ธ์˜ ๊ธฐ์ˆ  ์Šคํƒ์„ ์ด์šฉํ•˜์—ฌ ์ง„ํ–‰ํ•˜๋Š” ํ”„๋กœ์ ํŠธ์ด๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๊ณตํ†ต ํ”„๋กœ์ ํŠธ์—์„œ ๋Œ€๋ถ€๋ถ„์˜ ๊ต์œก์ƒ์ด ์ตœ์„ ์„ ๋‹คํ•˜๊ณ  ๋ฒˆ์•„์›ƒ์ด ์˜ค๋Š” ์‹œ๊ธฐ์ด๊ธฐ๋„ ํ•˜๋ฉฐ.. ๋„๋ฉ”์ธ์˜ ๋‚œ์ด๋„๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ธ์ง€ ํŠนํ™” ํ”„๋กœ์ ํŠธ๋Š” ์ „์ฒด์ ์œผ๋กœ ๊ฒฐ๊ณผ๋ฌผ์˜ ํ€„๋ฆฌํ‹ฐ๊ฐ€ ๋†’๊ฒŒ ๋‚˜์˜ค์ง€ ์•Š๋Š”๋‹ค. ํ•˜์ง€๋งŒ ๋‚˜๋Š” ๊ณตํ†ต ํ”„๋กœ์ ํŠธ์—์„œ ์•„์‰ฌ์›€์„ ๋งŽ์ด ๋‚จ๊ฒผ๊ธฐ ๋•Œ๋ฌธ์— ํŠนํ™”์—์„œ๋Š” ์ข‹์€ ๊ฒฐ๊ณผ๋ฌผ์„ ๋‚ด๊ณ  ์‹ถ์—ˆ๋‹ค. ํ‰์†Œ ๊ด€์‹ฌ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ๋™๊ธฐ๋ฅผ ๊ตฌ์• (?) ๋์— ์˜์ž…์— ์„ฑ๊ณตํ–ˆ๊ณ  ์ „๊ณต4(ํ”„2, ๋ฐฑ2) ๋น„์ „๊ณต2(ํ”„1, ๋ฐฑ1)์˜ ํŒ€์ด ์™„์„ฑ๋˜์—ˆ๋‹ค. ๋„๋ฉ”์ธ์„ ์„ ํƒํ•˜๋Š” ๋ฐ ์žˆ์–ด์„œ ํŒ€ ํšŒ์˜๋ฅผ ๋งŽ์ด ์ง„ํ–‰ํ•˜์˜€๊ณ  ..
ํ”„๋กœ์ ํŠธ ๋ฐฉ๋ฒ•๋ก  ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•๋ก  ํ”„๋กœ์ ํŠธ๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ์‚ฌ์šฉํ•˜๋Š” ์›์น™๊ณผ ๊ธฐ๋ฒ•, ์ ˆ์ฐจ๋กœ ์ด๋ฃจ์–ด์ง„ ์‹œ์Šคํ…œ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ๊ตฌ์กฐ์ ์œผ๋กœ ์กฐ์ง๋œ ๋ฐฉ์‹์ด ๋‹ค์–‘ํ•˜๋‹ค. ์ž‘์—… ๊ฒฐ๊ณผ๋ฌผ, ์ž‘์—… ํ๋ฆ„, ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ ์ฐจ์ด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ํ”„๋กœ์ ํŠธ ์‹คํ–‰๋ฒ•์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ œ๊ณตํ•œ๋‹ค. ํšจ๊ณผ์ ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ์šด์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ผ์ข…์˜ ๊ฐ€์ด๋“œ, ํ…œํ”Œ๋ฆฟ ๋ฐฉ๋ฒ•๋ก ์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ? ๋ช…ํ™•์„ฑ ์—ญํ• ์ด ํˆฌ๋ช…ํ•˜๊ฒŒ ์ •์˜๋˜๊ธฐ ๋•Œ๋ฌธ์— ์˜์‚ฌ ๊ฒฐ์ • ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐœ์„ ํ•˜๊ณ  ์ฑ…์ž„์„ ๋ณด์žฅํ•œ๋‹ค. ๊ฐ€์‹œ์„ฑ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•๋ก ์€ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ์ œ์–ดํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ๋‹ค. ํšจ์œจ์„ฑ ์ „์ฒด ์ผ์ •๊ณผ ์˜ˆ์‚ฐ์„ ์ค„์ด๊ณ  ๋‹ค์Œ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋ฐฐ์šด ๊ตํ›ˆ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์–ด ์„ฑ๊ณต๊ฐ€๋Šฅ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค. ํญํฌ์ˆ˜(Waterfall) ๊ฐ€์žฅ ์˜ค๋žœ ๊ธฐ๊ฐ„ ํ”„๋กœ..
Spring Webflux Spring Webflux Spring5์—์„œ ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€๋œ ๋ชจ๋“ˆ ๋น„๋™๊ธฐ์ ์ธ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์„ ์ง€์› Reactor ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฆฌ์•กํ‹ฐ๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง€์› ์ ์€ ์Šค๋ ˆ๋“œ๋กœ ๋งŽ์€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ HTTP ํด๋ผ์ด์–ธํŠธ๋„ ์ œ๊ณต ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง€์› Java์™€ Kotlin ๋ชจ๋‘์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ Spring Boot์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ• ๊ฐ€๋Šฅ webmvc Spring MVC๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ blocking์ด๊ณ  ๋™๊ธฐ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค. ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์ด ๋“ค์–ด์˜ฌ ๋•Œ๋งˆ๋‹ค Thread๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์ฒ˜๋ฆฌํ•œ๋‹ค. ๋ณดํ†ต์€ ์š”์ฒญ ์‹œ๋งˆ๋‹ค ์Šค๋ ˆ๋“œ๋ฅผ ์ƒ์„ฑ, ์‚ญ์ œํ•ด ์ฃผ๋ฉด ์ผ์ •ํ•œ ๋ฆฌ์†Œ์Šค๊ฐ€ ์ง€์†์ ์œผ๋กœ ์†Œ๋ชจ๋˜๋ฏ€๋กœ Thread๋ฅผ ๋ฏธ๋ฆฌ ์ƒ์„ฑํ•ด ์ €์žฅํ•ด ๋‘๋Š” Thread Pool ์„ ์ƒ์„ฑํ•ด ์‚ฌ์šฉํ•œ๋‹ค. spring mvc..
Spring WebClient Spring WebClient consumer(์š”์ฒญ์ž)๊ฐ€ producer(์ œ๊ณต์ž)์—๊ฒŒ ์š”์ฒญํ•  ๋•Œ ๊ฐ€์žฅ ํ”ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด Http Client์ด๋‹ค. Spring WebClient๋Š” ์›น์œผ๋กœ API๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” Http Client ๋ชจ๋“ˆ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ํ˜„์žฌ Java์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” Http Client๋Š” RestTemplate์ด๋‹ค. RestTemplate vs WebClient ๊ณตํ†ต์  Spring์—์„œ ์ œ๊ณตํ•˜๋Š” HTTP ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. HTTP GET, POST, PUT, DELETE ๋“ฑ ๋ชจ๋“  HTTP ๋ฉ”์„œ๋“œ๋ฅผ ์ง€์›ํ•œ๋‹ค. ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ HTTP ์š”์ฒญ ํ—ค๋” ๋ฐ ๋ฐ”๋””๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. ์‘๋‹ต์„ ๋ฐ›์„ ๋•Œ, JSON, XML, ๋ฐ”์ด๋„ˆ๋ฆฌ ๋“ฑ ๋‹ค์–‘ํ•œ ํ˜•์‹์˜ ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฐจ์ด..
NoSQL์— ๋Œ€ํ•ด์„œ NoSQL Not only SQL or Not SQL ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ์ง€์–‘ ํ•˜๋ฉฐ ๋Œ€๋Ÿ‰์˜ ๋ถ„์‚ฐ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์กฐํšŒํ•˜๋Š” ๋ฐ ํŠนํ™” ์Šคํ‚ค๋งˆ ์—†์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ฑฐ๋‚˜ ๋А์Šจํ•œ ์Šคํ‚ค๋งˆ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ €์žฅ์†Œ ์“ฐ๊ธฐ/์ฝ๊ธฐ ์„ฑ๋Šฅ์— ํŠนํ™” ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ์— ์ž„์‹œ ์ €์žฅํ•˜๊ณ  ์‘๋‹ตํ•˜๋Š” ๋“ฑ์˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ œ๊ณตํ•˜์ง€ ๋ชปํ•˜๋Š” ์„ฑ๋Šฅ๊ณผ ํŠน์ง•์„ ์ œ๊ณต RDBMS์˜ ํ•œ๊ณ„ ๋งŽ์€ ๋ฐ์ดํ„ฐ๋Ÿ‰๊ณผ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋Ÿ‰์ด ๊ณ„์†์ ์œผ๋กœ ์ฆ๊ฐ€ํ•œ๋‹ค๋ฉด RDBMS๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฌธ์ œ์ ์„ ๊ฐ€์ง„๋‹ค. ์Šคํ‚ค๋งˆ ๋ฌธ์ œ : ๋น…๋ฐ์ดํ„ฐ๋ฅผ RDB์˜ ์Šคํ‚ค๋งˆ์— ๋งž์ถฐ ๋ณ€๊ฒฝํ•ด์„œ ๋„ฃ์œผ๋ ค๋ฉด ๋งค์šฐ ๊ธด ์‹œ๊ฐ„์˜ down time์ด ๋ฐœ์ƒ ์Šค์ผ€์ผ์—…์˜ ํ•œ๊ณ„ : RDBMS๋Š” ์Šค์ผ€์ผ์•„์›ƒ์„ ์—ผ๋‘์— ๋‘๊ณ  ์„ค๊ณ„๋˜์ง€ ์•Š์•˜๋‹ค. ๊ด€๊ณ„ ๋ชจ๋ธ๊ณผ ํŠธ๋žœ์žญ์…˜์˜ ์—ฐ์‚ฐ, ์ผ๊ด€์„ฑ, ์†์„ฑ์„ ์œ ..
Message Queue Message Queue ํ”„๋กœ์„ธ์Šค ๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ†ต์‹  ๋ฐฉ๋ฒ• ์ค‘์— ํ•˜๋‚˜๋กœ, ๋ฉ”์‹œ์ง€ ์ง€ํ–ฅ ๋ฏธ๋“ค์›จ์–ด(Message Oriented Middleware:MOM)๋ฅผ ๊ตฌํ˜„ํ•œ ์‹œ์Šคํ…œ ๋ฉ”์‹œ์ง€ ์ง€ํ–ฅ ๋ฏธ๋“ค์›จ์–ด (MOM) ์‘์šฉ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐ„์˜ ๋ฐ์ดํ„ฐ(๋น„๋™๊ธฐ ๋ฉ”์‹œ์ง€) ํ†ต์‹ ์„ ์œ„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๋ฉ”์‹œ์ง€ : ์š”์ฒญ, ์‘๋‹ต, ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ํ˜น์€ ๋‹จ์ˆœํ•œ ์ •๋ณด ๋“ฑ์˜ ์ž‘์€ ๋ฐ์ดํ„ฐ ๋ฉ”์‹œ์ง€ ์ง€ํ–ฅ ๋ฏธ๋“ค์›จ์–ด๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ณด๊ด€ํ•˜๊ฑฐ๋‚˜ ๋ผ์šฐํŒ… ๋ฐ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์„ ๊ฐ€์ง„๋‹ค. ๋ฉ”์‹œ์ง€์˜ ๋ฐฑ์—…์„ ์œ ์ง€ํ•จ์œผ๋กœ์จ ์ง€์†์„ฑ์„ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์†ก์ˆ˜์‹  ์ธก์€ ๋™์‹œ์— ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค ํ•˜๋‚˜์˜ ๋ฉ”์‹œ์ง€๋ฅผ ์—ฌ๋Ÿฌ ์ˆ˜์‹ ์ž์—๊ฒŒ ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค ์†ก์ˆ˜์‹  ์ธก์˜ ์š”๊ตฌ์— ๋”ฐ๋ผ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค => ๋ฉ”์‹œ์ง€ ํ๋Š” ๋ฉ”์‹œ..