ΠΡΠΎΡΠΌΠΎΡΡ ΠΆΡΡΠ½Π°Π»ΠΎΠ² ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΊΠΎΠ΄Π° — GitHub Enterprise Server 3.4 Docs
ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ code scanning, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ GitHub Enterprise Server.
Code scanning Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ , ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠΌ, Π² GitHub Enterprise Server. ΠΠ»Ρ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Π½Π° GitHub Advanced Security. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ GitHub Advanced Security.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΡΠ°ΠΉΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΊΠ»ΡΡΠΈΡΡ code scanning Π΄Π»Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ GitHub Enterprise Server, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ GitHub Actions Π΄Π»Ρ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°, Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΡΠ°ΠΉΡΠ° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΊΠ»ΡΡΠΈΡΡ GitHub Actions ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° code scanning Π΄Π»Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ code scanning
ΠΠ»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ code scanning Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° code scanning Π΄Π»Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ Π²Π°ΠΌ ΠΆΡΡΠ½Π°Π» ΠΈ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠΏΠΎΡΠΎΠ±Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π΄Π»Ρ code scanning Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΈΠΏ code scanning, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎΡΡ ΠΌΠ΅Π½Ρ ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠΉ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² ΡΡΠ°ΡΡΠ΅ Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡΠΌΠΈ code scanning Π΄Π»Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΡΡ ΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅ΡΠΊΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ code scanning Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°Π½Π°Π»ΠΈΠ·Π° CodeQL Π½Π° GitHub.
Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± Π°Π½Π°Π»ΠΈΠ·Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠΏΠΈΡΠΊΠ° ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠΉ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡΠΌΠΈ code scanning Π΄Π»Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² ΠΆΡΡΠ½Π°Π»Π°Ρ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΈ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· ΡΠ²ΠΎΠ΄Π½ΡΡ ΠΌΠ΅ΡΡΠΈΠΊ ΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ. Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π΄ΠΎΡΡΡΠΏΠ΅ ΠΊ ΠΆΡΡΠ½Π°Π»Π°ΠΌ code scanning Π½Π° GitHub ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΡΠΎΡΠΌΠΎΡΡ Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΆΡΡΠ½Π°Π»Π° ΠΈΠ· code scanning Π½ΠΈΠΆΠ΅.
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ CodeQL CLI Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ GitHub, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ Π² Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π°Π½Π°Π»ΠΈΠ·Π° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΡΠΈ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΡΠ°ΠΉΠ» ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² SARIF, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΠ΅ Π² GitHub Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ code scanning.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ CodeQL CLI ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° CodeQL CLI Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ CI.
Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠ²ΠΎΠ΄Π½ΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠ°Ρ
Π‘Π²ΠΎΠ΄Π½ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ:
- Π‘ΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° Π² Π±Π°Π·Π΅ ΠΊΠΎΠ΄Π° (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π°) ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ CodeQL
- Π‘ΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ CodeQL, ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ· ΠΊΠΎΠ΄Π°, Π²ΠΊΠ»ΡΡΠ°Ρ Π²Π½Π΅ΡΠ½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ
- Π‘ΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ CodeQL, ΠΊΡΠΎΠΌΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π²Π½Π΅ΡΠ½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ΅ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° CodeQL
ΠΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π·Π°ΠΌΠ΅ΡΠ΅Π½Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π°Π½Π°Π»ΠΈΠ·Π°, ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ:
- ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²
- ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ·Π²Π°Π»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
- ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ·Π²Π°Π»ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΡΠΎΡΠΌΠΎΡΡ Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΆΡΡΠ½Π°Π»Π° ΠΈΠ· code scanning
ΠΡΠΎΡ ΡΠ°Π·Π΄Π΅Π» ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ code scanning Ρ ΠΏΠΎΠΌΠΎΡΡΡ GitHub Actions (CodeQL ΠΈΠ»ΠΈ ΡΡΠΎΡΠΎΠ½Π½Π΅Π³ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ).
ΠΠΎΡΠ»Π΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ code scanning Π΄Π»Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΠ΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
ΠΡ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π·Π°ΠΏΠΈΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΠ°Π±ΠΎΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ code scanning. Π’Π΅ΠΊΡΡ Π·Π°ΠΏΠΈΡΠΈ β ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ ΠΏΡΠΈΡΠ²ΠΎΠΈΠ»ΠΈ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΠ°Π±ΠΎΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ code scanning1. ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π½Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ ΡΠ»Π΅Π²Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΠ½Π°Π»ΠΈΠ· (Π―ΠΠ«Π)
ΠΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΠΉΡΠ΅ ΠΆΡΡΠ½Π°Π» ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ·Π²Π°Π»Π° Π·Π°ΠΏΡΡΠΊ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ SHORT COMMIT HASH. ΠΡΠΎΡ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ Ρ ΡΡ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ 7 ΡΡΡΠΎΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π°Π²ΡΠΎΡΠ° ΡΠΈΠΊΡΠ°ΡΠΈΠΈ.
-
ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π²ΡΠ΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΡΡ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡΡ code scanning. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡΠΌΠΈ code scanning Π΄Π»Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡΠ»ΠΈ Π²Ρ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π·Π°ΠΏΡΠΎΡ Π½Π° Π²ΡΡΡΠ³ΠΈΠ²Π°Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ code scanning Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° Π²ΡΡΡΠ³ΠΈΠ²Π°Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Code scanning, ΠΏΠΎΠΊΠ° Π·Π°ΠΏΡΠΎΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½. ΠΡΠ»ΠΈ Π±ΡΠ»ΠΈ Π½Π°ΠΉΠ΄Π΅Π½Ρ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ, ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π΄ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° Π½Π° Π²ΡΡΡΠ³ΠΈΠ²Π°Π½ΠΈΠ΅, ΡΠ΅Π»ΠΊΠ½ΡΠ² ΡΡΡΠ»ΠΊΡ Π§ΠΈΡΠ»ΠΎ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠΉ Π½Π° Π±Π°Π½Π½Π΅ΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Code scanning.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ΄βΠΏΠ°ΡΠΎΠ»Ρ Π½Π° iPhone — Π‘Π»ΡΠΆΠ±Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Apple (RU)
ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠ΅ΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΊΠΎΠ΄-ΠΏΠ°ΡΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡ Π΄Π»Ρ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ iPhone ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ Π΅Π³ΠΎ ΠΈΠ· ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ½Π°. ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΊΠΎΠ΄-ΠΏΠ°ΡΠΎΠ»Ρ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ΅ΠΆΠΈΠΌ Π·Π°ΡΠΈΡΡ Π΄Π°Π½Π½ΡΡ , Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΠΠ°ΡΠ΅ΠΌ iPhone Π·Π°ΡΠΈΡΠ΅Π½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ 256-Π±ΠΈΡΠ½ΠΎΠ³ΠΎ AES-ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ. (ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΎΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΡΠΈΡΡ Π΄Π°Π½Π½ΡΡ . )
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΠΎΠ΄-ΠΏΠ°ΡΠΎΠ»Ρ ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
ΠΡΠΊΡΠΎΠΉΡΠ΅ Β«ΠΠ°ΡΡΡойки» и Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π½ΠΈΠΆΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
ΠΠΎΡΠ½ΠΈΡΠ΅ΡΡ Β«ΠΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ΄βΠΏΠ°ΡΠΎΠ»ΡΒ» ΠΈΠ»ΠΈ Β«Π‘ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄βΠΏΠ°ΡΠΎΠ»ΡΒ».
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ°ΡΠΎΠ»Ρ, ΠΊΠΎΡΠ½ΠΈΡΠ΅ΡΡ Β«ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠ΄-ΠΏΠ°ΡΠΎΠ»ΡΒ». Π‘Π°ΠΌΡΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡΒ β Β«ΠΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ (ΡΠΈΡΡΡ)Β» ΠΈ Β«ΠΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ (Π±ΡΠΊΠ²Ρ + ΡΠΈΡΡΡ)Β».
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΊΠΎΠ΄-ΠΏΠ°ΡΠΎΠ»Ρ, Π½Π°Β ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΠΌΠΎΠ΄Π΅Π»ΡΡ Π΄Π»Ρ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ iPhone ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ FaceΒ ID ΠΈΠ»ΠΈ TouchΒ ID (Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΠ°ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ). ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ΅Π³Π΄Π° Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΊΠΎΠ΄-ΠΏΠ°ΡΠΎΠ»Ρ Π΄Π»Ρ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ iPhone Π² ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π½ΠΈΠΆΠ΅ ΡΠ»ΡΡΠ°ΡΡ .
ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° iPhone.
Π Π°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° iPhone Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ»Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ 48 ΡΠ°ΡΠΎΠ².
Π Π°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° iPhone ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠ΄-ΠΏΠ°ΡΠΎΠ»Ρ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ»Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 6,5 Π΄Π½Π΅ΠΉ ΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ FaceΒ ID ΠΈΠ»ΠΈ TouchΒ ID ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 4 ΡΠ°ΡΠ°.
ΠΠ° iPhone ΠΏΠΎΡΡΡΠΏΠΈΠ»Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ.
Π‘ΠΎΠ²Π΅ΡΡΠ΅Π½ΠΎ ΠΏΡΡΡ Π½Π΅ΡΠ΄Π°ΡΠ½ΡΡ ΠΏΠΎΠΏΡΡΠΎΠΊ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ iPhone ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ FaceΒ ID ΠΈΠ»ΠΈ TouchΒ ID.
Π‘ΠΎΠ²Π΅ΡΡΠ΅Π½Π° ΠΏΠΎΠΏΡΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Β«ΠΠΊΡΡΡΠ΅Π½Π½ΡΠΉ Π²ΡΠ·ΠΎΠ²Β β SOSΒ» (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Β«ΠΠΊΡΡΡΠ΅Π½Π½ΡΠΉ Π²ΡΠ·ΠΎΠ²Β β SOSΒ»).
Π‘ΠΎΠ²Π΅ΡΡΠ΅Π½Π° ΠΏΠΎΠΏΡΡΠΊΠ° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΠ΅Π΄ΠΊΠ°ΡΡΡ (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΈΒ ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΠ΅Π΄ΠΊΠ°ΡΡΡ).
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° Π΄Π»Ρ Π°Π²ΡΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ iPhone
ΠΡΠΊΡΠΎΠΉΡΠ΅ Β«ΠΠ°ΡΡΡойки»  > Β«ΠΠΊΡΠ°Π½ ΠΈ ΡΡΠΊΠΎΡΡΡ» > Β«ΠΠ²ΡΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°Β» ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΡΠ»Π΅ 10Β ΠΏΠΎΠΏΡΡΠΎΠΊ Π²Π²ΠΎΠ΄Π° Π½Π΅Π²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄-ΠΏΠ°ΡΠΎΠ»Ρ
ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΌΠ΅Π΄ΠΈΠ°ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π»ΠΈΡΠ½ΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π½Π° iPhone ΠΏΠΎΡΠ»Π΅ 10Β ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠΎΠΏΡΡΠΎΠΊ Π²Π²ΠΎΠ΄Π° Π½Π΅Π²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΡΠΎΠ»Ρ.
ΠΡΠΊΡΠΎΠΉΡΠ΅ Β«ΠΠ°ΡΡΡойки» и Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π½ΠΈΠΆΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
ΠΡΠΎΠΊΡΡΡΠΈΡΠ΅ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Β«Π‘ΡΠΈΡΠ°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Β».
ΠΠΎΡΠ»Π΅ ΡΡΠΈΡΠ°Π½ΠΈΡ Π²ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈΠ· ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΠΈΠ»ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ.
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄-ΠΏΠ°ΡΠΎΠ»Ρ
ΠΡΠΊΡΠΎΠΉΡΠ΅ Β«ΠΠ°ΡΡΡойки» и Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π½ΠΈΠΆΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
ΠΠΎΡΠ½ΠΈΡΠ΅ΡΡ Β«ΠΡΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ΄βΠΏΠ°ΡΠΎΠ»ΡΒ».
Π‘Π±ΡΠΎΡ ΠΊΠΎΠ΄-ΠΏΠ°ΡΠΎΠ»Ρ
ΠΡΠ»ΠΈ ΠΊΠΎΠ΄-ΠΏΠ°ΡΠΎΠ»Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π²Π²Π΅Π΄Π΅Π½ ΡΠ΅ΡΡΡ ΡΠ°Π· ΠΏΠΎΠ΄ΡΡΠ΄, ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ, Π° Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ iPhone Π²ΡΠΊΠ»ΡΡΠ΅Π½. ΠΡΠ»ΠΈ ΠΡ Π½Π΅ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄-ΠΏΠ°ΡΠΎΠ»Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ΅ΡΠ΅ΡΡ iPhone, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΈΠ»ΠΈ ΡΠ΅ΠΆΠΈΠΌ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄-ΠΏΠ°ΡΠΎΠ»Ρ. Π‘ΠΌ. ΡΡΠ°ΡΡΡ ΡΠ»ΡΠΆΠ±Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Apple ΠΡΠ»ΠΈ ΠΡ Π·Π°Π±ΡΠ»ΠΈ ΠΊΠΎΠ΄-ΠΏΠ°ΡΠΎΠ»Ρ Π΄Π»Ρ iPhone.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΡ Π·Π°Π±ΡΠ»ΠΈ ΠΊΠΎΠ΄-ΠΏΠ°ΡΠΎΠ»Ρ, Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π° ΡΠ΅Π·Π΅ΡΠ²Π½Π°Ρ ΠΊΠΎΠΏΠΈΡ Π² iCloud ΠΈΠ»ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Π΄Π°Π½Π½ΡΠ΅ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ· ΡΡΠΎΠΉ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ.
sphinx.ext.viewcode β ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ β Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Sphinx
ΠΠ²ΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ: ΠΠ΅ΠΎΡΠ³ ΠΡΠ°Π½Π΄Π»
ΠΠΎΠ²ΠΎΠ΅ Π² Π²Π΅ΡΡΠΈΠΈ 1.0.
ΠΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π²Π°ΡΠΈΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Python ( .
, ..
function::
ΠΈ Ρ.Π΄.) ΠΈ ΠΏΡΡΠ°Π΅ΡΡΡ Π½Π°ΠΉΡΠΈ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ
Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ. ΠΡΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ HTML-ΡΡΡΠ°Π½ΠΈΡΠ° Ρ
Π²ΡΠ΄Π΅Π»Π΅Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΈ ΡΡΡΠ»ΠΊΠ° Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ββΠΊΠΎ Π²ΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ
ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Π΅Π΄Π΅Ρ ΠΊ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Π‘ΡΡΠ»ΠΊΠ° Π½Π°Π·Π°Π΄
ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΠΆΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠ°Π²Π»ΡΡΡΡΡ.
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅
ΠΠΎ ΡΡΡΠΈ, ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ viewcode
Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ²ΡΠ·Π°Π½Ρ ΡΡΡΠ»ΠΊΠΈ.
ΠΡΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ±ΠΎΡΠ½ΡΠ΅ ΡΡΡΠ΅ΠΊΡΡ ΠΏΡΠΈ ΠΈΠΌΠΏΠΎΡΡΠ΅, ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° sphinx-build
Π·Π°ΠΏΡΡΠ΅Π½.
ΠΡΠ»ΠΈ Π²Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ (Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ
ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ), ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°ΡΠΈΡΠ΅Π½Π° ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ , Π΅ΡΠ»ΠΈ __name__ == '__main__'
.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΏΠΎ ΠΊΠΎΠ΄Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°
,
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄ΠΎ ΠΊΠΎΠ΄ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅ viewcode-find-source
.
ΠΡΠ»ΠΈ viewcode_follow_imported_members
Π²ΠΊΠ»ΡΡΠ΅Π½,
Π²Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅ viewcode-follow-imported
.
ΠΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠ±ΠΎΡΡΠΈΠΊΠ°Ρ
, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ HTML, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ html
, applehelp
, devhelp
, htmlhelp
, qthelp
ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅, ΠΊΡΠΎΠΌΠ΅ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΠΉ HTML
. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ epub
ΡΡΡΠΎΠΈΡΠ΅Π»Ρ Π½Π΅
ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ (ΡΠΌ. viewcode_enable_epub
).
- viewcode_follow_imported_members
ΠΡΠ»ΠΈ ΡΡΠΎ
True
, ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΡΡΠΊΠ°ΡΡΡΠΎΠ±ΡΡΠΈΠ΅ viewcode-follow-imported
True
.ΠΠΎΠ²ΠΎΠ΅ Π² Π²Π΅ΡΡΠΈΠΈ 1.3.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π² Π²Π΅ΡΡΠΈΠΈ 1.8: ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΎ Ρ
viewcode_import
Π½Π°viewcode_follow_imported_members
.
- viewcode_enable_epub
ΠΡΠ»ΠΈ ΡΡΠΎ
True
, ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠ±ΠΎΡΡΠΈΠΊΠΈ epub. ΠΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΡΡΠ°Π½ΠΈΡΡ Π²Π½Π΅ toctree, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΡΠΌΠ°ΡΠ° epub.ΠΠΎ Π²Π΅ΡΡΠΈΠΈ 1.4.x ΡΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ epub ΠΊΠ°ΠΊ ΠΈ Π² 1.4.x, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ
True
, Π½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΎΡΠΌΠ°ΡΠ° epub ΠΎΡΠ΅Π½ΠΊΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Ρ ΡΠΆΠ΅.ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
ΠΠΎΠΆΡ
.ΠΠΎΠ²ΠΎΠ΅ Π² Π²Π΅ΡΡΠΈΠΈ 1.5.
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅
ΠΠ΅ Π²ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΠ΅Π½ΠΈΡ epub ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ, ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΡΠΌΠΎΡΡΠ°. ΠΡΠΈ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π½Π΅ ΠΏΠΎΠ΄ toctree.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° ΡΡΠΈΡΡΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½Ρ ΠΈ ΠΎΡΠ΅Π½ΠΊΠ° epubcheck ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Ρ ΡΠΆΠ΅, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ.
- ΠΊΠΎΠ΄ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°-Π½Π°ΠΉΡΠΈ-ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ( ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ , ΠΈΠΌΡ ΠΌΠΎΠ΄Π° )
ΠΠΎΠ²ΠΎΠ΅ Π² Π²Π΅ΡΡΠΈΠΈ 1.8.
ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅ΡΠ½ΡΡΡ ΠΊΠΎΡΡΠ΅ΠΆ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ ΡΠ»ΠΎΠ²Π°ΡΡ ΡΠ΅Π³ΠΎΠ². Π‘Π»ΠΎΠ²Π°ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ°, ΡΡΠ½ΠΊΡΠΈΠΈ, Π°ΡΡΠΈΠ±ΡΡΠ° ΠΈ Ρ. Π΄. Π² ΠΊΠΎΡΡΠ΅ΠΆ Π΅Π³ΠΎ ΡΠΈΠΏΠ°, Π½ΠΎΠΌΠ΅Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ Π½ΠΎΠΌΠ΅Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. Π’ΠΈΠΏ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Β«classΒ», Β«defΒ» ΠΈΠ»ΠΈ Β«otherΒ».
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
- viewcode-follow-imported ( ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ , ΠΈΠΌΡ ΠΌΠΎΠ΄Π° , Π°ΡΡΠΈΠ±ΡΡ )
ΠΠΎΠ²ΠΎΠ΅ Π² Π²Π΅ΡΡΠΈΠΈ 1.8.
ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΠΈΠΌΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ Π°ΡΡΠΈΠ±ΡΡΠ°.
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
app β ΠΠ±ΡΠ΅ΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Sphinx.
ΠΈΠΌΡ_ΠΌΠΎΠ΄ΡΠ»Ρ β ΠΠΌΡ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ Π°ΡΡΠΈΠ±ΡΡ.
Π°ΡΡΠΈΠ±ΡΡ β ΠΠΌΡ ΡΠ»Π΅Π½Π°, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡΡ.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΎΡ Π²Π°ΡΠ° ΠΊΠΎΠ΄Π° β Azure Pipelines
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ
Π’Π²ΠΈΡΡΠ΅Ρ LinkedIn Π€Π΅ΠΉΡΠ±ΡΠΊ ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΏΠΎΡΡΠ°
- Π‘ΡΠ°ΡΡΡ
- 2 ΠΌΠΈΠ½ΡΡΡ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅
Π‘Π»ΡΠΆΠ±Ρ Azure DevOps | Azure DevOps Server 2022 β Azure DevOps Server 2019 | TFS 2018
ΠΠΎΠΊΡΡΡΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΄ΠΎΠ»Ρ ΠΊΠΎΠ΄Π° Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΡΠΈΡΡΠ΅ΡΡΡ ΡΠ΅ΡΡΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡ. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ²ΡΡΠΈΡΡ Π²Π°ΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΊΠΎΠ΄Π° ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π·Π°ΡΠΈΡΠ°ΡΡ ΠΎΡ ΠΎΡΠΈΠ±ΠΎΠΊ, Π²Π°ΡΠΈ ΡΠ΅ΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΏΡΠ°ΠΆΠ½ΡΠΉΡΠ΅ΡΡ β ΠΈΠ»ΠΈ ΠΏΠΎΠΊΡΡΠ²Π°ΠΉΡΠ΅ β Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΡΠΎΡΠΌΠΎΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΏΠΎΠΊΡΡΡΠΈΡ ΠΊΠΎΠ΄Π° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΡΡΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΠΎΠΊΡΡΡΠΎ ΡΠ΅ΡΡΠ°ΠΌΠΈ. ΠΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π²Π°ΠΆΠ½Π° Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π·Π° ΡΡΠ΅Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ»Π³Π°.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
Π Microsoft Team Foundation Server (TFS) 2018 ΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π²Π΅ΡΡΠΈΡΡ ΡΠ±ΠΎΡΠΊΠ° ΠΈ Π²ΡΠΏΡΡΠΊ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΎΠ² Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠΌΠΈ , ΠΏΡΠΎΠ³ΠΎΠ½Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠ±ΠΎΡΠΊΠΈ , ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠ»ΡΠΆΠ±Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ ΡΠ»ΡΠΆΠ±Ρ , ΡΡΠ°Π΄ΠΈΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΠ΅Π΄Π°ΠΌΠΈ , ΠΈ Π·Π°Π΄Π°Π½ΠΈΡ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΠ°ΠΏΠ°ΠΌΠΈ .
ΠΡΠΈΠΌΠ΅Ρ
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΠΎΠΊΡΡΡΠΈΡ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ Π²Π°ΠΌΠΈ ΡΠ·ΡΠΊΠ°, ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» ΠΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠ΅ΠΌΠ°Ρ Π’ΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ±ΡΠ°ΡΡ ΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΠΏΠΎΠΊΡΡΡΠΈΠ΅ ΠΊΠΎΠ΄Π° Π΄Π»Ρ JavaScript Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Istanbul.
ΠΡΠΎΡΠΌΠΎΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²
Π‘Π²ΠΎΠ΄ΠΊΡ ΠΏΠΎΠΊΡΡΡΠΈΡ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΊΠ°Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ. Π‘Π²ΠΎΠ΄ΠΊΠ° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΠ±ΡΠΈΠΉ ΠΏΡΠΎΡΠ΅Π½Ρ ΠΏΠΎΠΊΡΡΡΠΈΡ ΡΡΡΠΎΠΊΠΈ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΠΎΠΊΡΡΡΠΈΡ ΠΊΠΎΠ΄Π° ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠΎΠ³ΠΎΠ½ΠΎΠ² ΡΠ΅ΡΡΠΎΠ² Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ .NET ΠΈ .NET Core. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ² Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ Π²ΡΠΏΡΡΠΊΠ΅.
Π‘Π²ΠΎΠ΄ΠΊΡ ΠΏΠΎ ΠΏΠΎΠΊΡΡΡΠΈΡ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π‘Π²ΠΎΠ΄ΠΊΠ° Π² ΡΠ²ΠΎΠ΄ΠΊΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°.
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΠΎΠΊΡΡΡΠΈΠ΅ ΠΊΠΎΠ΄Π° .
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
Π ΠΌΠ½ΠΎΠ³ΠΎΡΡΠ°ΠΏΠ½ΠΎΠΌ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ΅ YAML ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠΊΡΡΡΠΈΡ ΠΊΠΎΠ΄Π° Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Π³ΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°.
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Π°ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΡΡΠ°Π΄ΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠΊΡΡΡΠΈΡ ΠΊΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅Π΄ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ΠΌ Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ΅Π΄Π΅.ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΠΎΠΊΡΡΡΠΈΡ ΠΊΠΎΠ΄Π° ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠΎΠ³ΠΎΠ½ΠΎΠ² ΡΠ΅ΡΡΠΎΠ² Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ .NET ΠΈ .NET Core. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ² Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ Π²ΡΠΏΡΡΠΊΠ΅.
ΠΡΡΠ΅ΡΠ°ΠΊΡΡ
ΠΡΡΠ΅ΡΠ°ΠΊΡΡ ΠΏΠΎΠΊΡΡΡΠΈΡ ΠΊΠΎΠ΄Π°, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΡΡΠ΅ΡΠ°ΠΊΡΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ Π²Π΅Ρ Ρ Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΊΠ°Π»Ρ.
ΠΡΡΠ΅ΡΠ°ΠΊΡΡ ΠΏΠΎΠΊΡΡΡΠΈΡ ΠΊΠΎΠ΄Π°, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π‘Π²ΠΎΠ΄ΠΊΠ° Π² ΡΠ²ΠΎΠ΄ΠΊΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°.
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠ΅ΡΡΠΎΠ²ΡΡ Π·Π°Π΄Π°ΡΡ Visual Studio Π΄Π»Ρ ΡΠ±ΠΎΡΠ° ΠΏΠΎΠΊΡΡΡΠΈΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ .NET ΠΈ .NET Core, Π°ΡΡΠ΅ΡΠ°ΠΊΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ