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

์ „์ฒด ๊ธ€250

[Spring Framework] Bean ๋“ฑ๋ก์— ๋Œ€ํ•œ ์žฌ๊ณ  V2 Bean ๋“ฑ๋ก์— ๋Œ€ํ•œ ์žฌ๊ณ SpringBoot์—์„œ Bean์„ ๋“ฑ๋กํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ด ์žˆ์„๊นŒ. 1. ํด๋ž˜์Šค์— ์ง์ ‘ @Component ์• ๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹ 2. @Configuration ์• ๋…ธํ…Œ์ด์…˜์„ ํ™œ์šฉํ•ด @Bean ๋“ฑ๋กํ•˜๋Š” ๋ฐฉ์‹ ์œ„ 2๊ฐ€์ง€ ๋ฐฉ์‹์ด ๋ณดํŽธ์ ์ด๋‹ค.sweeeetgoguma.tistory.com์ด์ „ ํฌ์ŠคํŠธ์— ์ด์–ด ์ด๋ฒˆ์—๋Š” Spring Framework์˜ ์ž๋ž‘! Conditional ์‹œ๋ฆฌ์ฆˆ๋ฅผ ํ™œ์šฉํ•œ Bean ๋“ฑ๋ก์— ๋Œ€ํ•ด ์ž‘์„ฑํ•ด๋ณด๋ ค ํ•œ๋‹ค. ์‹œ์ž‘ํ•˜๋ฉฐ ์˜ฌํ•ด ์ดˆ๋ถ€ํ„ฐ ์ •๋ง ์ผ์ด ๋งŽ๋‹ค. ๋ญ.. ๊ฐˆ ์ˆ˜๋ก ์Œ“์—ฌ๊ฐ„๋‹ค. ๊ธฐ์ˆ ์  ๋ฐฑ๋กœ๊ทธ๋งŒ ๋ช‡ ์‹ญ ๊ฐœ ์ •๋„ ๋˜๋Š” ๋“ฏํ•˜๋‹ค.๋ค์œผ๋กœ ๊ธฐ์ˆ  ๊ณผ์ œ์™€ ๋ถ€์ฑ„๋„ ๋งŽ์ด ๋Š˜์–ด๋‚ฌ๋‹ค. ๋‹น์žฅ ํ•ด๊ฒฐํ•ด์•ผ ํ•˜๋Š” ๊ธ‰ํ•œ ๊ฑด์€ ์•„๋‹ˆ์ง€๋งŒ, ์ด๋ฒˆ ์ฃผ๋Š” ๋‹คํ–‰ํžˆ ์‹œ๊ฐ„์ด ์—ฌ์œ ๋กœ์šด ๊ฒƒ ๊ฐ™์•„ ํ‹ˆํ‹ˆ์ด ๊ฐœ์„ ์„ ํ–ˆ๋‹ค. .. 2025. 3. 18.
์˜ฌ๋ฆผํ”ผ์•„ ๊ฐ„๋‹ค๋Š” ๋งˆ์Œ์œผ๋กœ ์ตœ๊ทผ์— ์šด๋™ ๊ด€๋ จ ์œ ํŠœ๋ธŒ๋ฅผ ๋ณด๋‹ค๊ฐ€, ์ œ๋ชฉ๊ณผ ๊ฐ™์€ ๋Œ“๊ธ€์„ ๋ดค๋‹ค. ๊ทธ ๋Œ“๊ธ€์„ ์ž‘์„ฑํ•˜์‹  ๋ถ„์€ ์ง์žฅ์ธ์ด์…จ๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ ์ •๋ง ์—ด์‹ฌํžˆ ํ•˜์‹œ๋Š” ๊ฒƒ ๊ฐ™๊ณ  ์‹ค์ œ๋กœ ๊ฐœ์ธ ์ฑ„๋„์— ์—…๋กœ๋“œํ•˜์‹  ์šด๋™ ์˜์ƒ๊ณผ ํ”„๋กœํ•„ ์‚ฌ์ง„์„ ๋ดค์„ ๋•Œ ์–ด๋งˆ์–ด๋งˆํ–ˆ๋‹ค.๊ทธ๋Ÿฐ ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ์ผํ•˜๋ฉด์„œ ์šด๋™๊นŒ์ง€ ์—ด์‹ฌํžˆ ํ•˜๊ธฐ ์‰ฝ์ง€ ์•Š์„ ํ…๋ฐ.. ๋Œ€๋‹จํ•œ ์‚ฌ๋žŒ๋“ค ๋งŽ๊ตฌ๋‚˜. ๋‚ด๊ฐ€ ํ•œ์ฐฝ ์šด๋™์„ ์—ด์‹ฌํžˆ ํ•  ๋•Œ, ๋ฐ”๋””๋นŒ๋”ฉ ๋Œ€ํšŒ๋„ ๊ด€์‹ฌ์ด ๋งŽ์•˜๋‹ค. ์ „ ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ๋ชธ ์ข‹์€ ์‚ฌ๋žŒ๋“ค์ด ๋‚˜์˜จ๋‹ค๋Š” Mr.Olympia ๋Š” ๋งค ์—ฐ๋ง์— ์—ด๋ ธ๊ณ , ๋‚œ ํ•ญ์ƒ ์ฑ™๊ฒจ๋ดค์—ˆ๋‹ค.๊ทธ ๋Œ€ํšŒ์— ์ถœ์ „ํ•˜๋Š” ์„ ์ˆ˜๋“ค์€ ๋ชธ๋„ ๋ฌผ๋ก  ํƒ‘๊ธ‰์ด์ง€๋งŒ, ์ •์‹ ๋ ฅ๋„ ํƒ‘๊ธ‰์ด๋ผ๋Š” ์ƒ๊ฐ์„ ํ–ˆ๋‹ค. (์—…์ด๋‹ˆ๊นŒ ๊ทธ๋Ÿด ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.) ๊ทธ ์„ ์ˆ˜ ๋ถ„๋“ค์˜ ์šด๋™ ์˜์ƒ์„ ๋ณด๋ฉด์„œ, ์ผ๋ฐ˜์ธ์ด์ง€๋งŒ ์ตœ๋Œ€ํ•œ ํ‚ค์›Œ๋ณด๊ณ  ์‹ถ์—ˆ๋‹ค.์นดํŽ˜์ธ ์„ญ์ทจ๋„ ๋งŽ์ด ๋Š˜๋ฆฌ๊ณ , .. 2025. 3. 10.
[์ด๋ฒคํŠธ ์†Œ์‹ฑ๊ณผ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜] CH.3 ์ด๋ฒคํŠธ ์†Œ์‹ฑ I ์ด๋ฒˆ ์ฑ•ํ„ฐ๋ฅผ ์ฝ์œผ๋ฉด์„œ, ๊ธฐ์กด์— ๋‚ด๊ฐ€ ์ž‘์„ฑํ•˜๋˜ ์Šคํƒ€์ผ์˜ ๋ชจํ˜ธํ•œ ๊ฐœ๋…๋“ค์ด ๋ช…ํ™•ํžˆ ์ •๋ฆฌ ๋˜๋Š” ๋Š๋‚Œ์ด ๋“ค์—ˆ๋‹ค.์ด๋Ÿฐ ๊ฐœ๋…์„ ๋ช…ํ™•ํžˆ ์ธ์ง€ํ•˜๋ฉด์„œ, ์•ž์œผ๋กœ์˜ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ๋ฉด kotlin ์Šคํƒ€์ผ์˜ ํŒจํ‚ค์ง€ ์ •๋ฆฌ์— ์ข€ ๋” ์ง‘์ค‘ํ•ด์•ผ ๋˜๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ๋„ ๋“ค์—ˆ๋‹ค. ๋ชจ๋“  ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜์ง„ ์•Š์„ ๊ฒƒ์ด๋ฉฐ, ๊ธฐ์กด์— ์•Œ๊ณ  ์žˆ๋˜ ๋‚ด์šฉ ์ด์™ธ์— ์ƒˆ๋กญ๊ฒŒ ๋ฐ›์•„ ๋“ค์ธ ๋‚ด์šฉ๋งŒ ์ •๋ฆฌํ•  ๊ฒƒ์ด๋‹ค!! ๋„๋ฉ”์ธ ์ด๋ฒคํŠธ๋ณ€๊ฒฝ์˜ ๋‹จ์œ„๋ฅผ ๋น„์ฆˆ๋‹ˆ์Šค ์ฒ˜๋ฆฌ ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•œ ๊ฒฐ๊ณผ๋กœ ์ •์˜์ด๋ฒคํŠธ๋ž€ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€ ์ฒ˜๋ฆฌํ•˜๋„๋ก "์‹œ์Šคํ…œ"์— ์š”์ฒญํ•œ ๊ฒƒ์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋Š” ํžŒํŠธ์ด๋ฉด์„œ ๋ณ€๊ฒฝ์ด ๋ฐœ์ƒํ•œ ์ด์œ ์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ…Œ๋ฉด, PasswordChanged ๋ผ๋Š” ๊ฐ์ฒด์˜ ๋„ค์ด๋ฐ์„ ๋ณด๋ฉด, ๋„๋ฉ”์ธ์—์„œ ์–ด๋–ค ์ผ์ด ์ผ์–ด๋‚ฌ๋Š”์ง€ ์ฆ‰์‹œ ์ดํ•ด๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. public class QuantityChan.. 2025. 3. 4.
[์ด๋ฒคํŠธ ์†Œ์‹ฑ๊ณผ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜] CH.2 ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„ ์›์น™ ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ๋Œ€๋ช…์‚ฌ์ธ Java๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ๊ฐœ๋ฐœ์ž๋“ค, ์ฆ‰ ์šฐ๋ฆฌ๋“ค์€ ์ ˆ์ฐจ ์ง€ํ–ฅ์ ์ธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ๊ฐ€ ๋งŽ๋‹ค.์ฒ˜์Œ ๊ฐ์ฒด ์ง€ํ–ฅ์„ ๊ณต๋ถ€ํ•˜๋˜ ๋•Œ, ๊ฐ์ฒด๋ผ๋Š” ๊ฐœ๋…์ด ๊ทธ๋ฆฌ๋„ ๋‚ฏ์„ค์—ˆ๋‹ค.C์–ธ์–ด๋กœ ์ฝ”๋”ฉ ์ž…๋ฌธ์„ ํ–ˆ๊ธฐ์—, ์ ˆ์ฐจ์ ์ธ ์ฝ”๋“œ์™€ ๋ช…๋ น์—๋งŒ ์ต์ˆ™ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.๊ฐ์ฒด ์ง€ํ–ฅ ๊ธฐ๋ฒ•์„ ๊ณต๋ถ€ํ•˜๋ฉด์„œ, ํด๋ž˜์Šค๋ฅผ ์‚ฌ๋žŒ์œผ๋กœ ๋ฐ”๋ผ๋ณด๋ ค ๋…ธ๋ ฅํ–ˆ๊ณ  ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ฑ…๊ณผ ๊ฐ์ฒด ์ง€ํ–ฅ ์ƒํ™œ ์ฒด์กฐ ์›์น™ ๋“ฑ์˜ ๊ฐœ๋…์„ ์ˆ™์ง€ํ•˜๋‹ˆ,์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉฐ ํ›จ์”ฌ Java์Šค๋Ÿฝ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ ๊ฒƒ ๊ฐ™๋‹ค. ํ•˜์ง€๋งŒ, ์•„์ง๋„ ๊ฐ์ฒด ์ฆ‰ ํด๋ž˜์Šค๋ฅผ ์„ค๊ณ„ํ•˜๊ณ  ๋‚˜๋ˆ„๋Š” ๊ฑด ํž˜๋“  ์ผ์ด๋ผ ์ƒ๊ฐํ•œ๋‹ค.๊ทธ๊ฒƒ์€ ๊ณง ์„ค๊ณ„์— ๋Œ€ํ•œ ์˜์—ญ์ด๋ผ ์ƒ๊ฐ์ด ๋“œ๋Š”๋ฐ, ์ตœ๊ทผ์— LinkedIn ์—์„œ ๋ณธ ํ† ๋น„ ๋‹˜์˜ ๊ธ€์ฒ˜๋Ÿผ ๊ฐœ๋ฐœ์ž๋“ค์€ ์„ค๊ณ„๋ฅผ ์ง์ ‘ ๋‹ค๋ฃจ๋ฉฐ ๊ณต๋ถ€ํ•  ์ผ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋ผ๋Š” ์ƒ๊ฐ๋„ ๋“ ๋‹ค. ์ •๋ง ๊ธฐ๋ณธ์ด ๋˜๋Š” ๋‚ด์šฉ์ด์ง€๋งŒ .. 2025. 2. 24.
์‹œ๋„ˆ์ง€ (Feat. ์š”์ฆ˜ ๊ทผํ™ฉ) ์ตœ๊ทผ์— ์ปค๋ฆฌ์–ด ๊ด€๋ จ ๋œ ์—ฌ๋Ÿฌ ํ™œ๋™์— ์ฐธ์—ฌํ•˜๊ณ , ๋‚ด์šฉ์„ ํ•™์Šตํ•˜๋ ค ํ•˜๊ณ  ์žˆ๋‹ค ใ…Žใ…ŽIT ๊ด€๋ จ ์ง€์ธ๋“ค์„ ๋งŽ์ด ๋ต™๊ธฐ๋„ ํ–ˆ๊ณ , ์ฝ˜ํผ๋Ÿฐ์Šค๋‚˜ IT ์™ธ๋ถ€ ์—ฐ๊ณ„ ๋™์•„๋ฆฌ ์„œ๋ฅ˜๋„ ๋„ฃ๊ณ  ๊ณผ์ œ์™€ ๋ฉด์ ‘๋„ ์ˆ˜ํ–‰ํ–ˆ๋‹ค. ์˜ฌํ•ด 1์›”์€ ์ž‘๋…„๊ณผ ๋™์ผํ•˜๊ฒŒ ๋ณด๋‚ด๋‚˜ ์‹ถ์—ˆ๋Š”๋ฐ, ๋งˆ์Œ ์žก๊ณ  ์ด์ œ๋Š” ํ™•์‹คํžˆ ๋” ํ™•์žฅ์ ์ธ ํ™œ๋™์„ ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.๊ฒฐ๊ตญ ๋น„์Šทํ•œ ๋ชฉ์ ์„ ๊ฐ€์ง„ ์‚ฌ๋žŒ๋“ค๊ณผ์˜ ๋„คํŠธ์›Œํ‚น์ด ์ •๋ง ์ค‘์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ซ๋Š” ์ค‘์ธ๋ฐ, ๊ทธ๊ฑธ ์‹คํ–‰์— ์˜ฎ๊ธฐ๊ณ  ์žˆ๋‹ค! ์˜ˆ์ „์— ๊ฐ™์ด ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋˜ ๋ถ„๊ณผ ์˜ค๋žœ๋งŒ์— ๋งŒ๋‚ฌ๋Š”๋ฐ, 11๋ฒˆ๊ฐ€๋กœ ์ด์งํ•˜์‹  ์ด์•ผ๊ธฐ์™€ ์—ฌ๋Ÿฌ ๋„คํŠธ์›Œํ‚น ํ™œ๋™์— ๋Œ€ํ•ด์„œ ์–˜๊ธฐ๋ฅผ ๋“ค์—ˆ๋‹ค. ๋˜, ์ธํ”„๋Ÿฐ ๋ฉ˜ํ† ๋ง๋„ ํ•˜๊ณ  ๊ณ„์‹ ๋‹ค๊ณ  ๋‚˜์—๊ฒŒ ์ถ”์ฒœ๋„ ํ•ด์ฃผ์…จ๋‹ค.์ด๋Ÿฐ ํ™œ๋™๊ณผ ์ •๋ณด๋ฅผ ๋“ค์œผ๋‹ˆ ํ•„์š”์„ฑ์„ ํ™•์‹คํžˆ ๋Š๋ผ๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , ๊ทธ๋‚  ๋ฐ”๋กœ ์ธํ”„๋Ÿฐ ๋ฉ˜ํ† ๋กœ ๋“ฑ๋ก๋„ ํ–ˆ๋‹ค.. 2025. 2. 23.
[์ด๋ฒคํŠธ ์†Œ์‹ฑ๊ณผ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜] CH.1 ๋„๋ฉ”์ธ ์ฃผ๋„ ์„ค๊ณ„ ํ˜„์žฌ ๋‹ค๋‹ˆ๊ณ  ์žˆ๋Š” ํšŒ์‚ฌ๋Š” ์‹ค - ํŒ€ ๊ตฌ์กฐ๋กœ ๋‚˜๋‰˜์–ด ์žˆ๋‹ค.๋‚˜๋Š” ์ œํ’ˆ์‹ค ๋ฐฑ์—”๋“œ ์—”์ง€๋‹ˆ์–ด์ธ๋ฐ, ๊ฒฉ์ฃผ๋กœ ์ œํ’ˆ์‹ค ๋ฐฑ์—”๋“œ ํšŒ์˜๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค. ํ˜„์žฌ ์†ํ•ด ์žˆ๋Š” ํŒ€์—์„œ ํ”„๋ก ํŠธ์—”๋“œ ๋ถ„๋“ค์€ ์ œํ’ˆ์‹ค ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž ๋ถ„๋“ค๋ผ๋ฆฌ ํ…Œ์ŠคํŠธ ๊ด€๋ จ ์Šคํ„ฐ๋””๋ฅผ ํ•˜์‹ ๋‹ค๊ณ  ํ•˜์—ฌ,๋ฐฑ์—”๋“œ๋Š” ๋‚ด๊ฐ€ ํ•œ๋ฒˆ ์Šคํ„ฐ๋””๋ฅผ ์ œ์•ˆํ•˜๋ฉด ์–ด๋–จ๊นŒ๋ž€ ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค!ํšŒ์˜ ๋•Œ, ์Šคํ„ฐ๋”” ์ฃผ์ œ์™€ ์‹œ์ž‘์— ๋Œ€ํ•ด์„œ ์†Œ์Šค๋ฅผ ๋˜์กŒ๊ณ , ๋‚˜ ํฌํ•จ 5๋ช…์ด์„œ ์ œํ’ˆ์‹ค ๋ฐฑ์—”๋“œ ์Šคํ„ฐ๋””๋ฅผ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ํ˜„์žฌ ํŒ€ & ์‹ค ๋ณ„๋กœ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๋ฅผ ์šด์˜ ์ค‘์ด๋ฏ€๋กœ,์ฒซ ์‹œ์ž‘์€ ๋น„๊ต์  ๊ฐ„๊ฒฐํ•˜๊ณ  ์ต์ˆ™ํ•œ ๊ฐœ๋…์ธ ์ด๋ฒคํŠธ ์†Œ์‹ฑ ํ™œ์šฉํ•œ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ ์ฃผ์ œ๋กœ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.๋‚ด๊ฐ€ ์ง„ํ–‰ํ•˜๋Š” ์Šคํ„ฐ๋””๋งŒ ๋ญ ๊ฑฐ์˜ 3๊ฐœ์ธ๋ฐ.. ๊ทธ๋ž˜๋„ ๊ฐ™์ด ํ•˜๋ฉด ๋‹ค ์ข‹์€ ๊ฑฐ์ง€~~ใ…Žใ…Ž์ด ์Šคํ„ฐ๋””๋ฅผ ๋น ๋ฅด๊ฒŒ ๋งˆ์น˜๊ณ , ํšŒ์‚ฌ ์†Œ์Šค์— ์ .. 2025. 2. 13.
[์ž‘๋ฌธ] ์ƒ๊ฐ์˜ ์†๋„์™€ ํ‘œํ˜„์˜ ์กฐ์œจ ์ฃผ์ œ๋ฅผ ์ •ํ•˜์ง€ ์•Š๊ณ , ์ž๊ธฐ ์ „์— ์ƒ๊ฐ ์ •๋ฆฌ ๊ฒธ ์ž‘์„ฑํ•ด ๋ณธ๋‹ค. (๊ธฐ๋ก์„ ์šฐ์„  ๋‚จ๊ธฐ๋˜, ๋‚˜์ค‘์— ์ •ํ•ด๋ณผ ์ƒ๊ฐ์ด๋‹ค.) ๋‚œ ํ‰์†Œ์— ์ƒ๊ฐ์ด ์ •๋ง ๋งŽ์ด ํœ˜๋ชฐ์•„์นœ๋‹ค.์˜๋„์ ์œผ๋กœ ์ฒœ์ฒœํžˆ ๋งํ•˜๋ ค ํ•˜์ง€๋งŒ, ๊ฐ„ํ˜น ์ƒ๊ฐ์ด ์ •๋ฆฌ๊ฐ€ ๋˜์ง€ ์•Š์€ ์ฑ„ ๊ธ‰ํ•˜๊ฒŒ ๋‚˜์˜ฌ ๋•Œ๋„ ์žˆ๋‹ค.๊ทธ๋Ÿด ๋• ์ œ 3์ž๊ฐ€ ๋“ค์–ด๋„ ๋ฌด์Šจ ๋ง์„ ํ•˜๋ ค ํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€ ๋Š๊ปด์งˆ ๋•Œ๋„ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค. ์ง€์ธ๊ณผ ๋Œ€ํ™”๋ฅผ ํ•˜๋ฉฐ ๋Š๋‚€ ๊ฒƒ์€ ์˜๋„์ ์œผ๋กœ ์ฒœ์ฒœํžˆ ๋งํ•  ๋•Œ, ์˜คํžˆ๋ ค ์ „ํ•˜๊ณ ์ž ํ•˜๋Š” ๋ง์ด ๋ช…ํ™•ํžˆ ์ „๋‹ฌ ๋œ๋‹ค๋Š” ์ ์ด๋‹ค.๊ณผํ•™์ ์œผ๋กœ ๊ฒ€์ฆ์ด ๋˜๋Š” ๋‚ด์šฉ์ด๋ผ๊ณ ๋Š” ํ•˜๋Š”๋ฐ, ๊ด€๋ จ ๋„์„œ์ธ ํ™ฉ๋†๋ฌธ ๊ต์ˆ˜์˜ [๋ชฐ์ž…]์ด๋ผ๋Š” ์ฑ…์„ ์ถ”์ฒœ๋ฐ›๊ณ  ์ฝ์–ด๋ณด๋ ค ํ•œ๋‹ค. ์˜ค๋Š˜ ํšŒ์‚ฌ ๋ถ„๋“ค๊ณผ ์ถ•๊ตฌํ•˜๊ณ  ์™”๋‹ค. ์ง‘์— ์™€์„œ ์ €๋… ์‹์‚ฌ ์ „ ์ƒค์›Œ๋ฅผ ํ–ˆ๋‹ค.ํ‰์†Œ์— ์ƒค์›Œ๋ฅผ ์ข€ ๊ธธ๊ฒŒ ํ•˜๋Š” ํŽธ์ธ๋ฐ, ์ƒค์›Œ๋ฅผ ํ•  ๋•Œ๋ฉด ํ•ญ์ƒ ๋จธ๋ฆฌ ์†์„ ์ฑ„.. 2025. 2. 5.
[Spring Boot] Restclient & HttpInterface ์กฐํ•ฉ ์‚ฌ์šฉ ์‹œ, ์š”์ฒญ ์‘๋‹ต์„ Logging ํ•ด๋ณด์ž ๋งŽ์€ Spring ๊ฐœ๋ฐœ์ž๋“ค์ด RestClient ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ, Spring์ด API ํ˜ธ์ถœ ๋„๊ตฌ์˜ ๊ณตํ†ต์ ์„ ์ถ”์ƒํ™”ํ•ด์„œ ํ•˜๋‚˜์˜ Adapter ์ธ Http Interface ์กฐํ•ฉ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๋“ฏ ํ•˜๋‹ค. ์žฅ์ ์€ ๋ฐ˜๋ณต๋˜๋Š” RestClient ์˜ ์ฒด์ด๋‹ ์ฝ”๋“œ๋ฅผ ๊ณตํ†ตํ™” ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, Open feign ์„ ์‚ฌ์šฉํ•˜๋“ฏ์ด Interface ํ•˜๋‚˜๋กœ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ์„œ๋น„์Šค ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜๋ ค๋ฉด, ์ข€ ๋” ๊ณ ๋„ํ™”๋ฅผ ํ•ด์•ผํ•˜์ง€ ์•Š๊ฒ ๋Š”๊ฐ€.์šด์˜์—์„œ๋Š” ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์ด logging ์ด๋‹ค.๊ธฐ๋ณธ์ ์œผ๋กœ ์š”์ฒญ๊ณผ ์‘๋‹ต์„ logging ํ•ด๋†“๋Š” ํŽธ์ด trace ๋ฅผ ์ถ”์ ํ•˜๊ธฐ ํ›จ์”ฌ ์ˆ˜์›”ํ•  ๊ฒƒ์ด๋‹ค. ํ˜ธ์ถœํ•˜๋Š” API ๊ฐ€ ๋งŽ์„ ์ˆ˜๋ก configuration ํ•ด์•ผ ํ•˜๋Š” rest client ์˜ Bean ๋“ฑ๋ก ์ฝ”๋“œ๋„ ๋งŽ์•„์งˆ ๊ฒƒ์ด๋ฏ€.. 2025. 1. 6.
[ํšŒ๊ณ ] 2024๋…„์„ ๋งˆ์น˜๋ฉฐ ํ–‡์ˆ˜๋กœ ๊ฐœ๋ฐœ ๊ฒฝ๋ ฅ์ด ๋ฒŒ์จ 2๋…„์ด ๋˜์—ˆ๋‹ค.์—Š๊ทธ์ œ ์—ฐ๋ง ํšŒ๊ณ ๋ฅผ ์ž‘์„ฑํ–ˆ์„ ๋•Œ๊ฐ€ 1๋…„์ฐจ์˜€๋Š”๋ฐ, ์‹œ๊ฐ„ ์ฐธ ๋น ๋ฅด๊ฒŒ ํ๋ฅด๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๐Ÿ˜‚ ์˜ฌํ•ด๋Š” ์ฐธ ๋‹ค์–‘ํ•œ ์ผ๋“ค์ด ์žˆ์—ˆ๋‹ค.์ด์ง ์ด๋ผ๋Š” ๋น… ์ด๋ฒคํŠธ๊ฐ€ ์žˆ์—ˆ๊ธฐ๋„ ํ–ˆ๊ณ , ๋‹ค์–‘ํ•œ ์‚ฌ๋žŒ๋“ค๊ณผ ๊ต๋ฅ˜ํ•˜๋ฉฐ ์œ ์ตํ•œ ๊ฒฝํ—˜์„ ์–ป๊ธฐ๋„ ํ–ˆ๋‹ค. 2024๋…„์€ ์‹œ์ž‘๋ถ€ํ„ฐ ์ด์ง์„ ์œ„ํ•ด ์ค€๋น„ํ–ˆ๋˜ ๊ธฐ๊ฐ„๋“ค์ด์—ˆ๋‹ค.์ด์ง์„ ๊ฒฐ์‹ฌํ•˜๊ฒŒ ๋œ ์ด์œ ๋กœ ๊ฐ€์žฅ ๊ฐˆ์ฆ์ด ๋‚ฌ๋˜ ์š”์†Œ๋“ค์€๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์„œ๋น„์Šค์˜ ๊ฐœ๋ฐœ์„ ํ•˜๋Š” ๊ฒƒ๊ณผ ๋” ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ๋“ค์„ ์œตํ•ฉํ•ด์„œ ์‚ฌ์šฉํ•ด๋ณด๋Š” ์ž์œ ๋กœ์šด ํ™˜๊ฒฝ,๊ทธ๋ฆฌ๊ณ  ๋” ์ฒด๊ณ„์ ์ธ ๊ธฐ์ˆ  ๊ตฌ์กฐ๋ฅผ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ๊ณผ ์„ ๋ฐฐ๋“ค์„ ์›ํ–ˆ๋‹ค. ์Šคํ„ฐ๋””๋ฅผ ๋งค์ฃผ ์ง„ํ–‰ํ–ˆ์ง€๋งŒ, ์ด๋ฒˆ ๋งŒํผ์€ ์ด์ง์— ๋Œ€ํ•œ ํฌ์ปค์Šค๋ฅผ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ์ฃผ์ œ๋ฅผ ์„ ์ •ํ–ˆ์—ˆ๋‹ค.๋ฐฑ์—”๋“œ ์—”์ง€๋‹ˆ์–ด๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ตฌํ˜„ ์‹ค๋ ฅ์€ ๊ธฐ๋ณธ์ด๊ณ , CS ์ง€์‹ & ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„ ๋Šฅ๋ ฅ๊ณผ DB์—.. 2024. 12. 25.
[Delta Lake] DB Sink ๋˜๋Š” ๊ฑด๋“ค์˜ ๋ชจ์ˆ˜๋ฅผ ์ค„์—ฌ๋ณด๊ธฐ ๋‚˜๋Š” ๋ฐฑ์—”๋“œ ์—”์ง€๋‹ˆ์–ด์ด์ง€๋งŒ, Databricks ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง ์—…๋ฌด๋„ ๊ฒธํ•˜๊ณ  ์žˆ๋‹ค.์ถ”ํ›„ ๊ฐœ๋ฐœ ์ปค๋ฆฌ์–ด๋ฅผ ๋ฐ์ดํ„ฐ ์ชฝ์œผ๋กœ ์ „ํ–ฅํ•˜๊ณ  ์‹ถ๊ธฐ๋„ ํ•˜์—ฌ, ํ˜„์žฌ ํšŒ์‚ฌ์— ์ž…์‚ฌ ์ดํ›„ ์ง€์†์ ์ธ ๋ฉด๋‹ด์—์„œ ๋ฐ์ดํ„ฐ ์—…๋ฌด๋ฅผ ํ•˜๊ณ  ์‹ถ๋‹ค๊ณ  ์ ๊ทน์ ์œผ๋กœ ์–ดํ•„์„ ํ–ˆ๊ณ , ์ฑ•ํ„ฐ ๋ฆฌ๋“œ๋ถ„์€ ์ด๋ฅผ ํ”์พŒํžˆ ๋ฐ›์•„๋“ค์—ฌ์ฃผ์…จ๋‹ค. ์›ํ•˜๋Š” ์—…๋ฌด๋ฅผ ๊ฒธํ•˜๊ฒŒ ๋˜์–ด ์ •๋ง ํ–‰๋ณตํ•˜๋‹ค. Databricks๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ์‚ฌ์šฉํ•˜๋Š” API๋Š” Apache Spark๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.์‚ฌ์‹ค ์ ๊ทน์ ์ธ ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง๋ณด๋‹ค๋Š” ๋ฐ์ดํ„ฐ ํ”Œ๋žซํผ, ๋ฐ์ดํ„ฐ ๋ถ„์„ํŒ€์—์„œ ๋งŒ๋“ค์–ด์ฃผ์‹  Raw Data๋ฅผ ์„œ๋น„์Šค์— ๋งž๊ฒŒ ๊ฐ€๊ณตํ•˜์—ฌ Delta table์— ์ ์žฌํ•œ ํ›„, ์ด๋ฅผ DB Sink ํ•˜๋Š” ์šฉ๋„์˜ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋‹ค. ์ฒ˜์Œ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ฐœ๋ฐœํ–ˆ์„ ๋•Œ๋Š”, ์•„๋ฌด๊ฒƒ๋„ ๋ชจ๋ฅด๋Š” ์ƒํƒœ์—์„œ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ง„ํ–‰ํ–ˆ์—ˆ๊ธฐ์— ๋ชจ๋“ .. 2024. 11. 30.
Bean ๋“ฑ๋ก์— ๋Œ€ํ•œ ์žฌ๊ณ  SpringBoot์—์„œ Bean์„ ๋“ฑ๋กํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ด ์žˆ์„๊นŒ. 1. ํด๋ž˜์Šค์— ์ง์ ‘ @Component ์• ๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹ 2. @Configuration ์• ๋…ธํ…Œ์ด์…˜์„ ํ™œ์šฉํ•ด @Bean ๋“ฑ๋กํ•˜๋Š” ๋ฐฉ์‹ ์œ„ 2๊ฐ€์ง€ ๋ฐฉ์‹์ด ๋ณดํŽธ์ ์ด๋‹ค. ๋‚ด๊ฐ€ ์ง€๊ธˆ๊นŒ์ง€ ์ง„ํ–‰ํ–ˆ๋˜ ๋ณดํ†ต์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ๋Š” 1๋ฒˆ์„ ์••๋„์ ์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉํ–ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. @Configuration ๋ฐฉ์‹์˜ ๊ฒฝ์šฐ, ํ†ต์ƒ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ Bean์œผ๋กœ ๋“ฑ๋กํ•˜๊ธฐ ์œ„ํ•จ์ด๋ผ๋ฉฐ ๋ฉด์ ‘ ์งˆ๋ฌธ์—์„œ ์ •์„์ ์œผ๋กœ ํšŒ์ž๋œ๋‹ค. ๊ทธ ๊ณ ์ • ๊ด€๋… ํƒ“์—, ๋‚˜์˜ ๊ฒฝ์šฐ๋„ 2๋ฒˆ ๋ฐฉ์‹์€ ์™ธ๋ถ€ ์„ค์ • ์ด์™ธ์— ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์—ˆ๋‹ค. Java9์—์„œ ๋‚˜์˜จ, ์ƒˆ๋กœ์šด ์ถ”์ƒํ™” ๊ฐœ๋…์ธ ๋ชจ๋“ˆ์ด๋ผ๋Š” ๊ฐœ๋…์ด ์žˆ๋‹ค. ๋ชจ๋“ˆ์—๋Š” ์ข…์†์„ฑ(dependency)์˜ ๊ฐœ๋…์ด ์žˆ์œผ๋ฉฐ, Public API๋ฅผ ๋‚ด๋ณด๋‚ด๊ณ  .. 2024. 10. 12.
Spring boot multi datasource ๋“ฑ๋ก ์‹œ ์ฃผ์˜ ์‚ฌํ•ญ Spring Boot Multi datasource ๋“ฑ๋ก ์‹œ ์ฃผ์˜ ์‚ฌํ•ญ์ตœ๊ทผ ์ง„ํ–‰ํ–ˆ๋˜ ํ”„๋กœ์ ํŠธ๋Š” ์™ธ๋ถ€ ํœด๋ฌด์ผ ์ •๋ณด API๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ DB์— ์ ์žฌํ•˜๋Š” ์›”๋ฐฐ์น˜์šฉ Spring Batch ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.ํšŒ์‚ฌ์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ DataBase๊ฐ€ ์žˆ๋Š”๋ฐ, ๊ทธ ์ค‘ ๋ฉ”์ธ DB๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๊ณ , spring batch ์šฉ DB๋Š” ๋”ฐ๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.๊ทธ๋ž˜์„œ ๋ฉ€ํ‹ฐ datasource bean ์„ ๋“ฑ๋กํ•ด์ค˜์•ผ ํ–ˆ๋‹ค.๊ทธ ๊ณผ์ •์—์„œ ์ •๋ง ๊ธฐ์ดˆ์ ์ด์ง€๋งŒ ์‹ค์ˆ˜ํ–ˆ๋˜ ๋ถ€๋ถ„์„ ์„ค๋ช…ํ•ด๋ณด๊ฒ ๋‹ค.Multi Datasourceํ•˜๋‚˜์˜ ํ”„๋กœ์ ํŠธ์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ.spring ์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ yaml ํŒŒ์ผ์„ ํ†ตํ•ด ์‰ฝ๊ฒŒ datasource ๊ตฌ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.๋”ฐ๋กœ java ์ฝ”๋“œ๋กœ bean ์„ ๋“ฑ๋กํ•  ํ•„์š”๊ฐ€ ์—†์„ ๊ฒƒ์ด๋‹ค.ํ•˜์ง€.. 2024. 9. 18.
๋ฒˆ์•„์›ƒ, ๋‚˜์˜ ๊ฒฌํ•ด ์–ด๊น€์—†์ด ํ–‰๋ณตํ•œ ๋‚ ๋“ค์„ ๋ณด๋‚ด๊ณ  ์žˆ๋‹ค. ํ•˜๊ณ  ์‹ถ์€ ์ผ์„ ์žฌ๋ฐŒ๊ฒŒ ํ•˜๊ณ , ์ƒˆ๋กœ์šด ์ทจ๋ฏธ ํ™œ๋™๋„ ์ƒ๊ฒผ๊ธฐ๋„ ํ–ˆ๊ณ , ์˜ฌํ•ด ์ด๋ฃฐ ์ƒˆ๋กœ์šด ๋ชฉํ‘œ๋„ ์ƒ๊ฒจ์„œ ํ•ญ์ƒ ๋งค์ผ์ด ์ฆ๊ฒ๋‹ค. ์ตœ๊ทผ์— ์˜ค๋žœ๋งŒ์— ๋ณด๋Š” ์ง€์ธ์„ ๋งŒ๋‚˜์„œ ๊ฐ€๋ณ๊ฒŒ ์ €๋…์„ ๋จน์œผ๋ฉด์„œ ์ด๋Ÿฐ์ €๋Ÿฐ ์–˜๊ธฐ๋“ค์„ ๋‚˜๋ˆด๋‹ค. ๊ธฐ์กด ์ „๊ณต๊ณผ ๋‹ค๋ฅด๊ฒŒ ๋‚˜์™€ ๊ฐ™์€ ์ปค๋ฆฌ์–ด๋ฅผ ๊ฑธ์–ด๊ฐ€๊ธฐ ์œ„ํ•ด ์—ด์‹ฌํžˆ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ค€๋น„ํ•˜๋Š” ์ค‘์ด์—ˆ๋‹ค. ๊ทธ๋Ÿฌํ•œ ๋Œ€ํ™”๋ฅผ ํ•˜๋‹ค๋ณด๋‹ˆ, ๋‚˜์˜ ์ƒˆ๋กญ๊ฒŒ ์„œ๋ฒ„ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ทจ์—…๊นŒ์ง€ 1๋ถ„ 1์ดˆ ์•„๋ผ๋ฉฐ ์ง„ํ–‰ํ–ˆ๋˜ ์‹œ์ ˆ์ด ๋– ์˜ฌ๋ผ, ๊ฒฝํ—˜๊ณผ ๊ธฐ๋ฐ˜ ์ง€์‹์„ ์–˜๊ธฐํ•˜๋ฉด์„œ ์ž์—ฐ์Šค๋ ˆ ๋ฒˆ์•„์›ƒ์— ๋Œ€ํ•œ ์ฃผ์ œ๊ฐ€ ํŠ€์–ด๋‚˜์™”๋‹ค. "OO์•ผ ๋„ˆ๋Š” ๊ทธ๋ ‡๊ฒŒ ์ง„ํ–‰ํ•ด ์˜ค๋ฉด์„œ, ๋ฒˆ์•„์›ƒ ๊ฐ™์€ ๊ฒŒ ์—†์—ˆ์–ด?" ์ง€์ธ์ด ์งˆ๋ฌธ์„ ๋˜์กŒ๋‹ค. "๊ธ€์Ž„, ๋‚˜๋Š” ๋ฒˆ์•„์›ƒ ๊ทธ๋Ÿฐ ๊ฑฐ ์ž˜ ๋ชจ๋ฅด๊ฒ ์–ด." "๊ทผ๋ฐ ๋ชฉํ‘œ๊ฐ€ ๋ช…ํ™•ํ•˜๋ฉด ๋ฒˆ์•„์›ƒ์ด ์˜ฌ ์„ธ๊ฐ€ ์—†์ง€ ์•Š์„๊นŒ.".. 2024. 9. 16.
์ผ์ฃผ์ผ์˜ ํœด์‹๊ณผ ์ƒˆ๋กœ์šด ์ทจ๋ฏธ ๊ฐœ์‹œ ํ‡ด์‚ฌ ํ›„ ์ž…์‚ฌ ์ „ ์ผ์ฃผ์ผ์˜ ํœด์‹ ๊ธฐ๊ฐ„์ด ์ฃผ์–ด์กŒ๋‹ค.๋ฌด์—‡์„ ํ•˜๊ณ  ์‰ฌ์–ด์•ผ ํ• ๊นŒ ํ•˜๋‹ค, ์ฃผ๋ณ€ ์ง€์ธ๋“ค ๊ถŒ์œ ์— ๋ฌด๊ณ„ํš์œผ๋กœ 2๋ฐ• 3์ผ ์ œ์ฃผ๋„ ์—ฌํ–‰์„ ๋‹ค๋…€ ์™”๋‹ค.์ฐจ๊ฐ€ ์—†์–ด์„œ ๋ถˆํŽธํ–ˆ์ง€๋งŒ, ์ƒˆ๋กญ๊ฒŒ ๋งŒ๋‚œ ์ธ์—ฐ๋“ค์„ ํ†ตํ•ด ์ฐจ๋„ ์–ป์–ดํƒ€๊ฐ€๋ฉด์„œ ๋œปํ•˜์ง€ ์•Š๊ฒŒ ์žฌ๋ฐŒ๊ฒŒ ๊ตฌ๊ฒฝํ•˜๊ณ  ๋จน๊ณ  ์‰ฌ์—ˆ๋‹ค.์„ธ์ƒ์ด ์ •๋ง ์ข๋‹ค๊ณ  ๋Š๋‚€๊ฒŒ, ๊ณ ๋“ฑํ•™๊ต ์นœ๊ตฌ๋ฅผ ์•„๋Š” ์ธ์—ฐ์„ ๋งŒ๋‚ฌ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ฐธ ์„ธ์ƒ ์ข๊ณ  ์‹ ๊ธฐํ–ˆ๋‹ค.์—ฌํ–‰์— ํฐ ๊ฐํฅ์€ ์—†์–ดํ•˜๋Š” ์„ฑ๊ฒฉ์ด์ง€๋งŒ, ์ด๋ฒˆ์—๋Š” ์งง๊ฒŒ๋ผ๋„ ๋‹ค๋…€์˜ค๊ธธ ์ž˜ํ–ˆ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค.(๋ฉดํ—ˆ ์ด๋ฒˆ ๋…„๋„ ์•ˆ์— ๋ฌด์กฐ๊ฑด ๋”ฐ์•ผ๊ฒ ๋‹ค.) ์ฃผ์ง“์ˆ˜๋„ ์‹œ์ž‘ํ–ˆ๋‹ค.์ฒซ ํšŒ์‚ฌ ๋™์ผ ์ง๊ตฐ ๊ฐœ๋ฐœ์ž ํ˜•๊ณผ ์ง€์†์ ์œผ๋กœ ์—ฐ๋ฝํ•˜๋ฉฐ ์ง€๋‚ด๋Š”๋ฐ, ๊ทธ ํšŒ์‚ฌ ๋‹ค๋‹ ๋•Œ๋ถ€ํ„ฐ ํ•ญ์ƒ ์ฃผ์ง“์ˆ˜๋ฅผ ๊ฐ™์ด ํ•˜์ž๊ณ  ๊ถŒ์œ ํ–ˆ์—ˆ๋‹ค๐Ÿ˜…์ด์ง๋„ ํ–ˆ๊ฒ ๋‹ค ์ €๋ฒˆ ์ฃผ ๋ถ€ํ„ฐ ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ, ์ƒˆ๋กญ๊ฒŒ ์šด๋™์„ ๋ฐฐ์›Œ๋ณด๋Š” ๊ฑด ์‚ด๋ฉด์„œ ์ฒ˜์Œ์ด๋‹ค... 2024. 8. 19.
[DB] ์˜ตํ‹ฐ๋งˆ์ด์ € (1) Mysql ์„œ๋ฒ„๋กœ ์š”์ฒญํ•œ ์ฟผ๋ฆฌ๋Š” ์ตœ์ ์œผ๋กœ ์‹คํ–‰ ๋˜๊ธฐ ์œ„ํ•ด ์ตœ์ ์˜ ์‹คํ–‰ ๊ณ„ํš์„ ์ˆ˜๋ฆฝํ•˜๋Š” ์ž‘์—…์ด ํ•„์š”.๋Œ€๋ถ€๋ถ„์˜ DBMS ์—์„œ๋Š” ์˜ตํ‹ฐ๋งˆ์ด์ €๊ฐ€ ์ด๋Ÿฐ ๊ธฐ๋Šฅ์„ ๋‹ด๋‹นํ•œ๋‹ค.Explain ๋ช…๋ น์œผ๋กœ ์ฟผ๋ฆฌ์˜ ์‹คํ–‰ ๊ณ„ํš ํ™•์ธ ๊ฐ€๋Šฅ. Mysql ์—์„œ๋Š” ๋น„์šฉ ๊ธฐ๋ฐ˜ ์ตœ์ ํ™” (Cost-based optimizer, CBO) ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌํ’€ ํ…Œ์ด๋ธ” ์Šค์บ” ์กฐ๊ฑด- ํ…Œ์ด๋ธ” ๋ ˆ์ฝ”๋“œ ๊ฑด์ˆ˜๊ฐ€ ์ž‘์•„, ์ธ๋ฑ์Šค๋ฅผ ํƒํ•˜๊ธฐ ๋ณด๋‹ค ํ’€ ํ…Œ์ด๋ธ” ์Šค์บ” ํ•˜๋Š” ํŽธ์ด ๋” ๋น ๋ฅธ ๊ฒฝ์šฐ- where ์ ˆ์ด๋‚˜ on ์ ˆ์— ์ธ๋ฑ์Šค๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ ์ ˆํ•œ ์กฐ๊ฑด์ด ์—†์„ ๊ฒฝ์šฐ- ์ธ๋ฑ์Šค ๋ ˆ์ธ์ง€ ์Šค์บ”์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ฟผ๋ฆฌ๋”๋ผ๋„, ์˜ตํ‹ฐ๋งˆ์ด์ €๊ฐ€ ํŒ๋‹จํ•œ ์กฐ๊ฑด ์ผ์น˜ ๋ ˆ์ฝ”๋“œ ๊ฑด์ˆ˜๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ ์œ„์™€ ๊ฐ™์€ ์กฐ๊ฑด์—์„œ Mysql ์˜ตํ‹ฐ๋งˆ์ด์ €๋Š” ํ’€ ํ…Œ์ด๋ธ” ์Šค์บ”์„ ์‹œ๋„ํ•œ๋‹ค.ํ’€ ํ…Œ์ด๋ธ” ์Šค.. 2024. 8. 11.
๋ฐ˜์‘ํ˜•