เคฒเฅ‰เค—เคฟเคจ
เคธเคฆเคธเฅเคฏเคคเคพ เคฒเฅ‡เค‚

What is data engineering?

์ƒํƒœ
Data
๋‹ด๋‹น์ž
  • Jaenoo
์ž‘์„ฑ์ž
Jaenoo
๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง ์ด๋ž€?
๐Ÿ’ฌ
๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€, "์›์‹œ ๋ฐ์ดํ„ฐ"๋ฅผ ์‹ ๋ขฐ ๊ฐ€๋Šฅํ•œ ์ œํ’ˆ์œผ๋กœ ๋งŒ๋“œ๋Š” ์ผ ์ด๋ผ๊ณ  ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค.
์ถœ์ฒ˜ https://k21academy.com/microsoft-azure/dp-203/data-engineering/
๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•ด ์˜์‚ฌ๊ฒฐ์ •์„ ๋‚ด๋ฆฌ๋ ค๋ฉด, ๋จผ์ € ๋ฐ์ดํ„ฐ๊ฐ€ ๋ชจ์œผ๊ธฐ ์‰ฝ๊ณ (Accessible), ๋ฏฟ์„ ์ˆ˜ ์žˆ๊ณ (Reliable), ์•ˆ์ „ํ•˜๋ฉฐ(Secure), ํ•„์š”ํ•œ ํ˜•ํƒœ๋กœ ์ค€๋น„๋˜์–ด(Usable) ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง ์€ ๋ฐ”๋กœ ์ด ๊ธฐ๋ฐ˜์„ ๋งŒ๋“œ๋Š” ๋ถ„์•ผ๋กœ, ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘, ์ €์žฅ, ๋ณ€ํ™˜, ์ œ๊ณตํ•˜๋Š” ์‹œ์Šคํ…œ(infra/pipeline/workflow)์„ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌ์ถ•, ์šด์˜ํ•ฉ๋‹ˆ๋‹ค.
๋ฐ์ดํ„ฐ๊ฐ€ ๋งˆ์ผ€ํŒ… ์ง€ํ‘œ, ์†Œ์…œ๋กœ๊ทธ, ์ œํ’ˆ ์‚ฌ์šฉ ์ด๋ฒคํŠธ, ์ง์› ์„ฑ๊ณผ ๋ฐ์ดํ„ฐ, IoT ์„ผ์„œ ์‹ ํ˜ธ์ฒ˜๋Ÿผ ๋‹ค์–‘ํ•ด์งˆ์ˆ˜๋ก " ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜ ๋ชจ์•„๋‘๋Š” ๊ฒƒ"๋งŒ์œผ๋กœ๋Š” ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋Š” ๋ถ„์‚ฐ๋œ ์›์ฒœ์—์„œ ๋“ค์–ด์˜ค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ผ๊ด„๋œ ๊ธฐ์ค€์œผ๋กœ ์ •๋ฆฌํ•˜๊ณ , ๋‹ค์šด์ŠคํŠธ๋ฆผ(๋ถ„์„/BI/ML/Service)์— ์•ˆ์ •์ ์œผ๋กœ ๊ณต๊ธ‰ํ•ด ๊ธฐ์—…์ด "์‹ค์‹œ๊ฐ„์— ๊ฐ€๊น๊ฒŒ" ์ธ์‚ฌ์ดํŠธ๋ฅผ ์–ป๋„๋ก ๋•์Šต๋‹ˆ๋‹ค.
โ€ข
๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ : DB API, ์ด๋ฒคํŠธ ์ŠคํŠธ๋ฆผ, Saas, Log, File, IoT ๋“ฑ ๋‹ค์–‘ํ•œ ์†Œ์Šค ์—ฐ๊ฒฐ
โ€ข
์ €์žฅ : ๋ ˆ์ดํฌ/์›จ์–ดํ•˜์šฐ์Šค/๋ ˆ์ดํฌํ•˜์šฐ์Šค ๋ฐ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์นดํƒˆ๋กœ๊ทธ ์šด์˜
โ€ข
๋ณ€ํ™˜ : ์ •์ œ/ํ‘œ์ค€ํ™”/์ค‘๋ณต ์ œ๊ฑฐ/ํ’ˆ์งˆ ๊ฒ€์ฆ/๋ชจ๋ธ๋ง(์Šคํ‚ค๋งˆ ์„ค๊ณ„)
โ€ข
์ œ๊ณต : BI์šฉ ํ…Œ์ด๋ธ”, MLํ•™์Šต์šฉ ํ”ผ์ฒ˜, ๋ฆฌํฌํŠธ, ์‹ค์‹œ๊ฐ„ ๋Œ€์‹œ๋ณด๋“œ, API ํ˜•ํƒœ ์ œ๊ณต
โ€ข
์šด์˜ : ๋ฐฐ์น˜, ์ŠคํŠธ๋ฆฌ๋ฐ ํŒŒ์ดํ”„๋ผ์ธ ๋ชจ๋‹ˆํ„ฐ๋ง, ์žฅ์•  ๋Œ€์‘, ๋น„์šฉ ์ตœ์ ํ™”, ๋ณด์•ˆ/๊ถŒํ•œ ๊ด€๋ฆฌ ๋“ฑ

๋Œ€ํ‘œ ์‚ฌ์šฉ ์‚ฌ๋ก€ 3๊ฐ€์ง€

1.
๋ฐ์ดํ„ฐ ์ˆ˜์ง‘, ์Šคํ† ๋ฆฌ์ง€ ๊ด€๋ฆฌ์˜ ํ‘œ์ค€ํ™”
์„ฑ์žฅํ•˜๋Š” ๊ธฐ์—…์—์„œ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์—ฌ๋Ÿฌ ํŒ€/๋„๊ตฌ/์ง€์—ญ์— ํฉ์–ด์ง‘๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋Š” ํ™•์žฅ๊ฐ€๋Šฅํ•œ ์ €์žฅ ๊ตฌ์กฐ์™€ ํ‘œ์ค€ํ™”๋œ ์ ์žฌ ๊ทœ์น™์„ ๋งŒ๋“ค์–ด "๋ฐ์ดํ„ฐ๊ฐ€ ์Œ“์ผ์ˆ˜๋ก ๋” ๋ณต์žกํ•ด์ง€๋Š” ๋ฌธ์ œ"๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค.
2.
์‹ค์‹œ๊ฐ„ ๋˜๋Š” ์ค€์‹ค์‹œ๊ฐ„ ๋ถ„์„ ๊ธฐ๋ฐ˜ ๊ตฌ์ถ•
User event, ๊ฒฐ์ œ, ํŠธ๋ž˜ํ”ฝ, ์šด์˜ ์ด๋ฒคํŠธ์ฒ˜๋Ÿผ "์ง€๊ธˆ ์ƒํƒœ"๊ฐ€ ์ค‘์š”ํ•œ ๋„๋ฉ”์ธ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์˜ค๋Š” ์ฆ‰์‹œ ๋ถ„์„ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ข‹์€ ํŒŒ์ดํ”„๋ผ์ธ์€ ์ˆ˜์ง‘โ†’์ •์ œโ†’์ ์žฌ๋ฅผ ์ž๋™ํ™”ํ•ด, ๋ถ„์„๊ฐ€๋‚˜ ์˜์‚ฌ๊ฒฐ์ •์ž๊ฐ€ ํ•„์š”ํ•œ ์ง€ํ‘œ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฐพ๊ณ  ํ•ด์„ํ•˜๋„๋ก ๋•์Šต๋‹ˆ๋‹ค.
3.
ML๊ณผ ์ƒ์„ฑํ˜• AI๋ฅผ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ๊ณต๊ธ‰
์ถ”์ฒœ/๊ฒ€์ƒ‰/์ดํƒˆ ์˜ˆ์ธก๊ณผ ๊ฐ™์€ ์ „ํ†ต์  ML๋ถ€ํ„ฐ, ์ƒ์„ฑํ˜• AI๊นŒ์ง€ ๊ฒฐ๊ตญ ์„ฑ๋Šฅ์„ ์ขŒ์šฐํ•˜๋Š” ๊ฑด ํ•™์Šต, ์ถ”๋ก ์— ์“ฐ์ด๋Š” ๋ฐ์ดํ„ฐ ํ’ˆ์งˆ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋Š” ๋ชจ๋ธ์ด ์†Œ๋น„ํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ค€๋น„ํ•˜๊ณ , ์žฌํ˜„ ๊ฐ€๋Šฅํ•œ ํ”ผ์ฒ˜/๋ฐ์ดํ„ฐ์…‹์„ ์•ˆ์ •์ ์œผ๋กœ ์ œ๊ณตํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

"ํ•ต์‹ฌ ๋ฐ์ดํ„ฐ ์„ธํŠธ(Core Datasets)" ๊ด€์ 

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

๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€?

1.
์ˆ˜์ง‘
์„œ๋กœ ๋‹ค๋ฅธ ์ €์žฅ ํ˜•์‹(์ •ํ˜•/๋ฐ˜์ •ํ˜•/๋น„์ •ํ˜•)๊ณผ ์ธํ„ฐํŽ˜์ด์Šค(DB, API, ์ŠคํŠธ๋ฆผ ๋“ฑ)๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ ์ƒํƒœ๊ณ„ ๋กœ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„์˜ ํ•ต์‹ฌ์€ ์—ฐ๊ฒฐ์„ฑ, ์Šคํ‚ค๋งˆ ๋ณ€ํ™” ๋Œ€์‘, ์ค‘๋ณต/์ง€์—ฐ ์ฒ˜๋ฆฌ ๊ฐ™์€ "ํ˜„์‹ค์ ์ธ ๋ฌธ์ œ"๋ฅผ ๊ฒฌ๋””๋Š” ์„ค๊ณ„์ž…๋‹ˆ๋‹ค.
2.
๋ณ€ํ™˜
์ˆ˜์ง‘๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋Œ€๋กœ ์“ฐ๊ธฐ ์–ด๋ ค์šด ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์˜ค๋ฅ˜/๊ฒฐ์ธก/์ค‘๋ณต์„ ์ฒ˜๋ฆฌํ•˜๊ณ , ํ‘œ์ค€ ๋‹จ์œ„ ์ฝ”๋“œ ์ฒด๊ณ„๋ฅผ ๋งž์ถ”๋ฉฐ, ๋ชจ๋ธ๋งํ•˜์—ฌ ์†Œ๋น„๊ฐ€๋Šฅํ•œ ํ˜•ํƒœ๋กœ ์ •์ œํ•ฉ๋‹ˆ๋‹ค.
์ด ๋‹จ๊ณ„๋Š” "๋ฐ์ดํ„ฐ ํ’ˆ์งˆ"์ด ์‹ค์ œ๋กœ ๋งŒ๋“ค์–ด์ง€๋Š” ๊ตฌ๊ฐ„์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.
3.
์ œ๊ณต
์ •์ œ๋œ ๋ฐ์ดํ„ฐ๋Š” ๋ชฉ์ ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
โ€ข
BI/๋ฆฌํฌํŒ…์šฉ ํ…Œ์ด๋ธ” ๋ฐ ๋Œ€์‹œ๋ณด๋“œ
โ€ข
ML ํ•™์Šต์šฉ ๋ฐ์ดํ„ฐ์…‹/ํ”ผ์ฒ˜ ์Šคํ† ์–ด
โ€ข
์šด์˜ ์‹œ์Šคํ…œ์„ ์œ„ํ•œ API/์„œ๋น™ ํ…Œ์ด๋ธ”
โ€ข
์‹ค์‹œ๊ฐ„ ๋ชจ๋‹ˆํ„ฐ๋ง ์ง€ํ‘œ
๋˜ํ•œ ์ด ์ „์ฒด๋ฅผ ๋ฏฟ๊ณ  ์“ธ ์ˆ˜ ์žˆ์œผ๋ ค๋ฉด ๋ฐ์ดํ„ฐ ๊ด€์ธก์„ฑ(Data Observability)์ด ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค. ํŒŒ์ดํ”„๋ผ์ธ ์ง€์—ฐ, ๊ฒฐ์ธก๋ฅ , ์Šคํ‚ค๋งˆ ๋“œ๋ฆฌํ”„ํŠธ, ํ’ˆ์งˆ ๊ทœ์น™ ์œ„๋ฐ˜ ๋“ฑ์„ ์กฐ๊ธฐ์— ๊ฐ์ง€ํ•ด ์žฅ์• ๋ฅผ ์ตœ์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง vs ๋ฐ์ดํ„ฐ ๋ถ„์„ vs ๋ฐ์ดํ„ฐ ๊ณผํ•™

์„ธ ์—ญํ• ์€ ํ˜‘์—…ํ•˜์ง€๋งŒ ์ดˆ์ ์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค.
โ€ข
๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด(Data Engineer): ๋ฐ์ดํ„ฐ๊ฐ€ ํ˜๋Ÿฌ๊ฐ€๋Š” ๊ธธ(ํŒŒ์ดํ”„๋ผ์ธ/์Šคํ† ๋ฆฌ์ง€/ํ’ˆ์งˆ/๊ถŒํ•œ)์„ ๋งŒ๋“ ๋‹ค
โ€ข
๋ฐ์ดํ„ฐ ๋ถ„์„๊ฐ€(Data Analyst/BI): ์ค€๋น„๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ํ˜„ํ™ฉ๊ณผ ์›์ธ์„ ์„ค๋ช…ํ•˜๊ณ  ์˜์‚ฌ๊ฒฐ์ •์„ ๋•๋Š”๋‹ค
โ€ข
๋ฐ์ดํ„ฐ ๊ณผํ•™์ž(Data Scientist): ํ†ต๊ณ„ยทML ๊ธฐ๋ฒ•์œผ๋กœ ์˜ˆ์ธก/์ตœ์ ํ™” ๋ชจ๋ธ์„ ๋งŒ๋“ค๊ณ  ์‹คํ—˜ํ•œ๋‹ค
์ฆ‰, ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง์ด ํƒ„ํƒ„ํ• ์ˆ˜๋ก ๋ถ„์„๊ณผ ๊ณผํ•™์€ ๋” ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•ด์ง‘๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๊ฐ€ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ  ์Šคํƒ: ํŒŒ์ดํ”„๋ผ์ธยท์Šคํ† ๋ฆฌ์ง€ยท์–ธ์–ด

ETL vs ELT
โ€ข
ETL(Extract โ†’ Transform โ†’ Load): ๋ณ€ํ™˜ ํ›„ ์ ์žฌ. ํ‘œ์ค€ํ™”๊ฐ€ ๋จผ์ € ํ•„์š”ํ•œ ํ†ตํ•ฉ ์‹œ๋‚˜๋ฆฌ์˜ค์— ๊ฐ•์ 
โ€ข
ELT(Extract โ†’ Load โ†’ Transform): ์ผ๋‹จ ๋ชจ์•„๋‘๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ๋ณ€ํ™˜. ์œ ์—ฐ์„ฑ๊ณผ ํ™•์žฅ์„ฑ์— ๊ฐ•์ (ํด๋ผ์šฐ๋“œ DWH/๋ ˆ์ดํฌํ•˜์šฐ์Šค์™€ ๊ถํ•ฉ)
์Šคํ† ๋ฆฌ์ง€ ์„ ํƒ์ง€
โ€ข
ํด๋ผ์šฐ๋“œ ์Šคํ† ๋ฆฌ์ง€/๋ฐ์ดํ„ฐ ๋ ˆ์ดํฌ: ๋Œ€์šฉ๋Ÿ‰ ์›๋ณธยท๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ์— ์œ ๋ฆฌ
โ€ข
๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค(DWH): ๋ถ„์„ ์„ฑ๋Šฅ๊ณผ ๊ด€๋ฆฌ(์Šคํ‚ค๋งˆ/๊ถŒํ•œ/๊ฑฐ๋ฒ„๋„Œ์Šค)์— ๊ฐ•์ 
โ€ข
๋ ˆ์ดํฌํ•˜์šฐ์Šค: ๋ ˆ์ดํฌ์˜ ์œ ์—ฐ์„ฑ๊ณผ ์›จ์–ดํ•˜์šฐ์Šค์˜ ๊ด€๋ฆฌ/์„ฑ๋Šฅ์„ ๊ฒฐํ•ฉํ•˜๋ ค๋Š” ์ ‘๊ทผ
์ฃผ์š” ์–ธ์–ด
โ€ข
SQL: ๋ชจ๋ธ๋ง, ํ’ˆ์งˆ ๊ฒ€์ฆ, ๋ถ„์„์šฉ ๋ฐ์ดํ„ฐ ์ œ๊ณต์˜ ์ค‘์‹ฌ ์–ธ์–ด
โ€ข
Python: ์›Œํฌํ”Œ๋กœ ์ž๋™ํ™”, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ, ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜๊ณผ ์—ฐ๋™
โ€ข
Scala/Java: ๋Œ€๊ทœ๋ชจ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ(Spark ๋“ฑ)๋‚˜ ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ
์ฐธ๊ณ  ์‚ฌ์ดํŠธ