์ƒ์„ธ ์ปจํ…์ธ 

๋ณธ๋ฌธ ์ œ๋ชฉ

[ํ”„๋กœ๊ทธ๋ž˜๋ฐ] Compile, Build, Deploy ์ดํ•ดํ•˜๊ธฐ

์ปดํ“จํ„ฐ์–ธ์–ด๐Ÿ’ก

by Hashtag me 2024. 10. 20. 10:11

๋ณธ๋ฌธ

Why? 

FastText ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ, ์ด๊ฒŒ ์ผ๋ถ€ C++๋กœ ์ž‘์„ฑ๋ผ์„œ CMake์™€ ๊ฐ™์€ ๋นŒ๋“œ ๋„๊ตฌ๊ฐ€ ํ•„์š”ํ–ˆ๋‹ค.
(Python์œผ๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด์—ฌ์„œ ๋นŒ๋“œ ๋„๊ตฌ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Œ. ํ•˜์ง€๋งŒ C/C++์–ธ์–ด๋Š” ์ปดํŒŒ์ผ ์–ธ์–ด)
 
์ปดํŒŒ์ผ: ์šฐ๋ฆฌ๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋Š” ์‚ฌ๋žŒ์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜์ค€(๊ณ ๊ธ‰)์˜ ์–ธ์–ด์ด๋‹ค. ์ด๋ฅผ (๋Œ€์ถฉ)01010.. ์ด์ง„์œผ๋กœ ์—ฐ์‚ฐํ•˜๋Š” ์ปดํ“จํ„ฐ๊ฐ€ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฒˆ์—ญํ•˜๋Š” ๊ฒƒ์„ ์ปดํŒŒ์ผ์ด๋ผ๊ณ  ํ•œ๋‹ค.
 
๋ฐฐํฌ(Deploy)๋ž€? โ€˜์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํŒŒ์ผโ€™์„ ์‚ฌ์šฉ์ž(์‚ฌ๋žŒ)๊ฐ€ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ™˜๊ฒฝ์— ๋ฐฐ์น˜ํ•˜๋Š” ๊ฒƒ
์ด โ€˜์‹คํ–‰๊ฐ€๋Šฅํ•œ ํŒŒ์ผโ€™์€ ํ”ํžˆ ์šฐ๋ฆฌ๊ฐ€ ๋งํ•˜๋Š” ์ฝ”๋“œ๋กœ ์งœ์—ฌ์žˆ๋Š”๋ฐ, ์ด ์ฝ”๋“œ๋ฅผ ์ปดํ“จํ„ฐ๊ฐ€ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ปดํ“จํ„ฐ๋„ ์ดํ•ดํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค.
๊ทธ๋ž˜์„œ ๋นŒ๋“œ(Build) ๊ณผ์ •์„ ๊ฑฐ์ณ โ€˜์‹คํ–‰๊ฐ€๋Šฅํ•œ ํŒŒ์ผโ€™๋กœ ๋งŒ๋“ค์–ด ์ค€๋‹ค.
๋นŒ๋“œ(Build)๋ž€? Deployํ•˜๊ธฐ ์ „์— ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ source ์ฝ”๋“œ ํŒŒ์ผ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ์ด ๊ณผ์ •์—์„œ ๊ณ ๊ธ‰์–ธ์–ด โ†’ (์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•˜๋Š”) ์ €๊ธ‰์–ธ์–ด๋กœ ์ปดํŒŒ์ผ๋œ๋‹ค.
 
๊ทธ๋Ÿผ Build ๊ณผ์ •์—์„œ ์ปดํŒŒ์ผ ์ดํ›„ ๋ฌด์Šจ ๊ณผ์ •์ด ๋˜ ์žˆ๋‚˜?
โ‡’ ๋งํฌ(Link) - ์—ฌ๋Ÿฌ ์˜ค๋ธŒ์ ํŠธ ํŒŒ์ผ(.obj)๊ณผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ์—ฐ๊ฒฐํ•œ๋‹ค. (ex. A์ฝ”๋“œ์— ์“ฐ์ธ ํ•จ์ˆ˜๋ฅผ B์ฝ”๋“œ์—์„œ๋„ ์“ธ ์ˆ˜ ์žˆ๊ฒŒ)
โ‡’ ํŒจํ‚ค์ง•(Packaging) - ์‹คํ–‰์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค๋“ค(ex. ์ด๋ฏธ์ง€, ํŒŒ์ผ)์„ ํ•จ๊ป˜ ํŒจํ‚ค์ง•ํ•œ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฐ ๊ณผ์ •์„ ๋•๋Š” Tool์ด Build Tool ์ด๋‹ค.
 
 

๋ฐ˜์‘ํ˜•

๊ด€๋ จ๊ธ€ ๋”๋ณด๊ธฐ