ΠΠΏΡΠ±Π»ΡΠΊΠΎΠ²Π°Π½ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΈ Π΄ΠΎΡΠ»ΡΠ΄ΠΆΠ΅Π½Π½Ρ ΡΡ ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΠ΄Ρ ΠΌΠΎΠ²ΠΎΡ Python Π΄ΠΎ ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ, ΠΏΠΎΠ²'ΡΠ·Π°Π½ΠΈΡ Π· Π½Π΅ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΈΠΌ Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½ΡΠΌ ΠΊΠΎΠΌ Π² ΠΊΠΎΠ΄Ρ. ΠΡΠΎΠ±Π»Π΅ΠΌΠΈ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°Π½Ρ ΡΠΈΠΌ, ΡΠΎ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°Ρ ΡΠ½ΠΊΡ Python Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΎΠ±'ΡΠ΄Π½ΡΡ ΡΡΠ΄ΠΊΠΈ Π² ΡΠΏΠΈΡΠΊΡ, ΡΠΊΡΠΎ Π²ΠΎΠ½ΠΈ Π½Π΅ ΡΠΎΠ·Π΄ΡΠ»Π΅Π½Ρ ΠΊΠΎΠΌΠΎΡ, Π° ΡΠ°ΠΊΠΎΠΆ ΠΎΠ±ΡΠΎΠ±Π»ΡΡ Π·Π½Π°ΡΠ΅Π½Π½Ρ ΡΠΊ ΠΊΠΎΡΡΠ΅ΠΆ, ΡΠΊΡΠΎ ΠΏΡΡΠ»Ρ Π·Π½Π°ΡΠ΅Π½Π½Ρ ΡΠ»ΡΠ΄ ΠΊΠΎΠΌΠ°. ΠΡΠΎΠ²ΡΠ²ΡΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΎΠ²Π°Π½ΠΈΠΉ Π°Π½Π°Π»ΡΠ· 666 GitHub-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΡΡΠ² Π· ΠΊΠΎΠ΄ΠΎΠΌ ΠΌΠΎΠ²ΠΎΡ Python, Π΄ΠΎΡΠ»ΡΠ΄Π½ΠΈΠΊΠΈ Π²ΠΈΡΠ²ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ»ΠΈΠ²Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠ· ΠΊΠΎΠΌΠ°ΠΌΠΈ Ρ 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" Ρ ΡΠΏΠΈΡΠΊΡ, ΡΠΎ ΠΏΡΠΈΠ·Π²Π΅Π»ΠΎ Π΄ΠΎ ΠΏΠ΅ΡΠ΅Π²ΡΡΠΊΠΈ Π½Π΅ΡΡΠ½ΡΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠΎΠ±Π½ΠΈΠΊΠ° "/releasesdiscover", Π·Π°ΠΌΡΡΡΡ ΡΠΎΠ·Π΄ΡΠ»ΡΠ½ΠΎΡ ΠΏΠ΅ΡΠ΅Π²ΡΡΠΊΠΈ "/releases" Ρ "/discover".
ΠΠ½ΡΠΈΠΉ ΠΏΡΠΈΠΊΠ»Π°Π΄ - ΠΏΡΠΎΠΏΡΡΠ΅Π½Π° ΠΊΠΎΠΌΠ° Π² rapidpro ΠΏΡΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»Π° Π΄ΠΎ ΠΎΠ±'ΡΠ΄Π½Π°Π½Π½Ρ Π΄Π²ΠΎΡ ΡΡΠ·Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» Ρ ΡΡΠ΄ΠΊΡ 572:
- ΠΡΠΎΠΏΡΡΠ΅Π½Π° ΠΊΠΎΠΌΠ° Π² ΠΊΡΠ½ΡΡ Π²ΠΈΠ·Π½Π°ΡΠ΅Π½Π½Ρ ΠΊΠΎΡΡΠ΅ΠΆΡ Π· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠ°, ΡΠΎ ΠΏΡΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΡΠΎ Π² Ρ ΠΎΠ΄Ρ ΠΏΡΠΈΡΠ²ΠΎΡΠ½Π½Ρ Π±ΡΠ΄Π΅ ΠΏΡΠΈΡΠ²ΠΎΡΠ½ΠΎ ΠΊΠΎΡΡΠ΅ΠΆ, Π° Π·Π²ΠΈΡΠ°ΠΉΠ½ΠΈΠΉ ΡΠΈΠΏ. ΠΠ°ΠΏΡΠΈΠΊΠ»Π°Π΄, Π²ΠΈΡΠ°Π· "values ββ= (1,)" ΠΏΡΠΈΠ·Π²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΡΠΈΡΠ²ΠΎΡΠ½Π½Ρ Π·ΠΌΡΠ½Π½ΠΎΡ ΠΊΠΎΡΡΠ΅ΠΆΡ Π· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠ°, Π°Π»Π΅ "values ββ= (1)" ΠΏΡΠΈΠ·Π²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΡΠΈΡΠ²ΠΎΡΠ½Π½Ρ ΡΡΠ»ΠΎΠ³ΠΎ ΡΠΈΠΏΡ. ΠΡΠΆΠΊΠΈ Π² Π·Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠ²ΠΎΡΠ½Π½ΡΡ Π½Π΅ Π²ΠΏΠ»ΠΈΠ²Π°ΡΡΡ Π½Π° Π²ΠΈΠ·Π½Π°ΡΠ΅Π½Π½Ρ ΡΠΈΠΏΡ Ρ Ρ Π½Π΅ΠΎΠ±ΠΎΠ²'ΡΠ·ΠΊΠΎΠ²ΠΈΠΌΠΈ, Π° Π½Π°ΡΠ²Π½ΡΡΡΡ ΠΊΠΎΡΡΠ΅ΠΆΡ Π²ΠΈΠ·Π½Π°ΡΠ°ΡΡΡΡΡ ΠΏΠ°ΡΡΠ΅ΡΠΎΠΌ ΡΡΠ»ΡΠΊΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Ρ ΠΊΠΎΠΌ. REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAuthenticated' # Π·Π°ΠΌΡΡΡΡ ΠΊΠΎΡΡΠ΅ΠΆΡ Π±ΡΠ΄Π΅ ΠΏΡΠΈΡΠ²ΠΎΡΠ½ΠΎ ΡΡΠ΄ΠΎΠΊ. ) }
- ΠΠ²ΠΎΡΠΎΡΠ½Π° ΡΠΈΡΡΠ°ΡΡΡ - Π·Π°ΠΉΠ²Ρ ΠΊΠΎΠΌΠΈ ΠΏΡΠΈ ΠΏΡΠΈΡΠ²ΠΎΡΠ½Π½Ρ. Π―ΠΊΡΠΎ Π² ΠΊΡΠ½ΡΡ ΠΏΡΠΈΡΠ²ΠΎΡΠ½Π½Ρ Π²ΠΈΠΏΠ°Π΄ΠΊΠΎΠ²ΠΎ Π·Π°Π»ΠΈΡΠ΅Π½Π° ΠΊΠΎΠΌΠ°, ΡΠΎ ΡΠΊ Π·Π½Π°ΡΠ΅Π½Π½Ρ Π·Π°ΠΌΡΡΡΡ Π·Π²ΠΈΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΡ Π±ΡΠ΄Π΅ ΠΏΡΠΈΡΠ²ΠΎΡΠ½ΠΎ ΠΊΠΎΡΡΠ΅ΠΆ (Π½Π°ΠΏΡΠΈΠΊΠ»Π°Π΄, ΡΠΊΡΠΎ Π·Π°ΠΌΡΡΡΡ "value = 1" Π²ΠΊΠ°Π·Π°Π½ΠΎ "value = 1,").
ΠΠΆΠ΅ΡΠ΅Π»ΠΎ: opennet.ru