์ „์ฒด ๊ธ€ 82

[CI/CD] Github Actions, Jenkins

Github Actions, Jenkins1. CI/CD2. Github Actions3. Jenkins1. CI/CDCI/CD๋Š” ์ง€์†์  ํ†ตํ•ฉ(Continuous Integration)๊ณผ ์ง€์†์  ๋ฐฐํฌ(Continuous Deployment)์ž…๋‹ˆ๋‹ค.์ฝ”๋“œ ์ˆ˜์ • ํ›„ ๋ฐ”๋กœ ๋ฐฐํฌ ํ™˜๊ฒฝ์— ๋ฐ˜์˜๋  ์ˆ˜ ์žˆ๋„๋ก ์ž๋™ํ™”ํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” Github Actions, Jenkins์™€ ๊ฐ™์€ ๋„๊ตฌ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.์ž๋™์œผ๋กœ ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ๊นŒ์ง€์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ง„ํ–‰๋˜์–ด ๋น ๋ฅด๊ณ  ์•ˆ์ •์ ์œผ๋กœ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. - CI/CD ๋™์ž‘ ๋ฐฉ๋ฒ•1. ์ฝ”๋“œ ์ž‘์„ฑ๊ฐœ๋ฐœ์ž๊ฐ€ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด Git ์ €์žฅ์†Œ์— ๋ณ€๊ฒฝ๋œ ์ฝ”๋“œ๋ฅผ ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค. 2. ๋นŒ๋“œ์ฝ”๋“œ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด CI/CD ํŒŒ์ดํ”„๋ผ์ธ์ด ์ž๋™์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. 3. ..

๐ŸŒ Infra 2025.01.15

[Spring Security] Spring Security (feat. OAuth2 ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ ๋™์ž‘ ๊ณผ์ •)

Spring Security (feat. OAuth2 ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ ๋™์ž‘ ๊ณผ์ •)1. Spring Security2. Spring Security๋ฅผ ํ™œ์šฉํ•˜์—ฌ OAuth2 ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ ๋™์ž‘ ๊ณผ์ •1. Spring SecuritySpring ๊ธฐ๋ฐ˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ธ์ฆ, ์ธ๊ฐ€ ๋“ฑ์˜ ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. 2. Spring Security๋ฅผ ํ™œ์šฉํ•˜์—ฌ OAuth2 ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ ๋™์ž‘ ๊ณผ์ • - ๋™์ž‘ ๊ณผ์ •1. ๋กœ๊ทธ์ธ ์š”์ฒญ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.  2. ์ธ์ฆ ์š”์ฒญ๋กœ๊ทธ์ธ ์š”์ฒญ์ด ์„ฑ๊ณตํ•˜๋ฉด, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๊ตฌ๊ธ€ OAuth2 ์ธ์ฆ ์•ค๋“œํฌ์ธํŠธ ์„œ๋ฒ„(Authorization Server)๋กœ ์‚ฌ์šฉ์ž๋ฅผ ๋ณด๋‚ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.  3. ๋กœ๊ทธ์ธ(๊ถŒํ•œ ๋ถ€์—ฌ)๊ตฌ๊ธ€ ์ธ์ฆ ์„œ๋ฒ„๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธํ•˜๋Š” ํ™”๋ฉด์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๊ตฌ..

[AI] LLM, ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜

LLM, ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜1. LLM2. ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜1. LLMLLM(Large Language Model)์€ ๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ(NLP)์™€ ์ž์—ฐ์–ด ์ดํ•ด(NLU)์˜ ์ฃผ์š” ๊ธฐ์ดˆ ๊ธฐ์ˆ ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ฐฉ๋Œ€ํ•œ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šตํ•˜์—ฌ ํ…์ŠคํŠธ ์ƒ์„ฑ, ๋ฌธ๋งฅ ์ดํ•ด, ๋ฒˆ์—ญ, ์งˆ๋ฌธ ๋‹ต๋ณ€, ์š”์•ฝ ๋“ฑ์˜ ์ž‘์—…์— ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ƒ์„ฑํ˜• AI ๋“ฑ์„ ์˜ˆ๋กœ ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 2. ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์‚ฌ์šฉ์ž์˜ ์„ ํ˜ธ๋„์™€ ํ–‰๋™ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ ํ•ฉํ•œ ์ฝ˜ํ…์ธ ๋ฅผ ์ถ”์ฒœํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ข…๋ฅ˜๋Š” ํ˜‘์—… ํ•„ํ„ฐ๋ง, ์ฝ˜ํ…์ธ  ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง, ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ํ•„ํ„ฐ๋ง, ์ง€์‹ ๊ธฐ๋ฐ˜ ์ถ”์ฒœ, ๊ธฐ๊ณ„ ํ•™์Šต ๊ธฐ๋ฐ˜ ์ถ”์ฒœ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.์ฐธ๊ณ  ์‚ฌ์ดํŠธ ๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ(LLM)์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? | IBM๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ์€ ๋ฐฉ๋Œ€ํ•œ ์–‘์˜ ํ…์ŠคํŠธ ..

๐Ÿค– AI 2025.01.14

[Test] JUnit, Jest

JUnit, Jest1. ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๊ฐœ๋…2. ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๋„๊ตฌ ์ข…๋ฅ˜1. ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๊ฐœ๋…๋‹จ์œ„ ํ…Œ์ŠคํŠธ(Unit Test)๋Š” ์ฝ”๋“œ์˜ ๊ฐœ๋ณ„ ํ•จ์ˆ˜๋‚˜ ๋ฉ”์„œ๋“œ๊ฐ€ ์˜๋„๋Œ€๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.์™ธ๋ถ€ ์‹œ์Šคํ…œ๊ณผ์˜ ์˜์กด์„ฑ์„ ์ตœ์†Œํ™”ํ•˜๊ณ , ๋‹จ์ˆœํžˆ ํ•ด๋‹น ํ•จ์ˆ˜์˜ ๋กœ์ง๋งŒ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค. 2. ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๋„๊ตฌ ์ข…๋ฅ˜- JUnitJava์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. @Test ์–ด๋…ธํ…Œ์ด์…˜์„ ํ†ตํ•ด ํ…Œ์ŠคํŠธ ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ(TDD)์„ ์ง€์›ํ•˜๋ฉฐ assert ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. - JestJavascript/Typescript ํ™˜๊ฒฝ์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.๋ชจ์˜ ๊ฐ์ฒด(mocking), ์Šค๋ƒ…์ƒท ํ…Œ์ŠคํŠธ์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ๋‚ด์žฅํ•˜๊ณ  ์žˆ์–ด ๋ณต์žกํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์‰ฝ..

[AI] ํŒจ์…˜ MNIST ๋ฐ์ดํ„ฐ์…‹ ์‚ฌ์šฉํ•ด์„œ ์ธ๊ณต์ง€๋Šฅ ํ•™์Šตํ•˜๊ธฐ

ํŒจ์…˜ MNIST ๋ฐ์ดํ„ฐ์…‹ ์‚ฌ์šฉํ•ด์„œ ์ธ๊ณต์ง€๋Šฅ ํ•™์Šตํ•˜๊ธฐ1. MNIST2. ์ฝ”๋“œ ์„ค๋ช… ์ธ๊ณต์ง€๋Šฅ ๋ณต์Šตํ•˜๊ธฐ ์œ„ํ•ด ํฌ์ŠคํŒ… ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.1. MNIST๋จธ์‹ ๋Ÿฌ๋‹๊ณผ ๋”ฅ๋Ÿฌ๋‹์„ ์ฒ˜์Œ ๋ฐฐ์šธ ๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ์…‹ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. 2. ์˜ˆ์ œ ์ฝ”๋“œ# ํŒจ์…˜ MNIST ๋ฐ์ดํ„ฐ์…‹ ๋กœ๋“œfashion_mnist = keras.datasets.fashion_mnist(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data() ํŒจ์…˜ MNIST ๋ฐ์ดํ„ฐ์…‹์„ ๋กœ๋“œํ•œ ํ›„ ๋ฐ์ดํ„ฐ์…‹์„ ํ›ˆ๋ จ์šฉ๊ณผ ํ…Œ์ŠคํŠธ์šฉ์œผ๋กœ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค.ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ๋Š” ๋ชจ๋ธ์„ ํ•™์Šตํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ์ด๊ณ , ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋Š” ๋ชจ๋ธ์„ ํ…Œ์ŠคํŠธํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. # ํด๋ž˜์Šค ์ด๋ฆ„ ์ •์˜class..

๐Ÿค– AI 2025.01.14

[NoSQL] Redis

Redis1. NoSQL2. Redis1. NoSQLNoSQL(Not Only SQL, Non-Relational Operational Database)์€ ๋น„๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค.๋ฌธ์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ํ‚ค-๊ฐ’ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ์™€์ด๋“œ ์ปฌ๋Ÿผ ์Šคํ† ์–ด, ๊ทธ๋ž˜ํ”„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋“ฑ์˜ ์œ ์—ฐํ•œ ์Šคํ‚ค๋งˆ๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ ๊ด€๊ณ„ํ˜• ํ…Œ์ด๋ธ”๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ์œ ํ˜•์œผ๋กœ  ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ํฌ์ŠคํŒ…์—์„œ๋Š” Redis์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 2. RedisRedis๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜์˜ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ์ž…๋‹ˆ๋‹ค.RDBMS๋Š” ๋””์Šคํฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ๋•Œ๋ฌธ์— ์š”์ฒญ์ด ๋งŽ์•„์งˆ ์ˆ˜๋ก ๋ถ€ํ•˜๊ฐ€ ๋งŽ์•„ ๋А๋ ค์งˆ ๊ฐ€๋Šฅ์„ฑ์„ ๊ณ ๋ คํ•ด ์บ์‹œ ์„œ๋ฒ„๋ฅผ ๋„์ž…ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ณ , ์ด ์บ์‹œ ์„œ๋ฒ„์˜ ๊ธฐ๋Šฅ์„ Redis๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ..

๐Ÿ“— CS 2025.01.13

[MQ] Pub/Sub ๊ตฌ์กฐ - RabbitMQ, Kafka, Redis

Pub/Sub ๊ตฌ์กฐ - RabbitMQ, Kafka, Redis1. Pub/Sub ๊ตฌ์กฐ2. RabbitMQ3. Kafka4. Redis1. Pub/Sub ๊ตฌ์กฐPub/Sub์€ ๋ฐœํ–‰/๊ตฌ๋… ๋ชจ๋ธ๋กœ ๋ฉ”์‹œ์ง€ ์ „๋‹ฌ ๋ฐฉ์‹์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.๋ฐœํ–‰์ž(Publisher)์™€ ๊ตฌ๋…์ž(Subscriber) ๊ฐ„์˜ ์ง์ ‘์ ์ธ ์—ฐ๊ฒฐ์„ ์—†์• ๊ณ , ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค(Message Broker)๋ฅผ ํ†ตํ•ด ๋ฉ”์‹œ์ง€๋ฅผ ์ฃผ๊ณ  ๋ฐ›์Šต๋‹ˆ๋‹ค. - ๋™์ž‘ ๋ฐฉ์‹1. ๋ฐœํ–‰๋ฐœํ–‰์ž๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํŠน์ • ์ฃผ์ œ(Topic)๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค.๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค๋Š” ์ด ๋ฉ”์‹œ์ง€๋ฅผ ํ•ด๋‹น ์ฃผ์ œ๋ฅผ ๊ตฌ๋…ํ•œ ๊ตฌ๋…์ž๋“ค์—๊ฒŒ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. 2. ๊ตฌ๋…๊ตฌ๋…์ž๋Š” ๊ด€์‹ฌ ์žˆ๋Š” ์ฃผ์ œ(Topic)๋ฅผ ๊ตฌ๋…ํ•ฉ๋‹ˆ๋‹ค.๊ตฌ๋…ํ•œ ์ฃผ์ œ์—์„œ ๋ฐœํ–‰๋œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค๋กœ๋ถ€ํ„ฐ ์ˆ˜์‹ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” RabbitMQ, Kafk..

๐ŸŒ Infra 2025.01.13

[Docker] Docker, Docker Compose, Kubernetes

Docker, Docker Compose, Kubernetes1. Docker2. Docker Compose3. Kubernetes1. DockerDocker๋Š” ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜์˜ ์˜คํ”ˆ์†Œ์Šค ๊ฐ€์ƒํ™” ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.์ปจํ…Œ์ด๋„ˆ๋Š” ๊ฒฉ๋ฆฌ๋œ ๊ณต๊ฐ„์—์„œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๊ธฐ์ˆ ์œผ๋กœ, ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์‹คํ–‰ํ™˜๊ฒฝ์„ ์ปจํ…Œ์ด๋„ˆ๋กœ ์ถ”์ƒํ™”ํ•˜๊ณ  ๋™์ผํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฐฐํฌ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ๋‹จ์ˆœํ•˜๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ์‰ฝ๊ณ  ๋น ๋ฅธ ์‹คํ–‰ ํ™˜๊ฒฝ ๊ตฌ์ถ•, ํ•˜๋“œ์›จ์–ด ์ž์› ์ ˆ๊ฐ, Docker Hub์™€ ๊ฐ™์€ ๊ณต์œ  ํ™˜๊ฒฝ ์ œ๊ณต ๋“ฑ์˜ ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.๊ฐœ๋ฐœ ์ดˆ๊ธฐ์˜ ์˜ค๋ฒ„ํ—ค๋“œ, Linux ์นœํ™”์ ์ธ ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.  - DockerfileDockerfile์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ์ •์˜ํ•˜๋Š” ํ…์ŠคํŠธ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.๋ฒ ์ด์Šค ์ด๋ฏธ์ง€, ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ํ™˜๊ฒฝ ๋ณ€์ˆ˜, ์• ..

๐ŸŒ Infra 2025.01.13

[Arch] MSA (feat. Monolithic)

MSA (feat. Monolithic)1. Monolithic2. MSA1. Monolithic๋ชจ๋†€๋ฆฌ์‹ ์•„ํ‚คํ…์ฒ˜(Monolithic Architecture)๋Š” ํ•œ ํ”„๋กœ์ ํŠธ์— ๋ชจ๋“  ๊ธฐ๋Šฅ์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š” ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค. ์ดˆ๊ธฐ ๊ฐœ๋ฐœ์— ์œ ๋ฆฌํ•˜๊ณ , ๋ณต์žกํ•œ ํ†ต์‹  ์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.ํ•˜์ง€๋งŒ ํ•œ ํ”„๋กœ์ ํŠธ์— ๋ชจ๋“  ๊ธฐ๋Šฅ์ด ํฌํ•จ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ถ€ ๊ธฐ๋Šฅ์„ ์ˆ˜์ •ํ•  ๋•Œ, ์ „์ฒด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ˆ˜์ •ํ•ด์•ผํ•˜๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. 2. MSA(MicroService Architecture)MSA(MicroService Architecture)๋Š” ๋ชจ๋†€๋ฆฌ์‹ ์•„ํ‚คํ…์ฒ˜(Monolithic Architecture)์˜ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž‘์€ ์„œ๋น„์Šค๋กœ ๊ตฌ์„ฑ๋˜์–ด ๊ฐ ์„œ๋น„์Šค๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐœ๋ฐœ๋˜๊ณ  ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค...

๐Ÿ“— CS 2025.01.13

[MQ] Springboot STOMP ํ”„๋กœํ† ์ฝœ์œผ๋กœ Web Socket ํ†ต์‹ ํ•˜๊ธฐ

Springboot STOMP ํ”„๋กœํ† ์ฝœ์œผ๋กœ Web Socket ํ†ต์‹ ํ•˜๊ธฐ1. ๋ฉ”์‹œ์ง€ ํ(Message Queue)2. STOMP ํ”„๋กœํ† ์ฝœ3. Springboot STOMP ํ”„๋กœํ† ์ฝœ์œผ๋กœ Web Socket ํ†ต์‹ ํ•˜๊ธฐ1. ๋ฉ”์‹œ์ง€ ํ(Message Queue)๋ฉ”์‹œ์ง€ ํ(Message Queue)๋Š” ๋น„๋™๊ธฐ์ ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„์˜ ํ†ต์‹ ์„ ํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.๋ฉ”์‹œ์ง€๋ฅผ ํ(Queue)์— ์ž„์‹œ์ ์œผ๋กœ ์ €์žฅํ•˜์—ฌ, FIFO(First-In-First-Out, ์„ ์ž…์„ ์ถœ)๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฉ”์‹œ์ง€ ํ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” RabbitMQ, Kafka์™€ ๊ฐ™์€ ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค(Message Broker)๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.ํ•ด๋‹น ํฌ์ŠคํŒ…์—์„œ๋Š” RabbitMQ์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 2. STOMP ํ”„๋กœํ† ์ฝœSTOMP(Simple Text Oriented..

๐ŸŒ Infra 2025.01.12