๐Ÿ‡ฐ๐Ÿ‡ท Apache Airflow ํ•œ๊ตญ์–ด ๋ฒˆ์—ญํŒ€์„ ๋ชจ์ง‘ํ•ฉ๋‹ˆ๋‹ค!

Apache Airflow์˜ ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ์„ ํ•จ๊ป˜ ๊ด€๋ฆฌํ•ด ๋‚˜๊ฐˆ ํ•œ๊ตญ์–ด ๋ฒˆ์—ญํŒ€์„ ๋ชจ์ง‘ํ•ฉ๋‹ˆ๋‹ค.

Apache Airflow๋Š” ํ•œ๊ตญ์–ด๋ฅผ ํฌํ•จํ•œ ์—ฌ๋Ÿฌ ์–ธ์–ด์˜ UI ๋ฒˆ์—ญ์„ ๊ณต์‹์ ์œผ๋กœ ์ง€์›ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๊ณผ UI๊ฐ€ ๊ณ„์† ์ถ”๊ฐ€๋˜๋Š” ๋งŒํผ, ๋ฒˆ์—ญ ์—ญ์‹œ ํ•œ ๋ฒˆ ์™„๋ฃŒํ•˜๊ณ  ๋๋‚˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ง€์†์ ์ธ ๊ด€๋ฆฌ์™€ ๊ฐœ์„ ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ Airflow์˜ ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ์€ ๋†’์€ ๋ฒˆ์—ญ๋ฅ ์„ ์œ ์ง€ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์•ž์œผ๋กœ๋„ ์ž์—ฐ์Šค๋Ÿฝ๊ณ  ์ผ๊ด€๋œ ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ์„ ์ง€์†์ ์œผ๋กœ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ํ•จ๊ป˜ ๊ด€๋ฆฌํ•ด ๋‚˜๊ฐˆ ๋ถ„๋“ค์„ ์ฐพ์Šต๋‹ˆ๋‹ค.

Translation Owner๋ž€?

Translation Owner๋Š” Apache Airflow์—์„œ ํŠน์ • ์–ธ์–ด์˜ ๋ฒˆ์—ญ ํ’ˆ์งˆ๊ณผ ์ผ๊ด€์„ฑ์„ ๊ด€๋ฆฌํ•˜๊ณ , ํ•ด๋‹น ๋ฒˆ์—ญ์„ ์ง€์†์ ์œผ๋กœ ์œ ์ง€ํ•˜๋Š” ์—ญํ• ์ž…๋‹ˆ๋‹ค.

ํ•œ๊ตญ์–ด Translation Owner๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™œ๋™์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

  • ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€๋˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ๋œ Airflow UI์˜ ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ
  • ๊ธฐ์กด ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ์˜ ๊ฒ€ํ†  ๋ฐ ๊ฐœ์„ 
  • ๊ธฐ์ˆ  ์šฉ์–ด์™€ ํ‘œํ˜„์˜ ์ผ๊ด€์„ฑ ๊ด€๋ฆฌ
  • ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ์ด ํฌํ•จ๋œ Pull Request์˜ Language Review
  • ๋ฒˆ์—ญ ๊ฐ€์ด๋“œ ๋ฐ ์šฉ์–ด์— ๋Œ€ํ•œ ๋…ผ์˜
  • ์ƒˆ๋กœ์šด Airflow ๋ฆด๋ฆฌ์Šค์— ๋งž์ถฐ ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ์„ ์ง€์†์ ์œผ๋กœ ๊ด€๋ฆฌ

๋‹จ์ˆœํžˆ ์˜์–ด ๋ฌธ์žฅ์„ ํ•œ๊ตญ์–ด๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, Airflow์—์„œ ์–ด๋–ค ํ•œ๊ตญ์–ด ํ‘œํ˜„์„ ์‚ฌ์šฉํ• ์ง€ ํ•จ๊ป˜ ๊ณ ๋ฏผํ•˜๊ณ  ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ ์ „๋ฐ˜์˜ ํ’ˆ์งˆ์„ ๊ด€๋ฆฌํ•˜๋Š” ์—ญํ• ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Translation Owner๋Š” Apache Airflow Committer์ผ ํ•„์š”๊ฐ€ ์—†์œผ๋ฉฐ, ํ•˜๋‚˜์˜ ์–ธ์–ด์— ์—ฌ๋Ÿฌ ๋ช…์˜ Translation Owner๊ฐ€ ํ•จ๊ป˜ ์ฐธ์—ฌํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Code Owner์™€๋Š” ๋ฌด์—‡์ด ๋‹ค๋ฅธ๊ฐ€?

Airflow์˜ ๋ฒˆ์—ญ ๊ด€๋ฆฌ์—๋Š” Translation Owner์™€ Code Owner๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ์—ญํ• ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

Translation Owner๋Š” ํ•ด๋‹น ์–ธ์–ด์˜ ๋ฒˆ์—ญ ํ’ˆ์งˆ๊ณผ ์ผ๊ด€์„ฑ์„ ๊ด€๋ฆฌํ•˜๊ณ  ๋ฒˆ์—ญ์— ๋Œ€ํ•œ Language Review๋ฅผ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

Code Owner๋Š” Airflow Committer๋กœ์„œ ๋ฒˆ์—ญ ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ๊ธฐ์ˆ ์ ์ธ ๋ฆฌ๋ทฐ์™€ merge๋ฅผ ๋‹ด๋‹นํ•˜๊ณ , Translation Owner๊ฐ€ ํ”„๋กœ์ ํŠธ ๋‚ด์—์„œ ๋ฒˆ์—ญ์„ ์ง€์†์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

Translation Owner๊ฐ€ Airflow Committer๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ์—๋Š” Committer๊ฐ€ Translation Sponsor ์—ญํ• ์„ ํ•จ๊ป˜ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ Airflow์˜ ์ฝ”๋“œ๋ฒ ์ด์Šค ์ „์ฒด๋ฅผ ์ดํ•ดํ•˜๊ฑฐ๋‚˜ Committer์ผ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.

์–ด๋–ค ๋ถ„์„ ์ฐพ๊ณ  ์žˆ๋‚˜์š”?

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ถ„์ด๋ผ๋ฉด ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค!

  • Apache Airflow๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๋ถ„
  • ์˜คํ”ˆ์†Œ์Šค ๋ฒˆ์—ญ ๋ฐ Localization์— ๊ด€์‹ฌ์ด ์žˆ๋Š” ๋ถ„
  • ์ž์—ฐ์Šค๋Ÿฌ์šด ํ•œ๊ตญ์–ด ํ‘œํ˜„๊ณผ ๊ธฐ์ˆ  ์šฉ์–ด๋ฅผ ํ•จ๊ป˜ ๊ณ ๋ฏผํ•˜๊ณ  ์‹ถ์€ ๋ถ„
  • GitHub๋ฅผ ํ†ตํ•œ ์˜คํ”ˆ์†Œ์Šค ํ˜‘์—…์— ๊ด€์‹ฌ์ด ์žˆ๋Š” ๋ถ„
  • Airflow ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ์„ ๊พธ์ค€ํžˆ ํ•จ๊ป˜ ๊ด€๋ฆฌํ•ด๋ณด๊ณ  ์‹ถ์€ ๋ถ„

Translation Owner๊ฐ€ ๋˜๊ธฐ๊นŒ์ง€

์ง€์›ํ•œ๋‹ค๊ณ  ํ•ด์„œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ฐ”๋กœ Translation Owner๋กœ ๋“ฑ๋ก๋˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.
๋จผ์ € ์•ฝ 3๊ฐœ์›” ๋™์•ˆ Airflow ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ์— ํ•จ๊ป˜ ์ฐธ์—ฌํ•˜๋Š” ์˜จ๋ณด๋”ฉ ๊ธฐ๊ฐ„์„ ๊ฐ–์Šต๋‹ˆ๋‹ค.

์ด ๊ธฐ๊ฐ„ ๋™์•ˆ ๊ธฐ์กด Translation Owner ๋ฐ Code Owner์™€ ํ•จ๊ป˜ ์‹ค์ œ ๋ฒˆ์—ญ ๊ณผ์ •๊ณผ ๋ฆด๋ฆฌ์ฆˆ ๊ณผ์ •์— ์ฐธ์—ฌํ•˜๋ฉด์„œ,

  • ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ ๋ฐ ๊ฐœ์„ 
  • ๋ฒˆ์—ญ Pull Request ์ž‘์„ฑ
  • ๋‹ค๋ฅธ ๋ฒˆ์—ญ์— ๋Œ€ํ•œ ๋ฆฌ๋ทฐ
  • ์šฉ์–ด์™€ ๋ฒˆ์—ญ ์Šคํƒ€์ผ์— ๋Œ€ํ•œ ๋…ผ์˜
  • ์ƒˆ๋กœ์šด ๋ฒˆ์—ญ ๋ฌธ์ž์—ด ๊ด€๋ฆฌ

๋“ฑ์„ ๊ฒฝํ—˜ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

3๊ฐœ์›” ๋™์•ˆ์˜ ํ™œ๋™์„ ๋ฐ”ํƒ•์œผ๋กœ ์•ž์œผ๋กœ๋„ ์ง€์†์ ์œผ๋กœ ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ์„ ํ•จ๊ป˜ ๊ด€๋ฆฌํ•˜๊ณ  ์‹ถ์€ ๋ถ„์€ Apache Airflow Korean Translation Owner ํ›„๋ณด๋กœ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

์ดํ›„ Apache Airflow ํ”„๋กœ์ ํŠธ์˜ ๊ณต์‹ ์Šน์ธ ์ ˆ์ฐจ๋ฅผ ๊ฑฐ์ณ ์ •์‹ Translation Owner๋กœ ๋“ฑ๋ก๋ฉ๋‹ˆ๋‹ค.

์ง€์› โ†’ 3๊ฐœ์›” ์˜จ๋ณด๋”ฉ ๋ฐ ํ™œ๋™ โ†’ Translation Owner ํ›„๋ณด ์ถ”์ฒœ โ†’ Apache Airflow ๊ณต์‹ Translation Owner ๋“ฑ๋ก

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

์ฐธ์—ฌํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด?

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

๊ด€์‹ฌ ์žˆ์œผ์‹  ๋ถ„์€ 10์›” 25์ผ ์ผ์š”์ผ๊นŒ์ง€ DM์œผ๋กœ ์•Œ๋ ค์ฃผ์„ธ์š”!
Apache Airflow ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ์— ํ•จ๊ป˜ ๊ธฐ์—ฌํ•ด๋ด์š”! :south_korea:

์ฐธ๊ณ 

Apache Airflow์˜ Translation Owner ๋ฐ ๋ฒˆ์—ญ ๊ด€๋ฆฌ ์ •์ฑ…์€ ์•„๋ž˜์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1๊ฐœ์˜ ์ข‹์•„์š”