/images/profile.png

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

ใ€€ํ•„์ž๋Š” ์˜คํ”„๋ผ์ธ์—์„œ ์ง„ํ–‰ํ•˜๋Š” ๋ฐ‹์—…์ด๋‚˜ ์ฝ˜ํผ๋Ÿฐ์Šค ๊ฐ€๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•œ๋‹ค. ๋ฐœํ‘œํ•˜๋Š” ๋‚ด์šฉ์„ ์ „๋ถ€๋‹ค ์ดํ•ดํ•ด์„œ ๋“ฃ๊ณ  ์˜จ๋‹ค๋Š” ๊ฑด ๊ฑฐ์ง“๋ง์ด๊ฒ ์ง€๋งŒ ๊ฐ„ํ˜น ๋“ค์—ˆ๋˜ ๋‚ด์šฉ์„ ํŒ€ ๋‚ด์— ์ ์šฉํ•ด ๋ณธ๋‹ค๊ฑฐ๋‚˜ ๋ชฐ๋ž๋˜ ๋‚ด์šฉ์— ๋Œ€ํ•ด ์•Œ๊ฒŒ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜๋‹ค. ํŠนํžˆ, ์งˆ๋ฌธ์„ ๊ผญ ํ•˜๋Š” ํŽธ์ธ๋ฐ ์งˆ๋ฌธ์„ ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์ข€ ๋” ์ง‘์ค‘ํ•ด์„œ ๋“ฃ๊ฒŒ ๋˜๊ฑฐ๋‚˜ ์งˆ๋ฌธํ•œ ์„ธ์…˜์˜ ๋‚ด์šฉ์€ ๊ฝค ์˜ค๋žซ๋™์•ˆ ๊ธฐ์–ต์— ๋‚จ๊ฒŒ ๋˜๋‹ˆ ๊ฐœ๋ฐœ์ž ํ–‰์‚ฌ์— ์ฐธ์„ํ•˜๋ฉด ๊ผญ ์งˆ๋ฌธ์„ ํ•˜์ž๋Š” ๊ฒŒ ํ•„์ž ์ž์‹ ๊ณผ์˜ ์•ฝ์† ์ค‘์— ํ•˜๋‚˜์ด๊ธฐ๋„ ํ•˜๋‹ค.

ใ€€ํ•œ๋™์•ˆ ์ฝ”๋กœ๋‚˜๋กœ ๋ชจ๋“  ๊ฐœ๋ฐœ์ž ํ–‰์‚ฌ๊ฐ€ ์˜จ๋ผ์ธ์œผ๋กœ ์ง„ํ–‰ํ•˜๋Š” ๋“ฑ ์˜คํ”„๋ผ์ธ ํ–‰์‚ฌ๋Š” ๋ˆˆ์„ ์”ป๊ณ  ์ฐพ๊ธฐ๋ž€ ํ•˜๋Š˜์— ๋ณ„ ๋”ฐ๊ธฐ์˜€๋‹ค. ์˜คํ”„๋ผ์ธ ํ–‰์‚ฌ์— ์ฐธ์—ฌํ•˜๋ฉด ๋‚˜๋ฆ„์˜ ๊ฐœ๋ฐœ๋ ฅ(?)์„ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ๋Š”๋ฐ ์˜คํ”„๋ผ์ธ ํ–‰์‚ฌ ์ž์ฒด๋ฅผ ํ•˜์ง€ ์•Š์•„ ๊ดœํžˆ ๊ธฐ์šด์ด ๋น ์ง€๋˜ ์š” ๋ช‡ ๋…„์ด์—ˆ์ง€ ์•Š์•˜๋‚˜ ์‹ถ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค ํŽ˜์ด์Šค๋ถ KAFKA ํ•œ๊ตญ ์‚ฌ์šฉ์ž ๋ชจ์ž„์—์„œ ๊ณต์ง€๊ฐ€ ์˜ฌ๋ผ์™”๊ณ  ์„ธ์…˜๋“ค์„ ๋ณด์•„ํ•˜๋‹ˆ ํ•˜๋‚˜๋„ ์•Œ์•„๋“ฃ์ง€ ๋ชปํ• (?) ์—„์ฒญ๋‚˜๊ฒŒ ๊ณ ์ฐจ์›์˜ ๋‚ด์šฉ์ด ์•„๋‹Œ ๊ทธ๋Ÿญ์ €๋Ÿญ ์ดํ•ดํ•  ๋งŒํ•œ ๋‚ด์šฉ์œผ๋กœ ์ค€๋น„๋˜์–ด ์žˆ์—ˆ๊ณ , ๋ฌด์—‡๋ณด๋‹ค ํšŒ์‚ฌ์™€ ๊ฐ€๊นŒ์›Œ์„œ ์„ค๋ ˆ๋Š” ๋งˆ์Œ์œผ๋กœ ์‹ ์ฒญ์„ ํ•˜์˜€๋‹ค. ์˜ค๋ž˜์ „์—๋„ ํ•œ๋ฒˆ ๋ฐ‹์—…์— ์ฐธ์„ํ•œ ์ ์ด ์žˆ์—ˆ๋Š”๋ฐ ๋‚˜๋ฆ„ ์ง„ํ–‰๋„ ๋งค๋„๋Ÿฌ์› ๊ณ  ์ข‹์•˜๋˜ ๊ธฐ์–ต๋“ค๋ฟ์ด๋ผ ํ•œ ์น˜์˜ ๋ง์„ค์ž„ ์—†์ด ์‹ ์ฒญํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

/images/kafka-service-utilization-study-case-review/ezic_bridge.png
์‹ ์ž…์‚ฌ์›๋•Œ ์ž์ฃผ ์˜ค๊ฐ€๋˜ ๋‹ค๋ฆฌ…

ใ€€์˜ค์ „ ๊ทผ๋ฌด๋งŒ ํ•˜๊ณ  ํŒ๊ต ํ…Œํฌ๋…ธ๋ฒจ๋ฆฌ์— ์žˆ๋Š” ์œ ๋ช…ํ•œ ๋‹ค๋ฆฌ์ธ ์ด์ง์˜ ๋‹ค๋ฆฌ๋ฅผ ๊ฑด๋„ˆ SKT/SKP ํŒ๊ต ์‚ฌ์˜ฅ 1์ธต์œผ๋กœ ๊ฑธ์–ด๊ฐ„๋‹ค. ํŒ๊ต์— ์˜ฌ ์ผ์ด ์ž˜ ์—†๋Š” ๊ฒŒ ์˜ฌ ๋•Œ๋งˆ๋‹ค ๋А๋ผ๋Š” ๊ฑด ์ •๋ง IT ํšŒ์‚ฌ๊ฐ€ ๋งŽ๋‹ค๋Š” ๊ฒƒ. ๋ญ”๊ฐ€ ์ด์ง์„ ํ•˜๋ ค๊ณ  ๋งˆ์Œ์„ ๋จน์ง€ ์•Š์•„๋„ ๊ดœํžˆ ๋งˆ์Œ์ด ๋ฐ”์šด์Šค ๊ฑฐ๋ฆฌ๋Š” ๊ฑด ๊ธฐ๋ถ„ํƒ“ ์ผ๊นŒ ์‹ถ๋‹ค.

๋ฐ‹์—…์˜ ๋ถ„์œ„๊ธฐ

ใ€€์ด๋Ÿฐ ํ–‰์‚ฌ์— ๊ฐ€๋ฉด ๋งจ ์•ž์— ์ž๋ฆฌ๋ฅผ ์žก๊ณค ํ•ด์„œ ์ฒ˜์Œ์—” ๋ชฐ๋ž๋Š”๋ฐ ํ–‰์‚ฌ ์ง„ํ–‰ ์ค‘๊ฐ„์— ๋ณด๋‹ˆ ์‚ฌํšŒ์ž๋ถ„ ์ด์•ผ๊ธฐ๋กœ๋Š” ์•ฝ 90์—ฌ ๋ช… ์ •๋„๊ฐ€ ์™”๋‹ค๊ณ  ํ–ˆ๋‹ค. ์˜คํ”„๋ผ์ธ ํ–‰์‚ฌ๋ผ ๊ทธ๋Ÿฐ ๊ฑด์ง€, ํŒ๊ต ์ง์žฅ์ธ๋ถ„๋“ค์˜ ์ ‘๊ทผ์„ฑ์ด ์ข‹์•„์„œ์ธ์ง€, ์•„๋‹˜ ์ •๋ง KAFKA์˜ ์ธ๊ธฐ(?)๊ฐ€ ์ข‹์•„์„œ ์ธ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์˜ˆ์ƒ๋ณด๋‹ค ๊ฝค ๋งŽ์ด ์™€์„œ ์กฐ๊ธˆ ๋†€๋žฌ๋‹ค. ์ž…๊ตฌ์— ์ปคํ”ผ์™€ ์ฟ ํ‚ค๊ฐ€ ์ œ๊ณต๋˜์—ˆ๊ณ  ๊ฐœ๋ฐœ์ž ๋…ธํŠธ๋ถ์— ๋•์ง€๋•์ง€ ๋ถ™์ผ ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฐœ์ž ์Šคํ‹ฐ์ปค๋„ ๋ฐ›์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

ใ€€์ด๋ฒˆ์—๋Š” ๋ฐ๋ณด์…˜(Devocen) ์ด๋ผ๋Š” ๊ณณ์—์„œ ํ›„์›์„ ๋ฐ›์•„ ์ง„ํ–‰ํ•œ๋‹ค๊ณ  ํ–ˆ๋‹ค. ์ฒ˜์Œ์— ๋ฐ๋ณด์…˜์ด ๋ญ ํ•˜๋Š” ๊ณณ์ธ์ง€์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ์†Œ๊ฐœ์™€ ๋‚˜์ค‘์— ์ถ”์ฒจ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์•ฑ์„ ์„ค์น˜ํ•˜๋ผ๋Š” ๊ท€์—ฌ์šด ํ™๋ณด๋„ ์žˆ์—ˆ๋‹ค. SK ๋‚ด/์™ธ๋ถ€ ์šฐ์ˆ˜ ์ธ์žฌ๊ฐ€ ๋ชจ์—ฌ ์ „๋ฌธ ๊ธฐ์ˆ  ์ง€์‹/์ •๋ณด๋ฅผ ๋“ฑ๋ก/์ถ•์  ํ•˜๊ณ  ๊ณต์œ  ๊ต๋ฅ˜๋ฅผ ํ•˜๋ฉฐ ์ „ํŒŒ ๋ฐ ํ™•์‚ฐ์— ์ง‘์ค‘์„ ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ํ…Œํฌ ์„ธ๋ฏธ๋‚˜๊ฐ€ ์›” 1ํšŒ ์žˆ๋‹ค๊ณ  ํ•˜๋‹ˆ ์ข…์ข… ๋“ค์–ด์™€ ๋ด์•ผ ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์„ ํ•ด๋ณธ๋‹ค.

ใ€€์นดํ”„์นด ๋ชจ์ž„์„ ์ด๋„์‹œ๋Š” ๊ณ ์Šน๋ฒ” ๋‹˜๋„ ์˜ค์…จ๋‹ค. ์˜ˆ์ „ ๋ฐ‹์—…์—์„œ๋„ ๋ต™๊ธด ํ–ˆ์ง€๋งŒ ์ตœ๊ทผ์— ์นดํ”„์นด ๊ด€๋ จ ์ฑ…๋„ ์ƒˆ๋กญ๊ฒŒ ๋‚ด์‹œ๊ณ  ๊ทธ๋ฃน๋„ ์šด์˜ ์ค‘์ด์‹  ๋ถ„์ด๋‹ค. ๋‚˜๋Š” ๊ณผ์—ฐ ์ €๋Ÿฌํ•œ ์—ด์ •์ด ์žˆ์—ˆ๋‚˜? ์žˆ์„ ์ˆ˜ ์žˆ๋‚˜? ๋ผ๋Š” ์ƒ๊ฐ์„ ์ž ์‹œ ํ•ด๋ณธ๋‹ค.

๋ฐœํ‘œ ์š”์•ฝ

ใ€€ํ•˜๋‚˜๋ถ€ํ„ฐ ์—ด๊นŒ์ง€ ๋ฐ›์•„์“ฐ๊ธฐ ์ˆ˜์ค€์œผ๋กœ ์ ์ง„ ๋ชปํ–ˆ์ง€๋งŒ ๊ทธ๋ž˜๋„ ๋ฉ”๋ชจ์žฅ์— ๋‚จ์•„์žˆ๋Š” ๊ธฐ๋ก๋“ค์„ ์ •๋ฆฌ ๋ฐ ์š”์•ฝํ•ด ๋ณธ๋‹ค. ์˜ค๋žœ๋งŒ์˜ ์˜คํ”„๋ผ์ธ ํ–‰์‚ฌ๋ผ ๋“ค๋– ์„œ์ธ์ง€ ์ž˜๋ชป๋œ ๊ธฐ๋ก์ด ์žˆ์„ ์ˆ˜ ์žˆ์Œ์„ ์•Œ๋ฆฐ๋‹ค ^^;

Kafka MirrorMaker๋กœ ์นด์˜ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง ๋ง›๋ณด๊ธฐ / ํ™ฉํ•œํฌ ๋‹˜

  • Kafka MirrorMaker? - ์นดํ”„์นด ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ mirroring ํ•˜๋Š” ๊ธฐ๋Šฅ (ํ† ํ”ฝ ๋ฐ์ดํ„ฐ ๋™๊ธฐํ™”)
  • ํ™œ์šฉ๋ฐฉ์‹ : fan-out, aggregation, active-active, acitve-passive
  • ์นด์˜ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง : ์šด์˜ํ™˜๊ฒฝ์—์„œ๋„ ๊ฐ‘์ž‘์Šค๋Ÿฌ์šด ์žฅ์• ๋ฅผ ๊ฒฌ๋”œ ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ์‹œ์Šคํ…œ์„ ์‹คํ—˜ํ•˜๋Š” ๋ถ„์•ผ, ์žฅ์• ๋ฅผ ๋ฏธ๋ฆฌ ๊ฒฝํ—˜
  • Chaos Monkey
    • ๋„ทํ”Œ๋ฆญ์Šค ๊ฐœ๋ฐœํŒ€์˜ ์šด์˜ ์›์น™์œผ๋กœ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ํ˜„์žฌ๋Š” ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์นด์˜ค์Šค ํ…Œ์ŠคํŒ… ๋„๊ตฌ
    • ๋งˆ์น˜ ๋ฌด๊ธฐ๋ฅผ ๋“  ์›์ˆญ์ด๋ฅผ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์— ํ’€์–ด ๋†“์€๊ฒƒ ๊ฐ™๋‹ค๋Š” ์˜๋ฏธ์—์„œ ์ถœ๋ฐœ
  • Pumba
    • ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ์—์„œ ์ œ๊ณต๋˜๋Š” ์นด์˜ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง ๋„๊ตฌ
    • ์˜ํ™” ๋ผ์ด์˜จํ‚น์— ๋“ฑ์žฅํ•˜๋Š” ๋ฉง๋ผ์ง€์ธ ํ’ˆ๋ฐ”์˜ ๋ฉ์ฒญํ•˜๊ณ  ์‚ฐ๋งŒํ•˜๋‹ค๋Š” ํŠน์ง•์—์„œ ์˜๊ฐ์„ ๋ฐ›์Œ
    • ๋น„๊ต์  ๋‹จ์ˆœํ•œ ํ…Œ์ŠคํŒ…์„ ํ•  ๋•Œ ์œ ์šฉํ•œ ๋„๊ตฌ
  • ์นด์˜ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง ํŒŒ์ดํ”„๋ผ์ธ
    • ์•ˆ์ •ํ™” ์ •์˜ : ๊ธฐ์ˆ ์ ์ธ ์ด์Šˆ๋‚˜ ์•„๋‹Œ ๋น„์ฆˆ๋‹ˆ์Šค ๊ด€์ ์˜ ์ง€ํ‘œ๋ฅผ ์•ˆ์ •๋œ ์ƒํƒœ์˜ ์ง€ํ‘œ๋กœ ์„ค์ •
    • ์ด๋ฒคํŠธ ์„ ์ • : ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ์ด๋ฒคํŠธ ์„ ์ •
    • ์‹คํ–‰ : ์นด์˜ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง ์ˆ˜ํ–‰ , ์‹ค์ œ๋กœ ์ด๋ฒคํŠธ๋ฅผ ๋ฐœ์ƒ์‹œ์ผœ๋ณด๊ณ  ๊ฐ€์„ค์„ ์‹œํ—˜
    • ๋ถ„์„

ใ€€์ด๋ฒˆ์—๋„ ์–ด๊น€์—†์ด ์งˆ๋ฌธ์„ ํ–ˆ๋‹ค. ์•„๋ฌด๋ž˜๋„ ์‹ค ์„œ๋น„์Šค์˜ ์ ‘๊ทผ์„ ํ•ด์•ผ ํ•  ํ…๋ฐ ๋ถ€๋‹ด์€ ์—†์„์ง€, ์„ฑ๋Šฅ์— ์˜ํ–ฅ์€ ์—†์„์ง€๊ฐ€ ๊ฐ€์žฅ ๊ถ๊ธˆํ–ˆ๋‹ค. ๋‹ต๋ณ€์œผ๋กœ๋Š” pub/sub ์ด ํ•˜๋‚˜ ๋” ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์— ํฐ ์˜ํ–ฅ์€ ์—†์„ ๊ฒƒ์ด๋ผ๊ณ  ๋‹ต๋ณ€์„ ๋ฐ›์•˜๋‹ค. ๊ณผ์—ฐ ๊ทธ๋Ÿด๊นŒ? ๋ผ๋Š” ์ƒ๊ฐ์„ ์ž ๊น ํ•ด๋ณด๊ณ  ํŒ€ ๋‚ด์—์„œ ์นด์˜ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง์„ ๋„์ž…ํ•˜๊ฒŒ ๋˜๋ฉด ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๋ถ€ํ„ฐ ํ…Œ์ŠคํŠธ ํ•ด๋ด์•ผ์ง€ ํ•˜๋Š” ์ƒ๊ฐ์„ ํ•ด๋ดค๋‹ค.

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

ใ€€๋ฏธ๋ž˜์˜ ์‹œ๊ฐ„์„ ๊ณ„ํšํ•˜๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•˜์ง€๋งŒ ๊ณผ๊ฑฐ์˜ ์‹œ๊ฐ„์„ ๋Œ์•„๋ณด๊ณ  ๋”ํ•˜๊ฑฐ๋‚˜ ๋นผ๋Š” ์‹œ๊ฐ„์ด ๋” ์ค‘์š”ํ•˜๋‹ค๊ณ  ๋А๋ผ๋Š” ์‹œ๊ฐ„์ธ ‘ํšŒ๊ณ ’. ์˜ฌํ•ด๋„ ์–ด๊น€์—†์ด ํ•„์ž์˜ 2021๋…„์„ ๋Œ์•„๋ณด๋ฉฐ ํšŒ๊ณ  ๊ธ€์„ ์“ฐ๋ ค ํ–ˆ์ง€๋งŒ ์ด๋Ÿฐ์ €๋Ÿฐ ์ผ๋“ค๋กœ ํ•œ ํ•ด๋ฅผ ๋„˜๊ธฐ๊ณ ์•ผ ๋งŒ๋‹ค. ์—ฐ๋ง์ด ์ง€๋‚˜๊ณ  ์ƒˆํ•ด๊ฐ€ ์‹œ์ž‘๋˜์—ˆ์ง€๋งŒ ๋ฌด์Šจ ์ผ์ด ์žˆ์–ด๋„ ๋งค๋…„ ํšŒ๊ณ ๋Š” ๊ผญ ํ•˜์ž๋Š” ๋‚˜์™€์˜ ์•ฝ์†์„ ์ง€ํ‚ค๋ ค 2021๋…„์„ ๋˜๋Œ์•„๋ณด๊ณ  ํฌ๋‚˜ํฐ ์ด๋ฒคํŠธ๋“ค์˜ ์—ฐ์†์ด ๋  ๊ฒƒ๋งŒ ๊ฐ™์€ 2022๋…„์„ ์œ„ํ•ด ๋”ํ•  ๊ฑด ๋”ํ•˜๊ณ  ๋บ„ ๊ฑด ๋นผ๋Š” ๋ฆฌ๋ทฐ๋ฅผ ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค.

์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ž‘์€ ๋„์ „๋“ค

ใ€€์žฌํƒ๊ทผ๋ฌด๊ฐ€ ์žฅ๊ธฐํ™”๋˜๋ฉด์„œ ์‹œ๊ฐ„์„ ์ข€ ๋” ์•Œ์ฐจ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ , ๊ทธ์— ์ƒ๊ฐํ•˜์ง€๋„ ๋ชปํ•œ ๋‹ค์–‘ํ•œ ๊ฒฝํ—˜๋“ค์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค. ๋จผ์ € ์ฐพ์•„๋ณด๊ธฐ๋„ ํ•˜๊ฑฐ๋‚˜ ํ•„์ž์˜ ๋ธ”๋กœ๊ทธ๋‚˜ ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด ์˜คํžˆ๋ ค ์—ฐ๋ฝ์ด ์™”๋˜ ‘๋ฉ˜ํ† ๋ง’์€ ๋งŽ์€ ๊ฒƒ์„ ์ƒ๊ฐํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฒฝํ—˜์ด ๋˜์—ˆ๋‹ค. BE, FE, ๋จธ์‹ ๋Ÿฌ๋‹, DevOps ๋“ฑ ๋ถ„์•ผ๋ฅผ ๋ง‰๋ก ํ•˜๊ณ  ์ด์ œ ๋ง‰ ๊ฐœ๋ฐœ์ž๋กœ์จ ์ทจ์—…์ „์„ ์— ๋›ฐ์–ด๋“œ๋ ค ํ•˜๋Š” ์˜ˆ๋น„ ๊ฐœ๋ฐœ์ž๋ถ€ํ„ฐ ํ•œ์ฐธ ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•˜๊ณ  ์žˆ๋Š” ์ด๋ฅธ๋ฐ” ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๊นŒ์ง€ ๋‹ค์–‘ํ•œ ๋ถ„๋“ค์„ zoom์ด๋‚˜ gather-town ๊ฐ™์€ ์˜จ๋ผ์ธ ํ”Œ๋žซํผ์—์„œ ๋งŒ๋‚˜๊ฒŒ ๋˜์—ˆ๊ณ , ๊ทธ๋“ค์˜ ๊ณ ๋ฏผ์„ ํ•จ๊ป˜ ์ดํ•ดํ•˜๋ ค ๋…ธ๋ ฅํ•˜๋ฉฐ ์„ ๋ฐฐ ๊ฐœ๋ฐœ์ž๋กœ์จ ์กฐ๊ธˆ์ด๋‚˜๋งˆ ๋„์›€์ด ๋˜๋Š” ๋ถ€๋ถ„๋“ค์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ด์ฃผ๋Š” ํ™œ๋™๋“ค์„ ํ•ด์™”๋‹ค.

/images/review-2021/tyler.jpg
10๋…„ํ›„์— ๋งŒ๋‚˜์š” :D

ใ€€๋ฌผ๋ก  ํ•„์ž๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ์ž˜ ์„ฑ์žฅํ•œ (๋˜๋Š” ๋ณธ๋ณด๊ธฐ์˜ ๋Œ€์ƒ์ด ๋ ๋งŒํ•œ) ๊ฐœ๋ฐœ์ž๋ผ๊ณ  ๋งํ•˜๊ธฐ๋Š” ๋งค์šฐ ์–ด๋ ต์ง€๋งŒ ๊ทธ๋“ค๋ณด๋‹ค๋Š” ๋‹ค์–‘ํ•œ ๊ฒฝํ—˜๋“ค์„ ๋จผ์ € ํ•ด๋ณธ ์„ ๋ฐฐ ์ž…์žฅ์—์„œ ๋…ธํ•˜์šฐ๋‚˜ ๋ฐฉํ–ฅ์„ฑ์— ๋Œ€ํ•ด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์ตœ๋Œ€ํ•œ ํ’€์–ด ์„ค๋ช…ํ•˜๋ ค ํ–ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ ์„ ๋ˆ„๊ตฌ๋Š” ๋Œ€์ˆ˜๋กญ์ง€ ์•Š๊ฒŒ ์—ฌ๊ธด ์ ๋„ ์žˆ์ง€๋งŒ ๋ˆ„๊ตฐ๊ฐ€๋Š” XX ๊ธฐ์—…์— ์ทจ์—…์„ ํ–ˆ๋‹ค๊ฑฐ๋‚˜ ๋ฉฐ์น ๊ฐ„ ๋ณต์žกํ•˜๊ณ  ํž˜๋“ค์—ˆ๋˜ ๊ณ ๋ฏผ์ด ํ•ด๊ฒฐ์ด ๋˜์—ˆ๋‹ค๋Š” ์†Œ๋ฆฌ๋ฅผ ๋“ค์—ˆ์„ ๋• ์•„, ๋ฉ˜ํ† ๋ง ํ•˜๊ธธ ์ž˜ํ–ˆ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค๊ฒŒ ๋˜์—ˆ๊ณ  ๋”๋ถˆ์–ด ์ด์ œ๋Š” ์ ์  ๋ˆ„๊ตฐ๊ฐ€์™€ ํ•จ๊ป˜ ๊ณต๋™์˜ ๋ชฉํ‘œ๋ฅผ ์ด๋ฃจ๊ธฐ ์œ„ํ•œ ์œ„์น˜์—์„œ ์žˆ๋‹ค ๋ณด๋‹ˆ ์ด๋Ÿฐ ์ ์„ ์—ฐ์Šตํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๊ฐ€ ๋œ ๊ฒƒ ๊ฐ™์•„ ๋„ˆ๋ฌด ์ข‹์•˜๋‹ค. ๋ฌด์—‡๋ณด๋‹ค ๋ฉ˜ํ† ๋ง์„ ํ•˜๋ฉด์„œ ํ•„์ž๋„ ๋Œ€์ถฉ ์•Œ๊ณ  ์žˆ๋˜ ๊ฐœ๋ฐœ ์ง€์‹์— ๋Œ€ํ•ด (์ œ๋Œ€๋กœ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•ด) ๊ณต๋ถ€ํ•˜๊ฒŒ ๋˜๋Š” ๊ธฐํšŒ๊ฐ€ ๋˜์—ˆ๊ณ  ์ด๋Ÿฐ์ €๋Ÿฐ ์ƒ๋‹ด์„ ํ•˜๋ฉฐ ๋А๋‚€ ๊ทธ๋“ค์˜ ์—ด์ •์„ ์กฐ๊ธˆ์ด๋‚˜๋งˆ ๊ฐ„์ ‘๊ฒฝํ—˜ํ•˜๋ฉฐ ์–ผ๋งˆ ์ „๋ถ€ํ„ฐ ์žƒ์–ด๋ฒ„๋ฆฐ ๋‚ด ์—ด์ •๋„ ์ฐพ์œผ๋ ค๋Š” ๋™๊ธฐ๋ถ€์—ฌ๋„ ๋˜๊ธฐ๋„ ํ•˜์˜€๋‹ค.

ใ€€์ฝ”๋กœ๋‚˜๊ฐ€ ์žฅ๊ธฐํ™”๋˜๊ณ  ๊ฐœ๋ฐœ์ž๋กœ์จ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑด ์—†์„๊นŒ ํ•˜๋ฉฐ Elastic Stack ์„ ํ™œ์šฉํ•˜์—ฌ ์ฝ”๋กœ๋‚˜19 ๋Œ€์‹œ๋ณด๋“œ ๋งŒ๋“ค๊ธฐ๋ผ๋Š” ํฌ์ŠคํŒ…์„ ์˜ฌ๋ฆฌ๊ฒŒ ๋˜์—ˆ๊ณ  ๊ทธ์— ํž˜์ž…์–ด ๋‚˜๋งŒ์˜ ๋ฐ์ดํ„ฐ ๋ถ„์„ ํ”Œ๋žซํผ ์—˜๋ผ์Šคํ‹ฑ์„œ์น˜๋ผ๋Š” ์ฑ…์— ๋ฒ ํƒ€ ๋ฆฌ๋”ฉ์„ ํ•˜๊ธฐ๋„ ํ•˜์˜€๋‹ค. ์ž‘๋…„๋ถ€ํ„ฐ ์ฑ…์„ ์จ๋ณด๋Š” ๊ฑด ์–ด๋–ป๊ฒ ๋ƒ๋Š” ์š”์ฒญ์ด ์•„์ฃผ ๊ฐ€๋” ๋“ค์–ด์˜ค์ง€๋งŒ ๋ฒ ํƒ€ ๋ฆฌ๋”ฉ์„ ํ•˜๋ฉด์„œ ์ฑ…์„ ์ถœ๊ฐ„ํ•˜๋Š” ๊ฒŒ ์–ผ๋งˆ๋‚˜ ์–ด๋ ค์šด ๊ฑด์ง€ ๋‹ค์‹œ ํ•œ๋ฒˆ ๊นจ๋‹ซ๊ฒŒ ๋˜์—ˆ๊ณ  ๊ธฐํšŒ๊ฐ€ ๋œ๋‹ค๋ฉด ๋‚ด ์ด๋ฆ„์œผ๋กœ ๋œ ์ฑ…์„ ์จ๋ณด๊ณ  ์‹ถ์€ ์ƒ๊ฐ๋„ ๋“ค์—ˆ๋‹ค.

ใ€€๊ณต๋ชจ์ฃผ ์ฒญ์•ฝ์„ ๊ฐ€๋” ํ•˜๋ฉด์„œ ๋ˆ„๊ตฐ๊ฐ€ ์•Œ๋ ค์ฃผ๋ฉด ์ข‹์„ ํ…๋ฐ ํ•˜๋Š” ์ƒ๊ฐ์œผ๋กœ ๊ณต๋ชจ์ฃผ ์•Œ๋ฆฌ๋ฏธ ๋ผ๋Š” ํ† ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ ๊ตฌ๋… ์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•˜๊ณ  ์žˆ๋Š” AWS ec2 ์„œ๋ฒ„์— ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์กฐ๊ธˆ ๋‚จ์•„ ๋ฐฐ์น˜ ํ˜•์‹์œผ๋กœ ๋งŒ๋“ค์–ด์„œ ํ…”๋ ˆ๊ทธ๋žจ์œผ๋กœ ์ •๋ณด๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ์„œ๋น„์Šค์ธ๋ฐ ์ƒ๊ฐ๋ณด๋‹ค ์ˆ˜์š”๊ฐ€ ๋งŽ์•„์„œ ๊นœ์ง ๋†€๋ž๋‹ค. ๋ณด๋‹ค ๋Œ€์ค‘์ ์ธ(?) ๋ฉ”์‹ ์ €์ธ ์นด์นด์˜คํ†ก์œผ๋กœ ์šด์˜ํ•˜๊ณ  ์‹ถ์—ˆ์ง€๋งŒ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ๋•Œ๋งˆ๋‹ค ๋น„์šฉ์ด ๋ฐœ์ƒํ•ด์„œ (์•„๋ฌด๋ฆฌ ํ† ์ด ํ”„๋กœ์ ํŠธ๋ผ ํ•ด๋„…) ์ฐจ๋งˆ ์—„๋‘๊ฐ€ ๋‚˜์งˆ ์•Š์•„ ์นด์นด์˜คํ†ก ์ฑ„๋„๋งŒ ๋งŒ๋“ค๊ณ  ํ…”๋ ˆ๊ทธ๋žจ ๋งํฌ๋ฅผ ์—ฐ๊ฒฐํ•ด๋‘์—ˆ๋‹ค. ์ง€๊ธˆ์€ ์•„์˜ˆ ์†๋„ ์•ˆ๋Œ€๋Š” ์„œ๋น„์Šค์ด์ง€๋งŒ ์ž˜ ๋Œ์•„๊ฐ€๊ณ  ์žˆ๋Š” ๊ฑธ ๋ณด๋ฉด ์ž๋™ํ™”์˜ ํž˜์€ ์ •๋ง ๋Œ€๋‹จํ•˜๋‹ค๋Š” ๊ฑธ ๋‹ค์‹œ๊ธˆ ๋А๊ปด๋ณธ๋‹ค.

/images/review-2021/kakao.jpg
์นด์นด์˜ค์ฑ„๋„ ๊ฐ€์ž…์ž์—๊ฒŒ ๋ฉ”์„ธ์ง€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Œ ์ข‹์„ํ…๋ฐ…

๋ผ์ดํ”„ ์‚ฌ์ดํด์˜ ๋ณ€ํ™”

ใ€€๋ฌธ๋“ ์ด๋ ‡๊ฒŒ ์žฌ๋ฏธ์žˆ๋Š” ๊ฐœ๋ฐœ์„ ์–ธ์ œ๊นŒ์ง€ ํ•  ์ˆ˜ ์žˆ์„๊นŒ ํ•˜๋Š” ์ƒ๊ฐ์„ ํ•˜๊ฒŒ ๋œ ์ ์ด ์žˆ๋‹ค. ๊ฐœ๋ฐœ์„ ์˜ค๋žซ๋™์•ˆ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ๋ฌด์—‡์ด ์žˆ์„๊นŒ ํ•˜๋Š” ์ƒ๊ฐ์˜ ๋์—๋Š” ๊ฒฐ๊ตญ “๋“ ๋“ ํ•œ ์ž์‚ฐ"๊ณผ “์ƒ๊ฐ์˜ ํŒจ๋Ÿฌ๋‹ค์ž„ ์ „ํ™˜”, ๊ทธ๋ฆฌ๊ณ  “๊ฑด๊ฐ•"์ด๋ผ๋Š” ๊ฒฐ๋ก ์— ๋„๋‹ฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ฐœ๋ฐœ ์—…๋ฌด ๊ธฐ๊ธฐ๋ฅผ ์‚ฐ๋‹ค๊ฑฐ๋‚˜ ์‹ ๊ธฐ์ˆ  ํ•™์Šต์„ ์œ„ํ•ด ํˆฌ์žํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฒฐ๊ตญ ๋ˆ์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ๋А๊ปด์กŒ๊ณ , ๊ณต๋Œ€์ƒ์˜ ๊ณ ๋ฆฝ๋œ(?) ๊ฐ€์น˜๊ด€์—์„œ ๋‹ค์–‘ํ•œ ์ธ๋ฌธํ•™์ ์ธ ๊ด€์ ๋“ค์ด ๊ฐ€๋ฏธ๋œ๋‹ค๋ฉด ๊ฐœ๋ฐœ์—๋„ ํ›จ์”ฌ ๋„์›€์ด ๋  ๊ฑฐ๋ผ ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ํ•˜๋ฃจ์˜ ์ ˆ๋ฐ˜ ์ด์ƒ์„ ์˜์ž์— ์•‰์•„ ์ปดํ“จํ„ฐ๋งŒ ๋ฐ”๋ผ๋ณด๋Š” ๋ถˆ์Œํ•œ ๊ฐœ๋ฐœ์ž์˜ ์‚ถ์ด๊ธฐ์— ๊ฑด๊ฐ•๊ด€๋ฆฌ๋Š” ๋น ์ ธ์„œ๋Š” ์•ˆ ๋  ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด๋ผ ํ•˜๋ฃจ ์‹œ๊ฐ„ ๊ณ„ํš์„ ๋‹ค์‹œ ์ •๋น„ํ–ˆ์–ด์•ผ ํ–ˆ๋‹ค. ๋งˆ์น˜ ์‹œ๊ฐ„ํ‘œ๋Œ€๋กœ ์›€์ง์˜€๋˜ ํ•™์ฐฝ ์‹œ์ ˆ์ฒ˜๋Ÿผ.

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

ใ€€๋ช‡ ๋‹ฌ ์ „๋ถ€ํ„ฐ ์ข‹์€ ๊ธฐํšŒ๊ฐ€ ์ƒ๊ฒจ ์ด์ œ ๋ง‰ ๊ฐœ๋ฐœ์ž์˜ ๊ธธ๋กœ ๋“ค์–ด์„œ๋Š” ๋ถ„๋“ค๊ณผ ๋‹ค์–‘ํ•œ ์ƒ‰๊น”๋“ค๋กœ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆ„๊ณ  ์žˆ๋‹ค. ๊ณผ๊ฑฐ ํ•„์ž๊ฐ€ ๋ง‰ ์ทจ์—…์„ ํ–ˆ์„ ๋•Œ์˜ ์˜จ๋„์™€๋Š” ํ™•์—ฐํ•˜๊ฒŒ ๋‹ค๋ฅด์ง€๋งŒ ํ™•์‹คํ•˜๊ฒŒ ์ด์•ผ๊ธฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑด, ์ด๋ฏธ ๊ฐœ๋ฐœ์ž๋ผ๋Š” ์ง์—…์œผ๋กœ 10๋…„ ๊ฐ€๊นŒ์ด ์ง€๋‚ด๋ณด๋‹ˆ ๋ฌด์—‡์ด ์ค‘์š”ํ•˜๊ณ  ์–ด๋–ค ๊ฒƒ๋“ค์€ ์ž์‹ ์„ ๊ฐ‰์•„๋จน๋Š” ์กด์žฌ๋ผ๋Š” ๊ฒŒ ๋ป”ํžˆ ๋ณด์ธ๋‹ค๋Š” ์ ์ด๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ ์–ด๋А ๋ˆ„๊ตฌ๋„ ์ฒ˜์Œ ์‹œ์ž‘์ ์—์„œ๋Š” ๋‹น์—ฐํžˆ ํž˜๋“ค์–ดํ•  ์ˆ˜๋ฐ–์— ์—†๋Š”๋ฐ ๊ทธ ๊ณผ์ •์„ ๋ฌด์ž‘์ • ์‹ซ์–ด๋งŒ ํ•œ๋‹ค๊ฑฐ๋‚˜ ๊ทธ ํž˜๋“ฆ์„ ๋ชป ๊ฒฌ๋””๊ณ  ํฌ๊ธฐ ๋˜๋Š” ์ž˜๋ชป๋œ ์„ ํƒ(์ผ๋‹จ ์–ด๋””๋ผ๋„ ๋ถ™์œผ๋ฉด ๋ฌด์กฐ๊ฑด ๊ฐ€์ž๋Š” ์‹์˜)์„ ํ•˜๊ฒŒ ๋˜๋Š” ์ ์ด ๋„ˆ๋ฌด ์•ˆํƒ€๊น๋‹ค. ๋งŒ์•ฝ ์–ด๋– ํ•œ ‘๊ณต์‹’์ฒ˜๋Ÿผ ์ค‘์š”ํ•œ ๊ฒƒ๋งŒ ๋ฐ”๋ผ๋ณด๊ณ  ํ•„์š” ์—†๋Š” ๊ฒƒ๋“ค์€ ํ•˜์ง€ ์•Š๋Š” ์‹์œผ๋กœ ํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋ผ๋Š” ์ง์—…์„ ๊ฐ–๋Š” ์ง์žฅ์ธ์˜ ์‚ถ์€ ๊ณผ์—ฐ ํ–‰๋ณตํ• ๊นŒ? ์•„๋‹ˆ ๊ทธ๊ฒŒ ๊ฐ€๋Šฅํ•˜๊ธด ํ• ๊นŒ?

ใ€€์ด๋Ÿฐ์ €๋Ÿฐ ๊ณผ์ •์„ ๊ฑฐ์ณ์„œ ์ทจ์—…์— ์„ฑ๊ณตํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด์ž. ๊ณผ์—ฐ ์šฐ๋ฆฌ๊ฐ€ ๊ฟˆ๊พธ๋˜ ์•„๋ฆ„๋‹ต๊ณ  ๋ฉ‹์ง„ ๊ฐœ๋ฐœ์ž ๋ผ์ดํ”„๊ฐ€ ๋ณด์žฅ์ด ๋ ๊นŒ? (๋ฌผ๋ก  ์‚ฌ๋žŒ๋งˆ๋‹ค ํšŒ์‚ฌ๋งˆ๋‹ค ๋‹ค๋ฅด์ง€๋งŒ) ์•ผ๊ทผ์€ ๋ฐฅ ๋จน๊ธฐ ์ผ์‘ค๊ณ  ๋ชจ๋ฅด๋Š” ๊ฑฐ ํˆฌ์„ฑ์— ๋งค๋ฒˆ ์‹ค์ˆ˜ํ•˜๊ฑฐ๋‚˜ ํ˜ผ๋‚˜๊ณ  ์ขŒ์ ˆ์˜ ์—ฐ์†. ๋“œ๋””์–ด ์ทจ์—…ํ–ˆ๋‹ค!๋ผ๋Š” ์™ธ์นจ์ด ์˜จ ๋ฐ ๊ฐ„ ๋ฐ ์‚ฌ๋ผ์ง€๊ณ  ์ŠคํŠธ๋ ˆ์Šค๊ฐ€ ๋ฐ˜๋ณต๋˜์–ด ๊ฒฐ๊ตญ ํ‡ด์‚ฌ๋ฅผ ์ƒ๊ฐํ•˜๊ฑฐ๋‚˜ ์ •์‹  ์ฐจ๋ ค๋ณด๋‹ˆ ๋‚˜๋„ ๋ชจ๋ฅด๊ฒŒ CRUD (create, read, update, delete) ์ฐ์–ด๋‚ด๋Š” ๊ธฐ๊ณ„๊ฐ€ ๋˜์–ด๋ฒ„๋ฆฌ๊ณค ํ•œ๋‹ค. ๋ฌด์—‡์ด ๋ฌธ์ œ์ผ๊นŒ? ์ด๋Ÿฐ ์ƒํ™œ์„ ๊ธฐ๋Œ€ํ•˜๊ณ  ์ทจ์—…ํ•œ ๊ฑด ์•„๋‹ ํ…๋ฐ ๋ง์ด๋‹ค.

/images/a-good-developer-in-terms-of-employment/news.jpg
๊ฐœ๋ฐœ์ž ์ „์„ฑ์‹œ๋Œ€, ์ด๋Œ€๋กœ ์ข‹์€๊ฐ€
์ถœ์ฒ˜ : https://news.nate.com/view/20210226n37680

ใ€€์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ด์ œ ๋ง‰ ‘๊ฐœ๋ฐœ์ž’๋ผ๋Š” ์ง์—…์„ ๊ฐ€์ง€๋ ค๋Š” ๋ถ„๋“ค์ด๋‚˜ ์ง์žฅ์ธ์œผ๋กœ์„œ ์‹œ์ž‘์€ ํ–ˆ๋Š”๋ฐ ์–ด๋– ํ•œ ์ด์œ ๋กœ ์ง€์นœ๋‹ค๊ฑฐ๋‚˜ ๋งค๋„ˆ๋ฆฌ์ฆ˜์— ๋น ์ง„ ๋ถ„๋“ค๊ป˜ ์กฐ๊ธˆ์ด๋‚˜๋งˆ ๋„์›€์ด ๋ ๊นŒ ํ•˜์—ฌ ํ•„์ž์˜ ์ƒ๊ฐ์„ ์ •๋ฆฌํ•ด ๋ณด๊ณ ์ž ํ•œ๋‹ค. ์™œ ๋ณธ์ธ์ด ์ˆ˜๋งŽ์€ ์ง์—… ์ค‘์— ํ•˜ํ•„ ‘๊ฐœ๋ฐœ์ž’๋ฅผ ์„ ํƒํ–ˆ๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ์ทจ์—…์„ ํ•˜๊ณ ์ž ํ•  ๋•Œ ์ƒ๊ฐํ•ด ๋ด์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€๋“ค์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ด๋ณด์ž.

์™œ ํ•˜ํ•„ ‘๊ฐœ๋ฐœ์ž’์ธ๊ฐ€

ใ€€ํ•œ๊ตญ ๊ณ ์šฉ์ •๋ณด์›์ด 2020๋…„ ๋ฐœ๊ฐ„ํ•œ ใ€Œํ•œ๊ตญ ์ง์—…์‚ฌ์ „ ํ†ตํ•ฉ๋ณธ ์ œ5ํŒใ€์— ๋”ฐ๋ฅด๋ฉด 2019๋…„ 12์›” ๊ธฐ์ค€์œผ๋กœ ์šฐ๋ฆฌ๋‚˜๋ผ ์ง์—…์˜ ์ข…๋ฅ˜๋Š” 16,891๊ฐœ๋ผ๊ณ  ํ•œ๋‹ค. ์‚ฐ์—…์ด ๋ฐœ๋‹ฌ๋จ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ์ง์—…๋“ค์ด ์ƒ๊ฒจ๋‚˜๊ธฐ์— ์ง€๊ธˆ์€ ํ›จ์”ฌ ๋” ๋งŽ์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, ์ด ์ˆ˜๋งŽ์€ ์ง์—…๋“ค ์ค‘์— ์™œ ํ•˜ํ•„ ์šฐ๋ฆฌ๋Š” ‘๊ฐœ๋ฐœ์ž’๋ผ๋Š” ์ง์—…์„ ์„ ํƒํ•˜๋ ค๋Š” ๊ฑธ๊นŒ? ๊ด€๋ จ ์ „๊ณต์„ ๋‚˜์™€์„œ? ์š”์ฆ˜ ์ธ๊ธฐ ์žˆ๋Š” ์ง์—…์ด๋ผ์„œ? ํ•œ ๋ฒˆ์ฏค์€ ์•„๋‹ˆ, ๊ผญ ์ด๋Ÿฐ ์ƒ๊ฐ์„ ๋ฉฐ์น ์—์„œ ๋ช‡ ๋‹ฌ ๋™์•ˆ ๊นŠ๊ฒŒ ๊ณ ๋ฏผํ•ด ๋ดค์œผ๋ฉด ์ข‹๊ฒ ๋‹ค. ์™œ ๋‚˜๋Š” ๊ฐœ๋ฐœ์ž๋กœ์จ ์‚ด์•„๊ฐ€๋ ค ํ•˜๋Š” ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•ด์„œ ๋ง์ด๋‹ค.

ใ€€์ด๋ ฅ์„œ ํ˜น์€ ์ž๊ธฐ์†Œ๊ฐœ์„œ์— ‘์ž…์‚ฌ ํฌ๋ถ€’๋ผ๋Š” ๋ฌธํ•ญ์ด ์ž์ฃผ ๋‚˜ํƒ€๋‚œ๋‹ค. ๊ทธ๊ณณ์—๋Š” ๋ณธ์ธ์ด ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜์–ด์•ผ๋งŒ ํ•˜๋Š” ์ด์œ ์— ๋Œ€ํ•ด ๋‹ค์–‘ํ•œ ๋ฏธ์‚ฌ์—ฌ๊ตฌ๋ฅผ ๋ถ™์—ฌ๊ฐ€๋ฉฐ ์ž‘์„ฑํ•˜๊ธฐ ๋งˆ๋ จ์ธ๋ฐ ๊ทธ๋ ‡๊ฒŒ ‘๋ณด์—ฌ์ฃผ๊ธฐ์‹’๋‚ด์šฉ ๋ง๊ณ  ์ •๋ง ๋‚ด๊ฐ€ ๊ฐœ๋ฐœ์ด ‘์žฌ๋ฐŒ๋Š”์ง€์—’ ๋Œ€ํ•ด ๋ฐ˜๋ฌธ์„ ํ•ด๋ณด๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค. ๊ฐœ๋ฐœ์„ ํ•˜๋Š” ๊ณผ์ • ์†์—์„œ ๋‚˜๋Š” ์–ด๋А ์ƒํ™ฉ์—์„œ ์žฌ๋ฏธ๋ฅผ ๋А๋ผ๋Š”์ง€. ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์„ ๋ฐฐ์šธ ๋•Œ, ๋ช‡ ๋‚  ๋ฉฐ์น  ๋™์•ˆ ์‚ฝ์งˆ์„ ํ•˜๋‹ค ํ•ด๊ฒฐ์„ ํ–ˆ์„ ๋•Œ, ๋‚ด๊ฐ€ ๊ฐœ๋ฐœํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ˆ„๊ตฐ๊ฐ€ ์‚ฌ์šฉํ•  ๋•Œ ๋“ฑ๋“ฑ. ์ฐพ์•„๋ณด๋ฉด ๋‹ค์–‘ํ•œ ์‹œ์ ์—์„œ ์šฐ๋ฆฌ๋Š” ๊ฐœ๋ฐœ์„ ํ•˜๋ฉฐ ์žฌ๋ฏธ๋ฅผ ๋А๋‚„ ๋•Œ๊ฐ€ ์žˆ๋‹ค.

ใ€€๋ˆˆ์น˜๋ฅผ ์ฑ˜์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ ํ•„์ž๊ฐ€ ๋งํ•˜๊ณ  ์‹ถ์€ ๊ฑด, ๊ฐœ๋ฐœ์ž๋ผ๋Š” ์ง์—…์„ ์„ ํƒํ•˜๋ ค๋ฉด ๊ฐœ๋ฐœ์ด ์žฌ๋ฏธ์žˆ์–ด์•ผ ๋œ๋‹ค๋Š” ๋ง์ด๋‹ค. ๋ฐ˜๋ฌธ์„ ํ•ด๋ณด์ž. ๊ทธ๋Ÿผ ๋งŒ์•ฝ์— ๊ฐœ๋ฐœ์ด ์žฌ๋ฏธ์—†๋‹ค๋ฉด ์–ด๋–จ๊นŒ? ๊ฐœ๋ฐœ์ž๋กœ์จ ์‚ด์•„๊ฐˆ ์ˆ˜ ์—†๋Š” ๊ฒƒ์ผ๊นŒ? ์ผ๋ฐ˜ํ™”ํ•˜๊ธด ์‹ซ์ง€๋งŒ ๊ฐœ๋ฐœ์ด ์žฌ๋ฏธ๊ฐ€ ์—†์œผ๋ฉด ๊ฐœ๋ฐœ์ž๋กœ์จ ์‚ด์•„๊ฐ€๊ธฐ์— ๋„ˆ๋ฌด ํž˜๋“ค ๊ฒƒ ๊ฐ™๋‹ค. ๊ฒ€์ • ํ™”๋ฉด์— ์˜์–ด๋กœ ๋œ ๊ธ€์ž๋“ค์„ ๋งŒ์ ธ๊ฐ€๋ฉฐ ํ™€๋กœ ๊ณ ๋…ํ•˜๊ฒŒ ์ž์‹ ๊ณผ์˜ ์‹ธ์›€์„ ํ•˜๋Š” ์‹œ๊ฐ„๋“ค์˜ ์—ฐ์†์ผ ํ…๋ฐ ์žฌ๋ฏธ๋ผ๋„ ์žˆ์ง€ ์•Š๋‹ค๋ฉด, ๋”๊ตฐ๋‹ค๋‚˜ ๊ทธ๊ฒŒ ํ•˜๋ฃจ์˜ ์ ˆ๋ฐ˜ ์ด์ƒ์„ ํ• ์• ํ•˜๋Š” ‘์ง์—…’์ด๋ผ๋ฉด ์˜ค๋ž˜ ์œ ์ง€ํ•˜๋Š”๋ฐ ํž˜๋“ค์ง€ ์•Š์„๊นŒ?

/images/a-good-developer-in-terms-of-employment/ebs.jpeg
๊ทธ๋ž˜๋„ ์˜ค๋Š˜์ด ๋ช‡์ผ์ธ์ง€๋Š” ์•Œ๊ณ  ํ•˜์ž.
์ถœ์ฒ˜ : https://bbs.ruliweb.com/community/board/300143/read/49006211

ใ€€๋‹น์žฅ ๊ฐœ๋ฐœ์ด ์žฌ๋ฏธ์—†์–ด๋„ ์ข‹๋‹ค. ํƒœ์–ด๋‚  ๋•Œ๋ถ€ํ„ฐ ๊ฐœ๋ฐœ์ด ์žฌ๋ฐŒ์–ด์„œ ๋Œ์žก์ด ๋•Œ ๊ธฐ๊ณ„์‹ ํ‚ค๋ณด๋“œ๋ฅผ ์žก๋Š” ์‚ฌ๋žŒ์€ ์—†๋“ฏ ๋ˆ„๊ตฌ๋‚˜ ์•ฝ๊ฐ„์˜ ํ˜ธ๊ธฐ์‹ฌ์—์„œ ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•˜๊ธฐ ๋งˆ๋ จ์ธ๋ฐ ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ์ ์€ ๊ฐœ๋ฐœ์˜ ์žฌ๋ฏธ๋ฅผ ๋ณธ์ธ๋งŒ์˜ ํ˜ธํก์œผ๋กœ ์ฐพ๋Š” ์Šต๊ด€์„ ๋“ค์—ฌ์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์˜ˆ์ปจ๋Œ€, ํ•„์ž๋Š” ํšŒ์‚ฌ์—์„œ ์ด๋Ÿฐ์ €๋Ÿฐ ์ด์œ ๋กœ ๊ฐœ๋ฐœ์ด ์žฌ๋ฏธ ์—†์–ด์ง€๊ฑฐ๋‚˜ ์ณ๋‹ค๋„ ๋ณด๊ธฐ ์‹ซ์„ ์ƒํ™ฉ์ด ์ƒ๊ธฐ๋ฉด ๋ฌด์–ธ๊ฐ€๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ฑฐ๋‚˜(=ํ† ์ด ํ”„๋กœ์ ํŠธ) ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์ด ์ƒ๊ฒผ๋‹ค๋ฉด ๊นŠ๊ฒŒ ํŒŒ๊ณ  ๋“ค์–ด ์–ด๋–ป๊ฒŒ๋“  ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๋Š” ๊ณผ์ •์„ ์–ด๋”˜๊ฐ€์— ์ •๋ฆฌํ•˜๋ฉฐ(=๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ) ๋ฌด๋„ˆ์ง€์ง€ ์•Š์œผ๋ ค ๊ฐœ๋ฐœ์˜ ์žฌ๋ฏธ๋ฅผ ์œ ์ง€ํ•˜๋ ค ์• ์จ์˜จ ๊ฒƒ ๊ฐ™๋‹ค. ์ด ๊ธ€์„ ์ฝ๊ณ  ์žˆ๋Š” ๋‹น์‹ ์€ ์–ด๋–ค ์ƒํ™ฉ์—์„œ ๊ฐœ๋ฐœ์˜ ์žฌ๋ฏธ๋ฅผ ๋А๋ผ๋Š”๊ฐ€. ๋ณธ์ธ๋งŒ์˜ ํ˜ธํก์„ ์ฐพ์•„์„œ ๊ฐœ๋ฐœ์ด ์žฌ๋ฏธ์žˆ๋„๋ก ์Šต๊ด€์„ ๊ธธ๋Ÿฌ๋ณด๋Š” ๊ฑด ์–ด๋–จ๊นŒ.

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

ใ€€๏ปฟ๊ณต๋ชจ์ฃผ ์•Œ๋ฆฌ๋ฏธ๋ผ๋Š” ํ† ์ด ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ๊ธฐ์˜ ๋งˆ์ง€๋ง‰ ํฌ์ŠคํŒ…์ด๋‹ค. ํ† ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์™œ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ๊ณ  ์–ด๋–ป๊ฒŒ ์„ค๊ณ„ํ•˜๊ฒŒ ๋˜์—ˆ์œผ๋ฉฐ ๋ฐ์ดํ„ฐ๋Š” ์–ด๋–ค ์‹์œผ๋กœ ์ˆ˜์ง‘ํ•˜๊ณ  ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ค ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ์•Œ๋ฆผ์„ ๋ณด๋‚ด๊ธฐ๊นŒ์ง€ ์•Œ์•„๋ณด์•˜๋‹ค. ์ด์ œ๋Š” ์ด๋Ÿฌํ•œ ์ผ๋ จ์˜ ‘ํŒŒ์ดํ”„๋ผ์ธ’์„ ์ž๋™ํ™”ํ•ด์•ผ ํ•  ์‹œ๊ฐ„์ด๋‹ค. ์‚ฌ๋žŒ์ด ์ง์ ‘ ์ˆ˜๋™์œผ๋กœ ๋กœ์ปฌ ์ปดํ“จํ„ฐ์—์„œ ์œ„ ํŒŒ์ดํ”„๋ผ์ธ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ณ„๋„์˜ ์„œ๋ฒ„์— ํ•ด๋‹น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋“ฑ๋ก๋˜์–ด ์žˆ๊ณ  ์ด๋ฅผ ์–ด๋–ค ๋ฌด์–ธ๊ฐ€์— ์˜ํ•ด ํŠธ๋ฆฌ๊ฑฐ๋ง์„ ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ง์ด๋‹ค.๏ปฟ

์„œ๋ฒ„ ์„ ์ •

ใ€€๏ปฟ1๋ถ€์—์„œ ์ด์•ผ๊ธฐํ–ˆ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ heroku๋ผ๋Š” PaaS(Platform as a service)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™์•˜๋‹ค. ๋ฌด๋ฃŒ ํ”Œ๋žœ์œผ๋กœ๋„ ์„ค๊ณ„ํ–ˆ๋˜ ์„œ๋น„์Šค ๋‚ด์šฉ์„ ๋ชจ๋‘ ์†Œํ™” ๊ฐ€๋Šฅํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์•ž์„œ ๋งŒ๋“  Spring Boot Application ์„ heroku์— ๋ฐฐํฌ๋ฅผ ํ•ด๋ณด์ž.

ใ€€heroku์—์„œ ์ƒˆ๋กœ์šด ‘App’์„ ์ƒ์„ฑํ•œ๋‹ค. ์•„๋ž˜์—์„œ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ๋Š” ํ™”๋ฉด๋Œ€๋กœ App name์„ ์ง€์ •ํ•˜๊ณ  ๋งŒ๋“ค๊ธฐ๋งŒ ํ•˜๋ฉด ๋. ๊ทธ๋Ÿฌ๋ฉด ๋ฐฐํฌ ๋ฐฉ๋ฒ•์ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ heroku์—์„œ ์ œ๊ณตํ•˜๋Š” CLI๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•, ๊ทธ๋ฆฌ๊ณ  Github ๊ณผ ์—ฐ๋™ํ•˜๊ฑฐ๋‚˜, ์ปจํ…Œ์ด๋„ˆ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ์ด 3๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ ํ•„์ž๋Š” Github์„ ํ™œ์šฉํ•ด์„œ ์—ฐ๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ด ๋ณด๊ณ ์ž ํ•œ๋‹ค.

/images/public-offering-notice-3/1.jpg
heroku ์—์„œ app์„ ์ƒ์„ฑํ•˜์ž.

ใ€€๏ปฟ๋กœ์ปฌ์—์„œ ๋งŒ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ Github์— push ํ•˜๋ฉด Github Repository ๊ฐ€ ์ƒ๊ธฐ๊ณ  ์ž‘์—… ํŒŒ์ผ๋“ค์ด ์ •์ƒ์ ์œผ๋กœ ์—…๋กœ๋“œ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋‹ค์Œ heroku์—์„œ ๋งŒ๋“ค์—ˆ๋˜ App ํŽ˜์ด์ง€์—์„œ Deploy ํƒญ์„ ํด๋ฆญํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ Deploy๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋‚˜์˜ค๊ณ , ์ด ์ค‘์— “Connect to Github"์„ ์„ ํƒํ•˜๋ฉด Github ๊ณผ ์—ฐ๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ„ํŠผ์ด ์ƒ๊ธฐ๊ณ  ์ด๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ž๋™์œผ๋กœ ๋ณธ์ธ์˜ Github ๋‚ด Repository๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋„๋ก ํ™”๋ฉด์ด ๋ฐ”๋€๋‹ค.

/images/public-offering-notice-3/2.jpg
heroku ์™€ github ์—ฐ๋™

ใ€€๏ปฟ๊ทธ๋‹ค์Œ ์œ„์—์„œ Github์— push ํ–ˆ๋˜ Repository ์ด๋ฆ„์„ ์ ๊ณ  ๊ฒ€์ƒ‰ํ•˜๋ฉด ์กฐํšŒ๊ฐ€ ๋˜๊ณ  ‘Connect’๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ž๋™์œผ๋กœ ์—ฐ๊ฒฐ์ด ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์—ฐ๋™๋œ Repository ๋ธŒ๋žœ์น˜์— ์ฝ”๋“œ๊ฐ€ ํ‘ธ์‹œ ๋˜๋ฉด ์ž๋™์œผ๋กœ heroku์— ๋ฐฐํฌ๊ฐ€ ๋˜๋„๋ก ์ž๋™ํ™” ์„ค์ •๋„ ๊ฐ€๋Šฅํ•˜๊ณ  ๊ทธ ์•„๋ž˜์— ๋ณด๋ฉด ๋ธŒ๋žœ์น˜๋ฅผ ์„ ํƒํ•ด์„œ ๋ฐฐํฌ๋ฅผ ์ˆ˜๋™์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๊ธฐ๋„ ํ•˜๋‹ค. ์ˆ˜๋™์œผ๋กœ ํ‘ธ์‹œ๋ฅผ ๋ˆŒ๋Ÿฌ๋ณด๋ฉด ์ด๋Ÿฐ์ €๋Ÿฐ ๋นŒ๋“œ ๋กœ๊ทธ๊ฐ€ ๋‚˜์˜ค๊ณ  ์ตœ์ข…์ ์œผ๋กœ ๋ฐฐํฌ๊ฐ€ ๋˜์–ด {Appname}.herokuapp.com ์„ ์ ‘์†ํ•ด๋ณด๋ฉด ์„œ๋ฒ„์— ๋ฐฐํฌ๊ฐ€ ๋˜์–ด์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

/images/public-offering-notice-3/3.jpg
์ˆ˜๋™์œผ๋กœ ๋ฐฐํฌ๋ฅผ ํ•ด๋ณด์ž.

ใ€€๏ปฟheroku์—์„œ๋Š” ์ด๋ ‡๊ฒŒ ๋ช‡ ๋ฒˆ์˜ ํด๋ฆญ๋งŒ์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ๊ณ  ์„œ๋ฒ„ ๋‚ด ๋กœ๊ทธ๋„ ์•„๋ž˜ ํ™”๋ฉด์ฒ˜๋Ÿผ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‰ฝ๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์‹ถ์€ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ๋งค๋ ฅ์ ์œผ๋กœ ๋ณด์ด๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๋‹จ, ๋ฌด๋ฃŒ ํ”Œ๋žœ์˜ ์ œํ•œ์‚ฌํ•ญ๋“ค์„ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ณ  ์‚ฌ์šฉํ•  ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค.

/images/public-offering-notice-3/4.jpg
์„œ๋ฒ„ ๋กœ๊ทธ๋„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค!

ํ˜ธ์ถœ ํ…Œ์ŠคํŠธ, ๋ฌธ์ œ์˜ ์‹œ์ž‘

ใ€€๏ปฟ์•ž์„œ ๋งŒ๋“ค์—ˆ๋˜ ํ…”๋ ˆ๊ทธ๋žจ ์ฑ„๋„์—๋Š” ์•„๋ฌด๋„ ๊ฐ€์ž…์„ ํ•˜์ง€ ์•Š์•˜๊ธฐ์— ๋ฐฐํฌํ•œ heroku web endpoint๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ํ…”๋ ˆ๊ทธ๋žจ ๋ด‡์„ ํ†ตํ•ด ์•Œ๋ฆผ์ด ์˜ค๋Š” ๊ฑธ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์•„๋ฌด๋ฆฌ ํ˜ธ์ถœ์„ ํ•ด๋„ ์„œ๋ฒ„๋Š” ํƒ€์ž„์•„์›ƒ์ด๋ผ๋Š” ์—๋Ÿฌ ์‘๋‹ต์„ ๋ฑ‰๊ธฐ ์ผ์‘ค์˜€๊ณ , ๋กœ์ง์ด ๋ฌธ์ œ์ธ์ง€ ํ•œ์ฐธ์„ ๋ฆฌํŒฉํ† ๋งํ•˜๋ฉฐ ์›์ธ์„ ํŒŒ์•…ํ•˜๋Š”๋ฐ ๊ฝค ์˜ค๋žœ ์‹œ๊ฐ„์„ ์‚ฝ์งˆํ•˜์˜€๋‹ค. ์™œ ํƒ€์ž„์•„์›ƒ์ด ๋ฐœ์ƒํ• ๊นŒ? heroku๋Š” web์—์„œ ๋ฐ”๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” console ํŽ˜์ด์ง€๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ‘ํฌ๋กค๋ง์„ ํ•˜๊ธฐ ์œ„ํ•œ ํŽ˜์ด์ง€’์™€ ‘๊ตฌ๊ธ€’์„ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•ด ๋‹จ์ˆœํ•˜๊ฒŒ curl ํ•ด์„œ ๊ฐ€์ ธ์˜ค๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ณด๋‹ˆ ์•„๋ž˜์ฒ˜๋Ÿผ ํ™•์—ฐํžˆ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ž๋‹ค. ๊ฒฐ๊ตญ์€ heroku ์™€ ํฌ๋กค๋ง ํ•˜๋Š” ์„œ๋ฒ„ ๊ฐ„์˜ ๋„คํŠธ์›Œํฌ ํƒ€์ž„์•„์›ƒ์ด ๋ฌธ์ œ์˜€๋˜ ๊ฒƒ.

/images/public-offering-notice-3/5.jpg
์˜ค๋ฅ˜๊ฐ€ ๋‚˜๊ณ  ์›์ธ์„ ์ฐพ๋Š” ๊ณผ์ •์ด ๊ฐ€์žฅ ์–ด๋ ค์šด ๊ฒƒ ๊ฐ™๋‹ค. ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹Œ ๋„คํŠธ์›Œํฌ ์ž์ฒด์˜ ๋ฌธ์ œ

๊ทธ๋ž˜์„œ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐ ํ–ˆ๋‚˜?

ใ€€๏ปฟheroku์—์„œ ํƒ€์ž„์•„์›ƒ์ด ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค ์—ฌ๋Ÿฌ ๊ตฌ๊ธ€๋ง์„ ํ†ตํ•ด ์ฐพ์•„๋ดค์ง€๋งŒ ๋ฐฉ๋ฒ•์„ ์ฐพ์„ ์ˆ˜ ์—†์–ด์„œ ๊ฒฐ๊ตญ heroku๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ํฌ๊ธฐํ•˜๊ณ  ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ด์•ผ๋งŒ ํ–ˆ๋‹ค. ์•ž์„œ ์ด์•ผ๊ธฐํ–ˆ์ง€๋งŒ ํ† ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฌด๋ฃŒ๋กœ ์šด์˜ํ•˜๊ณ  ์‹ถ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฐ์ €๋Ÿฐ ๋ฐฉ๋ฒ•์„ ์ฐพ๋‹ค ๋ณด๋‹ˆ AWS ์™€ ๋น„์Šทํ•˜๊ฒŒ Google์—์„œ๋„ GCP๋ผ๋Š” ์„œ๋น„์Šค๋ฅผ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด๊ณณ์—์„œ๋„ 1๋…„ ๋™์•ˆ์€ ๋ฌด๋ฃŒ์ด์ง€๋งŒ ์ดํ›„ AWS์ฒ˜๋Ÿผ ๊ณผ๊ธˆ์ด ๋“œ๋Š” ๋ฌธ์ œ๊ฐ€ ์•„์‰ฌ์›Œ์„œ ์ข€ ๋” ์ฐพ์•„๋ณด๋‹ˆ ์•„์ฃผ ์ž‘์€ ์„œ๋ฒ„์— ํŠน์ • ์กฐ๊ฑด์„ ๋งž์ถ˜๋‹ค๋ฉด ํ‰์ƒ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฑธ ์•Œ๊ฒŒ ๋˜์—ˆ๊ณ  ์ด๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๋งˆ์Œ๋จน๋Š”๋‹ค. (์ฐธ๊ณ  ์‚ฌ์ดํŠธ : https://nhj12311.tistory.com/317)๏ปฟ

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

ใ€€๏ปฟํ˜น์‹œ ์ด ํฌ์ŠคํŠธ๋ฅผ ์ฒ˜์Œ ์ฝ๋Š” ๋…์ž๋ผ๋ฉด ์ง€๋‚œ ํฌ์ŠคํŒ…์„ ์ฝ๊ณ  ์˜ค๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค. ์ •๋ฆฌํ•˜์ž๋ฉด, ์ง€๋‚œ ํฌ์ŠคํŠธ์—์„œ๋Š” ํ† ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๊ฒŒ ๋œ ๊ณ„๊ธฐ์™€, ์–ด๋–ค ์‹์œผ๋กœ ๋งŒ๋“ค์ง€์— ๋Œ€ํ•œ ์„ค๊ณ„. ๊ทธ๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ๊ณผ์ •์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ–ˆ์—ˆ๋‹ค. ์ง€๋‚œ ํฌ์ŠคํŒ…์—์„œ ์ˆ˜์ง‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์ œ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ์•Œ๋ ค์ฃผ๋Š” ๋ถ€๋ถ„์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜๊ณ ์ž ํ•œ๋‹ค.

๋ฐ์ดํ„ฐ ์ •์˜

ใ€€๏ปฟ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; // ์ฒญ์•ฝ๊ฒฝ์Ÿ๋ฅ 
}

ใ€€๏ปฟ์ดˆ๊ธฐ์—๋Š” ์œ„์—์„œ ์ •์˜ํ•œ ๋ชจ๋ธ์ฒ˜๋Ÿผ ๊ณต๋ชจ์ฃผ์˜ ๊ธฐ๋ณธ ์ •๋ณด๋งŒ์„ ์„œ๋น„์Šคํ•ด์•ผ๊ฒ ๋‹ค ์ƒ๊ฐํ–ˆ๊ณ , ๊ด€๋ จ ๋‰ด์Šค๋ผ๋“ ์ง€ ๊ธฐํƒ€ ์ถ”๊ฐ€์ ์ธ ์ •๋ณด๋‚˜ ๋‹ค๋ฅธ ๋ถ„๋“ค์˜ ์š”๊ตฌ ์‚ฌํ•ญ(?)๋“ค์ด ์ถ”๊ฐ€๋  ๊ฒฝ์šฐ ์ ์ง„์ ์œผ๋กœ ์„ค๊ณ„๋ฅผ ํ•˜๊ณ ์„œ ํ™•์žฅ์‹œ์ผœ ๋‚˜๊ฐ€๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๊ณ„ํšํ–ˆ๋‹ค. ์šฐ์„ ์€ ๊ธฐ๋Šฅ๋“ค์ด ๋ถ€์กฑํ•˜๋”๋ผ๊ณ  ๋Œ์•„๊ฐ€๋Š” ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์—ˆ๊ธฐ์—.

/images/public-offering-notice-2/agile.png
์• ์ž์ผ ๋ฐฉ๋ฒ•๋ก !
์ถœ์ฒ˜ : https://m.blog.naver.com/keycosmos3/221267522930

ํ…”๋ ˆ๊ทธ๋žจ ๋ด‡/์ฑ„๋„ ์ƒ์„ฑ

ใ€€๏ปฟํ…”๋ ˆ๊ทธ๋žจ ๋ด‡์„ ๋งŒ๋“œ๋Š” ๊ณผ์ •์€ ๊ฐ€๋ณ๊ฒŒ ๊ฒ€์ƒ‰์„ ํ•ด๋ณด๋ฉด ๋„ˆ๋ฌด๋‚˜ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ณด๋‹ค ํ•˜๋‚˜์˜ ๊ธ€ ์•ˆ์— ๋ชจ๋“  ๋‚ด์šฉ์„ ๋‹ด๊ณ  ์‹ถ์–ด ํ…”๋ ˆ๊ทธ๋žจ ๋ด‡์„ ๋งŒ๋“ค๊ณ  โ†’ ํ…”๋ ˆ๊ทธ๋žจ ์ฑ„๋„์„ ๋งŒ๋“  ๋‹ค์Œ โ†’ ํ…”๋ ˆ๊ทธ๋žจ ๋ด‡์„ ์ด์šฉํ•ด์„œ ํ…”๋ ˆ๊ทธ๋žจ ์ฑ„๋„์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ๊ฑธ ์ด์•ผ๊ธฐํ•ด ๋ณด๊ณ ์ž ํ•œ๋‹ค.

๏ปฟ์•„, ์—ฌ๊ธฐ์„œ ์™œ ๊ผญ ‘ํ…”๋ ˆ๊ทธ๋žจ’์„ ์„ ํƒํ–ˆ๋Š”๊ฐ€์— ๋Œ€ํ•œ ์ด์œ ๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ๋‹ค๋ฅธ ๋ฉ”์‹ ์ € (์นด์นด์˜คํ†ก, ๋ผ์ธ ๋“ฑ)๋ณด๋‹ค๋„ api๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ๊ณผ์ •์ด ๋‹จ์ˆœํ•˜๋ฉด์„œ๋„ ๋น ๋ฅด๊ณ  ์‰ฝ๊ฒŒ ๋А๊ปด์กŒ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ˜น์‹œ ํ…”๋ ˆ๊ทธ๋žจ ์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๋ฉ”์‹ ์ €๋กœ ๋ณด๋‚ด๋‹ฌ๋ผ๋Š” ์š”์ฒญ์ด ์žˆ์„ ๊ฒฝ์šฐ ๊ทธ๋•Œ ๊ฐ€์„œ ๊ณ ๋ฏผํ•ด ๋ณด๋ ค ํ•œ๋‹ค.

  • ํ…”๋ ˆ๊ทธ๋žจ ๋ด‡ ์ƒ์„ฑ

ใ€€๏ปฟ๋จผ์ € ํ…”๋ ˆ๊ทธ๋žจ ๋ฉ”์‹ ์ €์—์„œ ‘BotFather’๋ผ๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์ฐพ๊ณ  ‘/start’๋ฅผ ๋ˆ„๋ฅด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด๊ฐ€ ๋‚˜์˜จ๋‹ค.

ใ€€๏ปฟ๊ทธ๋‹ค์Œ ์šฐ๋ฆฌ๋Š” ๋ด‡์„ ๋งŒ๋“ค ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ‘/newbot’์„ ๋ˆ„๋ฅด๊ณ  ๋ด‡์˜ ์ด๋ฆ„์„ ์ž‘์„ฑํ•˜๊ณ  ๊ทธ ๋ด‡์˜ ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์ง€์ •ํ•œ๋‹ค. ‘_bot’์œผ๋กœ ๋๋‚˜์•ผ ํ•œ๋‹ค๊ณ  ํ•˜๊ธฐ์— ์ด๋ฆ„ ๋’ค์— ๋ถ™์—ฌ์„œ ๋งŒ๋“ค๋ฉด ๊ทธ๊ฑธ๋กœ ๋. ๋‹ค์Œ์œผ๋กœ ์นœ์ ˆํ•˜๊ฒŒ HTTP API๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ† ํฐ์ด ๋ฐœ๊ธ‰๋˜๋Š”๋ฐ ์ด ํ† ํฐ์œผ๋กœ ๋ด‡์„ ์ปจํŠธ๋กค ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž˜ ๊ฐ„์งํ•˜๊ณ (?) ์žˆ์–ด์•ผ ํ•œ๋‹ค.

/images/public-offering-notice-2/newbot.jpg
์นœ์ ˆํ•œ ๋ด‡ ์•„๋ฒ„์ง€

ใ€€๏ปฟ์ดํ›„ ํ•ด๋‹น ํ† ํฐ์„ ์ด์šฉํ•ด์„œ ๋ด‡์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ด๋ณด์ž. ์•„๋ž˜์˜ url์— ํ† ํฐ ๊ฒฝ๋กœ๋งŒ ๋ณ€๊ฒฝํ•˜์—ฌ ์ž…๋ ฅํ•˜๋ฉด json ์‘๋‹ต์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

https://api.telegram.org/bot{token}/getUpdates
e.g. https://api.telegram.org/bot17...42:AAH...cQU/getUpdates
  • ํ…”๋ ˆ๊ทธ๋žจ ์ฑ„๋„ ์ƒ์„ฑ

ใ€€๏ปฟ1:N์œผ๋กœ ์ฑ„๋„์— ๊ฐ€์ž…ํ•œ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋ฉ”์‹œ์ง€๋ฅผ ์ผ๋ฐฉ์ ์œผ๋กœ ๋ณด๋‚ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•  ์ฑ„๋„์„ ๋งŒ๋“ค์–ด ๋ณด์ž. ํ…”๋ ˆ๊ทธ๋žจ UI๋งŒ ๋ด๋„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ƒ์„ฑํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋˜์–ด์žˆ๋‹ค. ๋”๋ถˆ์–ด ์ด ์ฑ„๋„์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์œ„์—์„œ ๋งŒ๋“ค์—ˆ๋˜ ๋ด‡์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ด€๋ฆฌ์ž๋กœ ์Šน๊ฒฉ ์‹œํ‚ค์ž.

/images/public-offering-notice-2/newchannel.jpg
์ฑ„๋„ ์ƒ์„ฑ > ๋ด‡์„ ๊ด€๋ฆฌ์ž๋กœ
  • ๏ปฟํ…”๋ ˆ๊ทธ๋žจ ๋ด‡์œผ๋กœ ํ…”๋ ˆ๊ทธ๋žจ ์ฑ„๋„์— ๋ฉ”์‹œ์ง€ ๋ณด๋‚ด๊ธฐ

ใ€€์ด ๋ถ€๋ถ„์—์„œ ์•ฝ๊ฐ„ ํ—ค๋งธ๋Š”๋ฐ ๊ฒฐ๊ตญ ์œ„์—์„œ ์–ป์€ ํ† ํฐ๊ณผ ์ฑ„๋„์˜ ํŠน์ • id๋ฅผ ์•Œ์•„์•ผ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ์•ž์„œ ๋งŒ๋“ค์—ˆ๋˜ ์ฑ„๋„์— ์•„๋ฌด ๋ฉ”์‹œ์ง€๋‚˜ ์ž‘์„ฑ์„ ํ•˜๊ณ  ์œ„์—์„œ ํ˜ธ์ถœํ–ˆ๋˜ ‘getUpdates’ api๋ฅผ ๋‹ค์‹œ ํ˜ธ์ถœํ•ด๋ณด๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ์ฑ„๋„์˜ id๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

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

ใ€€๏ปฟ์ž‘๋…„๋ถ€ํ„ฐ ์‹œ์ž‘๋œ ‘๋™ํ•™ ๊ฐœ๋ฏธ ์šด๋™’์— ์–ธ์ œ๋ถ€ํ„ฐ์ธ๊ฐ€ ํ•„์ž๋„ ์ฃผ๋ฆฐ์ด๋กœ์จ ๋™์ฐธ์„ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ตœ๊ทผ์—๋Š” ‘๊ณต๋ชจ์ฃผ ์ฒญ์•ฝ’์ด๋ผ๋Š” ๊ฑธ ์•Œ๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ ๋”ฐ๋ผ ํ•ด๋ณด๊ณ  ์ •์‹  ์ฐจ๋ ค๋ณด๋‹ˆ ์น˜ํ‚จ ํ•œ ๋งˆ๋ฆฌ ์ •๋„์˜ ์ˆ˜์ต์„ ์–ป๋Š” ๊ธฐ์ ์ด ์ผ์–ด๋‚ฌ๋‹ค. ๊ณต๋ชจ์ฃผ๋ž€ ์ •ํ•ด์ง„ ์ผ์ž์— ์ฒญ์•ฝ์„ ํ•˜๊ณ  ๋ฐฐ์ •์„ ๋ฐ›์œผ๋ฉด ํ•ด๋‹น ์ฃผ์‹์ด ์ƒ์žฅ์„ ํ•˜๊ธฐ ์ „์— ๋ฏธ๋ฆฌ ์‚ด ์ˆ˜ ์žˆ๋‹ค๋Š” ‘๊ธฐํšŒ’๋กœ ์ดํ•ดํ–ˆ๋‹ค. (์ฃผ๋ฆฐ์ด๋ผ ์ดํ•ด์˜ ๋ฒ”์œ„๊ฐ€ ์—ฌ๊ธฐ๊นŒ์ง€๋‹ค…) ๊ณต๋ชจ์ฃผ ๋ฐฐ์ •์ด ๋กœ๋˜์ฒ˜๋Ÿผ ์—„์ฒญ๋‚œ ํฐ ์ˆ˜์ต๋ฅ ์„ ๊ฐ€์ ธ๋‹ค์ฃผ๋Š” ๊ฑด ์•„๋‹ˆ์ง€๋งŒ ์•ž์„œ ์ด์•ผ๊ธฐ ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์–ธ์ œ ์žˆ์„์ง€ ๋ชจ๋ฅด๋Š” ๊ณต๋ชจ์ฃผ ์ฒญ์•ฝ์„ ๊ผฌ๋ฐ•๊ผฌ๋ฐ• ์ฑ™๊ฒจ์„œ ํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ๋ง›์žˆ๋Š” ์น˜ํ‚จ์„ ๋จน์„ ์ˆ˜ ์žˆ๊ฒ ๋‹ค๋Š” ๊ธฐ๋Œ€๊ฐ์ด ๋ถ€ํ’€์—ˆ๋‹ค. (์น˜ํ‚จ์€ ์—ญ์‹œ ๊ต์ดŒ ํ—ˆ๋‹ˆ์ฝค๋ณด…)

/images/public-offering-notice-1/stock.jpg
์ฃผ๋ฆฐ์ด๋Š” ๊ณ„์† ์ž์•ผ ํ• ๊นŒ ์‹ถ๋‹ค.
์ถœ์ฒ˜ : https://b-s-d.tistory.com/8

ใ€€๏ปฟ์น˜ํ‚จ์ด ๋จธ๋ฆฟ์†์— ๋งด๋„๋Š” ์‹œ๊ฐ„๋„ ์ž ์‹œ. ํ•„์ž์˜ ๋จธ๋ฆฌ๋ฅผ ์Šค์น˜๋Š” ํ•˜๋‚˜์˜ ์ƒ๊ฐ. ๊ทธ๋Ÿฌ๋ฉด ๊ณต๋ชจ์ฃผ ์ฒญ์•ฝ์€ ์–ธ์ œ ํ•˜๋Š” ๊ฑฐ์ง€? ์ฒญ์•ฝํ•˜๋‹ˆ๊นŒ ์ค€๋น„ํ•˜๋ผ๊ณ  ๋ˆ„๊ฐ€ ์•Œ๋ ค์ฃผ๋ฉด ์ข‹์„ ํ…๋ฐ… ๊ทธ๋Ÿฌ๋ฉด์„œ ์ด๋Ÿฐ์ €๋Ÿฐ ๊ฒ€์ƒ‰์„ ํ•ด๋ณด๋‹ˆ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ์€ ์ด๋ฏธ ์žˆ์—ˆ๊ณ , IOS ์•ฑ์€ ์—†์—ˆ๋‹ค. ์Œ? ๊ทธ๋Ÿผ ์ด๊ฑธ ๋‚ด๊ฐ€ ๋งŒ๋“ค์–ด๋ณด๋ฉด ์–ด๋–จ๊นŒ?

ใ€€๏ปฟ๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜์ž๋ฉด, ํ…”๋ ˆ๊ทธ๋žจ์„ ํ™œ์šฉํ•˜์—ฌ ์ž๋™ํ™” ๊ณต๋ชจ์ฃผ ์•Œ๋ฆผ๋ด‡์„ ๋งŒ๋“ค๊ฒŒ ๋˜์—ˆ๋‹ค. ํ˜น์‹œ ๊ณต๋ชจ์ฃผ์— ๊ด€์‹ฌ์ด ์žˆ๋‹ค๋ฉด ํ•„์ž๊ฐ€ ๋งŒ๋“  ํ…”๋ ˆ๊ทธ๋žจ ์ฑ„๋„์„ ๊ฐ€์ž…ํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.๏ปฟ

ใ€€๏ปฟ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ํ•„์ž์˜ ์ƒˆ๋กœ์šด ํ† ์ด ํ”„๋กœ์ ํŠธ์ธ ‘๊ณต๋ชจ์ฃผ ์•Œ๋ฆฌ๋ฏธ’๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋œ ๋ฐฐ๊ฒฝ๊ณผ ์„ค๊ณ„, ๊ทธ๋ฆฌ๊ณ  ๊ฐœ๋ฐœ๋ถ€ํ„ฐ ๋ฆด๋ฆฌ์ฆˆ๊นŒ์ง€์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐ๋ฅผ ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ํฌ๊ฒŒ ์•„๋ž˜์˜ ๋ชฉ์ฐจ๋กœ ์ด์•ผ๊ธฐํ•˜๊ฒŒ ๋  ๊ฒƒ ๊ฐ™๋‹ค.

ใ€€๏ปฟ์ž์นซ ๋„ˆ๋ฌด ๊ฐ„๋‹จํ•œ๋ฐ~, ์ด๋Ÿฐ ๊ฑธ ๊ตณ์ด ์™œ ๋งŒ๋“ค์–ด?๋ผ๋Š” ์‹œ๊ฐ์ด ์žˆ์„ ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ ํ† ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ํ•ด์•ผ์ง€ ํ•˜๊ณ  ๋งˆ์Œ์„ ๋จน์—ˆ์ง€๋งŒ ๋ง‰์ƒ ์‹œ์ž‘์„ ๋ชปํ•˜๊ณ  ์žˆ๋Š” ์–ด๋А ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ๋Š” ๋„์›€์ด ๋  ๋‚ด์šฉ์ธ ๊ฒƒ ๊ฐ™์•„์„œ ๊ฝค ์ž์„ธํžˆ ์ •๋ฆฌ๋ฅผ ํ•˜๋ ค ํ•œ๋‹ค. ๋ฌผ๋ก  ์ด๋Ÿฌํ•œ ์ •๋ฆฌ๋Š” ํ•„์ž ์ž์‹ ์„ ์œ„ํ•ด์„œ๊ฐ€ ๋” ํฌ๊ธด ํ•˜๋‹ค.

ํ”„๋กœ์ ํŠธ ์„ค๊ณ„

ใ€€๏ปฟ๊ณผ๊ฑฐ์— ํ† ์ด ํ”„๋กœ์ ํŠธ๋กœ ์ง„ํ–‰ํ–ˆ๋˜ ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ ๊ตฌ๋… ์„œ๋น„์Šค์˜ ๊ฒฝํ—˜์„ ๋˜์ƒˆ๊ธฐ๋ฉด์„œ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ™ฉ์†Œ์ฒ˜๋Ÿผ ๋‹ฌ๋ ค๋“œ๋Š” ๊ฒƒ๋ณด๋‹จ ์ถฉ๋ถ„์— ์ถฉ์กฑ์„ ๋”ํ•ด ์ถฉ๋งŒํ•ด์งˆ ๋•Œ๊นŒ์ง€ ๊ณ ๋ฏผ์„ ์˜ค๋žซ๋™์•ˆ ํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. (๊ทธ๋ž˜๋ดค์ž ํ•˜๋ฃจ ์ •๋„…?^^) ใ€€๏ปฟ ์šฐ์„  ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋”˜๊ฐ€์—์„œ ๊ฐ€์ ธ์˜ค๊ณ  ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ๋ฅผ DB์— ์ €์žฅํ•  ๊ฒƒ์ธ์ง€ ์•„๋‹ˆ๋ฉด ์ €์žฅํ•˜์ง€ ์•Š๊ณ  ํœ˜๋ฐœ์„ฑ์œผ๋กœ ์กฐํšŒํ›„ ๋ฒ„๋ฆฌ๋Š”(?) ํ˜•ํƒœ๋กœ ํ•  ๊ฒƒ์ธ์ง€๋ฅผ ๊ณ ๋ฏผํ•ด์•ผ ํ–ˆ๋‹ค. ๊ณต๋ชจ์ฃผ๋ผ๋Š” ๋ฐ์ดํ„ฐ์˜ ํŠน์„ฑ์ƒ ํ•œ๋ฒˆ ์ •ํ•ด์ง„ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ์ด ๋  ์ˆ˜๋„ ์žˆ๋‹ค๊ณ  ํ–ˆ๊ธฐ์—(์ผ์ •์ด ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜ ๊ณต๋ชจ๊ฐ€๊ฐ€ ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜ ๋“ฑ) DB์— ์ €์žฅ์„ ํ•˜๊ฒŒ ๋˜๋ฉด ์ด๋ฅผ ๋™๊ธฐํ™”(Sync) ํ•˜๋Š” ๋น„์šฉ์ด ์ถ”๊ฐ€๋กœ ์ƒ๊ธธ ๊ฒƒ ๊ฐ™์•„์„œ ์•Œ๋ฆผ์„ ๋ณด๋‚ด๊ธฐ ์ง์ „์—๋งŒ ์กฐํšŒํ•˜๊ณ  ๋ฒ„๋ฆฌ๋Š” ํ˜•ํƒœ๋ฅผ ์ƒ๊ฐํ–ˆ๋‹ค.

ใ€€๊ทธ๋ ‡๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ–ˆ๋‹ค๋ฉด ์ด๋ฅผ ์ž…๋ง›์— ๋งž๊ฒŒ ๊ฐ€๊ณตํ•˜๊ณ ์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•Œ๋ฆผ์„ ์ค˜์•ผ ํ•œ๋‹ค. ์•Œ๋ฆผ์„ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์€ ๋งค์šฐ ๋‹ค์–‘ํ•œ๋ฐ ๋ญ”๊ฐ€ ์ ์€ ๋น„์šฉ์œผ๋กœ ๊ตฌ์„ฑํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค. ์ฆ‰, ์•Œ๋ฆผ์„ ๋ฐ›๋Š” ์‚ฌ์šฉ์ž๊ฐ€ 10๋ช…, 100๋ช…, 1000๋ช… ์ด ๋˜์–ด๋„ (๊ทธ๋ ‡๊ฒŒ ๋ ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ;;) ๋‚ด๊ฐ€ ๋งŒ๋“  ์„œ๋น„์Šค์—์„œ ์•Œ๋ฆผ ์ˆ˜์‹ ์ธ์ด ๋Š˜์–ด๋‚˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š์•„๋„ ๋˜์—ˆ์œผ๋ฉด ํ–ˆ๋‹ค. ๊ทธ์— ์ƒ๊ฐํ•œ ๊ฒŒ ๋ฉ”์‹ ์ € API. ๊ทธ์ค‘์—์„œ๋„ ํ…”๋ ˆ๊ทธ๋žจ API๊ฐ€ ๋ญ”๊ฐ€ ์ด๋Ÿฐ ํ˜•์‹์œผ๋กœ ๋”ฑ์ผ ๊ฒƒ ๊ฐ™์•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ฒฐ๊ตญ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”์‹œ์ง€ ํ˜•ํƒœ์— ๋งž์ถฐ ํ•œ ๋ฒˆ๋งŒ ๋ฐœ์†กํ•˜๊ฒŒ ๋˜๋ฉด 1:N ํ˜•์‹(Broadcast)์œผ๋กœ ํ…”๋ ˆ๊ทธ๋žจ ์ฑ„๋„์„ ๊ตฌ๋…ํ•˜๊ณ  ์žˆ๋Š” ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ์ „์†ก์ด ๋  ํ…Œ๋‹ˆ ์•ˆ์„ฑ๋งž์ถค์ด์—ˆ๋‹ค.

ใ€€๊ทธ๋Ÿผ ์–ธ์ œ ์–ด๋–ค ์ •๋ณด๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๊ฒŒ ์ข‹์„๊นŒ? ์ฒญ์•ฝ์ด ๋ณดํ†ต ์˜ค์ „์— ์‹œ์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€๋žต ๋งค์ผ ์˜ค์ „ 9์‹œ์— ๊ด€๋ จ ์ •๋ณด๋“ค์„ ๋ณด๋‚ด์ฃผ๋ฉด ๋  ๊ฒƒ ๊ฐ™์•˜๋‹ค. 3์ผ ์ „์— ์ฒญ์•ฝ์„ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜๋‹ˆ ๋ฏธ๋ฆฌ ์ค€๋น„ํ•˜๋ผ๋Š” ์•Œ๋ฆผ. ๊ทธ๋ฆฌ๊ณ  ์ฒญ์•ฝ ๋‚ ์งœ๊ฐ€ ๋„๋ž˜ํ•ด์„œ ์žŠ์ง€ ๋ง๊ณ  ์ฒญ์•ฝ์„ ์‹ ์ฒญํ•˜๋ผ๋Š” ์•Œ๋ฆผ. ๋งˆ์ง€๋ง‰์œผ๋กœ ๊ณต๋ชจ์ฃผ๊ฐ€ ์ƒ์žฅ์„ ํ•˜๊ฒŒ ๋˜๋Š” ์•Œ๋ฆผ. ์ด ์„ธ ๊ฐ€์ง€ ์•Œ๋ฆผ๋งŒ ์ž˜ ์ฑ™๊ธด๋‹ค๋ฉด ํ•„์ž ๊ฐ™์€ ์ฃผ๋ฆฐ์ด๋“ค๋„ ์ถฉ๋ถ„ํžˆ ๊ณต๋ชจ์ฃผ ์ฒญ์•ฝ์œผ๋กœ ์น˜ํ‚จ์„ ๋จน์„ ์ˆ˜ ์žˆ์„ ๊ฑฐ๋ผ ์ƒ๊ฐํ–ˆ๋‹ค.

ใ€€๋งˆ์ง€๋ง‰์œผ๋กœ ์ด ๋ชจ๋“  ๋‚ด์šฉ์„ ๊ฐœ๋ฐœํ•œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์–ด๋А ๊ณณ์— ๋ฐฐํฌํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๊ฒฐ์ •ํ•ด์•ผ ํ–ˆ๋‹ค. ํ•ญ์ƒ ๋จธ๋ฆฟ์†์—๋Š” ์žˆ์—ˆ์ง€๋งŒ ํ•œ ๋ฒˆ๋„ ์•ˆ ํ•ด๋ณธ ํด๋ผ์šฐ๋“œ Paas ์ธ heroku๊ฐ€ ๋”ฑ์ผ ๊ฑฐ๋ผ ์ƒ๊ฐํ–ˆ๋‹ค. (์‹ค์ œ๋กœ ํ•ด๋ณด์ง€ ์•Š์•˜๋˜ ์ง€๊ธˆ๊นŒ์ง€๋Š” ๊ทธ๋žฌ๋‹ค…) ๋‹ค๋“ค ํ† ์ด ํ”„๋กœ์ ํŠธ ์„œ๋ฒ„๋กœ ์ž˜ ํ™œ์šฉํ•œ๋‹ค๋Š” ์†Œ๋ฆฌ๋ฅผ ๋“ค์—ˆ๊ณ  ๊ฐ€์žฅ ํฐ ์žฅ์ ์€ ‘๋ฌด๋ฃŒ’๋ผ๋Š” ์ ์—์„œ heroku๋ฅผ ์„ ํƒํ•˜์ง€ ์•Š์„ ์ˆ˜ ์—†์—ˆ๋‹ค.