/images/profile.png

๊ทธ๋Ÿฐ ๊ฐœ๋ฐœ์ž๋กœ ๊ดœ์ฐฎ์€๊ฐ€ - 'ํ™˜๊ฒฝ' ํŽธ

(ํ•„์ž์˜ ๊ณผ๊ฑฐ ๊ฒฝํ—˜์„ ๋ฏธ๋ฃจ์–ด) ๊ฐœ๋ฐœ์ž๋กœ์„œ ํšŒ์‚ฌ์—์„œ ์ผ์„ ํ•˜๋‹ค ๋ณด๋ฉด ๊ฐ€๋” CRUD(Create, Read, Update, Delete) API๋ฅผ ์ฐ์–ด๋‚ด๋Š” ๊ธฐ๊ณ„(?)๊ฐ€ ๋˜๋Š” ๋А๋‚Œ์„ ๋ฐ›์„ ๋•Œ๊ฐ€ ์žˆ๋‹ค. ์ผ์ •์€ ์ด‰๋ฐ•ํ•œ๋ฐ ์‚ฌ๋žŒ์€ ๋ถ€์กฑํ•˜๊ณ , ๊ธฐ์ˆ  ๋ถ€์ฑ„๊ฐ€ ๋ณต๋ฆฌ๋กœ ๋Š˜์–ด๋‚˜๋Š” ๊ฒŒ ๋ˆˆ์— ํ›คํžˆ ๋ณด์ด์ง€๋งŒ ๊ฐœ์„ ํ•  ์‹œ๊ฐ„์ด๋‚˜ ์—ฌ์œ ์กฐ์ฐจ ์—†์–ด ์ž์‹ ๋„ ๋ชจ๋ฅด๊ฒŒ ์ ์  “๋Œ์•„๊ฐ€๊ฒŒ๋งŒ” ๊ฐœ๋ฐœํ•˜๋Š” ์ƒํ™ฉ๋“ค. ๊ธฐ์ˆ ์ ์ธ ๊ณ ๋ฏผ์„ ํ•  ์‹œ๊ฐ„์€ ์ ์  ์—†์–ด์ง€๊ณ , ์ฝ”๋“œ๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ์ธก๋ฉด์ด๋‚˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ, ์ฑ…์ž„๊ณผ ๊ด€์‹ฌ ๊ฐ™์€ ์ƒ๊ฐ๋“ค์€ ํ•˜์ง€ ๋ชปํ•œ ์ฑ„ ํŽธ์˜๋งŒ ์ถ”๊ตฌํ•˜๋ฉฐ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค ์ด์ง์„ ํ•ด์•ผ๊ฒ ๋‹ค ๋งˆ์Œ๋จน๊ณ  ์ด๋ ฅ์„œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ๋‚˜ ์—ฐ๋ง ํ‰๊ฐ€๋ฅผ ์œ„ํ•ด ํ•œ ํ•ด ๋ฌด์—‡์„ ํ–ˆ๋Š”์ง€ ๋Œ์•„๋ณด๋ฉด ํšŒ์‚ฌ์ผ์€ ๋ถˆ์ฒ ์ฃผ์•ผ ์ •๋ง ์—ด์‹ฌํžˆ ํ–ˆ์ง€๋งŒ ํšŒ์‚ฌ๋ฅผ ๋ฒ—์–ด๋‚˜ ๊ฐœ๋ฐœ์ž๋กœ์จ ๋ณธ์ธ ์Šค์Šค๋กœ๋ฅผ ์œ„ํ•œ ๊ฑด ํšŒ์‚ฌ์ผ ๋Œ€๋น„ ์•„์ฃผ ๊ทน์†Œ์ˆ˜์— ๋ถˆ๊ณผํ•˜๋Š” ์‚ถ์ด ๊ณ„์†๋œ๋‹ค. ์ฝ”๋”ฉํ•˜๋Š” ๋กœ๋ด‡์€ ๋˜์ง€ ๋ง์ž.์ถœ์ฒ˜ : https://sdtimes.com/ai/ai-enabled-tools-might-completely-change-development-one-day/" ์ฝ”๋”ฉํ•˜๋Š” ๋กœ๋ด‡์€ ๋˜์ง€ ๋ง์ž. ์ถœ์ฒ˜ : https://sdtimes.com/ai/ai-enabled-tools-might-completely-change-development-one-day/ ใ€€๊ฐœ์ธ์ด ์Šค์Šค๋กœ ์ง„ํ–‰ํ•˜๋Š” ํ”„๋ฆฌ๋žœ์„œ๋‚˜ ์‚ฌ์—…๊ฐ€๋ฅผ ์ œ์™ธํ•˜๊ณ  ์„  ๋Œ€๋ถ€๋ถ„ ํšŒ์‚ฌ๋ผ๋Š” ์ง‘๋‹จ์— ์†Œ์†๋˜์–ด ์‚ด์•„๊ฐ„๋‹ค. ๊ทธ๋Ÿฌํ•œ ํšŒ์‚ฌ์˜ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ชฉํ‘œ๋Š” ๋ˆ์„ ๋ฒŒ๊ธฐ ์œ„ํ•œ ์‚ฌ์—…์„ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํšŒ์‚ฌ์—์„œ๋Š” ์ง์›๋“ค์—๊ฒŒ ์–ด๋А ์ •๋„์˜ ์ฒ˜์šฐ๋Š” ๋ณด์žฅํ•ด ์ค„ ์ˆœ ์žˆ์ง€๋งŒ ๊ฐœ๊ฐœ์ธ์˜ ์ธ์ƒ์„ ์ฑ…์ž„์ ธ์ฃผ์ง„ ์•Š๋Š” ๊ฒŒ ํ˜„์‹ค์ด๋‹ค. ๊ทธ๊ฑธ ์•Œ๋ฉด์„œ๋„ ์ง€๊ธˆ ๋‹ค๋‹ˆ๊ณ  ์žˆ๋Š” ํšŒ์‚ฌ์—์„œ ์„ฑ์žฅ์„ ํ•˜์ง€ ๋ชปํ•œ๋‹ค๋ฉฐ ์ด์ง์„ ์ค€๋น„ํ•˜๊ฑฐ๋‚˜ ์–ด์ฉŒ๋ฉด ๋‚˜๋ฅผ ์œ„ํ•œ ๊ฒŒ ์•„๋‹Œ ํšŒ์‚ฌ๋ฅผ ์œ„ํ•œ ์ผ๋งŒ ํ•ด์˜ค๊ณ  ์žˆ๋Š” ๊ฑด ์•„๋‹Œ๊ฐ€ ์Šค์Šค๋กœ๋ฅผ ๋˜๋Œ์•„๋ณด๊ฒŒ ๋œ๋‹ค. ใ€€๊ฐœ๋ฐœ์ž๋กœ์จ ์ง€๊ธˆ์˜ ์‚ถ์ด ๋„ˆ๋ฌด ํ–‰๋ณตํ•˜๊ณ  ๋งŒ์กฑ์Šค๋Ÿฝ๋‹ค๋ฉด ์ด ๊ธ€์„ ์ฝ์ง€ ์•Š์•„๋„ ์ข‹๋‹ค. (์–ด์ฉŒ๋ฉด ์šฐ๋ฌผ ์•ˆ ๊ฐœ๊ตฌ๋ฆฌ๋กœ ์‚ด์•„๊ฐ€๊ณ  ์žˆ๋Š” ๊ฑด ์•„๋‹Œ์ง€ ๋ฌป๊ณ  ์‹ถ๋‹ค. ๋ฌผ๋ก  ๊ทธ ์šฐ๋ฌผ๋งˆ์ € ๋”ฐ๋œปํ•˜๋‹ค๋ฉด ํŒจ์Šคํ•˜๋Š” ๊ฒƒ์œผ๋กœ.) ์˜ค๋žœ๋งŒ์— ์“ฐ๋Š” ์ด ๊ธ€์—์„œ๋Š” ํšŒ์‚ฌ๋ผ๋Š” ์˜์กด์„ ๋ฒ—์–ด๋‚˜ ์Šค์Šค๋กœ ์šฐ๋š ์„ค์ˆ˜ ์žˆ๋Š” ‘ํ™˜๊ฒฝ์„ ๋ฐ”๊พธ๋Š” ์ด์•ผ๊ธฐ’๋ฅผ ํ•˜๋ ค ํ•œ๋‹ค. ๋ชธ์งฑ์ด ๋˜๊ธฐ ์œ„ํ•ด ํ—ฌ์Šค์žฅ์„ ๊ฐ€๊ณ  ๊ทธ๊ฒƒ๋„ ๋ชจ์ž๋ผ ๋น„์‹ผ PT๋ฅผ ๋Š๋Š”๋‹ค๊ฑฐ๋‚˜, ํ—ˆ๋ฆฌ๊ฐ€ ์ข‹์ง€ ์•Š์•„ ์Šคํƒ ๋”ฉ ์ฑ…์ƒ์œผ๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๊ฐœ๋ฐœ์ž๋กœ ์‚ด์•„๊ฐ€๋ฉด์„œ ๋‚ด๊ฐ€ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ‘ํ™˜๊ฒฝ’์„ ๋ฐ”๊พธ๋ฉด์„œ ์•ž์„œ ์ด์•ผ๊ธฐ ํ•œ ‘๋ณธ์ธ ์Šค์Šค๋กœ๋ฅผ ์œ„ํ•ด ์„ฑ์žฅํ•˜๋Š” ์‹œ๊ฐ„’์„ ๋งŒ๋“ค์—ˆ์œผ๋ฉด ํ•˜๋Š” ๋ฐ”๋žŒ์ด๋‹ค. ์‹œ๊ฐ„๊ด€๋ฆฌ ใ€€ํ•˜๋ฃจ๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด ์„ธ์ƒ ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๊ณตํ‰ํ•˜๊ฒŒ ์ฃผ์–ด์ง€๋Š” ๊ฒŒ ๋ฐ”๋กœ ์‹œ๊ฐ„์ด๋‹ค. ๋ˆ„๊ตฌ๋‚˜ 24์‹œ๊ฐ„์„ ์“ฐ๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ์“ฐ๋Š”์ง€๋Š” ๋ณธ์ธ์ด ์„ ํƒํ•˜๊ธฐ์— ๋‹ฌ๋ฆฐ ๋ฌธ์ œ๋‹ค. ๋ฐค๋Šฆ๊ฒŒ๊นŒ์ง€ ์ปดํ“จํ„ฐ ์•ž์— ์•‰์•„ ๊ณต๋ถ€๋ฅผ ํ•˜๊ณ  ์ถœ๊ทผ์ด ๋Šฆ๋Š”๋‹ต์‹œ๊ณ  ์•„์นจ ๋Šฆ๊ฒŒ ์ผ์–ด๋‚˜๋Š” ์„ ํƒ, ํ‡ด๊ทผํ•˜๊ณ  ์ง‘์— ์˜ค๋ฉด ํ”ผ๊ณคํ•ด์„œ ์•„๋ฌด๊ฒƒ๋„ ํ•˜๊ธฐ ์‹ซ์–ด TV๋‚˜ SNS๋ฅผ ํ•˜๋‹ค ์ž ์— ๋“œ๋Š” ์„ ํƒ, ํšŒ์‚ฌ์—์„œ ํ•˜๋Š” ๊ฐœ๋ฐœ์€ ์–ด๋А ์ •๋„ ํ•  ์ค„ ์•„๋Š” ์ˆ˜์ค€๊นŒ์ง€ ๋˜์—ˆ์œผ๋‹ˆ ๊ตณ์ด ๋‹ค๋ฅธ ๊ฐœ๋ฐœ ๊ณต๋ถ€๋Š” ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค๋Š” ์„ ํƒ. ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ๊ฑด ์„ ํƒ์ด ๋‹ค๋ฅผ ๋ฟ์ด์ง€ ์ž˜๋ชป๋œ ์„ ํƒ์€ ์—†๋‹ค. ์„ ํƒ์— ๋Œ€ํ•ด ์ฑ…์ž„์„ ์งˆ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ทธ๊ฒƒ์œผ๋กœ OK. ํ•˜์ง€๋งŒ ์‹œ๊ฐ„์ด ๋ถ€์กฑํ•˜๋‹ค๋Š” ํ•‘๊ณ„๋ฅผ ๋Œ€๊ณ  ์žˆ๋‹ค๋ฉด ์‹œ๊ฐ„๊ด€๋ฆฌ๋ถ€ํ„ฐ ์ž˜ ํ•  ํ•„์š”๊ฐ€ ๋ถ„๋ช…ํžˆ ์žˆ๋‹ค. ๊ฐ€๋งŒํžˆ ๋†”๋„ ํ˜๋Ÿฌ๊ฐ€๋Š” ์‹œ๊ฐ„์ถœ์ฒ˜ : https://www.bobaedream.co.kr/view?code=strange&No=1515814/" ๊ฐ€๋งŒํžˆ ๋†”๋„ ํ˜๋Ÿฌ๊ฐ€๋Š” ์‹œ๊ฐ„ ์ถœ์ฒ˜ : https://www.bobaedream.co.kr/view?code=strange&No=1515814/ ใ€€ํ•„์ž๋Š” ํ•˜๊ณ  ์‹ถ์€ ๊ฒŒ ๋„ˆ๋ฌด๋‚˜ ๋งŽ๋‹ค. ๊ทธ์™€ ๋น„์Šทํ•œ ์–‘์œผ๋กœ ๊ผญ ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ๋„ ๋งŽ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ๋งค์›” 1์ผ์ด ๋˜๋ฉด ๋ฉ”๋ชจ์žฅ์— ํ•œ ๋‹ฌ์˜ ์ฒญ์‚ฌ์ง„์„ ๊ทธ๋ ค๋ณธ๋‹ค. ์ •ํ™•ํ•˜๊ฒŒ ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋„ ์žˆ์ง€๋งŒ ์ถ”์ƒ์ ์œผ๋กœ ์ ๋Š” ๊ฒฝ์šฐ๋„ ๋งŽ๋‹ค. ๊ทธ๋Ÿฌ๊ณ ๋Š” ๋งค์ฃผ ์ผ์š”์ผ ์ €๋…์ด ๋˜๋ฉด ๋‹ค์Œ ์ผ์ฃผ์ผ์— ๋Œ€ํ•ด ์ข€ ๋” ์ž์„ธํ•œ ๊ณ„ํš์„ ์ž‘์„ฑํ•˜๊ณ , ๋งค์ผ ์ €๋…์ด ๋˜๋ฉด ๋‚ด์ผ์˜ ํ•˜๋ฃจ๋ฅผ ๋ฏธ๋ฆฌ ์ •๋ฆฌํ•ด ๋ณธ๋‹ค. ์‹œ๊ฐ„ ๋‹จ์œ„๋กœ ์ž‘์„ฑํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๊ณ  ๊ณ„ํš ์ค‘์— ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ ๊ฒ€ํ•˜๋ฉฐ ๋น ์ง์—†์ด ์‹œ๊ฐ„์„ ์•Œ์ฐจ๊ฒŒ ๋ณด๋‚ด๋ ค๊ณ  ์• ๋ฅผ ์“ฐ๋Š” ์—ฐ์Šต ์ค‘์ด๋‹ค. ใ€€MBTI์˜ ๋งจ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๊ฐ€ ๋Œ€๋ฌธ์ž J๋ผ์„œ ๊ทธ๋Ÿฐ์ง€ ๊ณ„ํšํ•˜๋Š” ๊ฑธ ์„ ํ˜ธํ•˜์ง€๋งŒ ๋ง‰์ƒ ๊ณ„ํš๋Œ€๋กœ ์‹œ๊ฐ„์„ ๋ณด๋‚ด๋‹ค ๋ณด๋ฉด ๊ทธ๋ž˜๋„ ์‹œ๊ฐ„์ด ๋ถ€์กฑํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ์ œํ•œ๋œ ์‹œ๊ฐ„ ๋‚ด์—์„œ ์ตœ๋Œ€ํ•œ ์‹œ๊ฐ„์„ ํ™•๋ณดํ•ด ๋ณด๋ ค ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋…ธ๋ ฅ์„ ํ•ด๋ดค๋‹ค. ์ €๋… ๋Šฆ๊ฒŒ๊นŒ์ง€ ์ฑ…์ƒ ์•ž์— ์•‰์•„์„œ ์‹œ๊ฐ„์„ ํ™•๋ณดํ•˜๊ธฐ๋„ ํ•ด๋ดค์ง€๋งŒ ๋Šฆ๊ฒŒ ์ž๊ฒŒ ๋˜๋‹ˆ ๋‹ค์Œ๋‚ ์˜ ์ฒด๋ ฅ์— ์ง€์žฅ์„ ์ค„ ์ˆ˜๋ฐ–์— ์—†๋˜ ๊ตฌ์กฐ์˜€๋‹ค. ๋ฐ˜๋Œ€๋กœ ์•„์นจ์— ์ผ์ฐ ์ผ์–ด๋‚˜๋Š” ๊ฑด ์›Œ๋‚™์— ์•„์นจ์ž ์ด ๋งŽ์€ ์ฒด์งˆ์ด๋ผ ๋„ˆ๋ฌด๋‚˜๋„ ํž˜๋“ค์—ˆ์ง€๋งŒ ์‹œ๊ฐ„์„ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ํฌ๋ง ์•„๋ž˜ ‘๋ฏธ๋ผํด ๋ชจ๋‹’์„ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

KAFKA ์„œ๋น„์Šค ํ™œ์šฉ ์Šคํ„ฐ๋”” ์‚ฌ๋ก€ ๋ฐ‹์—… ํ›„๊ธฐ

ํ•„์ž๋Š” ์˜คํ”„๋ผ์ธ์—์„œ ์ง„ํ–‰ํ•˜๋Š” ๋ฐ‹์—…์ด๋‚˜ ์ฝ˜ํผ๋Ÿฐ์Šค ๊ฐ€๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•œ๋‹ค. ๋ฐœํ‘œํ•˜๋Š” ๋‚ด์šฉ์„ ์ „๋ถ€๋‹ค ์ดํ•ดํ•ด์„œ ๋“ฃ๊ณ  ์˜จ๋‹ค๋Š” ๊ฑด ๊ฑฐ์ง“๋ง์ด๊ฒ ์ง€๋งŒ ๊ฐ„ํ˜น ๋“ค์—ˆ๋˜ ๋‚ด์šฉ์„ ํŒ€ ๋‚ด์— ์ ์šฉํ•ด ๋ณธ๋‹ค๊ฑฐ๋‚˜ ๋ชฐ๋ž๋˜ ๋‚ด์šฉ์— ๋Œ€ํ•ด ์•Œ๊ฒŒ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜๋‹ค. ํŠนํžˆ, ์งˆ๋ฌธ์„ ๊ผญ ํ•˜๋Š” ํŽธ์ธ๋ฐ ์งˆ๋ฌธ์„ ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์ข€ ๋” ์ง‘์ค‘ํ•ด์„œ ๋“ฃ๊ฒŒ ๋˜๊ฑฐ๋‚˜ ์งˆ๋ฌธํ•œ ์„ธ์…˜์˜ ๋‚ด์šฉ์€ ๊ฝค ์˜ค๋žซ๋™์•ˆ ๊ธฐ์–ต์— ๋‚จ๊ฒŒ ๋˜๋‹ˆ ๊ฐœ๋ฐœ์ž ํ–‰์‚ฌ์— ์ฐธ์„ํ•˜๋ฉด ๊ผญ ์งˆ๋ฌธ์„ ํ•˜์ž๋Š” ๊ฒŒ ํ•„์ž ์ž์‹ ๊ณผ์˜ ์•ฝ์† ์ค‘์— ํ•˜๋‚˜์ด๊ธฐ๋„ ํ•˜๋‹ค. ใ€€ํ•œ๋™์•ˆ ์ฝ”๋กœ๋‚˜๋กœ ๋ชจ๋“  ๊ฐœ๋ฐœ์ž ํ–‰์‚ฌ๊ฐ€ ์˜จ๋ผ์ธ์œผ๋กœ ์ง„ํ–‰ํ•˜๋Š” ๋“ฑ ์˜คํ”„๋ผ์ธ ํ–‰์‚ฌ๋Š” ๋ˆˆ์„ ์”ป๊ณ  ์ฐพ๊ธฐ๋ž€ ํ•˜๋Š˜์— ๋ณ„ ๋”ฐ๊ธฐ์˜€๋‹ค. ์˜คํ”„๋ผ์ธ ํ–‰์‚ฌ์— ์ฐธ์—ฌํ•˜๋ฉด ๋‚˜๋ฆ„์˜ ๊ฐœ๋ฐœ๋ ฅ(?)์„ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ๋Š”๋ฐ ์˜คํ”„๋ผ์ธ ํ–‰์‚ฌ ์ž์ฒด๋ฅผ ํ•˜์ง€ ์•Š์•„ ๊ดœํžˆ ๊ธฐ์šด์ด ๋น ์ง€๋˜ ์š” ๋ช‡ ๋…„์ด์—ˆ์ง€ ์•Š์•˜๋‚˜ ์‹ถ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค ํŽ˜์ด์Šค๋ถ KAFKA ํ•œ๊ตญ ์‚ฌ์šฉ์ž ๋ชจ์ž„์—์„œ ๊ณต์ง€๊ฐ€ ์˜ฌ๋ผ์™”๊ณ  ์„ธ์…˜๋“ค์„ ๋ณด์•„ํ•˜๋‹ˆ ํ•˜๋‚˜๋„ ์•Œ์•„๋“ฃ์ง€ ๋ชปํ• (?) ์—„์ฒญ๋‚˜๊ฒŒ ๊ณ ์ฐจ์›์˜ ๋‚ด์šฉ์ด ์•„๋‹Œ ๊ทธ๋Ÿญ์ €๋Ÿญ ์ดํ•ดํ•  ๋งŒํ•œ ๋‚ด์šฉ์œผ๋กœ ์ค€๋น„๋˜์–ด ์žˆ์—ˆ๊ณ , ๋ฌด์—‡๋ณด๋‹ค ํšŒ์‚ฌ์™€ ๊ฐ€๊นŒ์›Œ์„œ ์„ค๋ ˆ๋Š” ๋งˆ์Œ์œผ๋กœ ์‹ ์ฒญ์„ ํ•˜์˜€๋‹ค. ์˜ค๋ž˜์ „์—๋„ ํ•œ๋ฒˆ ๋ฐ‹์—…์— ์ฐธ์„ํ•œ ์ ์ด ์žˆ์—ˆ๋Š”๋ฐ ๋‚˜๋ฆ„ ์ง„ํ–‰๋„ ๋งค๋„๋Ÿฌ์› ๊ณ  ์ข‹์•˜๋˜ ๊ธฐ์–ต๋“ค๋ฟ์ด๋ผ ํ•œ ์น˜์˜ ๋ง์„ค์ž„ ์—†์ด ์‹ ์ฒญํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์‹ ์ž…์‚ฌ์›๋•Œ ์ž์ฃผ ์˜ค๊ฐ€๋˜ ๋‹ค๋ฆฌ…" ์‹ ์ž…์‚ฌ์›๋•Œ ์ž์ฃผ ์˜ค๊ฐ€๋˜ ๋‹ค๋ฆฌ… ใ€€์˜ค์ „ ๊ทผ๋ฌด๋งŒ ํ•˜๊ณ  ํŒ๊ต ํ…Œํฌ๋…ธ๋ฒจ๋ฆฌ์— ์žˆ๋Š” ์œ ๋ช…ํ•œ ๋‹ค๋ฆฌ์ธ ์ด์ง์˜ ๋‹ค๋ฆฌ๋ฅผ ๊ฑด๋„ˆ SKT/SKP ํŒ๊ต ์‚ฌ์˜ฅ 1์ธต์œผ๋กœ ๊ฑธ์–ด๊ฐ„๋‹ค. ํŒ๊ต์— ์˜ฌ ์ผ์ด ์ž˜ ์—†๋Š” ๊ฒŒ ์˜ฌ ๋•Œ๋งˆ๋‹ค ๋А๋ผ๋Š” ๊ฑด ์ •๋ง IT ํšŒ์‚ฌ๊ฐ€ ๋งŽ๋‹ค๋Š” ๊ฒƒ. ๋ญ”๊ฐ€ ์ด์ง์„ ํ•˜๋ ค๊ณ  ๋งˆ์Œ์„ ๋จน์ง€ ์•Š์•„๋„ ๊ดœํžˆ ๋งˆ์Œ์ด ๋ฐ”์šด์Šค ๊ฑฐ๋ฆฌ๋Š” ๊ฑด ๊ธฐ๋ถ„ํƒ“ ์ผ๊นŒ ์‹ถ๋‹ค. ๋ฐ‹์—…์˜ ๋ถ„์œ„๊ธฐ ใ€€์ด๋Ÿฐ ํ–‰์‚ฌ์— ๊ฐ€๋ฉด ๋งจ ์•ž์— ์ž๋ฆฌ๋ฅผ ์žก๊ณค ํ•ด์„œ ์ฒ˜์Œ์—” ๋ชฐ๋ž๋Š”๋ฐ ํ–‰์‚ฌ ์ง„ํ–‰ ์ค‘๊ฐ„์— ๋ณด๋‹ˆ ์‚ฌํšŒ์ž๋ถ„ ์ด์•ผ๊ธฐ๋กœ๋Š” ์•ฝ 90์—ฌ ๋ช… ์ •๋„๊ฐ€ ์™”๋‹ค๊ณ  ํ–ˆ๋‹ค. ์˜คํ”„๋ผ์ธ ํ–‰์‚ฌ๋ผ ๊ทธ๋Ÿฐ ๊ฑด์ง€, ํŒ๊ต ์ง์žฅ์ธ๋ถ„๋“ค์˜ ์ ‘๊ทผ์„ฑ์ด ์ข‹์•„์„œ์ธ์ง€, ์•„๋‹˜ ์ •๋ง KAFKA์˜ ์ธ๊ธฐ(?)๊ฐ€ ์ข‹์•„์„œ ์ธ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์˜ˆ์ƒ๋ณด๋‹ค ๊ฝค ๋งŽ์ด ์™€์„œ ์กฐ๊ธˆ ๋†€๋žฌ๋‹ค. ์ž…๊ตฌ์— ์ปคํ”ผ์™€ ์ฟ ํ‚ค๊ฐ€ ์ œ๊ณต๋˜์—ˆ๊ณ  ๊ฐœ๋ฐœ์ž ๋…ธํŠธ๋ถ์— ๋•์ง€๋•์ง€ ๋ถ™์ผ ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฐœ์ž ์Šคํ‹ฐ์ปค๋„ ๋ฐ›์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ใ€€์ด๋ฒˆ์—๋Š” ๋ฐ๋ณด์…˜(Devocen) ์ด๋ผ๋Š” ๊ณณ์—์„œ ํ›„์›์„ ๋ฐ›์•„ ์ง„ํ–‰ํ•œ๋‹ค๊ณ  ํ–ˆ๋‹ค. ์ฒ˜์Œ์— ๋ฐ๋ณด์…˜์ด ๋ญ ํ•˜๋Š” ๊ณณ์ธ์ง€์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ์†Œ๊ฐœ์™€ ๋‚˜์ค‘์— ์ถ”์ฒจ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์•ฑ์„ ์„ค์น˜ํ•˜๋ผ๋Š” ๊ท€์—ฌ์šด ํ™๋ณด๋„ ์žˆ์—ˆ๋‹ค. SK ๋‚ด/์™ธ๋ถ€ ์šฐ์ˆ˜ ์ธ์žฌ๊ฐ€ ๋ชจ์—ฌ ์ „๋ฌธ ๊ธฐ์ˆ  ์ง€์‹/์ •๋ณด๋ฅผ ๋“ฑ๋ก/์ถ•์  ํ•˜๊ณ  ๊ณต์œ  ๊ต๋ฅ˜๋ฅผ ํ•˜๋ฉฐ ์ „ํŒŒ ๋ฐ ํ™•์‚ฐ์— ์ง‘์ค‘์„ ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ํ…Œํฌ ์„ธ๋ฏธ๋‚˜๊ฐ€ ์›” 1ํšŒ ์žˆ๋‹ค๊ณ  ํ•˜๋‹ˆ ์ข…์ข… ๋“ค์–ด์™€ ๋ด์•ผ ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์„ ํ•ด๋ณธ๋‹ค. ใ€€์นดํ”„์นด ๋ชจ์ž„์„ ์ด๋„์‹œ๋Š” ๊ณ ์Šน๋ฒ” ๋‹˜๋„ ์˜ค์…จ๋‹ค. ์˜ˆ์ „ ๋ฐ‹์—…์—์„œ๋„ ๋ต™๊ธด ํ–ˆ์ง€๋งŒ ์ตœ๊ทผ์— ์นดํ”„์นด ๊ด€๋ จ ์ฑ…๋„ ์ƒˆ๋กญ๊ฒŒ ๋‚ด์‹œ๊ณ  ๊ทธ๋ฃน๋„ ์šด์˜ ์ค‘์ด์‹  ๋ถ„์ด๋‹ค. ๋‚˜๋Š” ๊ณผ์—ฐ ์ €๋Ÿฌํ•œ ์—ด์ •์ด ์žˆ์—ˆ๋‚˜? ์žˆ์„ ์ˆ˜ ์žˆ๋‚˜? ๋ผ๋Š” ์ƒ๊ฐ์„ ์ž ์‹œ ํ•ด๋ณธ๋‹ค. ๋ฐœํ‘œ ์š”์•ฝ ใ€€ํ•˜๋‚˜๋ถ€ํ„ฐ ์—ด๊นŒ์ง€ ๋ฐ›์•„์“ฐ๊ธฐ ์ˆ˜์ค€์œผ๋กœ ์ ์ง„ ๋ชปํ–ˆ์ง€๋งŒ ๊ทธ๋ž˜๋„ ๋ฉ”๋ชจ์žฅ์— ๋‚จ์•„์žˆ๋Š” ๊ธฐ๋ก๋“ค์„ ์ •๋ฆฌ ๋ฐ ์š”์•ฝํ•ด ๋ณธ๋‹ค. ์˜ค๋žœ๋งŒ์˜ ์˜คํ”„๋ผ์ธ ํ–‰์‚ฌ๋ผ ๋“ค๋– ์„œ์ธ์ง€ ์ž˜๋ชป๋œ ๊ธฐ๋ก์ด ์žˆ์„ ์ˆ˜ ์žˆ์Œ์„ ์•Œ๋ฆฐ๋‹ค ^^; Kafka MirrorMaker๋กœ ์นด์˜ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง ๋ง›๋ณด๊ธฐ / ํ™ฉํ•œํฌ ๋‹˜ Kafka MirrorMaker? - ์นดํ”„์นด ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ mirroring ํ•˜๋Š” ๊ธฐ๋Šฅ (ํ† ํ”ฝ ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™”) ํ™œ์šฉ๋ฐฉ์‹ : fan-out, aggregation, active-active, acitve-passive ์นด์˜ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง : ์šด์˜ํ™˜๊ฒฝ์—์„œ๋„ ๊ฐ‘์ž‘์Šค๋Ÿฌ์šด ์žฅ์• ๋ฅผ ๊ฒฌ๋”œ ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ์‹œ์Šคํ…œ์„ ์‹คํ—˜ํ•˜๋Š” ๋ถ„์•ผ, ์žฅ์• ๋ฅผ ๋ฏธ๋ฆฌ ๊ฒฝํ—˜ https://en.wikipedia.org/wiki/Chaos_engineering Chaos Monkey ๋„ทํ”Œ๋ฆญ์Šค ๊ฐœ๋ฐœํŒ€์˜ ์šด์˜ ์›์น™์œผ๋กœ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ํ˜„์žฌ๋Š” ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์นด์˜ค์Šค ํ…Œ์ŠคํŒ… ๋„๊ตฌ ๋งˆ์น˜ ๋ฌด๊ธฐ๋ฅผ ๋“  ์›์ˆญ์ด๋ฅผ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์— ํ’€์–ด ๋†“์€๊ฒƒ ๊ฐ™๋‹ค๋Š” ์˜๋ฏธ์—์„œ ์ถœ๋ฐœ Pumba ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ์—์„œ ์ œ๊ณต๋˜๋Š” ์นด์˜ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง ๋„๊ตฌ ์˜ํ™” ๋ผ์ด์˜จํ‚น์— ๋“ฑ์žฅํ•˜๋Š” ๋ฉง๋ผ์ง€์ธ ํ’ˆ๋ฐ”์˜ ๋ฉ์ฒญํ•˜๊ณ  ์‚ฐ๋งŒํ•˜๋‹ค๋Š” ํŠน์ง•์—์„œ ์˜๊ฐ์„ ๋ฐ›์Œ ๋น„๊ต์  ๋‹จ์ˆœํ•œ ํ…Œ์ŠคํŒ…์„ ํ•  ๋•Œ ์œ ์šฉํ•œ ๋„๊ตฌ ์นด์˜ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง ํŒŒ์ดํ”„๋ผ์ธ ์•ˆ์ •ํ™” ์ •์˜ : ๊ธฐ์ˆ ์ ์ธ ์ด์Šˆ๋‚˜ ์•„๋‹Œ ๋น„์ฆˆ๋‹ˆ์Šค ๊ด€์ ์˜ ์ง€ํ‘œ๋ฅผ ์•ˆ์ •๋œ ์ƒํƒœ์˜ ์ง€ํ‘œ๋กœ ์„ค์ • ์ด๋ฒคํŠธ ์„ ์ • : ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ์ด๋ฒคํŠธ ์„ ์ • ์‹คํ–‰ : ์นด์˜ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง ์ˆ˜ํ–‰ , ์‹ค์ œ๋กœ ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œ์ผœ๋ณด๊ณ  ๊ฐ€์„ค์„ ์‹œํ—˜ ๋ถ„์„ ใ€€์ด๋ฒˆ์—๋„ ์–ด๊น€์—†์ด ์งˆ๋ฌธ์„ ํ–ˆ๋‹ค.

๊ณ ์žฅ๋‚˜๊ธฐ ์ง์ „ ๊ฐœ๋ฐœ์ž์˜ 2021 ๋ฆฌ๋ทฐ

๋ฏธ๋ž˜์˜ ์‹œ๊ฐ„์„ ๊ณ„ํšํ•˜๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•˜์ง€๋งŒ ๊ณผ๊ฑฐ์˜ ์‹œ๊ฐ„์„ ๋Œ์•„๋ณด๊ณ  ๋”ํ•˜๊ฑฐ๋‚˜ ๋นผ๋Š” ์‹œ๊ฐ„์ด ๋” ์ค‘์š”ํ•˜๋‹ค๊ณ  ๋А๋ผ๋Š” ์‹œ๊ฐ„์ธ ‘ํšŒ๊ณ ’. ์˜ฌํ•ด๋„ ์–ด๊น€์—†์ด ํ•„์ž์˜ 2021๋…„์„ ๋Œ์•„๋ณด๋ฉฐ ํšŒ๊ณ  ๊ธ€์„ ์“ฐ๋ ค ํ–ˆ์ง€๋งŒ ์ด๋Ÿฐ์ €๋Ÿฐ ์ผ๋“ค๋กœ ํ•œ ํ•ด๋ฅผ ๋„˜๊ธฐ๊ณ ์•ผ ๋งŒ๋‹ค. ์—ฐ๋ง์ด ์ง€๋‚˜๊ณ  ์ƒˆํ•ด๊ฐ€ ์‹œ์ž‘๋˜์—ˆ์ง€๋งŒ ๋ฌด์Šจ ์ผ์ด ์žˆ์–ด๋„ ๋งค๋…„ ํšŒ๊ณ ๋Š” ๊ผญ ํ•˜์ž๋Š” ๋‚˜์™€์˜ ์•ฝ์†์„ ์ง€ํ‚ค๋ ค 2021๋…„์„ ๋˜๋Œ์•„๋ณด๊ณ  ํฌ๋‚˜ํฐ ์ด๋ฒคํŠธ๋“ค์˜ ์—ฐ์†์ด ๋  ๊ฒƒ๋งŒ ๊ฐ™์€ 2022๋…„์„ ์œ„ํ•ด ๋”ํ•  ๊ฑด ๋”ํ•˜๊ณ  ๋บ„ ๊ฑด ๋นผ๋Š” ๋ฆฌ๋ทฐ๋ฅผ ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ž‘์€ ๋„์ „๋“ค ใ€€์žฌํƒ๊ทผ๋ฌด๊ฐ€ ์žฅ๊ธฐํ™”๋˜๋ฉด์„œ ์‹œ๊ฐ„์„ ์ข€ ๋” ์•Œ์ฐจ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ , ๊ทธ์— ์ƒ๊ฐํ•˜์ง€๋„ ๋ชปํ•œ ๋‹ค์–‘ํ•œ ๊ฒฝํ—˜๋“ค์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค. ๋จผ์ € ์ฐพ์•„๋ณด๊ธฐ๋„ ํ•˜๊ฑฐ๋‚˜ ํ•„์ž์˜ ๋ธ”๋กœ๊ทธ๋‚˜ ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด ์˜คํžˆ๋ ค ์—ฐ๋ฝ์ด ์™”๋˜ ‘๋ฉ˜ํ† ๋ง’์€ ๋งŽ์€ ๊ฒƒ์„ ์ƒ๊ฐํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฒฝํ—˜์ด ๋˜์—ˆ๋‹ค. BE, FE, ๋จธ์‹ ๋Ÿฌ๋‹, DevOps ๋“ฑ ๋ถ„์•ผ๋ฅผ ๋ง‰๋ก ํ•˜๊ณ  ์ด์ œ ๋ง‰ ๊ฐœ๋ฐœ์ž๋กœ์จ ์ทจ์—…์ „์„ ์— ๋›ฐ์–ด๋“œ๋ ค ํ•˜๋Š” ์˜ˆ๋น„ ๊ฐœ๋ฐœ์ž๋ถ€ํ„ฐ ํ•œ์ฐธ ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•˜๊ณ  ์žˆ๋Š” ์ด๋ฅธ๋ฐ” ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๊นŒ์ง€ ๋‹ค์–‘ํ•œ ๋ถ„๋“ค์„ zoom์ด๋‚˜ gather-town ๊ฐ™์€ ์˜จ๋ผ์ธ ํ”Œ๋žซํผ์—์„œ ๋งŒ๋‚˜๊ฒŒ ๋˜์—ˆ๊ณ , ๊ทธ๋“ค์˜ ๊ณ ๋ฏผ์„ ํ•จ๊ป˜ ์ดํ•ดํ•˜๋ ค ๋…ธ๋ ฅํ•˜๋ฉฐ ์„ ๋ฐฐ ๊ฐœ๋ฐœ์ž๋กœ์จ ์กฐ๊ธˆ์ด๋‚˜๋งˆ ๋„์›€์ด ๋˜๋Š” ๋ถ€๋ถ„๋“ค์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ด์ฃผ๋Š” ํ™œ๋™๋“ค์„ ํ•ด์™”๋‹ค. 10๋…„ํ›„์— ๋งŒ๋‚˜์š” :D" 10๋…„ํ›„์— ๋งŒ๋‚˜์š” :D ใ€€๋ฌผ๋ก  ํ•„์ž๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ์ž˜ ์„ฑ์žฅํ•œ (๋˜๋Š” ๋ณธ๋ณด๊ธฐ์˜ ๋Œ€์ƒ์ด ๋ ๋งŒํ•œ) ๊ฐœ๋ฐœ์ž๋ผ๊ณ  ๋งํ•˜๊ธฐ๋Š” ๋งค์šฐ ์–ด๋ ต์ง€๋งŒ ๊ทธ๋“ค๋ณด๋‹ค๋Š” ๋‹ค์–‘ํ•œ ๊ฒฝํ—˜๋“ค์„ ๋จผ์ € ํ•ด๋ณธ ์„ ๋ฐฐ ์ž…์žฅ์—์„œ ๋…ธํ•˜์šฐ๋‚˜ ๋ฐฉํ–ฅ์„ฑ์— ๋Œ€ํ•ด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์ตœ๋Œ€ํ•œ ํ’€์–ด ์„ค๋ช…ํ•˜๋ ค ํ–ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ ์„ ๋ˆ„๊ตฌ๋Š” ๋Œ€์ˆ˜๋กญ์ง€ ์•Š๊ฒŒ ์—ฌ๊ธด ์ ๋„ ์žˆ์ง€๋งŒ ๋ˆ„๊ตฐ๊ฐ€๋Š” XX ๊ธฐ์—…์— ์ทจ์—…์„ ํ–ˆ๋‹ค๊ฑฐ๋‚˜ ๋ฉฐ์น ๊ฐ„ ๋ณต์žกํ•˜๊ณ  ํž˜๋“ค์—ˆ๋˜ ๊ณ ๋ฏผ์ด ํ•ด๊ฒฐ์ด ๋˜์—ˆ๋‹ค๋Š” ์†Œ๋ฆฌ๋ฅผ ๋“ค์—ˆ์„ ๋• ์•„, ๋ฉ˜ํ† ๋ง ํ•˜๊ธธ ์ž˜ํ–ˆ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค๊ฒŒ ๋˜์—ˆ๊ณ  ๋”๋ถˆ์–ด ์ด์ œ๋Š” ์ ์  ๋ˆ„๊ตฐ๊ฐ€์™€ ํ•จ๊ป˜ ๊ณต๋™์˜ ๋ชฉํ‘œ๋ฅผ ์ด๋ฃจ๊ธฐ ์œ„ํ•œ ์œ„์น˜์—์„œ ์žˆ๋‹ค ๋ณด๋‹ˆ ์ด๋Ÿฐ ์ ์„ ์—ฐ์Šตํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๊ฐ€ ๋œ ๊ฒƒ ๊ฐ™์•„ ๋„ˆ๋ฌด ์ข‹์•˜๋‹ค. ๋ฌด์—‡๋ณด๋‹ค ๋ฉ˜ํ† ๋ง์„ ํ•˜๋ฉด์„œ ํ•„์ž๋„ ๋Œ€์ถฉ ์•Œ๊ณ  ์žˆ๋˜ ๊ฐœ๋ฐœ ์ง€์‹์— ๋Œ€ํ•ด (์ œ๋Œ€๋กœ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•ด) ๊ณต๋ถ€ํ•˜๊ฒŒ ๋˜๋Š” ๊ธฐํšŒ๊ฐ€ ๋˜์—ˆ๊ณ  ์ด๋Ÿฐ์ €๋Ÿฐ ์ƒ๋‹ด์„ ํ•˜๋ฉฐ ๋А๋‚€ ๊ทธ๋“ค์˜ ์—ด์ •์„ ์กฐ๊ธˆ์ด๋‚˜๋งˆ ๊ฐ„์ ‘๊ฒฝํ—˜ํ•˜๋ฉฐ ์–ผ๋งˆ ์ „๋ถ€ํ„ฐ ์žƒ์–ด๋ฒ„๋ฆฐ ๋‚ด ์—ด์ •๋„ ์ฐพ์œผ๋ ค๋Š” ๋™๊ธฐ๋ถ€์—ฌ๋„ ๋˜๊ธฐ๋„ ํ•˜์˜€๋‹ค. ใ€€์ฝ”๋กœ๋‚˜๊ฐ€ ์žฅ๊ธฐํ™”๋˜๊ณ  ๊ฐœ๋ฐœ์ž๋กœ์จ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑด ์—†์„๊นŒ ํ•˜๋ฉฐ Elastic Stack ์„ ํ™œ์šฉํ•˜์—ฌ ์ฝ”๋กœ๋‚˜19 ๋Œ€์‹œ๋ณด๋“œ ๋งŒ๋“ค๊ธฐ๋ผ๋Š” ํฌ์ŠคํŒ…์„ ์˜ฌ๋ฆฌ๊ฒŒ ๋˜์—ˆ๊ณ  ๊ทธ์— ํž˜์ž…์–ด ๋‚˜๋งŒ์˜ ๋ฐ์ดํ„ฐ ๋ถ„์„ ํ”Œ๋žซํผ ์—˜๋ผ์Šคํ‹ฑ์„œ์น˜๋ผ๋Š” ์ฑ…์— ๋ฒ ํƒ€ ๋ฆฌ๋”ฉ์„ ํ•˜๊ธฐ๋„ ํ•˜์˜€๋‹ค. ์ž‘๋…„๋ถ€ํ„ฐ ์ฑ…์„ ์จ๋ณด๋Š” ๊ฑด ์–ด๋–ป๊ฒ ๋ƒ๋Š” ์š”์ฒญ์ด ์•„์ฃผ ๊ฐ€๋” ๋“ค์–ด์˜ค์ง€๋งŒ ๋ฒ ํƒ€ ๋ฆฌ๋”ฉ์„ ํ•˜๋ฉด์„œ ์ฑ…์„ ์ถœ๊ฐ„ํ•˜๋Š” ๊ฒŒ ์–ผ๋งˆ๋‚˜ ์–ด๋ ค์šด ๊ฑด์ง€ ๋‹ค์‹œ ํ•œ๋ฒˆ ๊นจ๋‹ซ๊ฒŒ ๋˜์—ˆ๊ณ  ๊ธฐํšŒ๊ฐ€ ๋œ๋‹ค๋ฉด ๋‚ด ์ด๋ฆ„์œผ๋กœ ๋œ ์ฑ…์„ ์จ๋ณด๊ณ  ์‹ถ์€ ์ƒ๊ฐ๋„ ๋“ค์—ˆ๋‹ค. ใ€€๊ณต๋ชจ์ฃผ ์ฒญ์•ฝ์„ ๊ฐ€๋” ํ•˜๋ฉด์„œ ๋ˆ„๊ตฐ๊ฐ€ ์•Œ๋ ค์ฃผ๋ฉด ์ข‹์„ ํ…๋ฐ ํ•˜๋Š” ์ƒ๊ฐ์œผ๋กœ ๊ณต๋ชจ์ฃผ ์•Œ๋ฆฌ๋ฏธ ๋ผ๋Š” ํ† ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ ๊ตฌ๋… ์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•˜๊ณ  ์žˆ๋Š” AWS ec2 ์„œ๋ฒ„์— ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์กฐ๊ธˆ ๋‚จ์•„ ๋ฐฐ์น˜ ํ˜•์‹์œผ๋กœ ๋งŒ๋“ค์–ด์„œ ํ…”๋ ˆ๊ทธ๋žจ์œผ๋กœ ์ •๋ณด๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ์„œ๋น„์Šค์ธ๋ฐ ์ƒ๊ฐ๋ณด๋‹ค ์ˆ˜์š”๊ฐ€ ๋งŽ์•„์„œ ๊นœ์ง ๋†€๋ž๋‹ค. ๋ณด๋‹ค ๋Œ€์ค‘์ ์ธ(?) ๋ฉ”์‹ ์ €์ธ ์นด์นด์˜คํ†ก์œผ๋กœ ์šด์˜ํ•˜๊ณ  ์‹ถ์—ˆ์ง€๋งŒ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ๋•Œ๋งˆ๋‹ค ๋น„์šฉ์ด ๋ฐœ์ƒํ•ด์„œ (์•„๋ฌด๋ฆฌ ํ† ์ด ํ”„๋กœ์ ํŠธ๋ผ ํ•ด๋„…) ์ฐจ๋งˆ ์—„๋‘๊ฐ€ ๋‚˜์งˆ ์•Š์•„ ์นด์นด์˜คํ†ก ์ฑ„๋„๋งŒ ๋งŒ๋“ค๊ณ  ํ…”๋ ˆ๊ทธ๋žจ ๋งํฌ๋ฅผ ์—ฐ๊ฒฐํ•ด๋‘์—ˆ๋‹ค. ์ง€๊ธˆ์€ ์•„์˜ˆ ์†๋„ ์•ˆ๋Œ€๋Š” ์„œ๋น„์Šค์ด์ง€๋งŒ ์ž˜ ๋Œ์•„๊ฐ€๊ณ  ์žˆ๋Š” ๊ฑธ ๋ณด๋ฉด ์ž๋™ํ™”์˜ ํž˜์€ ์ •๋ง ๋Œ€๋‹จํ•˜๋‹ค๋Š” ๊ฑธ ๋‹ค์‹œ๊ธˆ ๋А๊ปด๋ณธ๋‹ค. ์นด์นด์˜ค์ฑ„๋„ ๊ฐ€์ž…์ž์—๊ฒŒ ๋ฉ”์„ธ์ง€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Œ ์ข‹์„ํ…๋ฐ…" ์นด์นด์˜ค์ฑ„๋„ ๊ฐ€์ž…์ž์—๊ฒŒ ๋ฉ”์„ธ์ง€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Œ ์ข‹์„ํ…๋ฐ… ๋ผ์ดํ”„ ์‚ฌ์ดํด์˜ ๋ณ€ํ™” ใ€€๋ฌธ๋“ ์ด๋ ‡๊ฒŒ ์žฌ๋ฏธ์žˆ๋Š” ๊ฐœ๋ฐœ์„ ์–ธ์ œ๊นŒ์ง€ ํ•  ์ˆ˜ ์žˆ์„๊นŒ ํ•˜๋Š” ์ƒ๊ฐ์„ ํ•˜๊ฒŒ ๋œ ์ ์ด ์žˆ๋‹ค. ๊ฐœ๋ฐœ์„ ์˜ค๋žซ๋™์•ˆ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ๋ฌด์—‡์ด ์žˆ์„๊นŒ ํ•˜๋Š” ์ƒ๊ฐ์˜ ๋์—๋Š” ๊ฒฐ๊ตญ “๋“ ๋“ ํ•œ ์ž์‚ฐ"๊ณผ “์ƒ๊ฐ์˜ ํŒจ๋Ÿฌ๋‹ค์ž„ ์ „ํ™˜”, ๊ทธ๋ฆฌ๊ณ  “๊ฑด๊ฐ•"์ด๋ผ๋Š” ๊ฒฐ๋ก ์— ๋„๋‹ฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ฐœ๋ฐœ ์—…๋ฌด ๊ธฐ๊ธฐ๋ฅผ ์‚ฐ๋‹ค๊ฑฐ๋‚˜ ์‹ ๊ธฐ์ˆ  ํ•™์Šต์„ ์œ„ํ•ด ํˆฌ์žํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฒฐ๊ตญ ๋ˆ์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ๋А๊ปด์กŒ๊ณ , ๊ณต๋Œ€์ƒ์˜ ๊ณ ๋ฆฝ๋œ(?) ๊ฐ€์น˜๊ด€์—์„œ ๋‹ค์–‘ํ•œ ์ธ๋ฌธํ•™์ ์ธ ๊ด€์ ๋“ค์ด ๊ฐ€๋ฏธ๋œ๋‹ค๋ฉด ๊ฐœ๋ฐœ์—๋„ ํ›จ์”ฌ ๋„์›€์ด ๋  ๊ฑฐ๋ผ ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

๊ทธ๋Ÿฐ ๊ฐœ๋ฐœ์ž๋กœ ๊ดœ์ฐฎ์€๊ฐ€ - '์ทจ์—…' ํŽธ

๋ช‡ ๋‹ฌ ์ „๋ถ€ํ„ฐ ์ข‹์€ ๊ธฐํšŒ๊ฐ€ ์ƒ๊ฒจ ์ด์ œ ๋ง‰ ๊ฐœ๋ฐœ์ž์˜ ๊ธธ๋กœ ๋“ค์–ด์„œ๋Š” ๋ถ„๋“ค๊ณผ ๋‹ค์–‘ํ•œ ์ƒ‰๊น”๋“ค๋กœ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆ„๊ณ  ์žˆ๋‹ค. ๊ณผ๊ฑฐ ํ•„์ž๊ฐ€ ๋ง‰ ์ทจ์—…์„ ํ–ˆ์„ ๋•Œ์˜ ์˜จ๋„์™€๋Š” ํ™•์—ฐํ•˜๊ฒŒ ๋‹ค๋ฅด์ง€๋งŒ ํ™•์‹คํ•˜๊ฒŒ ์ด์•ผ๊ธฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑด, ์ด๋ฏธ ๊ฐœ๋ฐœ์ž๋ผ๋Š” ์ง์—…์œผ๋กœ 10๋…„ ๊ฐ€๊นŒ์ด ์ง€๋‚ด๋ณด๋‹ˆ ๋ฌด์—‡์ด ์ค‘์š”ํ•˜๊ณ  ์–ด๋–ค ๊ฒƒ๋“ค์€ ์ž์‹ ์„ ๊ฐ‰์•„๋จน๋Š” ์กด์žฌ๋ผ๋Š” ๊ฒŒ ๋ป”ํžˆ ๋ณด์ธ๋‹ค๋Š” ์ ์ด๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ ์–ด๋А ๋ˆ„๊ตฌ๋„ ์ฒ˜์Œ ์‹œ์ž‘์ ์—์„œ๋Š” ๋‹น์—ฐํžˆ ํž˜๋“ค์–ดํ•  ์ˆ˜๋ฐ–์— ์—†๋Š”๋ฐ ๊ทธ ๊ณผ์ •์„ ๋ฌด์ž‘์ • ์‹ซ์–ด๋งŒ ํ•œ๋‹ค๊ฑฐ๋‚˜ ๊ทธ ํž˜๋“ฆ์„ ๋ชป ๊ฒฌ๋””๊ณ  ํฌ๊ธฐ ๋˜๋Š” ์ž˜๋ชป๋œ ์„ ํƒ(์ผ๋‹จ ์–ด๋””๋ผ๋„ ๋ถ™์œผ๋ฉด ๋ฌด์กฐ๊ฑด ๊ฐ€์ž๋Š” ์‹์˜)์„ ํ•˜๊ฒŒ ๋˜๋Š” ์ ์ด ๋„ˆ๋ฌด ์•ˆํƒ€๊น๋‹ค. ๋งŒ์•ฝ ์–ด๋– ํ•œ ‘๊ณต์‹’์ฒ˜๋Ÿผ ์ค‘์š”ํ•œ ๊ฒƒ๋งŒ ๋ฐ”๋ผ๋ณด๊ณ  ํ•„์š” ์—†๋Š” ๊ฒƒ๋“ค์€ ํ•˜์ง€ ์•Š๋Š” ์‹์œผ๋กœ ํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋ผ๋Š” ์ง์—…์„ ๊ฐ–๋Š” ์ง์žฅ์ธ์˜ ์‚ถ์€ ๊ณผ์—ฐ ํ–‰๋ณตํ• ๊นŒ? ์•„๋‹ˆ ๊ทธ๊ฒŒ ๊ฐ€๋Šฅํ•˜๊ธด ํ• ๊นŒ? ใ€€์ด๋Ÿฐ์ €๋Ÿฐ ๊ณผ์ •์„ ๊ฑฐ์ณ์„œ ์ทจ์—…์— ์„ฑ๊ณตํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด์ž. ๊ณผ์—ฐ ์šฐ๋ฆฌ๊ฐ€ ๊ฟˆ๊พธ๋˜ ์•„๋ฆ„๋‹ต๊ณ  ๋ฉ‹์ง„ ๊ฐœ๋ฐœ์ž ๋ผ์ดํ”„๊ฐ€ ๋ณด์žฅ์ด ๋ ๊นŒ? (๋ฌผ๋ก  ์‚ฌ๋žŒ๋งˆ๋‹ค ํšŒ์‚ฌ๋งˆ๋‹ค ๋‹ค๋ฅด์ง€๋งŒ) ์•ผ๊ทผ์€ ๋ฐฅ ๋จน๊ธฐ ์ผ์‘ค๊ณ  ๋ชจ๋ฅด๋Š” ๊ฑฐ ํˆฌ์„ฑ์— ๋งค๋ฒˆ ์‹ค์ˆ˜ํ•˜๊ฑฐ๋‚˜ ํ˜ผ๋‚˜๊ณ  ์ขŒ์ ˆ์˜ ์—ฐ์†. ๋“œ๋””์–ด ์ทจ์—…ํ–ˆ๋‹ค!๋ผ๋Š” ์™ธ์นจ์ด ์˜จ ๋ฐ ๊ฐ„ ๋ฐ ์‚ฌ๋ผ์ง€๊ณ  ์ŠคํŠธ๋ ˆ์Šค๊ฐ€ ๋ฐ˜๋ณต๋˜์–ด ๊ฒฐ๊ตญ ํ‡ด์‚ฌ๋ฅผ ์ƒ๊ฐํ•˜๊ฑฐ๋‚˜ ์ •์‹  ์ฐจ๋ ค๋ณด๋‹ˆ ๋‚˜๋„ ๋ชจ๋ฅด๊ฒŒ CRUD (create, read, update, delete) ์ฐ์–ด๋‚ด๋Š” ๊ธฐ๊ณ„๊ฐ€ ๋˜์–ด๋ฒ„๋ฆฌ๊ณค ํ•œ๋‹ค. ๋ฌด์—‡์ด ๋ฌธ์ œ์ผ๊นŒ? ์ด๋Ÿฐ ์ƒํ™œ์„ ๊ธฐ๋Œ€ํ•˜๊ณ  ์ทจ์—…ํ•œ ๊ฑด ์•„๋‹ ํ…๋ฐ ๋ง์ด๋‹ค. ๊ฐœ๋ฐœ์ž ์ „์„ฑ์‹œ๋Œ€, ์ด๋Œ€๋กœ ์ข‹์€๊ฐ€์ถœ์ฒ˜ : https://news.nate.com/view/20210226n37680" ๊ฐœ๋ฐœ์ž ์ „์„ฑ์‹œ๋Œ€, ์ด๋Œ€๋กœ ์ข‹์€๊ฐ€ ์ถœ์ฒ˜ : https://news.nate.com/view/20210226n37680 ใ€€์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ด์ œ ๋ง‰ ‘๊ฐœ๋ฐœ์ž’๋ผ๋Š” ์ง์—…์„ ๊ฐ€์ง€๋ ค๋Š” ๋ถ„๋“ค์ด๋‚˜ ์ง์žฅ์ธ์œผ๋กœ์„œ ์‹œ์ž‘์€ ํ–ˆ๋Š”๋ฐ ์–ด๋– ํ•œ ์ด์œ ๋กœ ์ง€์นœ๋‹ค๊ฑฐ๋‚˜ ๋งค๋„ˆ๋ฆฌ์ฆ˜์— ๋น ์ง„ ๋ถ„๋“ค๊ป˜ ์กฐ๊ธˆ์ด๋‚˜๋งˆ ๋„์›€์ด ๋ ๊นŒ ํ•˜์—ฌ ํ•„์ž์˜ ์ƒ๊ฐ์„ ์ •๋ฆฌํ•ด ๋ณด๊ณ ์ž ํ•œ๋‹ค. ์™œ ๋ณธ์ธ์ด ์ˆ˜๋งŽ์€ ์ง์—… ์ค‘์— ํ•˜ํ•„ ‘๊ฐœ๋ฐœ์ž’๋ฅผ ์„ ํƒํ–ˆ๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ์ทจ์—…์„ ํ•˜๊ณ ์ž ํ•  ๋•Œ ์ƒ๊ฐํ•ด ๋ด์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€๋“ค์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ด๋ณด์ž. ์™œ ํ•˜ํ•„ ‘๊ฐœ๋ฐœ์ž’์ธ๊ฐ€ ใ€€ํ•œ๊ตญ ๊ณ ์šฉ์ •๋ณด์›์ด 2020๋…„ ๋ฐœ๊ฐ„ํ•œ ใ€Œํ•œ๊ตญ ์ง์—…์‚ฌ์ „ ํ†ตํ•ฉ๋ณธ ์ œ5ํŒใ€์— ๋”ฐ๋ฅด๋ฉด 2019๋…„ 12์›” ๊ธฐ์ค€์œผ๋กœ ์šฐ๋ฆฌ๋‚˜๋ผ ์ง์—…์˜ ์ข…๋ฅ˜๋Š” 16,891๊ฐœ๋ผ๊ณ  ํ•œ๋‹ค. ์‚ฐ์—…์ด ๋ฐœ๋‹ฌ๋จ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ์ง์—…๋“ค์ด ์ƒ๊ฒจ๋‚˜๊ธฐ์— ์ง€๊ธˆ์€ ํ›จ์”ฌ ๋” ๋งŽ์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, ์ด ์ˆ˜๋งŽ์€ ์ง์—…๋“ค ์ค‘์— ์™œ ํ•˜ํ•„ ์šฐ๋ฆฌ๋Š” ‘๊ฐœ๋ฐœ์ž’๋ผ๋Š” ์ง์—…์„ ์„ ํƒํ•˜๋ ค๋Š” ๊ฑธ๊นŒ? ๊ด€๋ จ ์ „๊ณต์„ ๋‚˜์™€์„œ? ์š”์ฆ˜ ์ธ๊ธฐ ์žˆ๋Š” ์ง์—…์ด๋ผ์„œ? ํ•œ ๋ฒˆ์ฏค์€ ์•„๋‹ˆ, ๊ผญ ์ด๋Ÿฐ ์ƒ๊ฐ์„ ๋ฉฐ์น ์—์„œ ๋ช‡ ๋‹ฌ ๋™์•ˆ ๊นŠ๊ฒŒ ๊ณ ๋ฏผํ•ด ๋ดค์œผ๋ฉด ์ข‹๊ฒ ๋‹ค. ์™œ ๋‚˜๋Š” ๊ฐœ๋ฐœ์ž๋กœ์จ ์‚ด์•„๊ฐ€๋ ค ํ•˜๋Š” ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•ด์„œ ๋ง์ด๋‹ค. ใ€€์ด๋ ฅ์„œ ํ˜น์€ ์ž๊ธฐ์†Œ๊ฐœ์„œ์— ‘์ž…์‚ฌ ํฌ๋ถ€’๋ผ๋Š” ๋ฌธํ•ญ์ด ์ž์ฃผ ๋‚˜ํƒ€๋‚œ๋‹ค. ๊ทธ๊ณณ์—๋Š” ๋ณธ์ธ์ด ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜์–ด์•ผ๋งŒ ํ•˜๋Š” ์ด์œ ์— ๋Œ€ํ•ด ๋‹ค์–‘ํ•œ ๋ฏธ์‚ฌ์—ฌ๊ตฌ๋ฅผ ๋ถ™์—ฌ๊ฐ€๋ฉฐ ์ž‘์„ฑํ•˜๊ธฐ ๋งˆ๋ จ์ธ๋ฐ ๊ทธ๋ ‡๊ฒŒ ‘๋ณด์—ฌ์ฃผ๊ธฐ์‹’๋‚ด์šฉ ๋ง๊ณ  ์ •๋ง ๋‚ด๊ฐ€ ๊ฐœ๋ฐœ์ด ‘์žฌ๋ฐŒ๋Š”์ง€์—’ ๋Œ€ํ•ด ๋ฐ˜๋ฌธ์„ ํ•ด๋ณด๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค. ๊ฐœ๋ฐœ์„ ํ•˜๋Š” ๊ณผ์ • ์†์—์„œ ๋‚˜๋Š” ์–ด๋А ์ƒํ™ฉ์—์„œ ์žฌ๋ฏธ๋ฅผ ๋А๋ผ๋Š”์ง€. ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์„ ๋ฐฐ์šธ ๋•Œ, ๋ช‡ ๋‚  ๋ฉฐ์น  ๋™์•ˆ ์‚ฝ์งˆ์„ ํ•˜๋‹ค ํ•ด๊ฒฐ์„ ํ–ˆ์„ ๋•Œ, ๋‚ด๊ฐ€ ๊ฐœ๋ฐœํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ˆ„๊ตฐ๊ฐ€ ์‚ฌ์šฉํ•  ๋•Œ ๋“ฑ๋“ฑ. ์ฐพ์•„๋ณด๋ฉด ๋‹ค์–‘ํ•œ ์‹œ์ ์—์„œ ์šฐ๋ฆฌ๋Š” ๊ฐœ๋ฐœ์„ ํ•˜๋ฉฐ ์žฌ๋ฏธ๋ฅผ ๋А๋‚„ ๋•Œ๊ฐ€ ์žˆ๋‹ค. ใ€€๋ˆˆ์น˜๋ฅผ ์ฑ˜์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ ํ•„์ž๊ฐ€ ๋งํ•˜๊ณ  ์‹ถ์€ ๊ฑด, ๊ฐœ๋ฐœ์ž๋ผ๋Š” ์ง์—…์„ ์„ ํƒํ•˜๋ ค๋ฉด ๊ฐœ๋ฐœ์ด ์žฌ๋ฏธ์žˆ์–ด์•ผ ๋œ๋‹ค๋Š” ๋ง์ด๋‹ค. ๋ฐ˜๋ฌธ์„ ํ•ด๋ณด์ž. ๊ทธ๋Ÿผ ๋งŒ์•ฝ์— ๊ฐœ๋ฐœ์ด ์žฌ๋ฏธ์—†๋‹ค๋ฉด ์–ด๋–จ๊นŒ? ๊ฐœ๋ฐœ์ž๋กœ์จ ์‚ด์•„๊ฐˆ ์ˆ˜ ์—†๋Š” ๊ฒƒ์ผ๊นŒ? ์ผ๋ฐ˜ํ™”ํ•˜๊ธด ์‹ซ์ง€๋งŒ ๊ฐœ๋ฐœ์ด ์žฌ๋ฏธ๊ฐ€ ์—†์œผ๋ฉด ๊ฐœ๋ฐœ์ž๋กœ์จ ์‚ด์•„๊ฐ€๊ธฐ์— ๋„ˆ๋ฌด ํž˜๋“ค ๊ฒƒ ๊ฐ™๋‹ค. ๊ฒ€์ • ํ™”๋ฉด์— ์˜์–ด๋กœ ๋œ ๊ธ€์ž๋“ค์„ ๋งŒ์ ธ๊ฐ€๋ฉฐ ํ™€๋กœ ๊ณ ๋…ํ•˜๊ฒŒ ์ž์‹ ๊ณผ์˜ ์‹ธ์›€์„ ํ•˜๋Š” ์‹œ๊ฐ„๋“ค์˜ ์—ฐ์†์ผ ํ…๋ฐ ์žฌ๋ฏธ๋ผ๋„ ์žˆ์ง€ ์•Š๋‹ค๋ฉด, ๋”๊ตฐ๋‹ค๋‚˜ ๊ทธ๊ฒŒ ํ•˜๋ฃจ์˜ ์ ˆ๋ฐ˜ ์ด์ƒ์„ ํ• ์• ํ•˜๋Š” ‘์ง์—…’์ด๋ผ๋ฉด ์˜ค๋ž˜ ์œ ์ง€ํ•˜๋Š”๋ฐ ํž˜๋“ค์ง€ ์•Š์„๊นŒ? ๊ทธ๋ž˜๋„ ์˜ค๋Š˜์ด ๋ช‡์ผ์ธ์ง€๋Š” ์•Œ๊ณ  ํ•˜์ž.์ถœ์ฒ˜ : https://bbs.ruliweb.com/community/board/300143/read/49006211" ๊ทธ๋ž˜๋„ ์˜ค๋Š˜์ด ๋ช‡์ผ์ธ์ง€๋Š” ์•Œ๊ณ  ํ•˜์ž. ์ถœ์ฒ˜ : https://bbs.ruliweb.com/community/board/300143/read/49006211 ใ€€๋‹น์žฅ ๊ฐœ๋ฐœ์ด ์žฌ๋ฏธ์—†์–ด๋„ ์ข‹๋‹ค. ํƒœ์–ด๋‚  ๋•Œ๋ถ€ํ„ฐ ๊ฐœ๋ฐœ์ด ์žฌ๋ฐŒ์–ด์„œ ๋Œ์žก์ด ๋•Œ ๊ธฐ๊ณ„์‹ ํ‚ค๋ณด๋“œ๋ฅผ ์žก๋Š” ์‚ฌ๋žŒ์€ ์—†๋“ฏ ๋ˆ„๊ตฌ๋‚˜ ์•ฝ๊ฐ„์˜ ํ˜ธ๊ธฐ์‹ฌ์—์„œ ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•˜๊ธฐ ๋งˆ๋ จ์ธ๋ฐ ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ์ ์€ ๊ฐœ๋ฐœ์˜ ์žฌ๋ฏธ๋ฅผ ๋ณธ์ธ๋งŒ์˜ ํ˜ธํก์œผ๋กœ ์ฐพ๋Š” ์Šต๊ด€์„ ๋“ค์—ฌ์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์˜ˆ์ปจ๋Œ€, ํ•„์ž๋Š” ํšŒ์‚ฌ์—์„œ ์ด๋Ÿฐ์ €๋Ÿฐ ์ด์œ ๋กœ ๊ฐœ๋ฐœ์ด ์žฌ๋ฏธ ์—†์–ด์ง€๊ฑฐ๋‚˜ ์ณ๋‹ค๋„ ๋ณด๊ธฐ ์‹ซ์„ ์ƒํ™ฉ์ด ์ƒ๊ธฐ๋ฉด ๋ฌด์–ธ๊ฐ€๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ฑฐ๋‚˜(=ํ† ์ด ํ”„๋กœ์ ํŠธ) ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์ด ์ƒ๊ฒผ๋‹ค๋ฉด ๊นŠ๊ฒŒ ํŒŒ๊ณ  ๋“ค์–ด ์–ด๋–ป๊ฒŒ๋“  ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๋Š” ๊ณผ์ •์„ ์–ด๋”˜๊ฐ€์— ์ •๋ฆฌํ•˜๋ฉฐ(=๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ) ๋ฌด๋„ˆ์ง€์ง€ ์•Š์œผ๋ ค ๊ฐœ๋ฐœ์˜ ์žฌ๋ฏธ๋ฅผ ์œ ์ง€ํ•˜๋ ค ์• ์จ์˜จ ๊ฒƒ ๊ฐ™๋‹ค.

๊ณต๋ชจ์ฃผ ์•Œ๋ฆฌ๋ฏธ ๊ฐœ๋ฐœ ํ›„๊ธฐ - 3๋ถ€

๏ปฟ๊ณต๋ชจ์ฃผ ์•Œ๋ฆฌ๋ฏธ๋ผ๋Š” ํ† ์ด ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ๊ธฐ์˜ ๋งˆ์ง€๋ง‰ ํฌ์ŠคํŒ…์ด๋‹ค. ํ† ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์™œ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ๊ณ  ์–ด๋–ป๊ฒŒ ์„ค๊ณ„ํ•˜๊ฒŒ ๋˜์—ˆ์œผ๋ฉฐ ๋ฐ์ดํ„ฐ๋Š” ์–ด๋–ค ์‹์œผ๋กœ ์ˆ˜์ง‘ํ•˜๊ณ  ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ค ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ์•Œ๋ฆผ์„ ๋ณด๋‚ด๊ธฐ๊นŒ์ง€ ์•Œ์•„๋ณด์•˜๋‹ค. ์ด์ œ๋Š” ์ด๋Ÿฌํ•œ ์ผ๋ จ์˜ ‘ํŒŒ์ดํ”„๋ผ์ธ’์„ ์ž๋™ํ™”ํ•ด์•ผ ํ•  ์‹œ๊ฐ„์ด๋‹ค. ์‚ฌ๋žŒ์ด ์ง์ ‘ ์ˆ˜๋™์œผ๋กœ ๋กœ์ปฌ ์ปดํ“จํ„ฐ์—์„œ ์œ„ ํŒŒ์ดํ”„๋ผ์ธ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ณ„๋„์˜ ์„œ๋ฒ„์— ํ•ด๋‹น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋“ฑ๋ก๋˜์–ด ์žˆ๊ณ  ์ด๋ฅผ ์–ด๋–ค ๋ฌด์–ธ๊ฐ€์— ์˜ํ•ด ํŠธ๋ฆฌ๊ฑฐ๋ง์„ ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ง์ด๋‹ค.๏ปฟ 1๋ถ€ : ํ”„๋กœ์ ํŠธ ์„ค๊ณ„, ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ 2๋ถ€ : ์ˆ˜์ง‘ํ•œ ๋ฐ์ดํ„ฐ ์•Œ๋ฆผ ๋ฐœ์†ก 3๋ถ€ : ์„œ๋ฒ„ ์„ ์ • ๋ฐ ๋ฆด๋ฆฌ์ฆˆ ์„œ๋ฒ„ ์„ ์ • ใ€€๏ปฟ1๋ถ€์—์„œ ์ด์•ผ๊ธฐํ–ˆ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ heroku๋ผ๋Š” PaaS(Platform as a service)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™์•˜๋‹ค. ๋ฌด๋ฃŒ ํ”Œ๋žœ์œผ๋กœ๋„ ์„ค๊ณ„ํ–ˆ๋˜ ์„œ๋น„์Šค ๋‚ด์šฉ์„ ๋ชจ๋‘ ์†Œํ™” ๊ฐ€๋Šฅํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์•ž์„œ ๋งŒ๋“  Spring Boot Application ์„ heroku์— ๋ฐฐํฌ๋ฅผ ํ•ด๋ณด์ž. ใ€€heroku์—์„œ ์ƒˆ๋กœ์šด ‘App’์„ ์ƒ์„ฑํ•œ๋‹ค. ์•„๋ž˜์—์„œ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ๋Š” ํ™”๋ฉด๋Œ€๋กœ App name์„ ์ง€์ •ํ•˜๊ณ  ๋งŒ๋“ค๊ธฐ๋งŒ ํ•˜๋ฉด ๋. ๊ทธ๋Ÿฌ๋ฉด ๋ฐฐํฌ ๋ฐฉ๋ฒ•์ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ heroku์—์„œ ์ œ๊ณตํ•˜๋Š” CLI๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•, ๊ทธ๋ฆฌ๊ณ  Github ๊ณผ ์—ฐ๋™ํ•˜๊ฑฐ๋‚˜, ์ปจํ…Œ์ด๋„ˆ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ์ด 3๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ ํ•„์ž๋Š” Github์„ ํ™œ์šฉํ•ด์„œ ์—ฐ๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ด ๋ณด๊ณ ์ž ํ•œ๋‹ค. heroku ์—์„œ app์„ ์ƒ์„ฑํ•˜์ž." heroku ์—์„œ app์„ ์ƒ์„ฑํ•˜์ž. ใ€€๏ปฟ๋กœ์ปฌ์—์„œ ๋งŒ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ Github์— push ํ•˜๋ฉด Github Repository ๊ฐ€ ์ƒ๊ธฐ๊ณ  ์ž‘์—… ํŒŒ์ผ๋“ค์ด ์ •์ƒ์ ์œผ๋กœ ์—…๋กœ๋“œ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋‹ค์Œ heroku์—์„œ ๋งŒ๋“ค์—ˆ๋˜ App ํŽ˜์ด์ง€์—์„œ Deploy ํƒญ์„ ํด๋ฆญํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ Deploy๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋‚˜์˜ค๊ณ , ์ด ์ค‘์— “Connect to Github"์„ ์„ ํƒํ•˜๋ฉด Github ๊ณผ ์—ฐ๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ„ํŠผ์ด ์ƒ๊ธฐ๊ณ  ์ด๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ž๋™์œผ๋กœ ๋ณธ์ธ์˜ Github ๋‚ด Repository๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋„๋ก ํ™”๋ฉด์ด ๋ฐ”๋€๋‹ค. heroku ์™€ github ์—ฐ๋™" heroku ์™€ github ์—ฐ๋™ ใ€€๏ปฟ๊ทธ๋‹ค์Œ ์œ„์—์„œ Github์— push ํ–ˆ๋˜ Repository ์ด๋ฆ„์„ ์ ๊ณ  ๊ฒ€์ƒ‰ํ•˜๋ฉด ์กฐํšŒ๊ฐ€ ๋˜๊ณ  ‘Connect’๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ž๋™์œผ๋กœ ์—ฐ๊ฒฐ์ด ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์—ฐ๋™๋œ Repository ๋ธŒ๋žœ์น˜์— ์ฝ”๋“œ๊ฐ€ ํ‘ธ์‹œ ๋˜๋ฉด ์ž๋™์œผ๋กœ heroku์— ๋ฐฐํฌ๊ฐ€ ๋˜๋„๋ก ์ž๋™ํ™” ์„ค์ •๋„ ๊ฐ€๋Šฅํ•˜๊ณ  ๊ทธ ์•„๋ž˜์— ๋ณด๋ฉด ๋ธŒ๋žœ์น˜๋ฅผ ์„ ํƒํ•ด์„œ ๋ฐฐํฌ๋ฅผ ์ˆ˜๋™์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๊ธฐ๋„ ํ•˜๋‹ค. ์ˆ˜๋™์œผ๋กœ ํ‘ธ์‹œ๋ฅผ ๋ˆŒ๋Ÿฌ๋ณด๋ฉด ์ด๋Ÿฐ์ €๋Ÿฐ ๋นŒ๋“œ ๋กœ๊ทธ๊ฐ€ ๋‚˜์˜ค๊ณ  ์ตœ์ข…์ ์œผ๋กœ ๋ฐฐํฌ๊ฐ€ ๋˜์–ด {Appname}.herokuapp.com ์„ ์ ‘์†ํ•ด๋ณด๋ฉด ์„œ๋ฒ„์— ๋ฐฐํฌ๊ฐ€ ๋˜์–ด์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. sample Github Code : taetaetae@heroku#HelloWorldController.java#L11 sample heroku app : https://taetaetae-test.herokuapp.com/ ์ˆ˜๋™์œผ๋กœ ๋ฐฐํฌ๋ฅผ ํ•ด๋ณด์ž." ์ˆ˜๋™์œผ๋กœ ๋ฐฐํฌ๋ฅผ ํ•ด๋ณด์ž. ใ€€๏ปฟheroku์—์„œ๋Š” ์ด๋ ‡๊ฒŒ ๋ช‡ ๋ฒˆ์˜ ํด๋ฆญ๋งŒ์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ๊ณ  ์„œ๋ฒ„ ๋‚ด ๋กœ๊ทธ๋„ ์•„๋ž˜ ํ™”๋ฉด์ฒ˜๋Ÿผ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‰ฝ๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์‹ถ์€ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ๋งค๋ ฅ์ ์œผ๋กœ ๋ณด์ด๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๋‹จ, ๋ฌด๋ฃŒ ํ”Œ๋žœ์˜ ์ œํ•œ์‚ฌํ•ญ๋“ค์„ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ณ  ์‚ฌ์šฉํ•  ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค. ์„œ๋ฒ„ ๋กœ๊ทธ๋„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค!" ์„œ๋ฒ„ ๋กœ๊ทธ๋„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค! ํ˜ธ์ถœ ํ…Œ์ŠคํŠธ, ๋ฌธ์ œ์˜ ์‹œ์ž‘ ใ€€๏ปฟ์•ž์„œ ๋งŒ๋“ค์—ˆ๋˜ ํ…”๋ ˆ๊ทธ๋žจ ์ฑ„๋„์—๋Š” ์•„๋ฌด๋„ ๊ฐ€์ž…์„ ํ•˜์ง€ ์•Š์•˜๊ธฐ์— ๋ฐฐํฌํ•œ heroku web endpoint๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ํ…”๋ ˆ๊ทธ๋žจ ๋ด‡์„ ํ†ตํ•ด ์•Œ๋ฆผ์ด ์˜ค๋Š” ๊ฑธ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์•„๋ฌด๋ฆฌ ํ˜ธ์ถœ์„ ํ•ด๋„ ์„œ๋ฒ„๋Š” ํƒ€์ž„์•„์›ƒ์ด๋ผ๋Š” ์—๋Ÿฌ ์‘๋‹ต์„ ๋ฑ‰๊ธฐ ์ผ์‘ค์˜€๊ณ , ๋กœ์ง์ด ๋ฌธ์ œ์ธ์ง€ ํ•œ์ฐธ์„ ๋ฆฌํŒฉํ† ๋งํ•˜๋ฉฐ ์›์ธ์„ ํŒŒ์•…ํ•˜๋Š”๋ฐ ๊ฝค ์˜ค๋žœ ์‹œ๊ฐ„์„ ์‚ฝ์งˆํ•˜์˜€๋‹ค. ์™œ ํƒ€์ž„์•„์›ƒ์ด ๋ฐœ์ƒํ• ๊นŒ? heroku๋Š” web์—์„œ ๋ฐ”๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” console ํŽ˜์ด์ง€๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ‘ํฌ๋กค๋ง์„ ํ•˜๊ธฐ ์œ„ํ•œ ํŽ˜์ด์ง€’์™€ ‘๊ตฌ๊ธ€’์„ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•ด ๋‹จ์ˆœํ•˜๊ฒŒ curl ํ•ด์„œ ๊ฐ€์ ธ์˜ค๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ณด๋‹ˆ ์•„๋ž˜์ฒ˜๋Ÿผ ํ™•์—ฐํžˆ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ž๋‹ค. ๊ฒฐ๊ตญ์€ heroku ์™€ ํฌ๋กค๋ง ํ•˜๋Š” ์„œ๋ฒ„ ๊ฐ„์˜ ๋„คํŠธ์›Œํฌ ํƒ€์ž„์•„์›ƒ์ด ๋ฌธ์ œ์˜€๋˜ ๊ฒƒ. ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๊ณ  ์›์ธ์„ ์ฐพ๋Š” ๊ณผ์ •์ด ๊ฐ€์žฅ ์–ด๋ ค์šด ๊ฒƒ ๊ฐ™๋‹ค. ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹Œ ๋„คํŠธ์›Œํฌ ์ž์ฒด์˜ ๋ฌธ์ œ" ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๊ณ  ์›์ธ์„ ์ฐพ๋Š” ๊ณผ์ •์ด ๊ฐ€์žฅ ์–ด๋ ค์šด ๊ฒƒ ๊ฐ™๋‹ค. ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹Œ ๋„คํŠธ์›Œํฌ ์ž์ฒด์˜ ๋ฌธ์ œ ๊ทธ๋ž˜์„œ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐ ํ–ˆ๋‚˜? ใ€€๏ปฟheroku์—์„œ ํƒ€์ž„์•„์›ƒ์ด ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค ์—ฌ๋Ÿฌ ๊ตฌ๊ธ€๋ง์„ ํ†ตํ•ด ์ฐพ์•„๋ดค์ง€๋งŒ ๋ฐฉ๋ฒ•์„ ์ฐพ์„ ์ˆ˜ ์—†์–ด์„œ ๊ฒฐ๊ตญ heroku๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ํฌ๊ธฐํ•˜๊ณ  ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ด์•ผ๋งŒ ํ–ˆ๋‹ค.

๊ณต๋ชจ์ฃผ ์•Œ๋ฆฌ๋ฏธ ๊ฐœ๋ฐœ ํ›„๊ธฐ - 2๋ถ€

๏ปฟํ˜น์‹œ ์ด ํฌ์ŠคํŠธ๋ฅผ ์ฒ˜์Œ ์ฝ๋Š” ๋…์ž๋ผ๋ฉด ์ง€๋‚œ ํฌ์ŠคํŒ…์„ ์ฝ๊ณ  ์˜ค๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค. ์ •๋ฆฌํ•˜์ž๋ฉด, ์ง€๋‚œ ํฌ์ŠคํŠธ์—์„œ๋Š” ํ† ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๊ฒŒ ๋œ ๊ณ„๊ธฐ์™€, ์–ด๋–ค ์‹์œผ๋กœ ๋งŒ๋“ค์ง€์— ๋Œ€ํ•œ ์„ค๊ณ„. ๊ทธ๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ๊ณผ์ •์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ–ˆ์—ˆ๋‹ค. ์ง€๋‚œ ํฌ์ŠคํŒ…์—์„œ ์ˆ˜์ง‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์ œ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ์•Œ๋ ค์ฃผ๋Š” ๋ถ€๋ถ„์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜๊ณ ์ž ํ•œ๋‹ค. 1๋ถ€ : ํ”„๋กœ์ ํŠธ ์„ค๊ณ„, ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ 2๋ถ€ : ์ˆ˜์ง‘ํ•œ ๋ฐ์ดํ„ฐ ์•Œ๋ฆผ ๋ฐœ์†ก 3๋ถ€ : ์„œ๋ฒ„ ์„ ์ • ๋ฐ ๋ฆด๋ฆฌ์ฆˆ ๋ฐ์ดํ„ฐ ์ •์˜ ใ€€๏ปฟjava ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘์— jsoup๋ผ๋Š” ๊ฒƒ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›น์‚ฌ์ดํŠธ๋ฅผ ํฌ๋กค๋ง ํ•˜์˜€๊ณ , ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์‹ฑ์„ ํ•˜์˜€๋‹ค. ์•„๋ž˜๋Š” ‘๊ณต๋ชจ์ฃผ’๋ผ๋Š” ์ž๋ฐ” ๋ชจ๋ธ์„ ์ •์˜ํ•ด ๋ณด์•˜๋‹ค. ์ด๋ ‡๊ฒŒ ์ž๋ฐ” ‘๋ชจ๋ธ’๋กœ ์ •์˜๋ฅผ ํ•˜๋Š” ์ด์œ ๋Š” ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋‹ค์‹œ ํ•œ๋ฒˆ ์ •๋ฆฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•จ์ด๊ธฐ๋„ ํ•˜๊ณ  map ๊ฐ™์€ ํ˜•ํƒœ์˜ ์ž„์‹œ ๋ณ€์ˆ˜(?)๋ณด๋‹ค ๋” ์ง๊ด€์ ์ด๊ธฐ์— ์ดํ›„ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š”๋ฐ ๊ฐ€์ด๋“œ ์—ญํ• ์˜ ํšจ๊ณผ๋„ ์–ป์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. public class PublicOffering { private String name; // ์ข…๋ชฉ๋ช… private LocalDate startDate; // ์ผ์ • ์‹œ์ž‘์ผ private LocalDate endDate; // ์ผ์ • ๋งˆ๊ฐ์ผ private LocalDate listingDate; // ์ƒ์žฅ์ผ private String publicOfferingPrice; // ํ™•์ • ๊ณต๋ชจ๊ฐ€ private String expectedOfferingPrice; // ํฌ๋ง ๊ณต๋ชจ๊ฐ€ private List<String> Underwriter; // ์ฃผ๊ฐ„์‚ฌ private String detailUrl; // ์ƒ์„ธURL private String competitionRate; // ์ฒญ์•ฝ๊ฒฝ์Ÿ๋ฅ  } ใ€€๏ปฟ์ดˆ๊ธฐ์—๋Š” ์œ„์—์„œ ์ •์˜ํ•œ ๋ชจ๋ธ์ฒ˜๋Ÿผ ๊ณต๋ชจ์ฃผ์˜ ๊ธฐ๋ณธ ์ •๋ณด๋งŒ์„ ์„œ๋น„์Šคํ•ด์•ผ๊ฒ ๋‹ค ์ƒ๊ฐํ–ˆ๊ณ , ๊ด€๋ จ ๋‰ด์Šค๋ผ๋“ ์ง€ ๊ธฐํƒ€ ์ถ”๊ฐ€์ ์ธ ์ •๋ณด๋‚˜ ๋‹ค๋ฅธ ๋ถ„๋“ค์˜ ์š”๊ตฌ ์‚ฌํ•ญ(?)๋“ค์ด ์ถ”๊ฐ€๋  ๊ฒฝ์šฐ ์ ์ง„์ ์œผ๋กœ ์„ค๊ณ„๋ฅผ ํ•˜๊ณ ์„œ ํ™•์žฅ์‹œ์ผœ ๋‚˜๊ฐ€๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๊ณ„ํšํ–ˆ๋‹ค. ์šฐ์„ ์€ ๊ธฐ๋Šฅ๋“ค์ด ๋ถ€์กฑํ•˜๋”๋ผ๊ณ  ๋Œ์•„๊ฐ€๋Š” ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์—ˆ๊ธฐ์—. ์• ์ž์ผ ๋ฐฉ๋ฒ•๋ก ! ์ถœ์ฒ˜ : https://m.blog.naver.com/keycosmos3/221267522930" ์• ์ž์ผ ๋ฐฉ๋ฒ•๋ก ! ์ถœ์ฒ˜ : https://m.blog.naver.com/keycosmos3/221267522930 ํ…”๋ ˆ๊ทธ๋žจ ๋ด‡/์ฑ„๋„ ์ƒ์„ฑ ใ€€๏ปฟํ…”๋ ˆ๊ทธ๋žจ ๋ด‡์„ ๋งŒ๋“œ๋Š” ๊ณผ์ •์€ ๊ฐ€๋ณ๊ฒŒ ๊ฒ€์ƒ‰์„ ํ•ด๋ณด๋ฉด ๋„ˆ๋ฌด๋‚˜ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ณด๋‹ค ํ•˜๋‚˜์˜ ๊ธ€ ์•ˆ์— ๋ชจ๋“  ๋‚ด์šฉ์„ ๋‹ด๊ณ  ์‹ถ์–ด ํ…”๋ ˆ๊ทธ๋žจ ๋ด‡์„ ๋งŒ๋“ค๊ณ  โ†’ ํ…”๋ ˆ๊ทธ๋žจ ์ฑ„๋„์„ ๋งŒ๋“  ๋‹ค์Œ โ†’ ํ…”๋ ˆ๊ทธ๋žจ ๋ด‡์„ ์ด์šฉํ•ด์„œ ํ…”๋ ˆ๊ทธ๋žจ ์ฑ„๋„์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ๊ฑธ ์ด์•ผ๊ธฐํ•ด ๋ณด๊ณ ์ž ํ•œ๋‹ค. ๏ปฟ์•„, ์—ฌ๊ธฐ์„œ ์™œ ๊ผญ ‘ํ…”๋ ˆ๊ทธ๋žจ’์„ ์„ ํƒํ–ˆ๋Š”๊ฐ€์— ๋Œ€ํ•œ ์ด์œ ๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ๋‹ค๋ฅธ ๋ฉ”์‹ ์ € (์นด์นด์˜คํ†ก, ๋ผ์ธ ๋“ฑ)๋ณด๋‹ค๋„ api๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ๊ณผ์ •์ด ๋‹จ์ˆœํ•˜๋ฉด์„œ๋„ ๋น ๋ฅด๊ณ  ์‰ฝ๊ฒŒ ๋А๊ปด์กŒ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ˜น์‹œ ํ…”๋ ˆ๊ทธ๋žจ ์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๋ฉ”์‹ ์ €๋กœ ๋ณด๋‚ด๋‹ฌ๋ผ๋Š” ์š”์ฒญ์ด ์žˆ์„ ๊ฒฝ์šฐ ๊ทธ๋•Œ ๊ฐ€์„œ ๊ณ ๋ฏผํ•ด ๋ณด๋ ค ํ•œ๋‹ค. ํ…”๋ ˆ๊ทธ๋žจ ๋ด‡ ์ƒ์„ฑ ใ€€๏ปฟ๋จผ์ € ํ…”๋ ˆ๊ทธ๋žจ ๋ฉ”์‹ ์ €์—์„œ ‘BotFather’๋ผ๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์ฐพ๊ณ  ‘/start’๋ฅผ ๋ˆ„๋ฅด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด๊ฐ€ ๋‚˜์˜จ๋‹ค. ใ€€๏ปฟ๊ทธ๋‹ค์Œ ์šฐ๋ฆฌ๋Š” ๋ด‡์„ ๋งŒ๋“ค ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ‘/newbot’์„ ๋ˆ„๋ฅด๊ณ  ๋ด‡์˜ ์ด๋ฆ„์„ ์ž‘์„ฑํ•˜๊ณ  ๊ทธ ๋ด‡์˜ ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์ง€์ •ํ•œ๋‹ค. ‘_bot’์œผ๋กœ ๋๋‚˜์•ผ ํ•œ๋‹ค๊ณ  ํ•˜๊ธฐ์— ์ด๋ฆ„ ๋’ค์— ๋ถ™์—ฌ์„œ ๋งŒ๋“ค๋ฉด ๊ทธ๊ฑธ๋กœ ๋. ๋‹ค์Œ์œผ๋กœ ์นœ์ ˆํ•˜๊ฒŒ HTTP API๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ† ํฐ์ด ๋ฐœ๊ธ‰๋˜๋Š”๋ฐ ์ด ํ† ํฐ์œผ๋กœ ๋ด‡์„ ์ปจํŠธ๋กค ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž˜ ๊ฐ„์งํ•˜๊ณ (?) ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์นœ์ ˆํ•œ ๋ด‡ ์•„๋ฒ„์ง€" ์นœ์ ˆํ•œ ๋ด‡ ์•„๋ฒ„์ง€ ใ€€๏ปฟ์ดํ›„ ํ•ด๋‹น ํ† ํฐ์„ ์ด์šฉํ•ด์„œ ๋ด‡์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ด๋ณด์ž. ์•„๋ž˜์˜ url์— ํ† ํฐ ๊ฒฝ๋กœ๋งŒ ๋ณ€๊ฒฝํ•˜์—ฌ ์ž…๋ ฅํ•˜๋ฉด json ์‘๋‹ต์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. https://api.telegram.org/bot{token}/getUpdates e.g. https://api.telegram.org/bot17...42:AAH...cQU/getUpdates ํ…”๋ ˆ๊ทธ๋žจ ์ฑ„๋„ ์ƒ์„ฑ ใ€€๏ปฟ1:N์œผ๋กœ ์ฑ„๋„์— ๊ฐ€์ž…ํ•œ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋ฉ”์‹œ์ง€๋ฅผ ์ผ๋ฐฉ์ ์œผ๋กœ ๋ณด๋‚ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•  ์ฑ„๋„์„ ๋งŒ๋“ค์–ด ๋ณด์ž. ํ…”๋ ˆ๊ทธ๋žจ UI๋งŒ ๋ด๋„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ƒ์„ฑํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋˜์–ด์žˆ๋‹ค. ๋”๋ถˆ์–ด ์ด ์ฑ„๋„์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์œ„์—์„œ ๋งŒ๋“ค์—ˆ๋˜ ๋ด‡์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ด€๋ฆฌ์ž๋กœ ์Šน๊ฒฉ ์‹œํ‚ค์ž. ์ฑ„๋„ ์ƒ์„ฑ > ๋ด‡์„ ๊ด€๋ฆฌ์ž๋กœ" ์ฑ„๋„ ์ƒ์„ฑ > ๋ด‡์„ ๊ด€๋ฆฌ์ž๋กœ ๏ปฟํ…”๋ ˆ๊ทธ๋žจ ๋ด‡์œผ๋กœ ํ…”๋ ˆ๊ทธ๋žจ ์ฑ„๋„์— ๋ฉ”์‹œ์ง€ ๋ณด๋‚ด๊ธฐ ใ€€์ด ๋ถ€๋ถ„์—์„œ ์•ฝ๊ฐ„ ํ—ค๋งธ๋Š”๋ฐ ๊ฒฐ๊ตญ ์œ„์—์„œ ์–ป์€ ํ† ํฐ๊ณผ ์ฑ„๋„์˜ ํŠน์ • id๋ฅผ ์•Œ์•„์•ผ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์•ž์„œ ๋งŒ๋“ค์—ˆ๋˜ ์ฑ„๋„์— ์•„๋ฌด ๋ฉ”์‹œ์ง€๋‚˜ ์ž‘์„ฑ์„ ํ•˜๊ณ  ์œ„์—์„œ ํ˜ธ์ถœํ–ˆ๋˜ ‘getUpdates’ api๋ฅผ ๋‹ค์‹œ ํ˜ธ์ถœํ•ด๋ณด๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ์ฑ„๋„์˜ id๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

๊ณต๋ชจ์ฃผ ์•Œ๋ฆฌ๋ฏธ ๊ฐœ๋ฐœ ํ›„๊ธฐ - 1๋ถ€

๏ปฟ์ž‘๋…„๋ถ€ํ„ฐ ์‹œ์ž‘๋œ ‘๋™ํ•™ ๊ฐœ๋ฏธ ์šด๋™’์— ์–ธ์ œ๋ถ€ํ„ฐ์ธ๊ฐ€ ํ•„์ž๋„ ์ฃผ๋ฆฐ์ด๋กœ์จ ๋™์ฐธ์„ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ตœ๊ทผ์—๋Š” ‘๊ณต๋ชจ์ฃผ ์ฒญ์•ฝ’์ด๋ผ๋Š” ๊ฑธ ์•Œ๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ ๋”ฐ๋ผ ํ•ด๋ณด๊ณ  ์ •์‹  ์ฐจ๋ ค๋ณด๋‹ˆ ์น˜ํ‚จ ํ•œ ๋งˆ๋ฆฌ ์ •๋„์˜ ์ˆ˜์ต์„ ์–ป๋Š” ๊ธฐ์ ์ด ์ผ์–ด๋‚ฌ๋‹ค. ๊ณต๋ชจ์ฃผ๋ž€ ์ •ํ•ด์ง„ ์ผ์ž์— ์ฒญ์•ฝ์„ ํ•˜๊ณ  ๋ฐฐ์ •์„ ๋ฐ›์œผ๋ฉด ํ•ด๋‹น ์ฃผ์‹์ด ์ƒ์žฅ์„ ํ•˜๊ธฐ ์ „์— ๋ฏธ๋ฆฌ ์‚ด ์ˆ˜ ์žˆ๋‹ค๋Š” ‘๊ธฐํšŒ’๋กœ ์ดํ•ดํ–ˆ๋‹ค. (์ฃผ๋ฆฐ์ด๋ผ ์ดํ•ด์˜ ๋ฒ”์œ„๊ฐ€ ์—ฌ๊ธฐ๊นŒ์ง€๋‹ค…) ๊ณต๋ชจ์ฃผ ๋ฐฐ์ •์ด ๋กœ๋˜์ฒ˜๋Ÿผ ์—„์ฒญ๋‚œ ํฐ ์ˆ˜์ต๋ฅ ์„ ๊ฐ€์ ธ๋‹ค์ฃผ๋Š” ๊ฑด ์•„๋‹ˆ์ง€๋งŒ ์•ž์„œ ์ด์•ผ๊ธฐ ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์–ธ์ œ ์žˆ์„์ง€ ๋ชจ๋ฅด๋Š” ๊ณต๋ชจ์ฃผ ์ฒญ์•ฝ์„ ๊ผฌ๋ฐ•๊ผฌ๋ฐ• ์ฑ™๊ฒจ์„œ ํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ๋ง›์žˆ๋Š” ์น˜ํ‚จ์„ ๋จน์„ ์ˆ˜ ์žˆ๊ฒ ๋‹ค๋Š” ๊ธฐ๋Œ€๊ฐ์ด ๋ถ€ํ’€์—ˆ๋‹ค. (์น˜ํ‚จ์€ ์—ญ์‹œ ๊ต์ดŒ ํ—ˆ๋‹ˆ์ฝค๋ณด…) ์ฃผ๋ฆฐ์ด๋Š” ๊ณ„์† ์ž์•ผ ํ• ๊นŒ ์‹ถ๋‹ค. ์ถœ์ฒ˜ : https://b-s-d.tistory.com/8" ์ฃผ๋ฆฐ์ด๋Š” ๊ณ„์† ์ž์•ผ ํ• ๊นŒ ์‹ถ๋‹ค. ์ถœ์ฒ˜ : https://b-s-d.tistory.com/8 ใ€€๏ปฟ์น˜ํ‚จ์ด ๋จธ๋ฆฟ์†์— ๋งด๋„๋Š” ์‹œ๊ฐ„๋„ ์ž ์‹œ. ํ•„์ž์˜ ๋จธ๋ฆฌ๋ฅผ ์Šค์น˜๋Š” ํ•˜๋‚˜์˜ ์ƒ๊ฐ. ๊ทธ๋Ÿฌ๋ฉด ๊ณต๋ชจ์ฃผ ์ฒญ์•ฝ์€ ์–ธ์ œ ํ•˜๋Š” ๊ฑฐ์ง€? ์ฒญ์•ฝํ•˜๋‹ˆ๊นŒ ์ค€๋น„ํ•˜๋ผ๊ณ  ๋ˆ„๊ฐ€ ์•Œ๋ ค์ฃผ๋ฉด ์ข‹์„ ํ…๋ฐ… ๊ทธ๋Ÿฌ๋ฉด์„œ ์ด๋Ÿฐ์ €๋Ÿฐ ๊ฒ€์ƒ‰์„ ํ•ด๋ณด๋‹ˆ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ์€ ์ด๋ฏธ ์žˆ์—ˆ๊ณ , IOS ์•ฑ์€ ์—†์—ˆ๋‹ค. ์Œ? ๊ทธ๋Ÿผ ์ด๊ฑธ ๋‚ด๊ฐ€ ๋งŒ๋“ค์–ด๋ณด๋ฉด ์–ด๋–จ๊นŒ? ใ€€๏ปฟ๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜์ž๋ฉด, ํ…”๋ ˆ๊ทธ๋žจ์„ ํ™œ์šฉํ•˜์—ฌ ์ž๋™ํ™” ๊ณต๋ชจ์ฃผ ์•Œ๋ฆผ๋ด‡์„ ๋งŒ๋“ค๊ฒŒ ๋˜์—ˆ๋‹ค. ํ˜น์‹œ ๊ณต๋ชจ์ฃผ์— ๊ด€์‹ฌ์ด ์žˆ๋‹ค๋ฉด ํ•„์ž๊ฐ€ ๋งŒ๋“  ํ…”๋ ˆ๊ทธ๋žจ ์ฑ„๋„์„ ๊ฐ€์ž…ํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.๏ปฟ ใ€€๏ปฟ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ํ•„์ž์˜ ์ƒˆ๋กœ์šด ํ† ์ด ํ”„๋กœ์ ํŠธ์ธ ‘๊ณต๋ชจ์ฃผ ์•Œ๋ฆฌ๋ฏธ’๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋œ ๋ฐฐ๊ฒฝ๊ณผ ์„ค๊ณ„, ๊ทธ๋ฆฌ๊ณ  ๊ฐœ๋ฐœ๋ถ€ํ„ฐ ๋ฆด๋ฆฌ์ฆˆ๊นŒ์ง€์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐ๋ฅผ ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ํฌ๊ฒŒ ์•„๋ž˜์˜ ๋ชฉ์ฐจ๋กœ ์ด์•ผ๊ธฐํ•˜๊ฒŒ ๋  ๊ฒƒ ๊ฐ™๋‹ค. 1๋ถ€ : ํ”„๋กœ์ ํŠธ ์„ค๊ณ„, ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ 2๋ถ€ : ์ˆ˜์ง‘ํ•œ ๋ฐ์ดํ„ฐ ์•Œ๋ฆผ ๋ฐœ์†ก 3๋ถ€ : ์„œ๋ฒ„ ์„ ์ • ๋ฐ ๋ฆด๋ฆฌ์ฆˆ ใ€€๏ปฟ์ž์นซ ๋„ˆ๋ฌด ๊ฐ„๋‹จํ•œ๋ฐ~, ์ด๋Ÿฐ ๊ฑธ ๊ตณ์ด ์™œ ๋งŒ๋“ค์–ด?๋ผ๋Š” ์‹œ๊ฐ์ด ์žˆ์„ ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ ํ† ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ํ•ด์•ผ์ง€ ํ•˜๊ณ  ๋งˆ์Œ์„ ๋จน์—ˆ์ง€๋งŒ ๋ง‰์ƒ ์‹œ์ž‘์„ ๋ชปํ•˜๊ณ  ์žˆ๋Š” ์–ด๋А ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ๋Š” ๋„์›€์ด ๋  ๋‚ด์šฉ์ธ ๊ฒƒ ๊ฐ™์•„์„œ ๊ฝค ์ž์„ธํžˆ ์ •๋ฆฌ๋ฅผ ํ•˜๋ ค ํ•œ๋‹ค. ๋ฌผ๋ก  ์ด๋Ÿฌํ•œ ์ •๋ฆฌ๋Š” ํ•„์ž ์ž์‹ ์„ ์œ„ํ•ด์„œ๊ฐ€ ๋” ํฌ๊ธด ํ•˜๋‹ค. ํ”„๋กœ์ ํŠธ ์„ค๊ณ„ ใ€€๏ปฟ๊ณผ๊ฑฐ์— ํ† ์ด ํ”„๋กœ์ ํŠธ๋กœ ์ง„ํ–‰ํ–ˆ๋˜ ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ ๊ตฌ๋… ์„œ๋น„์Šค์˜ ๊ฒฝํ—˜์„ ๋˜์ƒˆ๊ธฐ๋ฉด์„œ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ™ฉ์†Œ์ฒ˜๋Ÿผ ๋‹ฌ๋ ค๋“œ๋Š” ๊ฒƒ๋ณด๋‹จ ์ถฉ๋ถ„์— ์ถฉ์กฑ์„ ๋”ํ•ด ์ถฉ๋งŒํ•ด์งˆ ๋•Œ๊นŒ์ง€ ๊ณ ๋ฏผ์„ ์˜ค๋žซ๋™์•ˆ ํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. (๊ทธ๋ž˜๋ดค์ž ํ•˜๋ฃจ ์ •๋„…?^^) ๏ปฟ ์šฐ์„  ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋”˜๊ฐ€์—์„œ ๊ฐ€์ ธ์˜ค๊ณ  ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ๋ฅผ DB์— ์ €์žฅํ•  ๊ฒƒ์ธ์ง€ ์•„๋‹ˆ๋ฉด ์ €์žฅํ•˜์ง€ ์•Š๊ณ  ํœ˜๋ฐœ์„ฑ์œผ๋กœ ์กฐํšŒํ›„ ๋ฒ„๋ฆฌ๋Š”(?) ํ˜•ํƒœ๋กœ ํ•  ๊ฒƒ์ธ์ง€๋ฅผ ๊ณ ๋ฏผํ•ด์•ผ ํ–ˆ๋‹ค. ๊ณต๋ชจ์ฃผ๋ผ๋Š” ๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ์ƒ ํ•œ๋ฒˆ ์ •ํ•ด์ง„ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ์ด ๋  ์ˆ˜๋„ ์žˆ๋‹ค๊ณ  ํ–ˆ๊ธฐ์—(์ผ์ •์ด ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜ ๊ณต๋ชจ๊ฐ€๊ฐ€ ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜ ๋“ฑ) DB์— ์ €์žฅ์„ ํ•˜๊ฒŒ ๋˜๋ฉด ์ด๋ฅผ ๋™๊ธฐํ™”(Sync) ํ•˜๋Š” ๋น„์šฉ์ด ์ถ”๊ฐ€๋กœ ์ƒ๊ธธ ๊ฒƒ ๊ฐ™์•„์„œ ์•Œ๋ฆผ์„ ๋ณด๋‚ด๊ธฐ ์ง์ „์—๋งŒ ์กฐํšŒํ•˜๊ณ  ๋ฒ„๋ฆฌ๋Š” ํ˜•ํƒœ๋ฅผ ์ƒ๊ฐํ–ˆ๋‹ค. ใ€€๊ทธ๋ ‡๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ–ˆ๋‹ค๋ฉด ์ด๋ฅผ ์ž…๋ง›์— ๋งž๊ฒŒ ๊ฐ€๊ณตํ•˜๊ณ ์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•Œ๋ฆผ์„ ์ค˜์•ผ ํ•œ๋‹ค. ์•Œ๋ฆผ์„ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์€ ๋งค์šฐ ๋‹ค์–‘ํ•œ๋ฐ ๋ญ”๊ฐ€ ์ ์€ ๋น„์šฉ์œผ๋กœ ๊ตฌ์„ฑํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค. ์ฆ‰, ์•Œ๋ฆผ์„ ๋ฐ›๋Š” ์‚ฌ์šฉ์ž๊ฐ€ 10๋ช…, 100๋ช…, 1000๋ช… ์ด ๋˜์–ด๋„ (๊ทธ๋ ‡๊ฒŒ ๋ ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ;;) ๋‚ด๊ฐ€ ๋งŒ๋“  ์„œ๋น„์Šค์—์„œ ์•Œ๋ฆผ ์ˆ˜์‹ ์ธ์ด ๋Š˜์–ด๋‚˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š์•„๋„ ๋˜์—ˆ์œผ๋ฉด ํ–ˆ๋‹ค. ๊ทธ์— ์ƒ๊ฐํ•œ ๊ฒŒ ๋ฉ”์‹ ์ € API. ๊ทธ์ค‘์—์„œ๋„ ํ…”๋ ˆ๊ทธ๋žจ API๊ฐ€ ๋ญ”๊ฐ€ ์ด๋Ÿฐ ํ˜•์‹์œผ๋กœ ๋”ฑ์ผ ๊ฒƒ ๊ฐ™์•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ฒฐ๊ตญ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”์‹œ์ง€ ํ˜•ํƒœ์— ๋งž์ถฐ ํ•œ ๋ฒˆ๋งŒ ๋ฐœ์†กํ•˜๊ฒŒ ๋˜๋ฉด 1:N ํ˜•์‹(Broadcast)์œผ๋กœ ํ…”๋ ˆ๊ทธ๋žจ ์ฑ„๋„์„ ๊ตฌ๋…ํ•˜๊ณ  ์žˆ๋Š” ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ์ „์†ก์ด ๋  ํ…Œ๋‹ˆ ์•ˆ์„ฑ๋งž์ถค์ด์—ˆ๋‹ค. ใ€€๊ทธ๋Ÿผ ์–ธ์ œ ์–ด๋–ค ์ •๋ณด๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๊ฒŒ ์ข‹์„๊นŒ? ์ฒญ์•ฝ์ด ๋ณดํ†ต ์˜ค์ „์— ์‹œ์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€๋žต ๋งค์ผ ์˜ค์ „ 9์‹œ์— ๊ด€๋ จ ์ •๋ณด๋“ค์„ ๋ณด๋‚ด์ฃผ๋ฉด ๋  ๊ฒƒ ๊ฐ™์•˜๋‹ค. 3์ผ ์ „์— ์ฒญ์•ฝ์„ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜๋‹ˆ ๋ฏธ๋ฆฌ ์ค€๋น„ํ•˜๋ผ๋Š” ์•Œ๋ฆผ. ๊ทธ๋ฆฌ๊ณ  ์ฒญ์•ฝ ๋‚ ์งœ๊ฐ€ ๋„๋ž˜ํ•ด์„œ ์žŠ์ง€ ๋ง๊ณ  ์ฒญ์•ฝ์„ ์‹ ์ฒญํ•˜๋ผ๋Š” ์•Œ๋ฆผ. ๋งˆ์ง€๋ง‰์œผ๋กœ ๊ณต๋ชจ์ฃผ๊ฐ€ ์ƒ์žฅ์„ ํ•˜๊ฒŒ ๋˜๋Š” ์•Œ๋ฆผ. ์ด ์„ธ ๊ฐ€์ง€ ์•Œ๋ฆผ๋งŒ ์ž˜ ์ฑ™๊ธด๋‹ค๋ฉด ํ•„์ž ๊ฐ™์€ ์ฃผ๋ฆฐ์ด๋“ค๋„ ์ถฉ๋ถ„ํžˆ ๊ณต๋ชจ์ฃผ ์ฒญ์•ฝ์œผ๋กœ ์น˜ํ‚จ์„ ๋จน์„ ์ˆ˜ ์žˆ์„ ๊ฑฐ๋ผ ์ƒ๊ฐํ–ˆ๋‹ค. ใ€€๋งˆ์ง€๋ง‰์œผ๋กœ ์ด ๋ชจ๋“  ๋‚ด์šฉ์„ ๊ฐœ๋ฐœํ•œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์–ด๋А ๊ณณ์— ๋ฐฐํฌํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๊ฒฐ์ •ํ•ด์•ผ ํ–ˆ๋‹ค. ํ•ญ์ƒ ๋จธ๋ฆฟ์†์—๋Š” ์žˆ์—ˆ์ง€๋งŒ ํ•œ ๋ฒˆ๋„ ์•ˆ ํ•ด๋ณธ ํด๋ผ์šฐ๋“œ Paas ์ธ heroku๊ฐ€ ๋”ฑ์ผ ๊ฑฐ๋ผ ์ƒ๊ฐํ–ˆ๋‹ค.

๊ทธ๋Ÿฐ ๊ฐœ๋ฐœ์ž๋กœ ๊ดœ์ฐฎ์€๊ฐ€ - '๋ฉ˜ํ† ๋ง' ํŽธ

๏ปฟ์ด๋Ÿฐ์ €๋Ÿฐ ๊ณ ์ƒ ๋์— ์›ํ•˜๋Š” ํšŒ์‚ฌ์— ์ทจ์—…์„ ํ•ด์„œ ‘์ฃผ๋‹ˆ์–ด’๋ผ๋Š” ๊ผฌ๋ฆฌํ‘œ๋ฅผ ๋‹ฌ๊ณ  ์ด์ œ ๋ง‰ ํšŒ์‚ฌ ์ƒํ™œ์„ ํ•˜๋‹ค ๋ณด๋ฉด ๊ฒฝํ—˜์ด ๋ถ€์กฑํ•ด์„œ ์‹ค์ˆ˜๋ฅผ ํ•˜๊ฑฐ๋‚˜ ๊ธฐ๋Œ€ํ–ˆ๋˜ ์—…๋ฌด ํผํฌ๋จผ์Šค๊ฐ€ ๋‚˜์˜ค์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ์ƒ๊ธด๋‹ค. ๊ทธ๋Ÿด ๋•Œ๋ฉด “์ฃผ๋‹ˆ์–ด์ž–์•„~ ์ฃผ๋‹ˆ์–ด๋‹ˆ๊นŒ ๊ดœ์ฐฎ์•„~” ๋ผ๋Š” ๋ง๋กœ ์–ด๋А ์ •๋„ ‘์ดํ•ด’๋ฅผ ํ•˜๊ฒŒ ๋˜์ง€๋งŒ. ์ณ‡๋ฐ”ํ€ด์ฒ˜๋Ÿผ ์ •์‹ ์—†์ด ์‹œ๊ฐ„์ด ์ง€๋‚˜ ์–ด๋А์ƒˆ ๊ฒฝ๋ ฅ์ด ์ƒ๊ธฐ๊ฒŒ ๋˜๊ณ  ์ด์ œ๋Š” ์•ฝ๊ฐ„์˜ ์‹ค์ˆ˜์กฐ์ฐจ ‘์ดํ•ด’ํ•˜๊ธฐ ์–ด๋ ค์šด ์‹œ์ ์ด ๋˜์–ด๋ฒ„๋ฆฐ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค ์ด๋Ÿฐ์ €๋Ÿฐ ์ด์œ ๋กœ ‘๊ฐœ๋ฐœ์ž’๋ฅผ ๊ทธ๋งŒ๋‘๊ฒŒ๊นŒ์ง€ ๋˜๋Š” ์Šฌํ”ˆ ํ˜„์‹ค์€ ์ฃผ๋ณ€์„ ๋‘˜๋Ÿฌ๋ณด๋ฉด ์–ด๋ ต์ง€ ์•Š๊ฒŒ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, ์ฒ˜์Œ๋ถ€ํ„ฐ ์ž˜ ํ•  ์ˆ˜๋Š” ์—†์„๊นŒ? ํ˜น์€ ์–ด๋ ต๊ฑฐ๋‚˜ ํž˜๋“  ์‹œ์ ์ด ์˜ฌ ๋•Œ๋ฉด ํ•™์ฐฝ ์‹œ์ ˆ์— ๋‚˜๋ฅผ ์ด๋Œ์–ด ์ฃผ์…จ๋˜ ‘์„ ์ƒ๋‹˜’๊ฐ™์€ ์กด์žฌ์—๊ฒŒ ๊ธฐ๋Œ€๋ฉฐ ๋‹ค์‹œ ์ผ์–ด๋‚  ์ˆ˜๋Š” ์—†๋Š” ๊ฒƒ์ผ๊นŒ? ใ€€๋‚˜๋ฆ„ ๊ดœ์ฐฎ์€ ์กฐ์ง์˜ ๊ฒฝ์šฐ ์—ฐ์ฐจ๊ฐ€ ๋‚ฎ์€ ์ง์›์ด ํž˜๋“ค์–ดํ•  ๋•Œ๋ฉด ๊ทธ ์ง์›์ด ์ ์‘์„ ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ๋„๋ก ๋ณด๋‹ค ์—ฐ์ฐจ๊ฐ€ ๋†’์€ ‘์ง€๋„์„ ๋ฐฐ’ ํ˜น์€ ‘๋ฉ˜ํ† ’๋ฅผ ํ• ๋‹นํ•ด ์ฃผ๊ณค ํ•œ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋งบ์–ด์ง„ ๊ด€๊ณ„๊ฐ€ ์ž˜ ์ง€์†์ด ๋˜๋ฉด ์œ„์—์„œ ๋งํ–ˆ๋˜ ‘ํž˜๋“  ์‹œ์ ’์—์„œ ํฐ ๋„์›€์ด ๋˜์–ด ์ด๊ฒจ๋‚ผ ์ˆ˜ ์žˆ๋Š” ํž˜์ด ์ƒ๊ธธ ์ˆœ ์žˆ์ง€๋งŒ ์ž์นซ ์ž˜๋ชป๋˜๋Š” ๊ฒฝ์šฐ ‘๋ฉ˜ํ† ’, ‘๋ฉ˜ํ‹ฐ’ ๋ชจ๋‘์—๊ฒŒ ๋ถ€๋‹ด์ด ๋˜๊ฑฐ๋‚˜ ์˜คํžˆ๋ ค ์•ˆ ํ•˜๋А๋‹ˆ๋งŒ ๋ชปํ•œ ์‹œ๊ฐ„๋“ค์ด ๋˜์–ด๋ฒ„๋ฆฌ๋Š” ๋ฉ˜ํ† ๋ง. ํ•จ๊ป˜ ์„ฑ์žฅํ•˜๋Š” ๋ฉ˜ํ† ๋ง.์ถœ์ฒ˜ : https://medium.com/@ashokbalasubramanian/career-development-mentorship-844797327703" ํ•จ๊ป˜ ์„ฑ์žฅํ•˜๋Š” ๋ฉ˜ํ† ๋ง. ์ถœ์ฒ˜ : https://medium.com/@ashokbalasubramanian/career-development-mentorship-844797327703 ใ€€์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๊ฐœ๋ฐœ์ž๋กœ์จ ‘๋ฉ˜ํ† ๋ง’์— ๋Œ€ํ•ด ์–ด๋–ค ๋งˆ์Œ๊ฐ€์ง์„ ๊ฐ€์ ธ์•ผ ํ• ์ง€์— ๋Œ€ํ•ด ์ž‘์„ฑํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ๋ฌผ๋ก  ํ‹€๋ฆฐ ๋ถ€๋ถ„๋„ ์žˆ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ์ ์–ด๋„ ํ•„์ž๊ฐ€ ์‹ค๋ฌด ๊ฐœ๋ฐœ์ž๋กœ์จ ๋‹ค์–‘ํ•œ ๊ฒฝํ—˜๋“ค์„ ํ•ด๋ณด๋ฉฐ ‘๋ฉ˜ํ† ๋ง’์— ๋Œ€ํ•ด ๊ฝค ์ค‘์š”ํ•˜๋‹ค ์—ฌ๊ฒจ์™”๋˜ ์ˆœ๊ฐ„๋“ค์ด ๋งŽ์•˜๊ณ , ์ง์ ‘ ๋ฉ˜ํ‹ฐ / ๋ฉ˜ํ† ์˜ ๊ฒฝํ—˜๋„ ํ•ด๋ดค๊ธฐ์— ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ๋Š” ๋„์›€์ด ๋  ๊ฒƒ์ด๋ผ ์กฐ์‹ฌ์Šค๋ ˆ ์ƒ๊ฐํ•ด ๋ณธ๋‹ค. ๋ฉ˜ํ† ๋ง? ์–ด๋–ป๊ฒŒ ์‹œ์ž‘ ํ•˜๋Š”๊ฑฐ์•ผ? ๏ปฟ ๋ฉ˜ํ† ๋ง์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ธฐ ์ „์— ๋ฉ˜ํ† ๋ง์˜ ์ •์˜๋ถ€ํ„ฐ ์ด์•ผ๊ธฐํ•  ํ•„์š”๊ฐ€ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. ์œ„ํ‚ค๋ฐฑ๊ณผ์— ๋”ฐ๋ฅด๋ฉด ํ’๋ถ€ํ•œ ๊ฒฝํ—˜๊ณผ ์ง€ํ˜œ๋ฅผ ๊ฒธ๋น„ํ•œ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ์ด 1:1๋กœ ์ง€๋„์™€ ์กฐ์–ธ์„ ํ•˜๋Š” ํ–‰์œ„๋ผ ๋‚˜์™€์žˆ๋‹ค. ๋”๋ถˆ์–ด, ์กฐ๋ ฅ์ž์˜ ์—ญํ• ์„ ํ•˜๋Š” ์‚ฌ๋žŒ์„ ๋ฉ˜ํ† (mentor)๋ผ๊ณ  ํ•˜๋ฉฐ ์กฐ๋ ฅ์„ ๋ฐ›๋Š” ์‚ฌ๋žŒ์„ ๋ฉ˜ํ‹ฐ(mentee)๋ผ๊ณ  ๋‚˜์™€์žˆ๋‹ค. ํ•™์ฐฝ ์‹œ์ ˆ๋กœ ๋Œ์•„๊ฐ€ ๋ณด๋ฉด ์„ ์ƒ๋‹˜์€ ๋ฉ˜ํ† , ํ•™์ƒ๋“ค์€ ๋ฉ˜ํ‹ฐ์˜ ์—ญํ• ์ด ๋  ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค. ํ•˜์ง€๋งŒ ํšŒ์‚ฌ์—์„œ ๋ฉ˜ํ† , ๋ฉ˜ํ‹ฐ์˜ ๊ด€๊ณ„๋Š” ์–ด๋–ป๊ฒŒ ๋งบ์„ ์ˆ˜ ์žˆ์„๊นŒ? ์•ž์„œ ์ด์•ผ๊ธฐํ–ˆ๋“ฏ์ด ๋ˆ„๊ตฐ๊ฐ€(์•„๋งˆ๋„ ์กฐ์ง์˜ ๋ฆฌ๋”๊ฐ€) ๋ฉ˜ํ† ์™€ ๋ฉ˜ํ‹ฐ ๊ด€๊ณ„๋ฅผ ์ •ํ•ด์ฃผ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์ง€๋งŒ ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ์—” ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ? ใ€€์•„๋ž˜์—์„œ ์ด์•ผ๊ธฐํ•˜๊ฒ ์ง€๋งŒ ๋ฉ˜ํ† ๋ง์€ ๋น„๋‹จ ๋„์›€์„ ‘์–ป๊ฒŒ ๋˜๋Š”’ ๋ฉ˜ํ‹ฐ๋งŒ ์ข‹์€ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋„์›€์„ ‘์ฃผ๋Š”’ ๋ฉ˜ํ† ์—๊ฒŒ๋„ ์ƒ๋‹นํžˆ ์ข‹์€ ํ™œ๋™์ด๋ผ ์ƒ๊ฐํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋‹จํŽธ์ ์œผ๋กœ ๋ณด๋ฉด ๋ฉ˜ํ† ๋ณด๋‹จ ๋ฉ˜ํ‹ฐ๊ฐ€ ํž˜๋“ค๊ณ  ์–ด๋ ค์šด ์ƒํ™ฉ์„ ์ด๊ฒจ๋‚ด๋Š”๋ฐ ๋”์šฑ ‘ํ•„์š”’๋กœ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ถ๊ทน์ ์œผ๋กœ๋Š” ๋ฉ˜ํ‹ฐ๊ฐ€ ๋ฉ˜ํ† ๋ฅผ ์ฐพ์•„ ๋‚˜์„œ์„œ ๋ฉ˜ํ† ๋ง ๊ด€๊ณ„๋ฅผ ๋งบ์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๋ฌผ๋ก  ์ฒœ์‚ฌ ๊ฐ™์€ ์„ ๋ฐฐ๊ฐ€ ๋ฉ˜ํ† ๋ฅผ ์ž์ฒ˜ํ•˜๊ณ  ๋ฉ˜ํ† ๋ง์„ ํ•ด์ฃผ๊ฒ ๋‹ค๊ณ  ํ•˜๋Š” ์ƒํ™ฉ์ด๋ผ๋ฉด ๋•กํ์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์˜ ์„ ๋ฐฐ๋“ค์€ ์ž๊ธฐ ์ฝ”๊ฐ€ ์„์ž๋‹ค ํ•˜๋ฉฐ ๋ฐ”์˜๊ธฐ์—… ใ€€๊ทธ๋ ‡๋‹ค๋ฉด ๋ฉ˜ํ‹ฐ๋Š” ๋ฉ˜ํ† ๋ฅผ ์–ด๋–ป๊ฒŒ ์ฐพ์•„์•ผ ํ• ๊นŒ? ํ•จ๊ป˜ ์ผํ•˜๋Š” ์„ ๋ฐฐ ๋™๋ฃŒ๊ฐ€ ์žˆ๋‹ค๋ฉด ์ •์ค‘ํ•˜๊ฒŒ ๋„์›€์„ ์š”์ฒญํ•˜๋Š” ๊ฒƒ๋„ ๋‚˜์˜์ง€ ์•Š๋‹ค ๋ณธ๋‹ค. ๋‹จ, ๋ฌด์ž‘์ • “์ €์˜ ๋ฉ˜ํ† ๊ฐ€ ๋˜์–ด์ฃผ์„ธ์š”.“๋ผ๋Š” ๊ฒƒ๋ณด๋‹ค ์ž์‹ ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ณ ๋ฏผ๊ฑฐ๋ฆฌ๋ฅผ ํ„ธ์–ด๋†“์œผ๋ฉฐ ์กฐ๊ธˆ์”ฉ ์นœ๋ถ„์„ ์Œ“์•„๊ฐ„๋‹ค๋ฉด ์•„๋ฌด๋ž˜๋„ ๊ฒฝํ—˜์ด ๋งŽ์€ ์„ ๋ฐฐ์ด๊ธฐ์— ๊ณ ๋ฏผ์˜ ๋ฒ”์œ„๋ฅผ ์กฐ๊ธˆ์ด๋ผ๋„ ์ค„์—ฌ์ค„ ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ. ํ˜น์—ฌ ์ฃผ๋ณ€์— ์„ ๋ฐฐ ๋™๋ฃŒ๊ฐ€ ์—†๋‹ค๋ฉด ์˜จ/์˜คํ”„๋ผ์ธ ์ปค๋ฎค๋‹ˆํ‹ฐ ํ™œ๋™์„ ํ•˜๋ฉด์„œ ์ฐพ๋Š” ๊ฒƒ๋„ ๋ฐฉ๋ฒ•์ด๋‹ค. ๋ฉ”์‹ ์ €๋ฅผ ํ†ตํ•ด ๋‹ค๊ฐ€๊ฐ€๊ฑฐ๋‚˜ ๋ฉ”์ผ๋กœ ์ •์ค‘ํ•˜๊ฒŒ ๊ณ ๋ฏผ์„ ์š”์•ฝํ•ด์„œ ๋ณด๋‚ด๋†“์œผ๋ฉด ๋‹น์žฅ์€ ์•„๋‹ˆ๋”๋ผ๋„ ๊ฐ€๊นŒ์šด ์‹œ์ผ ๋‚ด์— ์‘๋‹ต์ด ์˜ค๊ธฐ ๋งˆ๋ จ์ด๋‹ค. (์ ์–ด๋„ ๊ดœ์ฐฎ์€ ์„ ๋ฐฐ๋ผ๋ฉด.) ๏ปฟใ€€์—ฌ๊ธฐ์„œ ๋งํ•˜๋Š” ‘์„ ๋ฐฐ’์˜ ์ •์˜๋Š” ๋‹จ์ˆœ ๋‚˜์ด๊ฐ€ ๋งŽ์•„์„œ๊ฐ€ ์•„๋‹Œ ์ž์‹ ๋ณด๋‹ค ๊ฒฝํ—˜์ด ๋งŽ์€ ์‚ฌ๋žŒ์„ ์˜๋ฏธํ•œ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ์ž์‹ ๋ณด๋‹ค ๋‚˜์ด๊ฐ€ ์ ์€ ์‚ฌ๋žŒ์ด ๋ฉ˜ํ† ๊ฐ€ ๋  ์ˆ˜๋„ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๏ปฟ ์™œ ๋ฉ˜ํ† ๋ง์„ ํ•ด์•ผํ• ๊นŒ? ๏ปฟ ‘๊ฒฝํ—˜’์ด ์ •๋ง ์ค‘์š”ํ•˜๊ณ  ํ™์ˆ˜๊ฐ™์ด ์Ÿ์•„์ง€๋Š” ์‹ ๊ธฐ์ˆ ์„ ์˜จ๋ชธ์œผ๋กœ ๋ฐ›์•„๋‚ด์•ผ ํ•˜๋Š” ์šฐ๋ฆฌ ๊ฐœ๋ฐœ์ž๋“ค์€ ํŠนํžˆ๋‚˜ ๋ฉ˜ํ† ๋ง์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ์–ด๋– ํ•œ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค์–ด ๋‚ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด๋ผ ์ƒ๊ฐํ•ด ๋ณด์ž. ์•„์ฃผ ์ผ๋ฐ˜์ ์œผ๋กœ๋Š” ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์—๋งŒ ์ง‘์ค‘ํ•˜๋‹ค ๋ณด๋‹ˆ ์„œ๋น„์Šค ๋ฆด๋ฆฌ์ฆˆ์‹œ ๊ฒ€ํ† ํ•ด์•ผ ํ•  ๋ถ€๋ถ„๋“ค์„ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค.

Elastic Stack์œผ๋กœ ์ฝ”๋กœ๋‚˜19 ๋Œ€์‹œ๋ณด๋“œ ๋งŒ๋“ค๊ธฐ - 2๋ถ€ : ๋Œ€์‹œ๋ณด๋“œ

์ง€๋‚œ ํฌ์ŠคํŒ…์—์„œ๋Š” ๏ปฟ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜๊ธ‰ํ•˜๋ฉฐ ์ „์ฒ˜๋ฆฌ ๊ณผ์ •์„ ๊ฑฐ์ณค๊ณ , Filebeat์™€ Logstash๋ฅผ ๊ฑฐ์ณ Elasticsearch์— ์ธ๋ฑ์‹ฑ ํ•˜๋Š” ๊ฒƒ๊นŒ์ง€ ์•Œ์•„๋ณด์•˜๋‹ค. ์•ž์„  ํฌ์ŠคํŒ…์—์„œ ์ด์•ผ๊ธฐํ–ˆ์ง€๋งŒ ๋‹จ์ˆœํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐํ™” ๋„๊ตฌ๋ฅผ ์ด์šฉํ•ด์„œ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ๋ฐ์ดํ„ฐ๊ฐ€ ์ถ”๊ฐ€๋˜๋ฉด ๋งŒ๋“ค์–ด๋‘” ๋Œ€์‹œ๋ณด๋“œ์— ์ž๋™์œผ๋กœ ๋ฐ˜์˜๋˜๋Š” ํ๋ฆ„์„ ๋งŒ๋“ค๊ณ  ์‹ถ์—ˆ๋‹ค. ๋งˆ์นจ ํŒŒ์ดํ”„๋ผ์ธ์„ ์ดํ‹€ ์ „์— ๋งŒ๋“ค์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋™์•ˆ์˜ ๋น ์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด๋‹ค. ์ด ๊ฒฝ์šฐ Filebeat-Logstash-Elasticsearch ๊ฐ€ ์‹คํ–‰ ์ค‘์ด๋ผ๋ฉด ์•ž์„œ ์ž‘์„ฑํ–ˆ๋˜ ํŒŒ์ด์ฌ ์Šคํฌ๋ฆฝํŠธ๋งŒ ํ•œ๋ฒˆ ์‹คํ–‰ํ•ด ์ฃผ๋ฉด ์ดํ‹€ ์น˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ฑฐ์ณ Elasticsearch๋กœ ์ธ๋ฑ์‹ฑ์ด ๋œ๋‹ค. ์ฆ‰, ๋ณ„๋„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€์„œ ์žฌ ๊ฐ€๊ณตํ•˜๊ณ  ์ถ”๊ฐ€ํ•˜๋Š” ๋‹ค์†Œ ๊นŒ๋‹ค๋กœ์šด ์ž‘์—…์ด ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋‘” ํŒŒ์ดํ”„๋ผ์ธ ๋•๋ถ„์— ํ•œ ๋ฒˆ์˜ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰์œผ๋กœ ์†์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌ๊ฐ€ ๋จ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ใ€€์ด์ œ๋Š” ์Œ“์—ฌ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์‹œ๊ฐํ™”๋ฅผ ํ•ด๋ณผ ์ฐจ๋ก€์ด๋‹ค. ElasticStack์—์„œ๋Š” Kibana๋ผ๋Š” ๊ฐ•๋ ฅํ•œ ์‹œ๊ฐํ™” ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜๋Š”๋ฐ ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” Kibana๋ฅผ ์ด์šฉํ•ด์„œ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋ ค ํ•œ๋‹ค. Visualize ใ€€๏ปฟElasticsearch์— ์ธ๋ฑ์‹ฑ ๋˜์–ด์žˆ๋Š” ๋ฐ์ดํ„ฐ๋“ค์€ ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณต๋˜๋Š” REST API๋ฅผ ํ†ตํ•ด์„œ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๊ณ  JSON ํ˜•ํƒœ๋กœ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ๊ฐ€์ง€๊ณ  ๋‹ค์–‘ํ•˜๊ฒŒ ์‹œ๊ฐํ™”๋ฅผ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ Kibana์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ณ  UI๋กœ ํ‘œํ˜„ํ•˜๋Š” ์ผ๋ จ์˜ ๋ชจ๋“  ํ–‰์œ„๋ฅผ ํด๋ฆญ ๋ช‡ ๋ฒˆ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์ „๋ฌธ๊ฐ€๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„ ์กฐ๊ธˆ๋งŒ ๋งŒ์ ธ๋ณด๋ฉด ๋ˆ„๊ตฌ๋‚˜ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. New Visualizaion!!" New Visualizaion!! ใ€€๋ฒ„์ „์—…์ด ๋˜๋ฉด์„œ ๋น„์ฅฌ์–ผ๋ผ์ด์ฆˆ๋ฅผ ๋งŒ๋“œ๋Š” ์ฒซ ํ™”๋ฉด ๋˜ํ•œ ๋ณ€ํ™”๊ฐ€ ์ƒ๊ฒผ๋‹ค. ๊ธฐ์กด์—๋Š” ์–ด๋–ค ์œ ํ˜•์˜ ๋น„์ฅฌ์–ผ๋ผ์ด์ฆˆ๋ฅผ ์„ ํƒํ•  ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•ด ์„ ํƒํ•˜๋Š” ํ™”๋ฉด๋ถ€ํ„ฐ ๋‚˜์™”๋Š”๋ฐ ๋งŒ๋“œ๋Š” ๊ฑธ ๋ณด๋‹ค ํŽธ๋ฆฌํ•˜๊ฒŒ ๋„์™€์ฃผ๋Š” Lens, TSVB ๊ฐ™์€ ๊ธฐ๋Šฅ๋“ค์ด ๋จผ์ € ๋ฐ˜๊ฒจ์ค€๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ํ†ตํ•ด์„œ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•๋„ ๊ดœ์ฐฎ์ง€๋งŒ ๋ณด๋‹ค ๋ช…์‹œ์ ์œผ๋กœ ๋งŒ๋“ค๊ณ  ์‹ถ์œผ๋‹ˆ ํ•˜๋‹จ์— Aggregation based์„ ์„ ํƒํ•ด์„œ ์›ํ•˜๋Š” ๋น„์ฅฌ์–ผ๋ผ์ด์ฆˆ์˜ ํƒ€์ž…์„ ์„ ํƒํ•ด ๋ณด์ž. ์ดํ›„ ์ƒ์„ฑ๋˜์–ด ์žˆ๋Š” ์ธ๋ฑ์Šค๋ฅผ ์„ ํƒํ•˜๋ฉด ๋ณธ๊ฒฉ์ ์œผ๋กœ ๋น„์ฅฌ์–ผ๋ผ์ด์ฆˆ๋ฅผ ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋Š” ํ™”๋ฉด์ด ๋‚˜์˜ค๋Š”๋ฐ ๋Œ€์‹œ๋ณด๋“œ ํ™”๋ฉด ๊ธฐ์ค€์œผ๋กœ ๋งŒ๋“ค์–ด์•ผ ํ•  ํ•ญ๋ชฉ๋ณ„๋กœ ์‚ดํŽด๋ณด์ž. ์ „์ฒด ์ˆ˜ ." . ใ€€๏ปฟํ™•์ง„์ž, ์‚ฌ๋ง์ž, ๊ฒฉ๋ฆฌ ํ•ด์ œ์˜ ์ดํ•ฉ์„ ํ‘œํ˜„ํ•˜๋ ค ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ‘์ˆซ์ž’๋ฅผ ํ‘œํ˜„ํ•˜๋ ค ํ•˜๋Š” ๊ฒฝ์šฐ Metric์„ ํ™œ์šฉํ•˜๊ณค ํ•œ๋‹ค. ์šฐ์ธก์—์„œ Aggregation ๋ฐฉ๋ฒ•์„ ‘sum’์œผ๋กœ ์„ค์ •ํ•˜๊ณ  ํ•„๋“œ๋Š” ์œ ํ˜•๋ณ„๋กœ ๊ฐ๊ฐ ์„ ํƒํ•ด ์ฃผ์ž. ์•„๋ž˜ ‘Add’๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ํ™•์ง„, ์‚ฌ๋ง, ๊ฒฉ๋ฆฌ ํ•ด์ œ ์ˆ˜๋ฅผ ๋ชจ๋‘ ํ‘œ์‹œํ•œ ๋‹ค์Œ ์ €์žฅ์„ ๋ˆŒ๋Ÿฌ์ค€๋‹ค. Label์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์–ด๋–ค ํ˜•ํƒœ๋กœ Aggregation์„ ํ–ˆ๋Š”์ง€๋ฅผ Label ์˜์—ญ์— ๋ณด์—ฌ์ฃผ๋Š”๋ฐ ๊ทธ๊ฒŒ ๋ณด๊ธฐ ์‹ซ๋‹ค๋ฉด ์›ํ•˜๋Š” ํ…์ŠคํŠธ๋กœ ์ง€์ •ํ•ด ์ฃผ๋Š” ๊ฒƒ๋„ ๋ฐฉ๋ฒ•์ด๋‹ค. ์ตœ๊ทผ ์ˆ˜ ." . ใ€€๏ปฟํ™•์ง„์ž, ์‚ฌ๋ง์ž, ๊ฒฉ๋ฆฌ ํ•ด์ œ์˜ ‘์ตœ๊ทผ ๋ฐ์ดํ„ฐ’๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒŒ ๋ชฉ์ ์ด๋‹ค. ์ด ๊ฒฝ์šฐ Aggregation์„ Top Hit์œผ๋กœ ์„ ํƒํ•˜๋ฉด ํ•„๋“œ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š”๋ฐ ํ•˜๋ฃจ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ด 18 row์ด๊ธฐ ๋•Œ๋ฌธ์— (์„œ์šธ, ๋ถ€์‚ฐ, …, ์ œ์ฃผ, ๊ฒ€์—ญ) 18 row ์„ ์ „๋ถ€ ๋”ํ•œ ๊ฐ’์ด ํ•˜๋ฃจ ๊ธฐ์ค€์˜ ํ•ฉ๊ณ„๊ฐ€ ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ ์ •๋ ฌ์„ ๋‚ ์งœ ๊ธฐ์ค€ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ํ•ด์ค˜์•ผ ๊ฐ€์žฅ ์ตœ๊ทผ ๋ฐ์ดํ„ฐ์˜ ํ•ฉ๊ณ„๊ฐ€ ๋˜๋Š” ์ ๋„ ์‹ ๊ฒฝ ์จ์•ผ ํ•œ๋‹ค. ๊ฐ ํƒ€์ž…๋ณ„ ํ•ฉ๊ณ„ ." . ใ€€๏ปฟ์ง€์—ญ๋ณ„๋กœ ํƒ€์ž…๋ณ„ ์ˆ˜๋ฅผ ๋ณด๊ธฐ ์œ„ํ•ด Pie ํƒ€์ž…์œผ๋กœ ์„ ํƒํ•˜์—ฌ ์ง„ํ–‰ํ•œ๋‹ค. ํƒ€์ž…๋ณ„(์˜ˆ๋กœ ๋“ค์–ด ํ™•์ง„์ด๋ฉด confirmed)๋กœ ํ•ฉ๊ณ„๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด Aggregation์„ ‘sum’์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๋นˆ ์›์ด ๋‚˜์˜ค์ง€๋งŒ ๊ฐ ์ง€์—ญ๋ณ„๋กœ ์ฐจํŠธ๋ฅผ ์ž˜๋ผ์„œ ๋ด์•ผ ํ•˜๊ธฐ์— ํ•˜๋‹จ์˜ Buckets์˜ Add๋ฅผ ๋ˆ„๋ฅด๊ณ  regieon์˜ ํ•„๋“œ๋ฅผ Terms Aggregation ํ•œ๋‹ค. 18 row์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ „๋ถ€ ๋ณด์—ฌ์•ผ ํ•˜๊ธฐ์— ์ •๋ ฌ ๊ฐœ์ˆ˜๋ฅผ ๋Š˜๋ฆฌ๊ณ  option ํƒญ์—์„œ ๋ณด๋Š” ์ทจํ–ฅ์— ์•Œ๋งž๊ฒŒ ์„ค์ •๊ฐ’๋“ค์„ ๋ฐ”๊ฟ”์ค€๋‹ค. ํƒ€์ž…๋ณ„ ์ถ”์ด ." . ใ€€๏ปฟํ™•์ง„, ์‚ฌ๋ง, ๊ฒฉ๋ฆฌ ํ•ด์ œ ์ค‘์— ์‚ฌ๋ง์„ ์ œ์™ธํ•˜๊ณ  ๋‚˜๋จธ์ง€ ๋‘˜์€ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๊ฐ€ ํฌ๊ณ  ๋ณ€ํ™”๋Ÿ‰์ด ๋น„์Šทํ•˜๊ธฐ ๋•Œ๋ฌธ์— x์ถ•์€ ์‹œ๊ฐ„์œผ๋กœ ์„ค์ •ํ•ด๋‘๊ณ  ์‚ฌ๋ง์€ ๋ง‰๋Œ€๋กœ, ๋‚˜๋จธ์ง€ ๋‘˜์€ ๋ผ์ธ์œผ๋กœ ํ•œ ํ™”๋ฉด์—์„œ ํ‘œํ˜„ํ•˜๋ฉด ์ด 3๊ฐ€์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋ˆˆ์— ๋ณด๊ธฐ ์ข‹์„ ๊ฒƒ ๊ฐ™์•˜๋‹ค. Vertical bar ์„ ์„ ํƒํ•˜๊ณ  x์ถ•(Buckets > X-axis)์€ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ธ convert_date๋กœ ์„ค์ •ํ•œ๋‹ค. ๋‹ค์Œ์œผ๋กœ ์‚ฌ๋ง์€ ๋งค์ผ ๋ช‡ ๋ช… ์‚ฌ๋งํ–ˆ๋Š”์ง€ ๋šœ๋ ทํ•˜๊ฒŒ ๋ณด๊ธฐ ์œ„ํ•ด ๊ทธ๋ƒฅ sum์œผ๋กœ, ๋‚˜๋จธ์ง€ ๋‘˜์€ ๋ˆ„์  ํ•ฉ๊ณ„๊ฐ€ ๋” ์˜๋ฏธ ์žˆ์–ด ๋ณด์ผ ๊ฒƒ ๊ฐ™์•„ Cumulative Sum์œผ๋กœ Aggregation์„ ํ•œ๋‹ค.

Elastic Stack์œผ๋กœ ์ฝ”๋กœ๋‚˜19 ๋Œ€์‹œ๋ณด๋“œ ๋งŒ๋“ค๊ธฐ - 1๋ถ€ : ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์„ฑ

๏ปฟใ€€์–ผ๋งˆ ์ „์— ํ•„์ž์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ๋ณด๊ณ  ์–ด๋А ๊ต์œก ๊ธฐ๊ด€์—์„œ ElasticStack์— ๋Œ€ํ•œ ๊ฐ•์˜ ์š”์ฒญ์ด ๋“ค์–ด์™”๋‹ค. ์‚ฌ์‹ค ๊ด€๋ จ ๊ธฐ์ˆ ์— ๋Œ€ํ•ด ์ง€์‹์ด ์•„์ฃผ ๊นŠ๊ณ  ํ•ด๋ฐ•ํ•œ ๊ฒŒ ์•„๋‹ˆ๋ผ์„œ ์•ฝ๊ฐ„์˜ ๋ฐ˜๊ฐ๋ถ€ํ„ฐ ๋“ค์—ˆ์ง€๋งŒ ElasticStack์„ ์ „ํ˜€ ๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒ๋“ค ๊ธฐ์ค€์œผ๋กœ ์–ด๋–ป๊ฒŒ ๋Œ์•„๊ฐ€๋Š”์ง€์— ๋Œ€ํ•ด์„œ๋งŒ ๊ฐ„๋‹จํ•˜๊ฒŒ ์†Œ๊ฐœํ•˜๋Š” ์ •๋„๋กœ ํ•˜๋ฉด ๋œ๋‹ค๊ณ  ํ•˜์—ฌ ์กฐ์‹ฌ์Šค๋Ÿฝ์ง€๋งŒ ๋–จ๋ฆฌ๋Š” ๋งˆ์Œ์œผ๋กœ ์—ด์‹ฌํžˆ ์ค€๋น„๋ฅผ ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, ์ด๋Ÿฐ์ €๋Ÿฐ ์ด์œ ๋กœ ๊ฐ‘์ž๊ธฐ ๊ฐ•์˜๋ฅผ ํ•  ์ˆ˜ ์—†๊ฒŒ ๋˜์—ˆ๊ณ  ๊ทธ๊ฐ„ ์ค€๋น„ํ–ˆ๋˜ ๋‚ด์šฉ๋“ค์ด ๋„ˆ๋ฌด ์•„์‰ฝ์ง€๋งŒ ์•„๋ฌด ์†Œ์šฉ์ด ์—†๊ฒŒ ๋˜์–ด๋ฒ„๋ ธ๋‹ค. ๊ทธ๋ƒฅ ์ค‘๋‹จํ•˜๊ธฐ์—” ์•„์‰ฌ์šด ๋งˆ์Œ์ด ๋„ˆ๋ฌด ์ปค์„œ ์ค€๋น„ํ–ˆ๋˜ ๋‚ด์šฉ ์ค‘์— ‘๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋งŒ๋“œ๋Š” ๋ถ€๋ถ„’์€ ๋ˆ„๊ตฐ๊ฐ€์—๊ฒ ๋„์›€์ด ๋ ๊นŒ ์‹ถ์–ด ๋ธ”๋กœ๊ทธ์— ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด๋ ค ํ•œ๋‹ค. ๏ปฟ๊ฐ•์˜๋ฅผ ์ค€๋น„ํ•œ ์˜ฌํ•ด 1์›” ์ค‘์ˆœ์—” Elasticsearch ๋ฒ„์ „์ด 7.10.2์ด์—ˆ๋Š”๋ฐ ๋ธ”๋กœ๊ทธ๋ฅผ ์“ฐ๊ณ  ์žˆ๋Š” ์ง€๊ธˆ์€ ๋ฒŒ์จ 7.11์œผ๋กœ ๋ฒ„์ „ ์—… ๋˜์—ˆ๋‹ค. ๋‚ด๊ฐ€ ์•„๋Š” ์˜คํ”ˆ์†Œ์Šค ์ค‘์— ๋ฒ„์ „์—…์ด ๊ฐ€์žฅ ๋น ๋ฅธ๋ฐ ๊ทธ๋ ‡๋‹ค๊ณ  ๊ธฐ๋Šฅ์ด ํ™• ๋ฐ”๋€Œ๊ฑฐ๋‚˜ ์Šต๋“ํ•˜๊ธฐ ์–ด๋ ต๊ฒŒ ๋ฐ”๋€Œ์ง„ ์•Š์•˜๋‹ค. ๊ทธ๋งŒํผ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌด์—‡์„ ์›ํ•˜๋Š”์ง€ ๋ช…ํ™•ํžˆ ์•Œ๊ณ  ์ž‘์€ ๋‹จ์œ„๋กœ ์กฐ๊ธˆ์”ฉ ๋ฐ”๋€Œ์–ด ๊ฐ€๋Š” ๋ชจ์Šต์ด ๊ฝค ์ธ์ƒ์ ์ด๋‹ค. ใ€€๏ปฟ์ž‘๋…„ ์ดˆ๋ถ€ํ„ฐ ์ฝ”๋กœ๋‚˜19 ๋ฐ”์ด๋Ÿฌ์Šค๊ฐ€ ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ํผ์ง€๊ธฐ ์‹œ์ž‘ํ–ˆ๊ณ  ์•„์ง๊นŒ์ง€๋„ ์ง„ํ–‰ ์ค‘์ด๋‹ค. ๋‚˜๋„ ์ „์—ผ๋˜๋Š” ๊ฑด ์•„๋‹๊นŒ ํ•˜๋Š” ๋‘๋ ค์›€์— ์–ด๋””์—์„œ ์–ผ๋งˆ๋‚˜ ๋ฐœ์ƒํ–ˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๊ธฐ ์–ด๋ ต๋˜ ์‹œ์ ˆ ์šฐ๋ฆฌ๋‚˜๋ผ์˜ ๋›ฐ์–ด๋‚œ ๊ฐœ๋ฐœ์ž๋“ค์€ ๋ˆ„๊ฐ€ ์‹œํ‚ค์ง€๋„ ์•Š์•˜๋Š”๋ฐ ์ •๋ง ๊ฐ์‚ฌํ•˜๊ฒŒ๋„ ๊ทธ ํ˜„ํ™ฉ์„ ํ•œ๋ˆˆ์— ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ์—ฌ๋Ÿฌ ์œ ํ˜•์œผ๋กœ ์ฝ”๋กœ๋‚˜19 ๋ฐ”์ด๋Ÿฌ์Šค ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋งŒ๋“ค๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค. ๊ทธ ๋•๋ถ„์— ์ข€ ๋” ํ˜„ํ™ฉ์„ ๋ณด๊ธฐ์— ํŽธํ•ด์กŒ๊ณ  ๋”์šฑ ์กฐ์‹ฌํ•˜๊ฒŒ ๋˜๋Š” ๊ณ„๊ธฐ๊ฐ€ ๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ์ด์ œ๋Š” ํฌํ„ธ์‚ฌ์ดํŠธ๋‚˜ ๊ฐ์ข… ๋งค์ฒด๋ฅผ ํ†ตํ•ด ์†์‰ฝ๊ฒŒ ์ฝ”๋กœ๋‚˜19 ๋ฐ”์ด๋Ÿฌ์Šค์˜ ํ˜„ํ™ฉ์„ ๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ๊ฒ€์ƒ‰์—”์ง„์ด์ง€๋งŒ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š”๋ฐ ํ›Œ๋ฅญํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ElasticStack์„ ํ™œ์šฉํ•ด์„œ ‘๋‚˜๋งŒ์˜ ๋Œ€์‹œ๋ณด๋“œ’๋ฅผ ๋งŒ๋“œ๋Š” ๊ฑธ ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ๋ณธ ํฌ์ŠคํŒ…์˜ ์ผํšŒ์„ฑ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์—์„œ ๋๋‚˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ์ง€์†์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์—…๋ฐ์ดํŠธ๋œ๋‹ค๋Š” ๊ฐ€์ •ํ•˜์— ์ „๋ฐ˜์ ์ธ “ํŒŒ์ดํ”„๋ผ์ธ"์„ ๊ตฌ์ถ•ํ•œ ๋’ค ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋งŒ๋“ค์–ด ๋‘๊ณ  ๋ฐ์ดํ„ฐ๋งŒ ๊ฐฑ์‹ ํ•˜๋ฉด ์ž๋™์œผ๋กœ ๋Œ€์‹œ๋ณด๋“œ ๋˜ํ•œ ์—…๋ฐ์ดํŠธ๋˜๋Š” ๊ฒƒ์„ ๋ชฉ์ ์œผ๋กœ ํ•œ๋‹ค. ์ „์ฒด ํ๋ฆ„" ์ „์ฒด ํ๋ฆ„ ๏ปฟ๊ธ€์„ ๋ชจ๋‘ ์ž‘์„ฑํ•˜๊ณ  ๋ณด๋‹ˆ ์–‘์ด ์ƒ๊ฐ๋ณด๋‹ค ๊ธธ์–ด์ ธ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ณ  ํ•„ํ„ฐ๋งํ•˜์—ฌ Elasticsearch์— ์ธ๋ฑ์‹ฑ ํ•˜๋Š” ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์ผ์ข…์˜ “๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ"์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ถ€๋ถ„๊ณผ ๋งŒ๋“ค์–ด์ง„ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜์œผ๋กœ Kibana์˜ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋งŒ๋“œ๋Š” 2๊ฐœ์˜ ํฌ์ŠคํŒ…์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ •๋ฆฌํ•ด๋ณด๊ฒ ๋‹ค. ๏ปฟใ€€์ตœ์ข…์ ์œผ๋กœ ๋งŒ๋“ค๊ฒŒ ๋  ๋Œ€์‹œ๋ณด๋“œ์˜ ๋ชจ์Šต์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์ตœ์ข… ๋ชฉํ‘œ!" ์ตœ์ข… ๋ชฉํ‘œ! ๋Œ€์‹œ๋ณด๋“œ ๊ตฌ์„ฑ ์ค€๋น„ ใ€€๏ปฟ์˜ˆ์ „์—๋Š” Elasticsearch, Logstash, Kibana 3๊ฐ€์ง€๋ฅผ ๊ฐ€์ง€๊ณ  ELK๋ผ ๋ถˆ๋ฆฌ๋‹ค Beat๋ผ๋Š” ๊ฒฝ๋Ÿ‰ ์ˆ˜์ง‘๊ธฐ ์ œํ’ˆ์ด ๋“ฑ์žฅํ•˜๋ฉฐ ์ด ๋ชจ๋“  ๊ฑธ ElasticStack๋ผ ๋ถ€๋ฅด๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. (๊ณต์‹ ํ™ˆํŽ˜์ด์ง€ ์ฐธ๊ณ ) ๋จผ์ € ์–ด๋–ค ๋ชฉํ‘œ์™€ ์–ด๋–ค ์ˆœ์„œ๋กœ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๊ตฌ์„ฑํ•  ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ด์•ผ๊ฒ ๋‹ค.๏ปฟ ๋ฐ์ดํ„ฐ ใ€€๏ปฟ๋ฐ์ดํ„ฐ๋Š” ๊ณต๊ณต๋ฐ์ดํ„ฐ ํฌํ„ธ์—์„œ ๊ฐ€์ ธ์˜ค๋ ค๋‹ค ์กฐํšŒ๋ฅผ ํ•ด๋ณด๋‹ˆ ๋ˆ„๋ฝ๋˜๋Š” ๋‚ ์งœ๋„ ์žˆ์—ˆ๊ณ  ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ํ’ˆ์งˆ์ด ์ƒ๊ฐ๋ณด๋‹ค ์ข‹์ง€ ์•Š์•„์„œ ๋‹ค๋ฅธ ๊ณณ์„ ์ฐพ์•„๋ด์•ผ ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ •๋ฆฌํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ๊นƒํ—™์— ๊ณต๊ฐœ๊ฐ€ ๋˜์–ด ์žˆ์–ด์„œ ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๋ ค ํ•œ๋‹ค. ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋Š” https://coronaboard.kr/ ์—์„œ๋„ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ผ๊ณ  ํ•œ๋‹ค. ๏ปฟ ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ(preprocessing) ใ€€๏ปฟ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ์œ„ ๊นƒํ—™์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ค‘์— ์ง€์—ญ๋ณ„ ๋ฐœ์ƒ ํ˜„ํ™ฉ. ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ์‚ดํŽด๋ณด๋ฉด ์š”์ผ๋ณ„๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ‘๋ˆ„์ ’๋˜์–ด ์ €์žฅ๋˜์–ด ์žˆ๋‹ค. ์ฆ‰, ์„œ์šธ์ง€์—ญ ๊ธฐ์ค€์œผ๋กœ 2020๋…„ 2์›” 17์ผ์— 14๋ช…์ด ๋ฐœ์ƒํ–ˆ๊ณ  2020๋…„ 2์›” 18์ผ์— ํ•œ ๋ช…๋„ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜๋Š”๋ฐ 14๋ช…์œผ๋กœ ‘๋ˆ„์ ’๋˜์–ด ์ €์žฅ๋˜์–ด ์žˆ๋‹ค. ์‚ฌ์‹ค ์ด๋Œ€๋กœ ํ•ด๋„ ํฐ ๋ฌธ์ œ๋Š” ์—†์ง€๋งŒ ์–ด๋””๊นŒ์ง€๋‚˜ ๋ณ„๋„์˜ ๊ฐ€๊ณต ์—†์ด ์ตœ๋Œ€ํ•œ ์›๋ณธ ๋ฐ์ดํ„ฐ(raw) ๊ฐ€ ์žˆ์–ด์•ผ ๋ฐ์ดํ„ฐ ๋ถ„์„ ์‹œ ๋‹ค์–‘ํ•˜๊ฒŒ ํ™œ์šฉ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๊ธฐ ์ „์— ์ „์ฒ˜๋ฆฌ ๊ณผ์ •์ด ํ•„์š”ํ–ˆ๋‹ค. ์ •๋ฆฌํ•˜๋ฉด, ์ง‘๊ณ„ ์ˆ˜๊ฐ€ ๋ˆ„์ ๋˜์ง€ ์•Š๊ณ  ๋‚ ์งœ ๊ธฐ์ค€์œผ๋กœ ์ง‘๊ณ„๋œ ์ˆ˜๋งŒ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์›ํ–ˆ๋‹ค.๏ปฟ ใ€€๏ปฟํ•„์ž๋Š” ์ฃผ๋กœ java๋ฅผ ๊ฐ€์ง€๊ณ  ๊ฐœ๋ฐœ์„ ํ•˜์ง€๋งŒ ๊ฐ€๋” ๊ฐ„๋‹จํ•œ ์Šคํฌ๋ฆฝํŠธ์„ฑ ๊ฐœ๋ฐœ์€ python์„ ํ™œ์šฉํ•˜๋Š” ํŽธ์ด๊ธฐ์— ๋‹ค์†Œ ์ด์œ ์ฝ”๋“œ๋Š” ์•„๋‹ˆ์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•˜๋ ค ์•„๋ž˜์™€ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์˜€๋‹ค. import csv, requests import pandas as pd CSV_URL = 'https://raw.githubusercontent.com/jooeungen/coronaboard_kr/master/kr_regional_daily.csv' # ํ™•์ง„, ์‚ฌ๋ง, ๊ฒฉ๋ฆฌํ•ด์ œ yesterday_data = {} yesterday_data['์„œ์šธ'] = [0, 0, 0] yesterday_data['๋ถ€์‚ฐ'] = [0, 0, 0] yesterday_data['๋Œ€๊ตฌ'] = [0, 0, 0] yesterday_data['์ธ์ฒœ'] = [0, 0, 0] yesterday_data['๊ด‘์ฃผ'] = [0, 0, 0] yesterday_data['๋Œ€์ „'] = [0, 0, 0] yesterday_data['์šธ์‚ฐ'] = [0, 0, 0] yesterday_data['์„ธ์ข…'] = [0, 0, 0] yesterday_data['๊ฒฝ๊ธฐ'] = [0, 0, 0] yesterday_data['๊ฐ•์›'] = [0, 0, 0] yesterday_data['์ถฉ๋ถ'] = [0, 0, 0] yesterday_data['์ถฉ๋‚จ'] = [0, 0, 0] yesterday_data['์ „๋ถ'] = [0, 0, 0] yesterday_data['์ „๋‚จ'] = [0, 0, 0] yesterday_data['๊ฒฝ๋ถ'] = [0, 0, 0] yesterday_data['๊ฒฝ๋‚จ'] = [0, 0, 0] yesterday_data['์ œ์ฃผ'] = [0, 0, 0] yesterday_data['๊ฒ€์—ญ'] = [0, 0, 0] flag = False csv_data = [] with requests.