BackEnd/Spring Boot

[์ด์ „ ํฌ์ŠคํŒ…] RDB๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํšจ๊ณผ์ ์ธ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ๋ฐฉ๋ฒ• 2023.11.04 - [BackEnd/Spring] - [Spring] ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์—์„œ ํšจ๊ณผ์ ์ธ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ๋ฐฉ๋ฒ• (1) - Transaction Outbox Pattern & Polling Publisher Pattern 2. RabbitMQ๋ฅผ ์‚ฌ์šฉํ•œ ์ „๋‹ฌ ๋ฐฉ๋ฒ• RabbitMQ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ AMQP(Advanced Mssage Queueing Protocol)๋ฅผ ๊ตฌํ˜„ํ•œ ๋ธŒ๋กœ์ปค๋‹ค. ์˜ˆ์ „์— ๊ณต๋ถ€ํ–ˆ๋˜ Publish/Subscribe ๋ฐฉ์‹์„ ์ง€์›ํ•œ๋‹ค. ๋˜ํ•œ, RabbitMQ๋Š” ACK(Acknowledgement) ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ฐ–๊ณ ์žˆ๋‹ค. Publisher๊ฐ€ ๋ฉ”์„ธ์ง€๋ฅผ Queue์— ์ •์ƒ์ ์œผ๋กœ ๋ฐœํ–‰ํ–ˆ๋‹ค๋ฉด Producer Confirm์„, C..
์ตœ๊ทผ ๋งŽ์€ ๊ธฐ์—…๋“ค์ด ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์œผ๋กœ ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ์žˆ๊ณ , ๋‚˜ ๋˜ํ•œ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์— ๊ด€์‹ฌ์ด ๋งŽ๋‹ค. ์ด๋ฒˆ์—” ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ์†์—์„œ, ๊ฐ ์ปดํฌ๋„ŒํŠธ๋“ค ์‚ฌ์ด์— ์–ด๋–ป๊ฒŒ ์ •๋ณด๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„์ง€ ๊ณต๋ถ€ํ•ด๋ณด๊ฒ ๋‹ค. 0. ๋ถ„์‚ฐ์‹œ์Šคํ…œ์ด๋ž€? ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปดํ“จํ„ฐ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‘ ๊ฐœ ์ด์ƒ์˜ ์ปดํฌ๋„ŒํŠธ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š” ์‹œ์Šคํ…œ์ด๋‹ค. ๊ฐ ์ปดํฌ๋„ŒํŠธ๋“ค์€ ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ํฌ๊ฒŒ ์„ธ ๊ฐ€์ง€ ์œ ํ˜•์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ Enterprise-application ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ MSA(Micro Service Architecture) ๋ชจ๋†€๋ฆฌ์‹ ์•„ํ‚คํ…์ณ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ + ๊ฒ€์ƒ‰์—”์ง„ Monolithic Architecture + Search Engine 1. ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ๋ฐฉ๋ฒ• ๊ทธ๋ ‡..
GitHub Action์„ ํ†ตํ•ด์„œ ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๋ฅผ Docker๋กœ ๋ฐฐํฌํ–ˆ๋Š”๋ฐ, ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. 1. GitHub์— ์˜ฌ๋ฆฌ์ง€ ์•Š๋Š” ํŒŒ์ผ - application.yml ์ ์šฉ ์„œ๋ฒ„์— ํ•„์š”ํ•œ applicationํŒŒ์ผ์„ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•ด์•ผ ํ–ˆ๋Š”๋ฐ, raw ํŒŒ์ผ์„ ๊ทธ๋Œ€๋กœ github์— ์˜ฌ๋ ค์„œ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•  ์ˆœ ์—†์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ GitHub Action ์Šคํฌ๋ฆฝํŠธ์— ๋‹ค์Œ์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค. gradle.yml ... - name: Set YML run: | mkdir -p src/main/resources echo "${{ secrets.APPLICATION_YML }}" | base64 --decode > src/main/resources/application.yml find src ... Action Secret์— ๋ฏธ..
*M1 Macํ™˜๊ฒฝ MongoDB ์„ค์น˜ $ brew tap mongodb/brew $ brew install mongodb-community MongoDB ์‹คํ–‰ ๋ฐ ์ •์ง€ ์„œ๋ฒ„ ์‹œ์ž‘ $ brew services start mongodb-community ์„œ๋ฒ„ ์ข…๋ฃŒ $ brew services stop mongodb-community _์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด MongoDB์˜ ๊ธฐ๋ณธ ํฌํŠธ์ธ *_27017** ํฌํŠธ๋กœ ์—ด๋ฆฐ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋œจ๋ฉด ์„œ๋ฒ„ ๊ตฌ๋™์— ์„ฑ๊ณตํ•œ๊ฒƒ ์ด๋‹ค. MongoDB ํ„ฐ๋ฏธ๋„ ํ™œ์šฉํ•˜๊ธฐ $ mongo mongo์„œ๋ฒ„๋ฅผ ๊ตฌ๋™ํ•˜๊ณ , ํ„ฐ๋ฏธ๋„์—์„œ mongo๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ํ„ฐ๋ฏธ๋„์—์„œ ์„œ๋ฒ„์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋‹ค. *zsh: command not found: mongo์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ด์„œ, $ brew install mong..
Redis๋ž€? Redis๋Š” ์˜คํ”ˆ ์†Œ์Šค, ์ธ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์Šคํ† ์–ด์ด๋ฉฐ, ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ง€์›ํ•œ๋‹ค. ์ฃผ์š” ์šฉ๋„๋กœ๋Š” ์บ์‹ฑ, ๋ฉ”์‹œ์ง•, ์„ธ์…˜ ๊ด€๋ฆฌ ๋“ฑ์ด ์žˆ๋‹ค. Redis๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋””์Šคํฌ๊ฐ€ ์•„๋‹Œ ๋ฉ”๋ชจ๋ฆฌ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋ฏ€๋กœ ๋งค์šฐ ๋น ๋ฅธ ์†๋„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ Redis๋Š” ์˜์†์„ฑ์„ ์ง€์›ํ•˜์—ฌ ๋””์Šคํฌ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜๋„ ์žˆ๋‹ค. Redis๋Š” ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ง€์›ํ•˜๋ฉฐ, ํด๋Ÿฌ์Šคํ„ฐ๋ง ๋ฐ ๋งˆ์Šคํ„ฐ-์Šฌ๋ ˆ์ด๋ธŒ ๋ณต์ œ์™€ ๊ฐ™์€ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ๋„ ์ œ๊ณตํ•œ๋‹ค. Redis๋Š” ๋งŽ์€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์œผ๋ฉฐ, ์†๋„์™€ ์„ฑ๋Šฅ์ด ์ค‘์š”ํ•œ ์‹œ์Šคํ…œ์—์„œ ํŠนํžˆ ์œ ์šฉํ•˜๋‹ค. Redis์˜ ์žฅ๋‹จ์  ์žฅ์  ๋น ๋ฅธ ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค Redis๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋””์Šคํฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜ค๋Š”๋ฐ..
์†Œ์…œ ๋กœ๊ทธ์ธ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋น„์Šทํ•˜์ง€๋งŒ, Apple์˜ ๊ฒฝ์šฐ ๋ฐฉ์‹์ด ์กฐ๊ธˆ ๋‹ค๋ฅด๋‹ค. Apple์—์„œ๋Š” identity token์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ค€๋น„๊ณผ์ • 1. Apple Developer ๊ณ„์ • ๋จผ์ € ์• ํ”Œ๋กœ๊ทธ์ธ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„  Apple Developer ๊ณ„์ •์ด ํ•„์š”ํ•˜๋‹ค. Apple Developer Program์— ๊ฐ€์ž…ํ•˜๋ ค๋ฉด $99 (์•ฝ 129,800์›)์ด ํ•„์š”ํ•˜๋‹ค. ํ˜ผ์ž ์—ฐ์Šต์šฉ์œผ๋กœ๋Š” ์กฐ๊ธˆ ๋ถ€๋‹ด๋˜๋Š” ๊ฐ€๊ฒฉ์ด๋‹ค. ๐Ÿฅฒ 2. App ID ๋ฐœ๊ธ‰ ์• ํ”Œ Certificates, Identifiers & Profiles ํƒญ - Identifiers์—์„œ ํ”Œ๋Ÿฌ์Šค ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์•ฑID๋ฅผ ๋งŒ๋“ค์–ด์ค€๋‹ค. ์•ฑ ID๋ฅผ ์„ ํƒํ•˜๊ณ  ๋‹ค์Œ์„ ๋ˆ„๋ฅธ๋‹ค. App์„ ์„ ํƒํ•œ๋‹ค. Descripttion๊ณผ Bundle ID๋ฅผ ์ž…๋ ฅํ•ด์ค€๋‹ค. ๋ณดํ†ต Bun..
ddonghyeo
'BackEnd/Spring Boot' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (3 Page)