์ฝ๋์์ ์ผํ๋ฅผ ์๋ชป ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๊ด๋ จ๋ ์ค๋ฅ์ ๋ํ Python ์ฝ๋์ ์ทจ์ฝ์ฑ์ ๋ํ ์ฐ๊ตฌ ๊ฒฐ๊ณผ๊ฐ ๊ฒ์๋์์ต๋๋ค. ๋ฌธ์ ๋ ์ด๊ฑฐํ ๋ Python์ด ๋ชฉ๋ก์ ๋ฌธ์์ด์ ์ผํ๋ก ๊ตฌ๋ถํ์ง ์์ ๊ฒฝ์ฐ ์๋์ผ๋ก ์ฐ๊ฒฐํ๊ณ , ๊ฐ ๋ค์ ์ผํ๊ฐ ์ค๋ฉด ํด๋น ๊ฐ์ ํํ๋ก ์ฒ๋ฆฌํ๋ค๋ ์ฌ์ค๋ก ์ธํด ๋ฐ์ํฉ๋๋ค. ์ฐ๊ตฌ์๋ค์ Python ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ 666๊ฐ์ GitHub ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ ์๋ ๋ถ์์ ์ํํ ํ ์ฐ๊ตฌ๋ ํ๋ก์ ํธ์ 5%์์ ๊ฐ๋ฅํ ์ผํ ๋ฌธ์ ๋ฅผ ์๋ณํ์ต๋๋ค.
์ถ๊ฐ ์๋ ์กฐ์ฌ์ ๋ฐ๋ฅด๋ฉด ์ค์ ์ค๋ฅ๋ 24๊ฐ ์ ์ฅ์(3.6%)์๋ง ์กด์ฌํ๊ณ ๋๋จธ์ง 1.4%๋ ๊ฑฐ์ง ๊ธ์ ์ด์์ต๋๋ค(์๋ฅผ ๋ค์ด ์ฌ๋ฌ ์ค์ ํ์ผ ๊ฒฝ๋ก, ๊ธด ํด์, HTML์ ์ฐ๊ฒฐํ๊ธฐ ์ํด ์ค ์ฌ์ด์ ์ผํ๋ฅผ ์๋์ ์ผ๋ก ์๋ตํ ์ ์์). ๋ธ๋ก ๋๋ SQL ํํ์). ์ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํ 24๊ฐ ์ ์ฅ์ ์ค์๋ Tensorflow, Google V8, Sentry, Pydata xarray, rapidpro, django-colorfield ๋ฐ django-helpdesk์ ๊ฐ์ ๋๊ท๋ชจ ํ๋ก์ ํธ๊ฐ ์๋ค๋ ์ ์ ์ฃผ๋ชฉํ ๋งํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ผํ ๊ด๋ จ ๋ฌธ์ ๋ Python์๋ง ๊ตญํ๋ ๊ฒ์ด ์๋๋ฉฐ C/C++ ํ๋ก์ ํธ์์ ์ข ์ข ๋ฐ์ํฉ๋๋ค(์ต๊ทผ ์์ ์ฌํญ์ ์๋ LLVM, Mono, Tensorflow์ ๋๋ค).
์ฐ๊ตฌ๋ ์ฃผ์ ์ค๋ฅ ์ ํ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ชฉ๋ก, ํํ, ์งํฉ์์ ์ค์๋ก ์ผํ๊ฐ ๋๋ฝ๋์ด ๋ฌธ์์ด์ด ๋ณ๋์ ๊ฐ์ผ๋ก ํด์๋์ง ์๊ณ ์ฐ๊ฒฐ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด Sentry์ ํ
์คํธ ์ค ํ๋์์ ๋ชฉ๋ก์ "releases"์ "discover" ๋ฌธ์์ด ์ฌ์ด์ ์ผํ๊ฐ ๋๋ฝ๋์ด "/releases" ๋ฐ "discover"๋ฅผ ํ์ธํ๋ ๋์ ์กด์ฌํ์ง ์๋ "/releasesdiscover" ํธ๋ค๋ฌ๋ฅผ ํ
์คํธํ๊ฒ ๋์์ต๋๋ค. /๋ฐ๊ฒฌ"์ ๋ณ๋๋ก ์คํํ์ธ์.
๋ ๋ค๋ฅธ ์๋ rapidpro์์ ์ผํ๊ฐ ๋๋ฝ๋์ด ๋ ๊ฐ์ง ๋ค๋ฅธ ๊ท์น์ด 572ํ์์ ๋ณํฉ๋๋ ๊ฒฝ์ฐ์ ๋๋ค.
- ๋จ์ผ ์์ ํํ ์ ์ ๋์ ์ผํ๊ฐ ์์ด ํ ๋น ์ ํํ์ด ์๋ ์ผ๋ฐ ์ ํ์ด ํ ๋น๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, "values โโโโ= (1,)" ํํ์์ ํ ์์์ ํํ ๋ณ์์ ํ ๋น๋์ง๋ง "values โโโโ= (1)"์ ์ ์ ์ ํ์ ํ ๋น์ผ๋ก ์ด์ด์ง๋๋ค. ์ด๋ฌํ ํ ๋น์ ๊ดํธ๋ ์ ํ ์ ์์ ์ํฅ์ ์ฃผ์ง ์์ผ๋ฉฐ ์ ํ ์ฌํญ์ด๋ฉฐ, ํํ์ ์กด์ฌ ์ฌ๋ถ๋ ์ผํ์ ์กด์ฌ ์ฌ๋ถ์ ๋ฐ๋ผ ํ์์ ์ํด ๊ฒฐ์ ๋ฉ๋๋ค. REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAuthenticated' # ํํ ๋์ ๋ฌธ์์ด์ด ํ ๋น๋ฉ๋๋ค. ) }
- ๋ฐ๋ ์ํฉ์ ํ ๋น ์ค์ ์ถ๊ฐ ์ผํ์ ๋๋ค. ํ ๋น ๋์ ์ค์๋ก ์ผํ๊ฐ ๋จ๊ฒจ์ง ๊ฒฝ์ฐ ์ผ๋ฐ ์ ํ ๋์ ๊ฐ์ผ๋ก ํํ์ด ํ ๋น๋ฉ๋๋ค(์: "value = 1" ๋์ "value = 1"์ด ์ง์ ๋ ๊ฒฝ์ฐ).
์ถ์ฒ : opennet.ru