์‹ค๋ฆฌ์ฝ˜๋ฐธ๋ฆฌ ์—”์ง€๋‹ˆ์–ด์™€ ํ•จ๊ป˜ํ•˜๋Š” Apache Airflow

์†Œํ”„ํŠธ์›จ์–ด ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ๋งŒ๋“ค ๋•Œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” Orchestrator(์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ)์ธ Apache Airflow(์•„ํŒŒ์น˜ ์—์–ดํ”Œ๋กœ์šฐ)๋ฅผ ๋ฐฐ์šฐ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ๋žŒ์ธ
wemade
๋ผ์ธ
LGCNS
๋ฉ”๊ฐ€์กดํด๋ผ์šฐ๋“œ

๋ฉ”๊ฐ€์กดํด๋ผ์šฐ๋“œ

์ž„์ง์›๋“ค๋„ ์ด ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ์žˆ์–ด์š”!

์‚ฌ๋žŒ์ธ
wemade
๋ผ์ธ
LGCNS
๋ฉ”๊ฐ€์กดํด๋ผ์šฐ๋“œ

๋ฉ”๊ฐ€์กดํด๋ผ์šฐ๋“œ

์ž„์ง์›๋“ค๋„ ์ด ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ์žˆ์–ด์š”!

๋จผ์ € ๊ฒฝํ—˜ํ•œ ์ˆ˜๊ฐ•์ƒ๋“ค์˜ ํ›„๊ธฐ

4.6

5.0

chocheetah

100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

์‚ฌ๋‚ด์—์„œ ๊ธฐ์กด ์Šค์ผ€์ฅด๋Ÿฌ๋ฅผ ๋ถ„๋ฆฌํ•˜๊ณ  ์‹คํ–‰ ์ด๋ ฅ ๋“ฑ์„ ์ž˜ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„๋กœ MWAA ๋„์ž…์„ ๊ณ ๋ คํ•˜๋˜ ์ค‘ ํ•ด๋‹น ๊ฐ•์˜๋ฅผ ๋“ฃ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. airflow๋ฅผ ์–ด๋–ป๊ฒŒ ์‹œ์ž‘ํ•  ์ง€ ์ „ํ˜€ ๋ชจ๋ฅผ ๋•Œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ ๋กœ์ปฌ ๋„์ปค ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•˜๊ณ  DAG์„ ์ƒ์„ฑํ•˜๋ฉด์„œ ์–ด๋–ค ํ๋ฆ„์œผ๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ• ์ง€ ๊ฐ์ด ์ž˜ ์™”์Šต๋‹ˆ๋‹ค. ์šด์˜ ํ™˜๊ฒฝ์—์„œ ๊ฐ ํ”Œ๋žซํผ์— ๋งž๊ฒŒ Best Practice๋ฅผ ์ฐพ์•„๋‚˜๊ฐ€๋Š” ๊ณผ์ •์€ ์‰ฝ์ง€ ์•Š๊ฒ ์ง€๋งŒ ๊ณต์‹๋ฌธ์„œ๋ฅผ ์ฝ์–ด๊ฐ€๋ฉด์„œ ์—ฌ๋Ÿฌ๊ฐ€์ง€๋ฅผ ๋งŒ์ ธ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ดˆ์ง€์‹์„ ์ž˜ ์Šต๋“ํ•˜๊ฒŒ ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

5.0

ground

35% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋Š” ๋ฌด์Šจ ํˆด์„ ์“ฐ๊ณ  ๊ทธ ํˆด๋“ค์ด ๋ฌด์—‡์„ ํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฐ•์˜์ธ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ณ„์† ๋‹ฌ๋ ค๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•ญ์ƒ ์ข‹์€ ๊ฐ•์˜ ๋งŒ๋“ค์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

5.0

์†Œ์—ฐ

100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

์—…๋ฌด์— ์ž˜ ํ™œ์šฉํ•˜๊ณ  ์‹ถ์–ด์„œ ๊ฐ•์˜๋ฅผ ์‹ ์ฒญํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์ดˆ ๊ณต๋ถ€๋ฅผ ํ•˜๊ธฐ์— ๋”ฑ ์ ๋‹นํ•œ๊ฒƒ ๊ฐ™์•„์š”. ์‹ค์Šต์œ„์ฃผ๋กœ ์ง„ํ–‰๋œ ๊ฒƒ์ด ์ข‹์•˜์Šต๋‹ˆ๋‹ค.

์ˆ˜๊ฐ• ํ›„ ์ด๋Ÿฐ๊ฑธ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”

  • ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•

  • Apache Airflow(์•„ํŒŒ์น˜ ์—์–ดํ”Œ๋กœ์šฐ)

  • Apache Spark(์•„ํŒŒ์น˜ ์ŠคํŒŒํฌ) ์†Œ๊ฐœ

  • MinIO ์†Œ๊ฐœ

  • TaskFlow API

  • Slack Integration

๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ํ•„์ˆ˜ ๋„๊ตฌ, Airflow
์‹ค๋ฆฌ์ฝ˜๋ฐธ๋ฆฌ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋ฐฐ์šฐ์„ธ์š”! ๐Ÿ”ฅ

๋ชจ๋˜ํ•œ ๋ฐ์ดํ„ฐ ์›Œํฌํ”Œ๋กœ์šฐ ๊ด€๋ฆฌ,
Apache Airflow์™€ ํ•จ๊ป˜ ๐Ÿ“Œ

ํ˜„์—…์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ๋Š” ์›Œํฌํ”Œ๋กœ์šฐ ๊ด€๋ฆฌ ํˆด : Apache Airflow

Airflow(์—์–ดํ”Œ๋กœ์šฐ)์˜ ๊ฐ„๋‹จํ•œ ์„ค์ •๊ณผ ์‚ฌ์šฉ๋ฒ•์„ ์ตํ˜€๋ณด์„ธ์š”. ์—ฌ๋Ÿฌ๋ถ„์˜ ์ฒซ ๋ฒˆ์งธ ๋ฐ์ดํ„ฐ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ์•ˆ๋‚ดํ•ด ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ณต์žกํ•œ ๊ฐœ๋…์€ ๋’ค๋กœ, Airflow์˜ ๋งค๋ ฅ์ ์ธ ์„ธ๊ณ„๋กœ!

๋ฐ์ดํ„ฐ ๋ถ„์„๊ณผ ์ฒ˜๋ฆฌ ์ž‘์—…์ด ๋ณต์žกํ•ด์ง€๋ฉด์„œ ์ž‘์—…์˜ ์Šค์ผ€์ค„๋ง, ์˜์กด์„ฑ ๊ด€๋ฆฌ, ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ ๋“ฑ์˜ ๋ฌธ์ œ๊ฐ€ ๋”์šฑ ์ค‘์š”ํ•ด์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณผ์ œ๋“ค์„ ํšจ๊ณผ์ ์œผ๋กœ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด Airflow๋Š” ๋งŽ์€ ์กฐ์ง์—์„œ ์„ ํƒํ•˜๋Š” ํ•ต์‹ฌ ๋„๊ตฌ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

๋ณธ ๊ฐ•์˜๋Š” ์ฒ˜์Œ Airflow๋ฅผ ์ ‘ํ•˜๋Š” ์—ฌ๋Ÿฌ๋ถ„๋“ค์„ ์œ„ํ•ด ๋ฏธ๋ฆฌ ์ค€๋น„ํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค. ์‹ค๋ฆฌ์ฝ˜๋ฐธ๋ฆฌ์—์„œ ๋ณดํŽธํ™”๋œ Apache Airflow. ๊ฐ„๋‹จํ•˜๊ณ  ์‰ฌ์šด ์ž…๋ฌธ์„ ๋„์™€๋“œ๋ฆด๊ฒŒ์š”.

์™œ Apache Airflow๋ฅผ ๋ฐฐ์›Œ์•ผ ํ• ๊นŒ์š”?

์ž๋™ํ™”๋œ ์›Œํฌํ”Œ๋กœ์šฐ ๊ด€๋ฆฌ

Airflow๋Š” ์ž‘์—…๋“ค์„ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ์‹คํ–‰ํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ ์Šค์ผ€์ค„๋ง ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์ž‘์—…์„ ๋” ํšจ์œจ์ ์œผ๋กœ ๊ณ„ํšํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜์กด์„ฑ ๊ด€๋ฆฌ

๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ์›Œํฌํ”Œ๋กœ์šฐ์—์„œ๋Š” ์ž‘์—… ์‚ฌ์ด์˜ ์˜์กด์„ฑ์„ ์ •ํ™•ํ•˜๊ฒŒ ๊ด€๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Airflow๋Š” ์ž‘์—… ๊ฐ„์˜ ์˜์กด์„ฑ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜ํ•˜๊ณ  ์ž‘์—… ๊ฐ„์˜ ์ˆœ์„œ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ฐ•๋ ฅํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ์•Œ๋ฆผ

์ž‘์—…์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ Airflow ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ํ†ตํ•ด ์ž‘์—…์˜ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ž‘์—…์ด ์‹คํŒจํ•˜๊ฑฐ๋‚˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ์„ค์ •ํ•œ ์•Œ๋ฆผ์„ ํ†ตํ•ด ๋น ๋ฅด๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ™•์žฅ์„ฑ๊ณผ ์œ ์—ฐ์„ฑ

Airflow๋Š” ๋‹ค์–‘ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ, ์ž‘์—… ์‹คํ–‰ ํ™˜๊ฒฝ, ์•Œ๋ฆผ ๋ฉ”์ปค๋‹ˆ์ฆ˜๊ณผ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์–ด์š”. ์—ฌ๋Ÿฌ๋ถ„์˜ ์š”๊ตฌ์— ๋งž๊ฒŒ ์ปค์Šคํ…€ํ•œ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๊ตฌ์ถ•ํ•ด ๋ณด์„ธ์š”.

์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ์ƒํƒœ๊ณ„

Airflow๋Š” ํ™œ๋ฐœํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ํ’๋ถ€ํ•œ ์ƒํƒœ๊ณ„๋ฅผ ๊ฐ–์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ๋„์›€์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํ›Œ๋ฅญํ•œ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.


๊ฐ•์˜ ํŠน์ง• โœจ

โœ… ์–ด๋ ค์šด ๊ฐœ๋… ์—†์ด ์‰ฝ๊ฒŒ! Airflow๊ฐ€ ๋ฌด์—‡์ธ์ง€, ์™œ ํ•„์š”ํ•œ์ง€ ๋น„์œ ์™€ ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

โœ… ์‹ค์ œ Airflow ์‚ฌ์šฉ ๊ณผ์ •์„ ๋”ฐ๋ผ ํ•˜๊ณ , ๊ฐ„๋‹จํ•œ ๋ฐ์ดํ„ฐ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๋Š” ์‹ค์Šต ์ค‘์‹ฌ ๊ฐ•์˜!

โœ… ๊ฐ•์˜ ์ค‘ ๊ถ๊ธˆํ•˜๊ฑฐ๋‚˜ ์ดํ•ดํ•˜์ง€ ๋ชปํ•œ ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ์–ธ์ œ๋“ ์ง€ ์งˆ๋ฌธํ•ด ์ฃผ์„ธ์š”. Q&A์™€ ํ•จ๊ป˜ ํ•™์Šตํ•˜์„ธ์š”!


ํ•™์Šต ๋‚ด์šฉ ๐Ÿ“š

  • ๋ชจ๋“  ๊ฐ•์˜ ์ž๋ฃŒ๋Š” ์˜์–ด๋กœ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ•์˜ ์ž์ฒด๋Š” ํ•œ๊ตญ์–ด๋กœ ์ง„ํ–‰๋˜๋ฉฐ ๋ฏธ๋ž˜ ํ•ด์™ธ ์ทจ์—…์— ์šฉ์ดํ•˜๋„๋ก ์ค€๋น„ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • PDF ๊ฐ•์˜ ์ž๋ฃŒ ๋ฐ Github ์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
ํด๋ผ์šฐ๋“œ ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜ Overview
๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ์— ๋Œ€ํ•œ ์†Œ๊ฐœ
์•„ํŒŒ์น˜ Airflow์— ๋Œ€ํ•œ ์†Œ๊ฐœ
Apache Airflow์˜ ์ค‘์š” ์ปดํฌ๋„ŒํŠธ ์†Œ๊ฐœ
๊ฐ ์ปดํฌ๋„ŒํŠธ ์„ธ๋ถ€ ์†Œ๊ฐœ
์ฝ”๋“œ์— ๋Œ€ํ•œ ์„ธ๋ฐ€ํ•œ ๋ถ„์„

ํ˜„์ง ์‹ค๋ฆฌ์ฝ˜๋ฐธ๋ฆฌ ์—”์ง€๋‹ˆ์–ด์˜ ๋…ธํ•˜์šฐ๋ฅผ ๊ทธ๋Œ€๋กœ ์ „ํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค!

์ €๋Š” ์œ ํŠœ๋ธŒ "๋ฏธ์ฟก ์—”์ง€๋‹ˆ์–ด" ๋ฐ ๋ธŒ๋Ÿฐ์น˜ "์‹ค๋ฆฌ์ฝ˜ ๋ฐธ๋ฆฌ ์†Œ์‹๊ณผ ์‚ถ"์„ ์šด์˜ํ•˜๋Š” ํ˜„์ง ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ๋ฏธ๊ตญ University of California, Berkeley EECS๋ฅผ ์กธ์—…ํ•˜๊ณ  ๋ฏธ๊ตญ ์‹ค๋ฆฌ์ฝ˜๋ฐธ๋ฆฌ ๊ธ€๋กœ๋ฒŒ ๋น…ํ…Œํฌ ๊ธฐ์—… ๋ณธ์‚ฌ์—์„œ ๋น…๋ฐ์ดํ„ฐ ๊ด€๋ จ ์—…๋ฌด๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ์—…๋ฌด์—์„œ ์•Œ๊ฒŒ ๋œ ๋…ธํ•˜์šฐ๋ฅผ ๋งŽ์€ ๋ถ„๋“ค๊ป˜ ์ „ํ•ด๋“œ๋ฆฌ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๐Ÿ™‚


์ด๋Ÿฐ ๋ถ„๋“ค์ด์‹œ๋ผ๋ฉด 
์ง€๊ธˆ ๋ฐ”๋กœ ์‹œ์ž‘ํ•ด ๋ณด์„ธ์š”.

๐Ÿ’ก

๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด

๋ฐ์ดํ„ฐ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ž๋™ํ™”ํ•˜๊ณ  ์Šค์ผ€์ค„๋งํ•˜์—ฌ ๋ฐ์ดํ„ฐ ํ€„๋ฆฌํ‹ฐ์™€ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜์„ธ์š”.

๐Ÿ’ก

๋ฐ์ดํ„ฐ ๋ถ„์„๊ฐ€

์ •๊ธฐ์ ์ธ ๋ฐ์ดํ„ฐ ์—…๋ฐ์ดํŠธ๋‚˜ ๋ชจ๋ธ ์žฌํ•™์Šต ์ž‘์—… ๋“ฑ์„ ์ฒ˜๋ฆฌํ•ด ๋ณด์„ธ์š”.

๐Ÿ’ก

๋ฐ์ดํ„ฐ ๊ณผํ•™์ž

๋ชจ๋ธ ํ›ˆ๋ จ, ํ‰๊ฐ€, ๋ฐฐ์น˜ ์˜ˆ์ธก ๋“ฑ์„ ์ž๋™ํ™”ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๊ณผํ•™ ํ”„๋กœ์„ธ์Šค๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜์„ธ์š”.

๐Ÿ’ก

์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž

์ž‘์—… ์‹คํ–‰์— ๋Œ€ํ•œ ํˆฌ๋ช…์„ฑ๊ณผ ์‹ ๋ขฐ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก

๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง ๋ฐ ๊ฐœ๋ฐœํŒ€

ETL (Extract, Transform, Load) ์ž‘์—…, API ํ˜ธ์ถœ ๋“ฑ ๋‹ค์–‘ํ•œ ์ž๋™ํ™” ์ž‘์—…์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก

ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ์ž

์ž‘์—…์˜ ์˜์กด์„ฑ, ์šฐ์„ ์ˆœ์œ„, ์˜ˆ์ƒ ์‹คํ–‰ ์‹œ๊ฐ„ ๋“ฑ์„ ์„ค์ •ํ•˜์—ฌ ํ”„๋กœ์ ํŠธ ์ผ์ •์„ ํšจ๊ณผ์ ์œผ๋กœ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์˜ˆ์ƒ ์งˆ๋ฌธ Q&A ๐Ÿ’ฌ

Q. ์™œ Apache Airflow๋ฅผ ๋ฐฐ์›Œ์•ผ ํ•˜๋‚˜์š”?

Apache Airflow๋Š” ๋ฐ์ดํ„ฐ ์›Œํฌํ”Œ๋กœ์šฐ ๊ด€๋ฆฌ ๋„๊ตฌ๋กœ, ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ์ž๋™ํ™”ํ•˜๊ณ  ์Šค์ผ€์ค„๋งํ•˜๋ฉฐ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด, ๋ฐ์ดํ„ฐ ์‚ฌ์ด์–ธํ‹ฐ์ŠคํŠธ, ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž ๋“ฑ ๋‹ค์–‘ํ•œ ์—ญํ• ์—์„œ ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ์›Œํฌํ”Œ๋กœ์šฐ(Workflow) ๊ด€๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ•์˜ ํ›„๋ฐ˜๋ถ€์—๋Š” ๋น…๋ฐ์ดํƒ€ ๊ธฐ์ˆ (์•„ํŒŒ์น˜ ์ŠคํŒŒํฌ)๊ณผ ์—ฐ๋™ํ•˜๋Š” ๋ถ€๋ถ„๊นŒ์ง€ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด ๋งŽ์€ ํŒŒ์ดํ”„ ๋ผ์ธ์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ์ดํƒ€ ์—”์ง€๋‹ˆ์–ด๋ผ๋ฉด ํฐ ๋„์›€์ด ๋˜์‹ค ๊ฒ๋‹ˆ๋‹ค.

Q. ๋น„์ „๊ณต์ž๋„ ๋“ค์„ ์ˆ˜ ์žˆ๋Š” ๊ฐ•์˜์ธ๊ฐ€์š”?

๋น„์ „๊ณต์ž์ง€๋งŒ ํŒŒ์ด์ฌ์˜ ๊ธฐ๋ณธ์„ ์•„์‹œ๊ณ , ๋ฐ์ดํ„ฐ๋‚˜ ์ž‘์—…์˜ ์Šค์ผ€์ค„ ์›Œํฌํ”Œ๋กœ์šฐ์„ ํšจ์œจํ™”ํ•˜๊ณ  ์‹ถ์œผ์‹œ๋‹ค๋ฉด, ๋งŽ์€ ๋„์›€์ด ๋˜์‹ค ๊ฒ๋‹ˆ๋‹ค.

ํŒŒ์ด์ฌ์ด ์ฒ˜์Œ์ด์‹œ๋ผ๋ฉด ์œ ํŠœ๋ธŒ๋ฅผ ํ†ตํ•ด ํŒŒ์ด์ฌ ๊ธฐ์ดˆ๋ฅผ ํ•™์Šตํ•˜๊ฑฐ๋‚˜ ์•„๋ž˜ ๊ฐ•์˜๋ฅผ ๋จผ์ € ์ˆ˜๊ฐ•ํ•ด์ฃผ์„ธ์š”! ๊ธฐ์ดˆ ๋ถ€๋ถ„๋งŒ ๋ณด์…”๋„ ์ „์ฒด ๊ฐ•์˜๋ฅผ ๋”ฐ๋ผ์˜ค๋Š” ๋ฐ ์–ด๋ ค์›€์€ ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Q. ๊ฐ•์˜๋ฅผ ๋“ฃ๊ธฐ ์ „ ์ค€๋น„ํ•ด์•ผ ํ•  ๊ฒƒ์ด ์žˆ๋‚˜์š”?

์•„๋ฌด๋ž˜๋„ ํŒŒ์ด์ฌ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค๋‹ค ๋ณด๋‹ˆ, ๊ธฐ๋ณธ์ ์ธ ํŒŒ์ด์ฌ ๊ฐ•์˜๋Š” ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ Docker๋ฅผ ์ด์šฉํ•œ ์‹ค์Šต์ด ๋‚˜์˜ค๋ฏ€๋กœ, Docker์— ๋Œ€ํ•œ ๊ธฐ๋ณธ์ ์ธ ์ง€์‹์ด ์žˆ์œผ๋ฉด ์ดํ•ดํ•˜์‹œ๊ธฐ ์‰ฌ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.


์ˆ˜๊ฐ• ์ „ ์ฐธ๊ณ  ์‚ฌํ•ญ ๐Ÿ“ข

์‹ค์Šต ํ™˜๊ฒฝ

  • ์šด์˜ ์ฒด์ œ ๋ฐ ๋ฒ„์ „(OS)
    • ๊ฐ•์˜๋Š” MacOS์—์„œ ์ง„ํ–‰๋˜์ง€๋งŒ, ํŒŒ์ด์ฌ(Airflow ์ž์ฒด๊ฐ€ ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž„)์ด ์žˆ๋Š” ์šด์˜์ฒด์ œ๋ผ๋ฉด ์–ด๋””๋“ ์ง€ ์‹ค์Šตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ ๋„๊ตฌ
    • ํŒŒ์ด์ฌ 3.7+
    • Airflow๋Š” Apache ๋ผ์ด์„ผ์Šค์ด๋ฏ€๋กœ ๋ฌด๋ฃŒ์ž…๋‹ˆ๋‹ค.
  • PC ์‚ฌ์–‘
    • CPU:  2์ฝ”์–ด ์ด์ƒ
    • ๋ฉ”๋ชจ๋ฆฌ: 4GB ์ด์ƒ
    • ๋””์Šคํฌ: 10GB ์ด์ƒ

์„ ์ˆ˜ ์ง€์‹ ๋ฐ ์œ ์˜ ์‚ฌํ•ญ

  • ํŒŒ์ด์ฌ๊ณผ Docker(๋„์ปค)์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ง€์‹์ด ํ•„์š”ํ•˜๊ณ , ๋ณธ ๊ฐ•์˜ ์‹ค์Šต์€ Docker๋กœ ํ™˜๊ฒฝ ์„ค์ •์ด ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Docker์— ๋Œ€ํ•ด ๋” ์•Œ๊ณ  ์‹ถ์œผ์‹œ๋‹ค๋ฉด, ์ œ ๋ฌด๋ฃŒ Docker ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ํ•ด ๋ณด์‹œ๊ธธ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๊ฐ•์˜ ๋งํฌ: [https://inf.run/8eFCL]
  • ์งˆ๋ฌธ์ด ์žˆ์œผ๋ฉด ํŽธํ•˜๊ฒŒ ํ•ด์ฃผ์„ธ์š”. ๋‹ค๋งŒ ์ œ๊ฐ€ ๋ฏธ ์„œ๋ถ€์— ์žˆ๋‹ค ๋ณด๋‹ˆ, ๋‹ต๋ณ€๊นŒ์ง€ ์‹œ๊ฐ„์ด ์กฐ๊ธˆ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง์— ์ข…์‚ฌํ•˜์‹œ๋Š” ๋ถ„

  • ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๊ฐ€ ๋˜์‹œ๊ณ  ์‹ถ์€ ๋ถ„

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • Python

์•ˆ๋…•ํ•˜์„ธ์š”
๋ฏธ์ฟก์—”์ง€๋‹ˆ์–ด์ž…๋‹ˆ๋‹ค.

23,719

๋ช…

์ˆ˜๊ฐ•์ƒ

1,282

๊ฐœ

์ˆ˜๊ฐ•ํ‰

353

๊ฐœ

๋‹ต๋ณ€

4.8

์ 

๊ฐ•์˜ ํ‰์ 

31

๊ฐœ

๊ฐ•์˜

ํ•œ๊ตญ์—์„œ ๋๋‚ผ ๊ฑฐ์•ผ? ์˜์–ด๋กœ ์„ธ๊ณ„ ์‹œ์žฅ์„ ๋šซ์–ด๋ผ! ๐ŸŒ๐Ÿš€

์•ˆ๋…•ํ•˜์„ธ์š”. UC Berkeley์—์„œ ๐Ÿ’ป ์ปดํ“จํ„ฐ ๊ณตํ•™(EECS)์„ ์ „๊ณตํ•˜๊ณ , ์‹ค๋ฆฌ์ฝ˜ ๋ฐธ๋ฆฌ์—์„œ 15๋…„ ์ด์ƒ์„ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋กœ ์ผํ•ด์™”์œผ๋ฉฐ, ํ˜„์žฌ๋Š” ์‹ค๋ฆฌ์ฝ˜๋ฐธ๋ฆฌ ๋น…ํ…Œํฌ ๋ณธ์‚ฌ์—์„œ ๋น…๋ฐ์ดํ„ฐ์™€ DevOps๋ฅผ ๋‹ค๋ฃจ๋Š” Staff Software Engineer๋กœ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๐Ÿงญ ์‹ค๋ฆฌ์ฝ˜ ๋ฐธ๋ฆฌ์˜ ํ˜์‹  ํ˜„์žฅ์—์„œ ์ง์ ‘ ๋ฐฐ์šด ๊ธฐ์ˆ ๊ณผ ๋…ธํ•˜์šฐ๋ฅผ ์˜จ๋ผ์ธ ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ์ด์ œ ์—ฌ๋Ÿฌ๋ถ„๊ณผ ํ•จ๊ป˜ ๋‚˜๋ˆ„๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

  • ๐Ÿš€ ๊ธฐ์ˆ  ํ˜์‹ ์˜ ์ตœ์ „์„ ์—์„œ ๋ฐฐ์šฐ๊ณ  ์„ฑ์žฅํ•ด ์˜จ ์ €์™€ ํ•จ๊ป˜, ์—ฌ๋Ÿฌ๋ถ„๋„ ๊ธ€๋กœ๋ฒŒ ๋ฌด๋Œ€์—์„œ ๊ฒฝ์Ÿํ•  ์ˆ˜ ์žˆ๋Š” ์—ญ๋Ÿ‰์„ ํ‚ค์›Œ๋ณด์„ธ์š”!

  • ๐Ÿซก ๋˜‘๋˜‘ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ, ํฌ๊ธฐํ•˜์ง€ ์•Š๊ณ  ๊พธ์ค€ํžˆ ํ•˜๋ฉด ๋ญ๋“ ์ง€ ์ด๋ฃฐ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๊ผญ ๋ง์”€๋“œ๋ฆฌ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ํ•ญ์ƒ ์ข‹์€ ์ž๋ฃŒ๋กœ ์˜†์—์„œ ๋„์›€์„ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค

 

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

33๊ฐœ โˆ™ (4์‹œ๊ฐ„ 10๋ถ„)

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์ „์ฒด

54๊ฐœ

4.6

54๊ฐœ์˜ ์ˆ˜๊ฐ•ํ‰

  • Gong16๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    Gong16

    ์ˆ˜๊ฐ•ํ‰ 5

    โˆ™

    ํ‰๊ท  ํ‰์  4.8

    5

    61% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ๋น„์ „๊ณต์ž๋„ ์ดํ•ด๋˜๊ธฐ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ์…”์„œ ์ข‹์•„์š” Airflow ๋ฐฐ์šฐ๋Š”๊ฒŒ ๋„ˆ๋ฌด ์žผ์žˆ์–ด์š”!

    • ๋ฏธ์ฟก์—”์ง€๋‹ˆ์–ด
      ์ง€์‹๊ณต์œ ์ž

      ์•ˆ๋…•ํ•˜์„ธ์š” Gong16๋‹˜, ์‹œ๊ฐ„๋‚ด์„œ ์ข‹์€ ๋ฆฌ๋ทฐ ๋‚จ๊ฒจ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์‰ฝ๊ฒŒ ์ดํ•ด๊ฐ€ ๋˜์…จ๋‹ค๋‹ˆ ๋‹คํ–‰์ž…๋‹ˆ๋‹ค! ๊ฐ•์˜๊ฐ€ ๋งŒ์กฑ์Šค๋Ÿฌ์šฐ์‹  ๊ฑฐ ๊ฐ™์•„์„œ ๊ธฐ์˜๋„ค์š”

  • pdy๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    pdy

    ์ˆ˜๊ฐ•ํ‰ 39

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    31% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ์ข‹์Šต๋‹ˆ๋‹ค

    • ๋ฏธ์ฟก์—”์ง€๋‹ˆ์–ด
      ์ง€์‹๊ณต์œ ์ž

      ์•ˆ๋…•ํ•˜์„ธ์š” pdy๋‹˜, ์‹œ๊ฐ„๋‚ด์„œ ์ข‹์€ ํ‰๊ฐ€ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

  • Ophelie๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    Ophelie

    ์ˆ˜๊ฐ•ํ‰ 2

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    31% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ์ด์ „์— spark ๊ฐ•์˜ ๋“ฃ๊ณ  ์ด์–ด ๋“ฃ๊ณ  ์žˆ๋Š”๋ฐ, ์ด๋ก ๊ณผ ์‹ค์Šต๊นŒ์ง€ ์•Œ์ฐน๋‹ˆ๋‹ค. ๋Œ€ํ•™ ๋•Œ ์ž˜ ๊ฐ€๋ฅด์ณ์ฃผ์‹œ๋Š” ๊ต์ˆ˜๋‹˜ ๊ฐ•์˜ ๋“ฃ๋Š” ๊ฒƒ ๊ฐ™์•„์š”, ์œ ์šฉํ•œ ์ปจํ…์ธ  ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

    • ๋ฏธ์ฟก์—”์ง€๋‹ˆ์–ด
      ์ง€์‹๊ณต์œ ์ž

      ์•ˆ๋…•ํ•˜์„ธ์š” Ophelie๋‹˜, ์‹œ๊ฐ„๋‚ด์„œ ์ข‹์€ ๋ฆฌ๋ทฐ ์ •๋ง ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๋ฟŒ๋“ฏํ•˜๋„ค์š”!

  • bboradoli๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    bboradoli

    ์ˆ˜๊ฐ•ํ‰ 1

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    28% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ๋‹จ์ˆœํ•œ ๋‚ด์šฉ ์ „๋‹ฌ์ด ์•„๋‹Œ airflow์ „์ฒด์  ํ๋ฆ„์„ ๋”ฐ๋ผ๊ฐ€๋Š” ๋А๋‚Œ์ž…๋‹ˆ๋‹ค.

    • ๋ฏธ์ฟก์—”์ง€๋‹ˆ์–ด
      ์ง€์‹๊ณต์œ ์ž

      ์•ˆ๋…•ํ•˜์„ธ์š” bboradoli๋‹˜, ์‹œ๊ฐ„๋‚ด์„œ ์ข‹์€ ๋ฆฌ๋ทฐ ๋‚จ๊ฒจ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

  • ๊น€์˜ํ˜ธ๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    ๊น€์˜ํ˜ธ

    ์ˆ˜๊ฐ•ํ‰ 1

    โˆ™

    ํ‰๊ท  ํ‰์  2.0

    2

    38% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

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

    • ๋ฏธ์ฟก์—”์ง€๋‹ˆ์–ด
      ์ง€์‹๊ณต์œ ์ž

      ์•ˆ๋…•ํ•˜์„ธ์š” ๊น€์˜ํ˜ธ๋‹˜, ์‹œ๊ฐ„๋‚ด์„œ ์†Œ์ค‘ํ•œ ํ”ผ๋“œ๋ฐฑ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ œ๊ฐ€ ํ•œ๋ฒˆ ๋‹ค์‹œ ๊ฐ•์˜๋ฅผ ์ญ‰ ๋ณด๊ณ , ๋ณด์ถฉํ•  ์ž๋ฃŒ๊ฐ€ ์žˆ์œผ๋ฉด ๋„ฃ์–ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฏธ์ฟก์—”์ง€๋‹ˆ์–ด๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜

์ง€์‹๊ณต์œ ์ž๋‹˜์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

๋น„์Šทํ•œ ๊ฐ•์˜

๊ฐ™์€ ๋ถ„์•ผ์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

์—ฐ๊ด€ ๋กœ๋“œ๋งต

๊ฐ•์˜๊ฐ€ ํฌํ•จ๋œ ๋กœ๋“œ๋งต์œผ๋กœ ํ•™์Šตํ•ด ๋ณด์„ธ์š”!