๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ณด์์ ๋ถ์ํ๋ Packj ํ๋ซํผ์ ๊ฐ๋ฐ์๋ ์ ์์ ์ธ ํ๋์ ๊ตฌํ์ด๋ ๊ณต๊ฒฉ์ ์ํํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ทจ์ฝ์ ์ ์กด์ฌ์ ์ฐ๊ด๋ ์ ์๋ ํจํค์ง์ ์ํํ ๊ตฌ์กฐ๋ฅผ ์๋ณํ ์ ์๋ ๊ฐ๋ฐฉํ ๋ช ๋ น์ค ํดํท์ ๋ฐํํ์ต๋๋ค. ๋ฌธ์ ์ ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ ํ๋ก์ ํธ(โ๊ณต๊ธ๋งโ). ํจํค์ง ๊ฒ์ฌ๋ PyPi ๋ฐ NPM ๋๋ ํฐ๋ฆฌ์์ ํธ์คํ ๋๋ Python ๋ฐ JavaScript ์ธ์ด๋ก ์ง์๋ฉ๋๋ค(์ด๋ฌ์๋ Ruby ๋ฐ RubyGems์ ๋ํ ์ง์๋ ์ถ๊ฐํ ๊ณํ์ ๋๋ค). ํดํท ์ฝ๋๋ Python์ผ๋ก ์์ฑ๋์์ผ๋ฉฐ AGPLv3 ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
PyPi ์ ์ฅ์์์ ์ ์๋ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ 330๋ง ๊ฐ์ ํจํค์ง๋ฅผ ๋ถ์ํ๋ ๋์ ๋ฐฑ๋์ด๊ฐ ์๋ ์ ์ฑ ํจํค์ง 42๊ฐ์ ์ํํ ํจํค์ง 2.4๊ฐ๊ฐ ์๋ณ๋์์ต๋๋ค. ๊ฒ์ฌ ์ค์ API ๊ธฐ๋ฅ์ ์๋ณํ๊ณ OSV ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ช ์๋ ์๋ ค์ง ์ทจ์ฝ์ ์ ์กด์ฌ ์ฌ๋ถ๋ฅผ ํ๊ฐํ๊ธฐ ์ํด ์ ์ ์ฝ๋ ๋ถ์์ด ์ํ๋ฉ๋๋ค. MalOSS ํจํค์ง๋ API๋ฅผ ๋ถ์ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ ์ฑ์ฝ๋์์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์ผ๋ฐ์ ์ธ ํจํด์ด ์๋์ง ํจํค์ง ์ฝ๋๋ฅผ ๋ถ์ํฉ๋๋ค. ํ ํ๋ฆฟ์ ํ์ธ๋ ์ ์ฑ ํ๋์ด ์๋ 651๊ฐ์ ํจํท์ ๋ํ ์ฐ๊ตฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค๋น๋์์ต๋๋ค.
๋ํ "eval" ๋๋ "exec"๋ฅผ ํตํ ๋ธ๋ก ์คํ, ๋ฐํ์ ์ ์ ์ฝ๋ ์์ฑ, ๋๋ ํ๋ ์ฝ๋ ๊ธฐ์ ์ฌ์ฉ, ํ๊ฒฝ ๋ณ์ ์กฐ์, ํ์ผ์ ๋ํ ๋น๋์ ์ก์ธ์ค ๋ฑ ์ค์ฉ ์ํ ์ฆ๊ฐ๋ก ์ด์ด์ง๋ ์์ฑ ๋ฐ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์๋ณํฉ๋๋ค. ์ค์น ์คํฌ๋ฆฝํธ(setup.py)์์ ๋คํธ์ํฌ ๋ฆฌ์์ค์ ์ก์ธ์ค, ํ์ ์ค์ฟผํ (์ธ๊ธฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด๋ฆ๊ณผ ์ ์ฌํ ์ด๋ฆ ์ง์ ) ์ฌ์ฉ, ์ค๋๋๊ณ ๋ฒ๋ ค์ง ํ๋ก์ ํธ ์๋ณ, ์กด์ฌํ์ง ์๋ ์ด๋ฉ์ผ ๋ฐ ์น ์ฌ์ดํธ ์ง์ , ์ฝ๋๊ฐ ํฌํจ๋ ๊ณต์ฉ ์ ์ฅ์ ๋ถ์กฑ.
๋ํ ๋ค๋ฅธ ๋ณด์ ์ฐ๊ตฌ์๋ค์ด PyPi ์ ์ฅ์์ ์๋ XNUMX๊ฐ์ ์ ์ฑ ํจํค์ง๋ฅผ ์๋ณํ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ์ด ํจํค์ง๋ AWS ๋ฐ ์ง์์ ์ธ ํตํฉ ์์คํ ์ ๋ํ ํ ํฐ์ ํ์น ๊ฒ์ผ๋ก ์์ํ์ฌ ํ๊ฒฝ ๋ณ์์ ๋ด์ฉ์ ์ธ๋ถ ์๋ฒ๋ก ๋ณด๋์ต๋๋ค: loglib-modules(๋ก ํ์๋จ) ํฉ๋ฒ์ ์ธ loglib ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ฉ ๋ชจ๋), pyg-modules, pygrata ๋ฐ pygrata-utils(์ ๋ฒํ pyg ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ถ๊ฐ๋ ๊ฒ์ผ๋ก ์ ์ ๋จ) ๋ฐ hkg-sol-utils.
์ถ์ฒ : opennet.ru