ΠΠ΄ΡΠ°Π²ΠΎ, Ρ Π΅Π±ΡΠ΅ΡΡΠΊΠΈ!
ΠΠ°ΡΠ°ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠ° Π΅ ΡΠΏΠ΅ΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π·Π° ΡΠ°Π·Π²ΠΎΡ Π½Π° ΡΠΎΡΡΠ²Π΅ΡΡΠΊΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠ° ΠΎΠ΄ ΠΊΠ»Π°ΡΠ°ΡΠ° ERP, ΡΠΈΡ Π»Π°Π²ΠΎΠ²ΡΠΊΠΈ Π΄Π΅Π» Π΅ ΠΎΠΊΡΠΏΠΈΡΠ°Π½ ΠΎΠ΄ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠΎ ΠΎΠ³ΡΠΎΠΌΠ½Π° Π΄Π΅Π»ΠΎΠ²Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈ ΠΏΡΠΎΡΠΎΠΊ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ a la EDMS. Π’Π΅ΠΊΠΎΠ²Π½ΠΈΡΠ΅ Π²Π΅ΡΠ·ΠΈΠΈ Π½Π° Π½Π°ΡΠΈΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ ΡΠ΅ Π·Π°ΡΠ½ΠΎΠ²Π°Π°Ρ Π½Π° JavaEE ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½ΠΎ Π½ΠΈΠ΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠ°ΠΌΠ΅ ΡΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΈΡΠ΅. ΠΠ΄Π½Π° ΠΎΠ΄ Π½Π°ΡΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½ΠΈΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π° Π²Π°ΠΊΠ²ΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡΠ° Π΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΈ ΠΊΠΎΠΈ ΠΏΡΠΈΠΏΠ°ΡΠ°Π°Ρ Π½Π° ΡΠΎΡΠ΅Π΄Π½ΠΈΡΠ΅ Π΄ΠΎΠΌΠ΅Π½ΠΈ. ΠΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ ΡΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ°ΡΠ° ΠΎΡΡΠ΅ΠΊΠΎΠ³Π°Ρ Π½ΠΈ Π·Π°Π΄Π°Π²Π°Π° ΠΎΠ³ΡΠΎΠΌΠ½Π° Π³Π»Π°Π²ΠΎΠ±ΠΎΠ»ΠΊΠ°, Π±Π΅Π· ΠΎΠ³Π»Π΅Π΄ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΎΠ½ΡΠΊΠΈΡΠ΅ ΡΡΠΈΠ»ΠΎΠ²ΠΈ, ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΡΠΊΠΈΡΠ΅ ΡΡΠ΅ΠΊΠΎΠ²ΠΈ ΠΈ ΡΠ°ΠΌΠΊΠΈ ΡΡΠΎ Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅, Π½ΠΎ Π½Π΅ΠΎΠ΄Π°ΠΌΠ½Π° ΠΈΠΌΠ° Π½Π°ΠΏΡΠ΅Π΄ΠΎΠΊ Π²ΠΎ ΡΠ΅ΡΠ°Π²Π°ΡΠ΅ΡΠΎ Π½Π° Π²Π°ΠΊΠ²ΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ.
ΠΠΎ Π½Π°ΠΏΠΈΡΠΎΡ ΡΡΠΎ Π²ΠΈ Π³ΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΠΌ ΡΠ΅ Π·Π±ΠΎΡΡΠ²Π°ΠΌ Π·Π° ΠΈΡΠΊΡΡΡΠ²ΠΎΡΠΎ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΎΠ½ΡΠΊΠΈΡΠ΅ ΠΈΡΡΡΠ°ΠΆΡΠ²Π°ΡΠ° ΠΊΠΎΠΈ ΠΠΠ βΠΡΠΈΡΡΠ°β Π³ΠΈ ΠΈΠΌΠ° Π²ΠΎ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½Π°ΡΠ° ΠΎΠ±Π»Π°ΡΡ. ΠΠ΅ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° ΠΎΠ΄ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΡΠ°Π·Π²ΠΈΠ²Π°Ρ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΡΠ΅ ΠΎΡΠΊΡΠΈΠ΅ΠΌΠ΅ ΡΡΠΎ ΡΠ΅ ΠΊΡΠΈΠ΅ Π·Π°Π΄ ΠΎΠ²Π°Π° Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎΡΡ.
ΠΠ΄ΡΠ΅ΠΊΡΠ²Π°ΡΠ΅ ΠΎΠ΄ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡ
ΠΡΡ ΠΈΡΠ΅ΠΊΡΠΎΠ½ΡΠΊΠΈΡΠ΅ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠΊΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈ Π²ΠΎ ΡΡΠ°ΡΠΈΡΠ°ΡΠ° ΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ ΠΎΠ΄ ΠΌΠ΅Π½Π΅ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π»ΠΈΡΠ½ΠΎ ΠΈΡΠΊΡΡΡΠ²ΠΎ Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ. ΠΠ²ΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡΠ° Π½Π΅ ΡΠ²ΡΠ΄Π°Ρ Π΄Π΅ΠΊΠ° ΡΠ΅ ΡΠ½ΠΈΠ²Π΅ΡΠ·Π°Π»Π½ΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Π±ΠΈ Π½Π΅ ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΈ ΠΏΠΎΠ΄ Π΄ΡΡΠ³ΠΈ ΡΡΠ»ΠΎΠ²ΠΈ Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π°.
ΠΠ°ΠΊΠ²Π° Π²ΡΡΠΊΠ° ΠΈΠΌΠ° BPM ΡΠΎ ΡΠΎΠ°?
ΠΠ° Π΄Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠΈΠΌΠ΅ Π½Π° ΠΎΠ²Π° ΠΏΡΠ°ΡΠ°ΡΠ΅, ΡΡΠ΅Π±Π° Π΄Π° Π½Π°Π²Π»Π΅Π·Π΅ΠΌΠ΅ ΠΌΠ°Π»ΠΊΡ ΠΏΠΎΠ΄Π»Π°Π±ΠΎΠΊΠΎ Π²ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΈΡΠ΅ Π½Π° ΠΏΡΠΈΠΌΠ΅Π½Π΅ΡΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π½Π° Π½Π°ΡΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡΠ°. ΠΠ»Π°Π²Π½ΠΈΠΎΡ Π΄Π΅Π» ΠΎΠ΄ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π²ΠΎ Π½Π°ΡΠΈΠΎΡ ΡΠΈΠΏΠΈΡΠ΅Π½ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌ Π΅ Π²Π½Π΅ΡΡΠ²Π°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΏΡΠ΅ΠΊΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΈ, ΡΠ°ΡΠ½Π° ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π½ΠΈΠ²Π½ΠΎ ΡΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ ΠΏΡΠ΅ΠΊΡ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΡΠ°Π±ΠΎΡΠ΅Π½ ΡΠ΅ΠΊ, ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° Π΄ΡΡΠ³ ΡΠΈΡΡΠ΅ΠΌ / Π°Π½Π°Π»ΠΈΡΠΈΡΠΊΠ° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ / Π°ΡΡ ΠΈΠ²Π°, Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ°ΠΈ . Π’Π°ΠΊΠ°, ΠΊΠ»ΡΡΠ½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° Π½ΠΈΠ²Π½ΠΈΡΠ΅ Π²Π½Π°ΡΡΠ΅ΡΠ½ΠΈ Π΄Π΅Π»ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ.
ΠΠ° ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎΡΡ, Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΡ βΠ΄ΠΎΠΊΡΠΌΠ΅Π½Ρβ Π²ΠΎ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΠΊΠ°ΠΊΠΎ Π½Π΅ΠΊΠ°ΠΊΠ²Π° Π°ΠΏΡΡΡΠ°ΠΊΡΠΈΡΠ° Π½Π° Π·Π±ΠΈΡ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅ΡΠΈ ΡΠΎ Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠΈ ΠΊΠ»ΡΡ ΡΠΎ ΠΊΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ βΠΏΠΎΠ²ΡΠ·Π΅ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΡΠ°Π±ΠΎΡΠ΅Π½ ΡΠ΅ΠΊβ.
ΠΠΎ, ΡΡΠΎ Π΅ ΡΠΎ Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ°? ΠΠ° ΠΊΡΠ°ΡΠΎΡ Π½Π° ΠΊΡΠ°ΠΈΡΡΠ°ΡΠ°, Π·Π°Π΄Π°ΡΠ°ΡΠ° Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° Π΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π° ΠΎΠ΄ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ, ΠΊΠΎΡΠ° Π΅ βΠΏΡΠ΅ΡΠ΅ΡΠ΅Π½Π°β Π½Π° Π΄Π΅Π»ΠΎΠ²ΠΈ ΠΠ ΠΏΠΎ Π±Π°ΡΠ°ΡΠ΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ, ΡΡΠΊΡ ΠΏΠΎΠ΄ Π²Π»ΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎΡΠ΅ΠΌΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°ΠΊΡΠΎΡΠΈ:
- ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ Π½Π° Π·Π°ΠΊΠΎΠ½ΠΎΡ Π½Π° ΠΠΎΠ½Π²Π΅Ρ;
- ΠΊΠ°ΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΠΏΠΎΠ²ΡΠΎΡΠ½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΈ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ ΡΠ°Π·Π²ΠΈΠ΅Π½ΠΈ Π·Π° Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ;
- ΠΏΠΎ Π΄ΠΈΡΠΊΡΠ΅ΡΠΈΡΠ° Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΎΡ, Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π½Π΅ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΈ Π±Π°ΡΠ°ΡΠ°.
ΠΠΎΡΡΠΎΠΈ Π³ΠΎΠ»Π΅ΠΌΠΎ ΠΈΡΠΊΡΡΠ΅Π½ΠΈΠ΅ Π΄Π° ΡΠ΅ ΠΎΠ΄Π²ΠΎΠΈ Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°ΡΠ΅ ΠΎΠ΄ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° Π³Π»Π°Π²Π½ΠΈΠΎΡ ΡΠ΅ΠΊ Π½Π° ΡΠ°Π±ΠΎΡΠ°, Π·Π° Π΄Π° Π½Π΅ ΡΠ΅ Π·Π°Π³Π°Π΄ΠΈ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° ΡΠΎ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΈ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°ΡΠ΅ ΠΈ Π΄Π° ΡΠ΅ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΎΡ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΠΎΠ΄ ΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π΄Π° Π½Π°Π²Π»Π΅Π³ΡΠ²Π° Π²ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΈΡΠ΅ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΎΠ½ΡΠΊΠΈΠΎΡ ΠΏΠ΅ΡΠ·Π°ΠΆ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ. ΠΠ²ΠΎΡ ΠΏΡΠΈΡΡΠ°ΠΏ ΠΈΠΌΠ° Π³ΠΎΠ»Π΅ΠΌ Π±ΡΠΎΡ Π½Π° ΠΏΡΠ΅Π΄Π½ΠΎΡΡΠΈ, Π½ΠΎ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ° ΡΠ° ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π° Π½Π΅Π³ΠΎΠ²Π°ΡΠ° Π½Π΅Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ:
- ΡΠ΅ΡΠ°Π²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ ΡΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ°ΡΠ° ΠΎΠ±ΠΈΡΠ½ΠΎ ΡΠ΅ Π²ΡΠ°ΡΠ° Π½Π° Π½Π°ΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΈΡΠ΅ ΠΎΠΏΡΠΈΠΈ Π²ΠΎ ΡΠΎΡΠΌΠ° Π½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈ ΠΏΠΎΠ²ΠΈΡΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠ΅ ΡΠΎΡΠΊΠΈ Π½Π° ΠΏΡΠΎΡΠΈΡΡΠ²Π°ΡΠ΅ Π²ΠΎ ΡΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π³Π»Π°Π²Π½ΠΈΠΎΡ ΡΠ°Π±ΠΎΡΠ΅Π½ ΡΠ΅ΠΊ (Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠΈΡΠ΅ Π½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° ΡΠ΅ Π΄ΠΈΡΠΊΡΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ΄ΠΎΠ»Ρ);
- Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ΅ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° ΡΓ¨ ΡΡΡΠ΅ ΠΏΡΠΎΠ΄ΠΈΡΠ°Π°Ρ Π²ΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π΄Π΅Π»ΠΎΠ²Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ° ΠΊΠΎΠ³Π° Π΅ ΠΏΠΎΡΡΠ΅Π±Π½Π° ΠΏΠΎΠ²ΡΠ°ΡΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΠΎΠ΄ Π΄ΡΡΠ³ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ;
- ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΎΡ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΡΠ° ΠΈΠ³Π½ΠΎΡΠΈΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ°ΡΠ° ΠΈ Π»Π΅ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ° ΠΏΡΠ΅ΠΊΠΈΠ½Π΅ ΡΠΎ ΠΌΠ΅Π½ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΠΎΡ ΡΠ΅ΠΊ;
- ΡΠΈΡΡΠ΅ΠΌΠΎΡ ΠΏΡΠ΅ΡΡΠ°Π½ΡΠ²Π° Π΄Π° Π±ΠΈΠ΄Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π° ΡΠ΅Π»ΠΈΠ½Π° ΠΎΠ΄ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ, βΡΠ΅Π²ΠΎΠ²ΠΈΡΠ΅β ΠΌΠ΅ΡΡ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ ΡΡΠ°Π½ΡΠ²Π°Π°Ρ Π·Π°Π±Π΅Π»Π΅ΠΆΠ»ΠΈΠ²ΠΈ ΠΈ ΡΠ΅ ΠΏΠΎΡΠ°Π²ΡΠ²Π°Π°Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΡΠΎ ΠΈΠ½ΠΈΡΠΈΡΠ° ΠΏΡΠ΅Π½ΠΎΡ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ Π΅Π΄Π΅Π½ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π²ΠΎ Π΄ΡΡΠ³.
ΠΡΡΠ³ ΠΏΡΠΈΡΡΠ°ΠΏ Π΅ Π΄Π° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠΊΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠΈ ΠΊΠ°ΠΊΠΎ ΡΠΎΡΡΠ°Π²Π΅Π½ Π΄Π΅Π» ΠΎΠ΄ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π΄Π΅Π»ΠΎΠ²Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΎΡ ΡΠ΅ΠΊ. ΠΠ° Π΄Π° ΡΠ΅ ΡΠΏΡΠ΅ΡΠΈ Π²ΡΡΠΎΠ³Π»Π°Π²ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ Π½Π° ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΈΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ΡΠΎ Π½ΠΎΠ²ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠΈ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° ΡΡΠ΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π΅ Π»Π΅ΡΠ½ΠΎ ΠΈ Π±Π΅Π· Π½Π°ΠΏΠΎΡ, ΡΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΠ²Π° Π΅ ΠΏΠΎΡΠ΅ΡΠΊΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΎΡΠΊΠΎΠ»ΠΊΡ ΡΡΠΎ ΠΈΠ·Π³Π»Π΅Π΄Π°: Π°Π»Π°ΡΠΊΠ°ΡΠ° ΠΌΠΎΡΠ° Π΄Π° Π±ΠΈΠ΄Π΅ Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ ΠΌΠΎΡΠ½Π° Π·Π° Π΄Π° ΠΌΡ ΡΠ° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΠΏΠΎΡΡΠ΅Π±Π½Π°ΡΠ° ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ Π½Π° ΠΎΠΏΡΠΈΠΈ Π·Π° Π½Π΅ΡΠ·ΠΈΠ½Π° ΡΠΏΠΎΡΡΠ΅Π±Π°, Π±Π΅Π· Π΄Π° ΠΌΡ Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈ βΠ΄Π° ΡΠΈ ΠΏΡΠΊΠ° Π²ΠΎ Π½ΠΎΠ³Π°β. ΠΠΌΠ° ΠΌΠ½ΠΎΠ³Ρ ΠΏΡΠ°ΡΠ°ΡΠ° Π½Π° ΠΊΠΎΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΡ ΠΌΠΎΡΠ° Π΄Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠΈ Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π½Π° Π·Π°Π΄Π°ΡΠΈΡΠ΅ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ°, Π½ΠΎ Π·Π° ΠΊΠΎΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΎΡ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π½Π΅ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ°Π·ΠΌΠΈΡΠ»ΡΠ²Π° Π²ΠΎ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΠ΅ΠΊΠΎΡΠ΄Π½Π΅Π²Π½Π° ΡΠ°Π±ΠΎΡΠ°: Π³ΡΠ°Π½ΠΈΡΠΈ Π½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈΡΠ΅, ΠΊΠΎΠ½Π·ΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡ, Π°ΡΠΎΠΌΠΈΡΠ½ΠΎΡΡ, Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ, ΡΠΊΠ°Π»ΠΈΡΠ°ΡΠ΅, ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠΈ, ΡΡΡΠΈΡΠ°ΡΠ΅, ΠΌΠ°ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅, Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ° ΠΈ ΠΏΡΠ΅ΡΡΠ»ΡΠ²Π°ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΈ, ΠΈΡΠ½. ΠΠ΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎ Π΅ Π΄Π° ΠΈΠΌ ΡΠ΅ ΠΏΠΎΠ½ΡΠ΄Π°Ρ Π½Π° ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΈΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΈ Π·Π° ΡΠ΅ΡΠ΅Π½ΠΈΡΠ° Π²ΠΎ ΠΊΠΎΠΈ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅ Π½Π° ΡΠΈΡΠ΅ ΡΠ°ΠΊΠ²ΠΈ ΠΏΡΠ°ΡΠ°ΡΠ° ΡΠ΅ Π²Π΅ΡΠ΅ ΡΠΊΡΠΈΠ΅Π½ΠΈ. ΠΠ²ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΈ ΠΌΠΎΡΠ° Π΄Π° Π±ΠΈΠ΄Π°Ρ ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ Π±Π΅Π·Π±Π΅Π΄Π½ΠΈ: Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° ΡΠ΅ ΠΌΠ΅Π½ΡΠ²Π° ΠΌΠ½ΠΎΠ³Ρ ΡΠ΅ΡΡΠΎ, ΡΡΠΎ Π³ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π° ΡΠΈΠ·ΠΈΠΊΠΎΡ ΠΎΠ΄ Π²ΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈ, ΡΠ΅Π½Π°ΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈΡΠ΅ ΠΌΠΎΡΠ° Π΄Π° ΠΎΡΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ.
ΠΠΎ, ΠΊΠ°ΠΊΠ²Π° Π²ΡΡΠΊΠ° ΠΈΠΌΠ° BPM ΡΠΎ ΡΠΎΠ°? ΠΠΎΡΡΠΎΡΠ°Ρ ΠΌΠ½ΠΎΠ³Ρ ΠΎΠΏΡΠΈΠΈ Π·Π° ΡΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΠΎΡ ΡΠ΅ΠΊ...
ΠΠ°Π²ΠΈΡΡΠΈΠ½Π°, Π΄ΡΡΠ³Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ Π΅ ΠΌΠ½ΠΎΠ³Ρ ΠΏΠΎΠΏΡΠ»Π°ΡΠ½Π° Π²ΠΎ Π½Π°ΡΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡΠ° - ΠΏΡΠ΅ΠΊΡ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΠΎΡΠΎ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π½Π° Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌΠΎΡ Π½Π° ΡΡΠ°Π½Π·ΠΈΡΠΈΡΠ° Π½Π° ΡΠΎΡΡΠΎΡΠ±ΠΈ ΠΈ ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠΈΡΠ΅ ΡΠΎ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π·Π° ΡΡΠ°Π½Π·ΠΈΡΠΈΠΈ. ΠΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ, ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° ΡΡΠΎ ΡΠ° ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ°Π»Π½Π°ΡΠ° ΠΏΠΎΠ·ΠΈΡΠΈΡΠ° Π½Π° βΠ΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΡβ Π²ΠΎ Π΄Π΅Π»ΠΎΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ Π΅ Π°ΡΡΠΈΠ±ΡΡ Π½Π° ΡΠ°ΠΌΠΈΠΎΡ βΠ΄ΠΎΠΊΡΠΌΠ΅Π½Ρβ.
ΠΠ°ΠΊΠ° ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π½Π° ΠΏΠΎΡΠ΅ΡΠΎΠΊΠΎΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ
ΠΠΎΠΏΡΠ»Π°ΡΠ½ΠΎΡΡΠ° Π½Π° ΠΎΠ²Π°Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° ΡΠ΅ Π΄ΠΎΠ»ΠΆΠΈ Π½Π° ΡΠ΅Π»Π°ΡΠΈΠ²Π½Π°ΡΠ° Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎΡΡ ΠΈ Π±ΡΠ·ΠΈΠ½Π° Π½Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ Π»ΠΈΠ½Π΅Π°ΡΠ½ΠΈ Π΄Π΅Π»ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ. ΠΠ΅ΡΡΡΠΎΠ°, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠΎΡΡΠ²Π΅ΡΡΠΊΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΎ ΡΡΠ°Π½ΡΠ²Π°Π°Ρ ΠΏΠΎΡΠ»ΠΎΠΆΠ΅Π½ΠΈ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½ΠΈΠΎΡ Π΄Π΅Π» ΠΎΠ΄ Π΄Π΅Π»ΠΎΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ ΡΠ°ΡΡΠ΅ ΠΈ ΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅Π½. ΠΠΌΠ° ΠΏΠΎΡΡΠ΅Π±Π° ΠΎΠ΄ ΡΠ°Π·Π³ΡΠ°Π΄ΡΠ²Π°ΡΠ΅, ΠΏΠΎΠ²ΡΠΎΡΠ½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° Π΄Π΅Π»ΠΎΠ²ΠΈ ΠΎΠ΄ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π½Π° ΡΠ°Π·Π³ΡΠ°Π½ΡΠ²Π°ΡΠ΅ ΡΠ°ΠΊΠ° ΡΡΠΎ ΡΠ΅ΠΊΠΎΡΠ° Π³ΡΠ°Π½ΠΊΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ. ΠΠΎ ΡΠ°ΠΊΠ²ΠΈ ΡΡΠ»ΠΎΠ²ΠΈ, Π°Π»Π°ΡΠΊΠ°ΡΠ° ΡΡΠ°Π½ΡΠ²Π° Π½Π΅Π·Π³ΠΎΠ΄Π½Π°, Π° Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌΠΎΡ Π·Π° ΡΡΠ°Π½Π·ΠΈΡΠΈΡΠ° Π½Π° ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° ΡΠ° Π³ΡΠ±ΠΈ ΡΠ²ΠΎΡΠ°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠΊΠ° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π° (ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½ΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠΈ Π²ΠΎΠΎΠΏΡΡΠΎ Π½Π΅ ΡΠ΅ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΡΠ°Π°Ρ Π½Π° Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌΠΎΡ).
ΠΠ°ΠΊΠ° ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΠΏΠΎ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΏΠΎΠ²ΡΠΎΡΡΠ²Π°ΡΠ° Π½Π° ΠΏΠΎΡΠ°ΡΠ½ΡΠ²Π°ΡΠ΅ Π½Π° Π±Π°ΡΠ°ΡΠ°ΡΠ°.
ΠΠ·Π»Π΅Π·ΠΎΡ ΠΎΠ΄ ΠΎΠ²Π°Π° ΡΠΈΡΡΠ°ΡΠΈΡΠ° Π±Π΅ΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΌΠΎΡΠΎΡΠΎΡ
ΠΠ°Π» Π΄Π΅Π» ΠΎΠ΄ ΡΠ»ΠΎΠΆΠ΅Π½ Π΄Π΅Π»ΠΎΠ²Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ
ΠΠ° Π΄ΠΎΠ»Π³ ΡΠΎΠΊ, ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π΅ Π³ΠΈ ΠΎΠΏΡΠ°Π²Π΄Π° ΠΎΡΠ΅ΠΊΡΠ²Π°ΡΠ°ΡΠ°: Π²ΠΈΡΠΎΠΊΠΈΠΎΡ ΡΡΡΠ΄ΠΎΠΈΠ½ΡΠ΅Π½Π·ΠΈΡΠ΅Ρ Π½Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π΄Π΅Π»ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΏΡΠ΅ΠΊΡ Π²ΠΈΠ·ΡΠ΅Π»Π½ΠΈ Π°Π»Π°ΡΠΊΠΈ Π½Π΅ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π°Ρ ΠΏΡΠΈΡΠ°ΡΠ»ΠΈΠ²ΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΈ Π·Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡ, Π° ΡΠ°ΠΌΠ°ΡΠ° Π°Π»Π°ΡΠΊΠ° ΡΡΠ°Π½Π° Π΅Π΄Π½Π° ΠΎΠ΄ Π½Π°ΡΠ½Π΅Π΄ΠΎΠΏΠ°Π΄Π½Π°ΡΠΈΡΠ΅ ΠΌΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅. ΠΠΌΠ°ΡΠ΅ ΠΏΠΎΠΏΠ»Π°ΠΊΠΈ ΠΈ Π·Π° Π²Π½Π°ΡΡΠ΅ΡΠ½Π°ΡΠ° ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΠΌΠΎΡΠΎΡΠΎΡ, ΡΡΠΎ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΠΎΡΠ°Π²Π° Π½Π° ΠΌΠ½ΠΎΠ³Ρ βΠ·Π°ΠΊΡΠΏΠΈβ ΠΈ βΠΏΠ°ΡΠ΅ΡΠΈΡΠΈβ.
ΠΠ»Π°Π²Π½ΠΈΠΎΡ ΠΏΠΎΠ·ΠΈΡΠΈΠ²Π΅Π½ Π°ΡΠΏΠ΅ΠΊΡ Π½Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ΡΠΎ Π½Π° jBPM Π±Π΅ΡΠ΅ ΡΠ²Π΅ΡΠ½ΠΎΡΡΠ° Π·Π° ΠΏΡΠΈΠ΄ΠΎΠ±ΠΈΠ²ΠΊΠΈΡΠ΅ ΠΈ ΡΡΠ΅ΡΠΈΡΠ΅ ΠΎΠ΄ ΠΏΠΎΡΡΠΎΠ΅ΡΠ΅ΡΠΎ Π½Π° ΠΏΠΎΡΡΠΎΡΠ°Π½Π° ΡΠΎΡΡΠΎΡΠ±Π° Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠΎΡ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ. ΠΠ° Π²ΠΈΠ΄ΠΎΠ²ΠΌΠ΅ ΠΈ ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ΅Π½ ΠΏΡΠΈΡΡΠ°ΠΏ Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΡΠ»ΠΎΠΆΠ΅Π½ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° ΠΏΠΎΠΌΠ΅ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠΈ ΠΏΡΠ΅ΠΊΡ ΡΠΈΠ³Π½Π°Π»ΠΈ ΠΈ ΠΏΠΎΡΠ°ΠΊΠΈ. ΠΡΠΈΡΡΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΏΠΎΡΡΠΎΡΠ°Π½Π° ΡΠΎΡΡΠΎΡΠ±Π° ΠΈΠ³ΡΠ° ΠΊΠ»ΡΡΠ½Π° ΡΠ»ΠΎΠ³Π° Π²ΠΎ ΠΎΠ²Π°.
ΠΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π³ΠΎΡΠ΅Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΡΠΎ, ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π·Π°ΠΊΠ»ΡΡΠΈΠΌΠ΅: ΠΡΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ ΠΏΡΠΈΡΡΠ°ΠΏ Π²ΠΎ ΡΡΠΈΠ»ΠΎΡ BPM Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠ΅ΡΠΈΠΌΠ΅ ΡΠΈΡΠΎΠΊ ΠΎΠΏΡΠ΅Π³ Π½Π° Π·Π°Π΄Π°ΡΠΈ Π·Π° Π΄Π° Π³ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΡΓ¨ ΠΏΠΎΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΈΡΠ΅ Π΄Π΅Π»ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ, Ρ Π°ΡΠΌΠΎΠ½ΠΈΡΠ½ΠΎ Π΄Π° Π³ΠΈ Π²ΠΊΠ»ΠΎΠΏΠΈΠΌΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈΡΠ΅ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° Π²ΠΎ ΠΎΠ²ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈ Π΄Π° ΡΠ° ΠΎΠ΄ΡΠΆΠΈΠΌΠ΅ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠ° Π·Π° Π²ΠΈΠ·ΡΠ΅Π»Π½ΠΎ ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π°ΡΠ΅ Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ Π²ΠΎ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½Π° Π½ΠΎΡΠ°ΡΠΈΡΠ°.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠΈ Π½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΡΠ΅ ΠΏΠΎΠ²ΠΈΡΠΈ ΠΊΠ°ΠΊΠΎ ΡΠ΅ΠΌΠ° Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ°
Π‘ΠΈΠ½Ρ ΡΠΎΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° ΡΠ΅ ΠΎΠ΄Π½Π΅ΡΡΠ²Π° Π½Π° Π½Π°ΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΈΠΎΡ Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠΊΠΈ ΠΏΠΎΠ²ΠΈΠΊ. ΠΠ΄Π΅Π½ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π΄Π΅Π»ΡΠ²Π° ΠΊΠ°ΠΊΠΎ ΡΠ΅ΡΠ²Π΅ΡΡΠΊΠ° ΡΡΡΠ°Π½Π° ΠΈ Π³ΠΎ ΠΈΠ·Π»ΠΎΠΆΡΠ²Π° API ΡΠΎ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈΠΎΡ ΠΌΠ΅ΡΠΎΠ΄. ΠΡΡΠ³ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π΄Π΅Π»ΡΠ²Π° ΠΊΠ°ΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ° ΡΡΡΠ°Π½Π° ΠΈ Π²ΠΎ Π²ΠΈΡΡΠΈΠ½ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠ΅ ΡΠ°Π²ΡΠ²Π° ΠΈ Π³ΠΎ ΡΠ΅ΠΊΠ° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΎΡ. ΠΠΎ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡ ΠΎΠ΄ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ, ΡΡΡΠ°Π½ΠΈΡΠ΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΡ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΡ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠ΅ Π»ΠΎΡΠΈΡΠ°Π°Ρ ΠΈΠ»ΠΈ Π²ΠΎ ΠΈΡΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΈ ΠΏΡΠΎΡΠ΅Ρ, ΠΈΠ»ΠΈ Π²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ. ΠΠΎ Π²ΡΠΎΡΠΈΠΎΡ ΡΠ»ΡΡΠ°Ρ, ΡΡΠ΅Π±Π° Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° RPC ΠΈ Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈΡΠ΅ ΠΌΠ°ΡΡΠ΅Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΎΡ ΠΎΠ΄ ΠΏΠΎΠ²ΠΈΠΊΠΎΡ.
ΠΠ²ΠΎΡ ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° ΠΈΠΌΠ° ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ Π³ΠΎΠ»Π΅ΠΌ ΡΠ΅Ρ Π½Π° Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠΈ, Π½ΠΎ ΡΠΎΡ Π΅ ΠΌΠ½ΠΎΠ³Ρ ΡΠΈΡΠΎΠΊΠΎ ΠΊΠΎΡΠΈΡΡΠ΅Π½ Π²ΠΎ ΠΏΡΠ°ΠΊΡΠ° ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎΡΡ. ΠΡΠ·ΠΈΠ½Π°ΡΠ° Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° ΠΏΠ»Π΅Π½ΠΈ ΠΈ Π²Π΅ ΠΏΡΠΈΠ½ΡΠ΄ΡΠ²Π° Π΄Π° ΡΠ° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²ΠΎ ΡΡΠ»ΠΎΠ²ΠΈ Π½Π° ΠΏΡΠΈΡΠΈΡΠΊΠ°ΡΠ΅ Π½Π° ΡΠΎΠΊΠΎΠ²ΠΈ, Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΠΈ Π³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΊΠ°ΠΊΠΎ ΡΠ΅Ρ Π½ΠΈΡΠΊΠΈ Π΄ΠΎΠ»Π³. ΠΠΎ, ΡΠ΅ ΡΠ»ΡΡΡΠ²Π° ΠΈ Π½Π΅ΠΈΡΠΊΡΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈ Π΄Π° Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π½Π΅ΡΠ²Π΅ΡΠ½ΠΎ, Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ Π½Π΅ ΡΡΠ°ΡΠ°ΡΡΠΈ Π³ΠΈ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΈΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΈΡΠΈ.
ΠΠΎΠΊΡΠ°Ρ Π½Π°ΡΠΎΡΠΈΠ³Π»Π΅Π΄Π½ΠΎΡΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΎΡΡΠ° Π½Π° ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅, ΠΈΠΌΠ° ΠΈ ΠΏΠΎΠΌΠ°Π»ΠΊΡ ΠΎΡΠΈΠ³Π»Π΅Π΄Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠΎ βΡΠ°ΡΡΠ΅ΡΠΊΠΈΡΠ΅β ΠΈ βΡΠ°ΡΡΠ΅ΡΠΊΠΈΡΠ΅β ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ. ΠΠ°Π²ΠΈΡΡΠΈΠ½Π°, Π°ΠΊΠΎ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π°ΠΏΡΠ°Π²ΠΈ Π½Π΅ΠΊΠΎΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΡΠΎΠ³Π°Ρ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π°Ρ, Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈΡΠ΅, ΠΏΠ°ΠΊ, Π±Π»ΠΎΠΊΠΈΡΠ°Π°Ρ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π·Π°ΡΠ΅Π³Π½Π°ΡΠΈ ΠΎΠ΄ ΠΎΠ²ΠΈΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ. ΠΠ΄Π½ΠΎΡΠ½ΠΎ, Π΄ΠΎΠ΄Π΅ΠΊΠ° Π΅Π΄Π΅Π½ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π½Π΅ ΡΠ΅ΠΊΠ° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ ΠΎΠ΄ Π΄ΡΡΠ³ΠΈΠΎΡ, Π½Π΅ΠΌΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ° Π·Π°Π²ΡΡΠΈ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° ΠΈ Π΄Π° Π³ΠΈ ΠΎΡΡΡΡΠ°Π½ΠΈ Π±ΡΠ°Π²ΠΈΡΠ΅. ΠΠ²Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π³ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π° ΡΠΈΠ·ΠΈΠΊΠΎΡ ΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΅ΡΠ΅ΠΊΡΠΈ:
- ΠΠ΄Π³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π΅ ΠΈΠ·Π³ΡΠ±Π΅Π½Π°, ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅ ΡΠ΅ΠΊΠ°Π°Ρ Π΄ΠΎΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠΈ Π½Π° ΠΏΡΠ°ΡΠ°ΡΠ°ΡΠ°;
- ΡΠ΅ΡΠ²Π΅ΡΠΎΡ Π³Π΅Π½Π΅ΡΠ°Π»Π½ΠΎ ΠΏΡΠ΅ΡΡΠ°Π½ΡΠ²Π° Π΄Π° ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ° Π½Π° Π±Π°ΡΠ°ΡΠ°ΡΠ° Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΏΡΠ΅Π½Π°ΡΡΡΠΏΠ°Π½ΠΈΠΎΡ Π±Π°Π·Π΅Π½ Π½Π° Π½ΠΈΡΠΊΠΈ: ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠΈΠΎΡ Π΄Π΅Π» ΠΎΠ΄ Π½ΠΈΡΠΊΠΈΡΠ΅ ΡΠ΅ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π½Π° ΡΠ΅ΡΡΡΡ ΠΎΠΊΡΠΏΠΈΡΠ°Π½ ΠΎΠ΄ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°;
- ΠΠΎΡΠ½ΡΠ²Π°Π°Ρ Π΄Π° ΡΠ΅ ΠΏΠΎΡΠ°Π²ΡΠ²Π°Π°Ρ ΡΠΎΡ-ΡΠΎΠΊΠ°ΠΊ: Π²Π΅ΡΠΎΡΠ°ΡΠ½ΠΎΡΡΠ° Π·Π° Π½ΠΈΠ²Π½ΠΎ ΠΏΠΎΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΈΠ»Π½ΠΎ Π·Π°Π²ΠΈΡΠΈ ΠΎΠ΄ Π²ΡΠ΅ΠΌΠ΅ΡΡΠ°Π΅ΡΠ΅ΡΠΎ Π½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈΡΠ΅, ΠΈΠ·Π½ΠΎΡΠΎΡ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈ Π±ΡΠ°Π²ΠΈΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π²ΠΎ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ°;
- ΡΠ΅ ΠΏΠΎΡΠ°Π²ΡΠ²Π°Π°Ρ Π³ΡΠ΅ΡΠΊΠΈ Π·Π° ΠΈΡΡΠ΅ΠΊΠΎΡ Π½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ°;
- ΡΠ΅ΡΠ²Π΅ΡΠΎΡ βΠ½Π΅ ΡΡΠΏΠ΅Π²Π°β ΡΠΎ OutOfMemory Π°ΠΊΠΎ Π·Π°Π΄Π°ΡΠ°ΡΠ° Π±Π°ΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΠΌΠ΅Π½ΡΠ²Π°ΡΠ΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΊΠΎΠ»ΠΈΡΠΈΠ½ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π° ΠΏΡΠΈΡΡΡΡΠ²ΠΎΡΠΎ Π½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π³ΠΎ ΠΎΡΠ΅ΠΆΠ½ΡΠ²Π° Π΄Π΅Π»Π΅ΡΠ΅ΡΠΎ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° βΠΏΠΎΠ»Π΅ΡΠ½ΠΈβ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ.
ΠΠ΄ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΎΠ½ΡΠΊΠ° Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ°, ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠΊΠΈ ΠΏΠΎΠ²ΠΈΡΠΈ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ°ΡΠ° Π΄ΠΎΠ²Π΅Π΄ΡΠ²Π° Π΄ΠΎ Π³ΡΠ±Π΅ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π°ΡΠ° Π²ΡΠ· ΠΊΠ²Π°Π»ΠΈΡΠ΅ΡΠΎΡ Π½Π° ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅ΡΠ½ΠΈΡΠ΅ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΈ: Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π°Ρ ΡΠ΅Π»Π½ΠΈΡΠ΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΈ Π·Π° ΠΊΠ²Π°Π»ΠΈΡΠ΅Ρ Π½Π° Π΅Π΄Π΅Π½ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΎ ΠΎΠ΄ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΈΡΠ΅ Π·Π° ΠΊΠ²Π°Π»ΠΈΡΠ΅Ρ Π½Π° Π΄ΡΡΠ³ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ. ΠΠΊΠΎ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°Π°Ρ ΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΠΌΠΎΠ²ΠΈ, ΠΎΠ²Π° Π΅ Π³ΠΎΠ»Π΅ΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
Π Π°Π±ΠΎΡΠΈΡΠ΅ ΡΡΠ°Π½ΡΠ²Π°Π°Ρ ΡΡΡΠ΅ ΠΏΠΎΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ Π°ΠΊΠΎ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ ΡΡΠΎ ΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π°Ρ ΡΠ΅ Π²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΡΡΠ΅Π±Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π½Π° Π΄Π²Π΅ΡΠ΅ ΡΡΡΠ°Π½ΠΈ. ΠΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ?
ΠΠΊΠΎ ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π°Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ ΠΏΠΎΡΠ΅Π±Π½ΠΈ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ, ΡΠΎΠ³Π°Ρ ΡΠ΅ ΡΡΠ΅Π±Π° Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈΡΠ΅ ΡΠΈΠ³ΡΡΠ½ΠΎ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΈΡΠΊΠ»ΡΡΠΎΡΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠ΅Π½Π·Π°ΡΠΈΡΠ°, Π° ΡΠΎΠ° ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΡΠ° Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ° Π³Π»Π°Π²Π½Π°ΡΠ° ΠΏΡΠΈΠ΄ΠΎΠ±ΠΈΠ²ΠΊΠ° ΠΎΠ΄ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ - Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎΡΡΠ°.
ΠΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π΄ΠΎΠ°ΡΠ°Π°Ρ Π½Π° ΡΠΌ, Π½ΠΎ Π½ΠΈΠ΅ Π½Π΅ Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ Π²ΠΎ Π½Π°ΡΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡΠ°: ΡΠ΅ΡΠΊΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ.
βΠ‘Π°Π³Π°β ΠΊΠ°ΠΊΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ ΡΠΎ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ°
Π‘ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΠ΅Π½Π°ΡΠ° ΠΏΠΎΠΏΡΠ»Π°ΡΠ½ΠΎΡΡ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΈΡΠ΅, ΠΏΠΎΠ±Π°ΡΡΠ²Π°ΡΠΊΠ°ΡΠ° Π·Π°
ΠΠ²ΠΎΡ ΠΌΠΎΠ΄Π΅Π» ΡΠΎΠ²ΡΡΠ΅Π½ΠΎ Π³ΠΈ ΡΠ΅ΡΠ°Π²Π° Π³ΠΎΡΠ΅Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π½Π° Π΄ΠΎΠ»Π³ΠΈΡΠ΅ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ, Π° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π³ΠΈ ΠΏΡΠΎΡΠΈΡΡΠ²Π° ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ ΠΎΠ΄ ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ°: ΠΊΠΎΠΌΠΏΠ΅Π½Π·Π°ΡΠΈΡΠ°ΡΠ° ΠΏΠΎ Π½Π΅ΡΡΠΏΠ΅ΡΠ½Π°ΡΠ° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Π³ΠΎ Π²ΡΠ°ΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π²ΠΎ ΠΏΡΠ²ΠΎΠ±ΠΈΡΠ½Π°ΡΠ° ΡΠΎΡΡΠΎΡΠ±Π°, ΡΡΠΊΡ Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π΅Π½ ΠΏΠ°Ρ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠ²Π° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ Π·Π°Π²ΡΡΠ΅Π½ΠΈΡΠ΅ ΡΠ΅ΠΊΠΎΡΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΊΠΎΠ³Π° ΡΠ΅ ΠΎΠ±ΠΈΠ΄ΡΠ²Π°ΡΠ΅ Π΄Π° Π³ΠΎ Π΄ΠΎΠ²Π΅Π΄Π΅ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π΄ΠΎ βΠ΄ΠΎΠ±Π°Ρβ ΠΊΡΠ°Ρ.
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, Π²ΠΎ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΎΠ²Π°Π° ΡΠ΅ΠΌΠ° Π΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½Π° ΠΊΠΎΠ³Π° ΡΡΠ°Π½ΡΠ²Π° Π·Π±ΠΎΡ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° Π½Π° Π»Π°Π±Π°Π²ΠΎ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΡΠ΅ Π·Π°Π±Π΅Π»Π΅ΠΆΡΠ²Π°Π°Ρ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΈ Π΅ΡΠ΅ΠΊΡΠΈ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π½ΠΈ ΠΎΠ΄ Π΄ΠΎΠ»Π³ΠΎΡΡΠ°ΡΠ½ΠΈΡΠ΅ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΈΡΠ΅ Π·Π°ΠΊΠ»ΡΡΡΠ²Π°ΡΠ° Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅.
ΠΠΎ ΠΎΠ΄Π½ΠΎΡ Π½Π° Π½Π°ΡΠΈΡΠ΅ Π΄Π΅Π»ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π²ΠΎ ΡΡΠΈΠ»ΠΎΡ Π½Π° BPM, ΠΈΠ·Π»Π΅Π³ΡΠ²Π° Π΄Π΅ΠΊΠ° Π΅ ΠΌΠ½ΠΎΠ³Ρ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π°Ρ βSagasβ: ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅ΡΠ½ΠΈΡΠ΅ ΡΠ΅ΠΊΠΎΡΠΈ Π½Π° βSagaβ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°Π²Π΅Π΄Π°Ρ ΠΊΠ°ΠΊΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π²ΠΎ ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ, Π° ΠΏΠΎΡΡΠΎΡΠ°Π½Π°ΡΠ° ΡΠΎΡΡΠΎΡΠ±Π° Π½Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ° ΠΎΠ΄ΡΠ΅Π΄ΡΠ²Π° Π²Π½Π°ΡΡΠ΅ΡΠ½Π°ΡΠ° ΡΠΎΡΡΠΎΡΠ±Π° Π½Π° βΠ‘Π°Π³Π°ΡΠ°β. ΠΠ΄Π½ΠΎΡΠ½ΠΎ, Π½Π΅ Π±Π°ΡΠ°ΠΌΠ΅ Π½ΠΈΠΊΠ°ΠΊΠΎΠ² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΡΠ°. Π‘Γ¨ ΡΡΠΎ Π²ΠΈ ΡΡΠ΅Π±Π° Π΅ Π±ΡΠΎΠΊΠ΅Ρ Π·Π° ΠΏΠΎΡΠ°ΠΊΠΈ ΡΡΠΎ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° βΠ±Π°ΡΠ΅ΠΌ Π΅Π΄Π½Π°Ρβ Π³Π°ΡΠ°Π½ΡΠΈΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡ.
ΠΠΎ, ΠΎΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ° ΠΈ ΡΠ²ΠΎΡΠ° βΡΠ΅Π½Π°β:
- Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° ΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΡΠ»ΠΎΠΆΠ΅Π½Π°: ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΈ ΠΊΠΎΠΌΠΏΠ΅Π½Π·Π°ΡΠΈΡΠ°ΡΠ°;
- ΡΠ΅ Π±ΠΈΠ΄Π΅ Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΡΡΠΈ ΡΠ΅Π»ΠΎΡΠ½Π°ΡΠ° ΠΊΠΎΠ½Π·ΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΎ Π·Π° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ;
- ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ΡΡΠ°Π½ΡΠ²Π° ΠΌΠ°Π»ΠΊΡ ΠΏΠΎΡΠ»ΠΎΠΆΠ΅Π½Π° ΠΈ ΡΠ΅ ΠΏΠΎΡΠ°Π²ΡΠ²Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΏΠΎΡΡΠ΅Π±Π° ΠΎΠ΄ Π±ΡΠΎΠΊΠ΅Ρ Π·Π° ΠΏΠΎΡΠ°ΠΊΠΈ;
- ΡΠ΅ Π±ΠΈΠ΄Π°Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π°Π»Π°ΡΠΊΠΈ Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΡΠ° (ΠΈΠ°ΠΊΠΎ Π³Π΅Π½Π΅ΡΠ°Π»Π½ΠΎ ΠΎΠ²Π° Π΅ Π΄ΠΎΠ±ΡΠΎ: ΠΊΠ²Π°Π»ΠΈΡΠ΅ΡΠΎΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠ°ΡΠ° ΡΡΠ»ΡΠ³Π° ΡΠ΅ ΡΠ΅ Π·Π³ΠΎΠ»Π΅ΠΌΠΈ).
ΠΠ° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΎΠΏΡΠ°Π²Π΄ΡΠ²Π°ΡΠ΅ΡΠΎ Π·Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° "Sag" Π½Π΅ Π΅ ΡΠΎΠ»ΠΊΡ ΠΎΡΠΈΠ³Π»Π΅Π΄Π½ΠΎ. ΠΠ° ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈ ΠΈ Π΄ΡΡΠ³ΠΈ SOA, ΠΊΠ°Π΄Π΅ ΡΡΠΎ Π½Π°ΡΠ²Π΅ΡΠΎΡΠ°ΡΠ½ΠΎ Π²Π΅ΡΠ΅ ΠΈΠΌΠ° ΠΏΠΎΡΡΠ΅Π΄Π½ΠΈΠΊ, Π° ΡΠ΅Π»ΠΎΡΠ½Π°ΡΠ° ΠΊΠΎΠ½Π·ΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡ Π΅ ΠΆΡΡΠ²ΡΠ²Π°Π½Π° Π½Π° ΠΏΠΎΡΠ΅ΡΠΎΠΊΠΎΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ, ΠΏΡΠΈΠ΄ΠΎΠ±ΠΈΠ²ΠΊΠΈΡΠ΅ ΠΎΠ΄ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ΡΠΎ Π½Π° ΠΎΠ²Π°Π° ΡΠ΅ΠΌΠ° ΠΌΠΎΠΆΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° Π³ΠΈ Π½Π°Π΄ΠΌΠΈΠ½Π°Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠΈΡΠ΅, ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π°ΠΊΠΎ ΠΏΠΎΡΡΠΎΠΈ ΡΠ΄ΠΎΠ±Π΅Π½ API Π²ΠΎ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π½ΠΈΠ²ΠΎ.
ΠΠ°ΠΏΡΡΠ»ΠΈΡΠ°ΡΠ΅ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π²ΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΈΡΠ΅
ΠΠΎΠ³Π° ΠΏΠΎΡΠ½Π°Π²ΠΌΠ΅ Π΄Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠ°ΠΌΠ΅ ΡΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΈΡΠ΅, ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈ ΡΠ°Π·ΡΠΌΠ½ΠΎ ΠΏΡΠ°ΡΠ°ΡΠ΅: ΠΊΠ°Π΄Π΅ Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΈ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΡ Π²ΠΎ ΠΎΠ΄Π½ΠΎΡ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΊΠΎΡΠ° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΎΠΏΡΡΠΎΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΡ?
ΠΠΎΠ³Π° ΡΠ΅ Π³Π»Π΅Π΄Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ BPMS, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³Π»Π΅Π΄Π° ΡΠ°Π·ΡΠΌΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΠ΄Π΄Π΅Π»ΠΈ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° ΠΎΠ΄ ΠΏΠΎΡΡΠΎΡΠ°Π½Π°ΡΠ°: Π΄Π° ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π΅ ΡΠ»ΠΎΡ ΠΎΠ΄ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠ½ΠΈ ΠΎΠ΄ Π΄ΠΎΠΌΠ΅Π½ ΠΊΠΎΠΈ ΡΠΎΡΠΌΠΈΡΠ°Π°Ρ ΡΡΠ΅Π΄ΠΈΠ½Π° ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΡ ΠΈ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΎΡΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΡ ΠΊΠ°ΠΊΠΎ ΠΏΠΎΡΠ΅Π±Π΅Π½ ΡΠ»ΠΎΡ ΠΎΠ΄ ΠΌΠ½ΠΎΠ³Ρ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΈ ΠΈ Π»Π΅ΡΠ½ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΈ. ΠΠ΅Π»ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ Π²ΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠ°Ρ ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡΠ° Π½Π° ΡΡΠ»ΡΠ³ΠΈΡΠ΅ Π½Π° ΡΠ»ΠΎΡΠΎΡ Π½Π° ΡΠΏΠΎΡΠ½ΠΎΡΡ.
ΠΠ²ΠΎΡ ΠΏΡΠΈΡΡΠ°ΠΏ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρ Π³ΠΎΠ»Π΅ΠΌΠ° ΠΏΡΠ΅Π΄Π½ΠΎΡΡ: ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ° Π·Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° ΠΊΠΎΠ»ΠΊΡ ΡΡΠΎ ΡΠ°ΠΊΠ°ΡΠ΅, Π° ΡΠ°ΠΌΠΎ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΈΠΎΡ ΡΠ»ΠΎΡ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΈ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° ΡΠ΅ ΡΡΠ°Π½Π΅ βΠ΄Π΅Π±Π΅Π»β ΠΎΠ΄ ΠΎΠ²Π°. ΠΠ΅Π»ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΎΠ΄ ΠΊΠΎΡ Π±ΠΈΠ»ΠΎ Π΄ΠΎΠΌΠ΅Π½ Π²Π΅Π΄Π½Π°Ρ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠ° ΠΊΠΎΡΠΈΡΡΠ°Ρ Π½ΠΎΠ²Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π²Π΅Π΄Π½Π°Ρ ΡΡΠΎΠΌ ΡΠ΅ ΡΠ΅ Π°ΠΆΡΡΠΈΡΠ°.
ΠΠΎΠ΄Π΅ΡΠ°Π»Π½Π° ΡΡΡΠ΄ΠΈΡΠ° ΠΎΡΠΊΡΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠΈ Π½Π° ΠΎΠ²ΠΎΡ ΠΏΡΠΈΡΡΠ°ΠΏ:
- ΡΡΠ»ΡΠ³Π° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΊΠΎΡΠ° ΡΠ° ΠΈΠ·Π²ΡΡΡΠ²Π° Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° ΠΌΠ½ΠΎΠ³Ρ Π΄ΠΎΠΌΠ΅Π½ΠΈ ΠΎΠ΄Π΅Π΄Π½Π°Ρ Π½ΠΎΡΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠΈΠ·ΠΈΡΠΈ ΠΊΠ°ΠΊΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π° ΡΠΎΡΠΊΠ° Π½Π° Π½Π΅ΡΡΠΏΠ΅Ρ . Π§Π΅ΡΡΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π³ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°Π°Ρ ΡΠΈΠ·ΠΈΠΊΠΎΡ ΠΎΠ΄ Π³ΡΠ΅ΡΠΊΠΈ ΡΡΠΎ Π΄ΠΎΠ²Π΅Π΄ΡΠ²Π°Π°Ρ Π΄ΠΎ Π½Π΅ΡΡΠΏΠ΅ΡΠΈ Π½ΠΈΠ· ΡΠ΅Π»ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ;
- ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠΎ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅: Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΠΈ ΡΠΎ Π½Π΅ΡΠ·ΠΈΠ½ΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΏΡΠ΅ΠΊΡ ΡΠ΅ΡΠ΅Π½ ΠΈ Π±Π°Π²Π΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ:
- ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΡΡΠ΅ Π΅Π΄Π½Π°Ρ ΡΠ΅ Π±ΠΈΠ΄Π°Ρ ΠΌΠ°ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈ ΠΈ ΠΈΡΠΏΡΠΌΠΏΠ°Π½ΠΈ Π½ΠΈΠ· ΠΌΡΠ΅ΠΆΠ½ΠΈΠΎΡ ΠΎΡΠ°ΠΊ;
- ΡΡΠ»ΡΠ³Π°ΡΠ° Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΡ ΡΠ΅ΡΡΠΎΠΏΠ°ΡΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΡΠΊΠΎΠ»ΠΊΡ ΡΡΠΎ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π΅Π΄ΠΎΠ²ΠΎΠ»Π½ΠΈΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° Π±Π°ΡΠ°ΡΠ°ΡΠ° Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ API Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°;
- Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π½Π΅Π·Π°Π²ΠΈΡΠ½ΠΈ Π΄Π΅Π»ΠΎΠ²ΠΈ ΠΎΠ΄ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° ΠΌΠΎΠΆΠ°Ρ ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΎ Π΄Π° Π³ΠΈ Π±Π°ΡΠ°Π°Ρ ΠΈΡΡΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° (ΠΎΠ²ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ±Π»Π°ΠΆΠΈ ΡΠΎ Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π·Π° ΡΠ΅ΡΠΈΡΠ° ΠΊΠΎΠΈ ΠΊΠ΅ΡΠΈΡΠ°Π°Ρ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π½ΠΎ ΠΎΠ²Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΡΠ° ΠΊΠΎΠΌΠΏΠ»ΠΈΡΠΈΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ΠΈ ΡΠΎΠ·Π΄Π°Π²Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠΎ ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΠΎΡΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΠΈ Π½Π΅Π²Π°ΠΆΠ΅ΡΠ΅ Π½Π° ΠΊΠ΅ΡΠΎΡ);
- ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠΎ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ°:
- Π΄Π΅Π»ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ ΡΠΎ ΠΏΠΎΡΡΠΎΡΠ°Π½Π° ΡΠΎΡΡΠΎΡΠ±Π°, ΠΊΠΎΠΈ ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π½ΠΈ ΠΎΠ΄ ΡΡΠ»ΡΠ³Π° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, Π½Π΅ ΡΠ΅ Π²ΠΎ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎΡΡ ΡΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΡ ΠΈ Π½Π΅ΠΌΠ° Π»Π΅ΡΠ½ΠΈ Π½Π°ΡΠΈΠ½ΠΈ Π·Π° ΡΠ΅ΡΠ°Π²Π°ΡΠ΅ Π½Π° ΠΎΠ²ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ;
- ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΡ Π½Π°Π΄Π²ΠΎΡ ΠΎΠ΄ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ°: Π°ΠΊΠΎ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΡ ΡΡΠ΅Π±Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΎΡΠΊΠ°ΠΊΠΎ ΠΏΡΠ²ΠΎ ΡΠ΅ ΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΈ ΠΈΡΠΏΡΠ°Π²Π½ΠΎΡΡΠ° Π½Π° ΡΠ΅ΠΊΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π·Π° ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½Π° ΠΏΡΠΎΠΌΠ΅Π½Π° Π²ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠ»ΠΎΠΊΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π²ΠΎ ΡΠ΅ΡΠ°Π²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ, Π½ΠΎ ΡΠ°ΠΊΠ²ΠΎΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½ΠΎΡΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΠΈΠ·ΠΈΡΠΈ ΠΈ ΡΠ° Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΡΠ΅Π²ΠΊΡΠΏΠ½Π°ΡΠ° Π΄ΠΎΠ²Π΅ΡΠ»ΠΈΠ²ΠΎΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ;
- Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ΅ΡΠΊΠΎΡΠΈΠΈ ΠΏΡΠΈ Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ΡΠΎ: Π²ΠΎ Π½Π΅ΠΊΠΎΠΈ ΡΠ»ΡΡΠ°ΠΈ, ΡΡΠ»ΡΠ³Π°ΡΠ° Π·Π° ΡΠΏΠΎΡΠ½ΠΎΡΡ ΠΈ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ Π°ΠΆΡΡΠΈΡΠ°Π°Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΎ ΠΈΠ»ΠΈ Π²ΠΎ ΡΡΡΠΎΠ³Π° Π½ΠΈΠ·Π°.
ΠΠ° ΠΊΡΠ°ΡΠΎΡ, ΠΌΠΎΡΠ°Π²ΠΌΠ΅ Π΄Π° ΡΠ΅ Π²ΡΠ°ΡΠΈΠΌΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²ΠΈΡΠ΅: Π΄Π° Π³ΠΈ Π΅Π½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠ°ΠΌΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΡ ΠΈ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΡ Π²ΠΎ Π΅Π΄Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ. ΠΠ²ΠΎΡ ΠΏΡΠΈΡΡΠ°ΠΏ ΡΠ° ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΡΠ²Π° ΠΏΠ΅ΡΡΠ΅ΠΏΡΠΈΡΠ°ΡΠ° Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΡ ΠΊΠ°ΠΊΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ ΠΈ Π½Π΅ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΡΠ²Π° Π³ΠΎΡΠ΅Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. ΠΠ²Π° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π½Π΅ ΡΠ΅ Π΄Π°Π²Π° Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ:
- ΠΠΎΡΡΠ΅Π±Π½Π° Π΅ ΡΡΠ°Π½Π΄Π°ΡΠ΄ΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° API Π·Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ° ΡΠΎ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° (ΠΎΡΠΎΠ±Π΅Π½ΠΎ, Π·Π° Π΄Π° ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π°Ρ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ Π΄Π΅Π»ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ) ΠΈ ΡΡΠ»ΡΠ³ΠΈΡΠ΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° API; Π±Π°ΡΠ° ΠΏΠΎΠ²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π° API, ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡΠ° Π½Π°ΠΏΡΠ΅Π΄ ΠΈ Π½Π°Π·Π°Π΄;
- Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎ Π΅ Π΄Π° ΡΠ΅ Π΄ΠΎΠ΄Π°Π΄Π°Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ° Π·Π° Π΄Π° ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°ΡΠ΅ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° ΠΊΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ ΡΠ΅ΠΊΠΎΡ ΡΠ°ΠΊΠΎΠ² ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ, Π° ΡΠΎΠ° Π΄ΠΎΠ²Π΅Π΄ΡΠ²Π° Π΄ΠΎ Π½ΠΎΠ²ΠΈ Π±Π°ΡΠ°ΡΠ° Π·Π° ΡΠ°ΠΊΠ²ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ: Π»Π΅ΡΠ½ΠΎΡΠΈΡΠ° ΠΈ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠ°Π½Π·ΠΈΡΠΈΠ²Π½ΠΈ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ;
- ΠΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΈ ΡΠ»Π΅Π΄Π°Ρ Π²Π΅ΡΠ·ΠΈΠΈΡΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ°: Π°ΠΊΠΎ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΡ Π½Π΅ Π΅ ΡΠΈΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΄ΠΎΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΡΠΎΠ³Π°Ρ Π½Π°ΡΠ²Π΅ΡΠΎΡΠ°ΡΠ½ΠΎ ΡΠ΅ ΡΠΎΠ΄ΡΠΆΠΈ Π·Π°ΡΡΠ°ΡΠ΅Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅. ΠΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ Π½Π΅ΠΎΡΠ΅ΠΊΡΠ²Π°Π½Π° ΠΏΡΠ΅ΡΠΊΠ° Π·Π° Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ Π½ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΡΠ° ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±Π°ΡΠ° ΠΌΠΈΠ³ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΡΡΠ°ΡΠ°ΡΠ° Π΄Π΅Π»ΠΎΠ²Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° ΡΠ°ΠΊΠ²Π°ΡΠ° ΡΡΠ»ΡΠ³Π° Π½Π° Π½ΠΎΠ²ΠΈ Π²Π΅ΡΠ·ΠΈΠΈ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄ΠΎΠΊΠΎΠ»ΠΊΡ ΠΈΠΌΠ° Π½Π΅ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΏΠΎΠΌΠ΅ΡΡ Π²Π΅ΡΠ·ΠΈΠΈ.
Π‘Π»ΠΎΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡΠΊΠΈ ΡΡΠ»ΡΠ³ΠΈ Π΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠΈΡΡΡΠ΅Π½ Π²ΠΎ ΡΠ°ΠΊΠ²Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, Π½ΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΠΎΡ ΠΏΠΎΠ²Π΅ΡΠ΅ Π½Π΅ ΡΠΎΡΠΌΠΈΡΠ° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅Ρ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΡ, ΡΡΠΊΡ ΡΠ°ΠΌΠΎ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΠΎΠΊΠΎΠ»ΠΈΠ½Π°, ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΡΠΈ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° βΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°β. Π’Π°ΠΊΠΎΠ² ΡΠ»ΠΎΡ Π΅ ΠΏΠΎΡΡΠ΅Π±Π΅Π½ Π½Π΅ ΡΠ°ΠΌΠΎ Π·Π° ΠΎΠ΄ΡΠΆΡΠ²Π°ΡΠ΅ Π½Π° Π»Π΅ΡΠ½Π°ΡΠ° ΠΏΡΠΈΡΠΎΠ΄Π° Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΈΡΠ΅ Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΡ, ΡΡΠΊΡ ΠΈ Π·Π° ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ.
ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΡΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π²ΠΎ Π΄Π΅Π»ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π°Ρ Π·Π°Π΄Π°ΡΠΈ. ΠΠ΅ΡΡΡΠΎΠ°, ΠΊΠΎΠ³Π° ΡΠ°Π±ΠΎΡΠΈ ΡΠΎ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΠΌΠΎΡΠ° Π΄Π° Π³ΠΈ Π²ΠΈΠ΄ΠΈ Π·Π°Π΄Π°ΡΠΈΡΠ΅ ΠΎΠ΄ ΡΠΈΡΠ΅ Π΄ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ ΠΎΠΏΡΡΠ°ΡΠ° Π»ΠΈΡΡΠ°, ΡΡΠΎ Π·Π½Π°ΡΠΈ Π΄Π΅ΠΊΠ° ΠΌΠΎΡΠ° Π΄Π° ΠΈΠΌΠ° ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½Π° ΡΡΠ»ΡΠ³Π° Π·Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡΠ° Π½Π° Π·Π°Π΄Π°ΡΠΈ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ°, ΠΈΡΡΠΈΡΡΠ΅Π½Π° ΠΎΠ΄ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΡ. ΠΠ΄ΡΠΆΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π΅Π½ΠΊΠ°ΠΏΡΡΠ»Π°ΡΠΈΡΠ° Π½Π° Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π²ΠΎ ΡΠ°ΠΊΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π΅ Π΄ΠΎΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½ΠΎ, Π° ΠΎΠ²Π° Π΅ ΡΡΡΠ΅ Π΅Π΄Π΅Π½ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡ Π½Π° ΠΎΠ²Π°Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°.
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° Π½Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ Π½ΠΈΠ· ΠΎΡΠΈΡΠ΅ Π½Π° ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΎΡ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ
ΠΠ°ΠΊΠΎ ΡΡΠΎ ΡΠΏΠΎΠΌΠ΅Π½Π°Π²ΠΌΠ΅ ΠΏΠΎΠ³ΠΎΡΠ΅, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΎΡ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΌΠΎΡΠ° Π΄Π° Π±ΠΈΠ΄Π΅ Π°ΠΏΡΡΡΠ°Ρ ΠΈΡΠ°Π½ ΠΎΠ΄ ΡΠ΅Ρ Π½ΠΈΡΠΊΠΈΡΠ΅ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡΠΊΠΈΡΠ΅ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° ΡΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ° Π½Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠΌΠ΅ΡΠ° Π½Π° Π΄ΠΎΠ±ΡΠ° ΡΠ°Π·Π²ΠΎΡΠ½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡ.
ΠΡΠ΄Π΅ Π΄Π° ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ΠΌΠ΅ Π΄Π° ΡΠ΅ΡΠΈΠΌΠ΅ ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ ΡΠ΅ΠΆΠΎΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ°, ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΎ ΠΈΠ·ΠΌΠΈΡΠ»Π΅Π½ Π·Π° ΡΡΠ°ΡΠΈΡΠ°ΡΠ°. ΠΠ²Π° ΡΠ΅ Π±ΠΈΠ΄Π΅ Π·Π°Π΄Π°ΡΠ° βΠΈΠ³ΡΠ°β ΠΊΠΎΡΠ° Π²ΠΊΠ»ΡΡΡΠ²Π° ΡΡΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, ΠΊΠ°Π΄Π΅ ΡΡΠΎ ΡΠ΅ΠΊΠΎΡΠ° ΠΎΠ΄ Π½ΠΈΠ² Π΄Π΅ΡΠΈΠ½ΠΈΡΠ° ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΎ ΠΈΠΌΠ΅ Π½Π° Π΄ΠΎΠΌΠ΅Π½: βapp1β, βapp2β, βapp3β.
ΠΠ½Π°ΡΡΠ΅ Π²ΠΎ ΡΠ΅ΠΊΠΎΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΡΠ΅ Π»Π°Π½ΡΠΈΡΠ°Π°Ρ Π΄Π΅Π»ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΊΠΎΠΈ ΠΏΠΎΡΠ½ΡΠ²Π°Π°Ρ Π΄Π° βΠΈΠ³ΡΠ°Π°Ρ ΡΠΎ ΡΠΎΠΏΠΊΠ°β ΠΏΡΠ΅ΠΊΡ Π°Π²ΡΠΎΠ±ΡΡΠΎΡ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ°. ΠΠΎΡΠ°ΠΊΠΈΡΠ΅ ΡΠΎ ΠΈΠΌΠ΅ΡΠΎ βΠΠΎΠ»β ΡΠ΅ Π΄Π΅Π»ΡΠ²Π°Π°Ρ ΠΊΠ°ΠΊΠΎ ΡΠΎΠΏΠΊΠ°.
ΠΡΠ°Π²ΠΈΠ»Π° Π½Π° ΠΈΠ³ΡΠ°ΡΠ°:
- ΠΏΡΠ²ΠΈΠΎΡ ΠΈΠ³ΡΠ°Ρ Π΅ ΠΈΠ½ΠΈΡΠΈΡΠ°ΡΠΎΡ. Π’ΠΎΡ Π³ΠΈ ΠΏΠΎΠΊΠ°Π½ΡΠ²Π° Π΄ΡΡΠ³ΠΈΡΠ΅ ΠΈΠ³ΡΠ°ΡΠΈ Π½Π° ΠΈΠ³ΡΠ°ΡΠ°, ΡΠ° Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π° ΠΈΠ³ΡΠ°ΡΠ° ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ° Π·Π°Π²ΡΡΠΈ Π²ΠΎ ΡΠ΅ΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΠ΅;
- Π΄ΡΡΠ³ΠΈΡΠ΅ ΠΈΠ³ΡΠ°ΡΠΈ Π³ΠΎ ΠΈΠ·ΡΠ°Π²ΡΠ²Π°Π°Ρ ΡΠ²ΠΎΠ΅ΡΠΎ ΡΡΠ΅ΡΡΠ²ΠΎ Π²ΠΎ ΠΈΠ³ΡΠ°ΡΠ°, ΡΠ΅ βΠ·Π°ΠΏΠΎΠ·Π½Π°Π²Π°Π°Ρβ Π΅Π΄Π½ΠΈ ΡΠΎ Π΄ΡΡΠ³ΠΈ ΠΈ ΠΏΡΠ²ΠΈΠΎΡ ΠΈΠ³ΡΠ°Ρ;
- ΠΏΠΎ Π΄ΠΎΠ±ΠΈΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠΎΠΏΠΊΠ°ΡΠ°, ΠΈΠ³ΡΠ°ΡΠΎΡ ΠΈΠ·Π±ΠΈΡΠ° Π΄ΡΡΠ³ ΠΈΠ³ΡΠ°Ρ ΡΡΠ΅ΡΠ½ΠΈΠΊ ΠΈ ΠΌΡ ΡΠ° Π΄ΠΎΠ΄Π°Π²Π° ΡΠΎΠΏΠΊΠ°ΡΠ°. Π‘Π΅ Π±ΡΠΎΠΈ Π²ΠΊΡΠΏΠ½ΠΈΠΎΡ Π±ΡΠΎΡ Π½Π° ΠΏΡΠ΅Π½ΠΎΡΠΈ;
- Π‘Π΅ΠΊΠΎΡ ΠΈΠ³ΡΠ°Ρ ΠΈΠΌΠ° βΠ΅Π½Π΅ΡΠ³ΠΈΡΠ°β ΠΊΠΎΡΠ° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΡΠΎ ΡΠ΅ΠΊΠΎΠ΅ Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ Π½Π° ΡΠΎΠΏΠΊΠ°ΡΠ° ΠΎΠ΄ ΡΠΎΡ ΠΈΠ³ΡΠ°Ρ. ΠΠΎΠ³Π° ΡΠ΅ ΠΈΡΡΠ΅ΡΠ΅ Π΅Π½Π΅ΡΠ³ΠΈΡΠ°ΡΠ°, ΠΈΠ³ΡΠ°ΡΠΎΡ ΡΠ° Π½Π°ΠΏΡΡΡΠ° ΠΈΠ³ΡΠ°ΡΠ°, ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΡΠΈ ΠΎΡΠΊΠ°Π·;
- Π°ΠΊΠΎ ΠΈΠ³ΡΠ°ΡΠΎΡ ΠΎΡΡΠ°Π½Π΅ ΡΠ°ΠΌ, ΡΠΎΡ Π²Π΅Π΄Π½Π°Ρ Π³ΠΎ Π½Π°ΡΠ°Π²ΡΠ²Π° ΡΠ²ΠΎΠ΅ΡΠΎ Π·Π°ΠΌΠΈΠ½ΡΠ²Π°ΡΠ΅;
- ΠΠΎΠ³Π° ΡΠΈΡΠ΅ ΠΈΠ³ΡΠ°ΡΠΈ ΡΠ΅ Π±ΠΈΠ΄Π°Ρ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°Π½ΠΈ, ΠΏΡΠ²ΠΈΠΎΡ ΠΈΠ³ΡΠ°Ρ ΡΠ° ΠΏΡΠΎΠ³Π»Π°ΡΡΠ²Π° ΠΈΠ³ΡΠ°ΡΠ° Π·Π° Π·Π°Π²ΡΡΠ΅Π½Π°. ΠΠΊΠΎ ΡΠ° Π½Π°ΠΏΡΡΡΠΈ ΠΈΠ³ΡΠ°ΡΠ° ΠΏΡΠ΅Π΄Π²ΡΠ΅ΠΌΠ΅, ΠΎΡΡΠ°Π½ΡΠ²Π° Π΄Π° ΡΠ° ΡΠ»Π΅Π΄ΠΈ ΠΈΠ³ΡΠ°ΡΠ° Π·Π° Π΄Π° ΡΠ° Π·Π°Π²ΡΡΠΈ.
ΠΠ° Π΄Π° Π³ΠΎ ΡΠ΅ΡΠ°ΠΌ ΠΎΠ²ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΠ΅ Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠ°ΠΌ Π½Π°ΡΠΈΠΎΡ DSL Π·Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΡΡΠΎ Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎ Π΄Π° ΡΠ° ΠΎΠΏΠΈΡΠ΅ΠΌΠ΅ Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° Π²ΠΎ ΠΠΎΡΠ»ΠΈΠ½, ΡΠΎ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΊΠΎΡΠ΅Π».
ΠΠ΅Π»ΠΎΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΠΏΡΠ²ΠΈΠΎΡ ΠΈΠ³ΡΠ°Ρ (ΠΏΠΎΠ·Π½Π°Ρ ΠΊΠ°ΠΊΠΎ ΠΈΠ½ΠΈΡΠΈΡΠ°ΡΠΎΡ Π½Π° ΠΈΠ³ΡΠ°ΡΠ°) ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ Π²ΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° app1:
ΠΊΠ»Π°ΡΠ° InitialPlayer
import ru.krista.bpm.ProcessInstance
import ru.krista.bpm.runtime.ProcessImpl
import ru.krista.bpm.runtime.constraint.UniqueConstraints
import ru.krista.bpm.runtime.dsl.processModel
import ru.krista.bpm.runtime.dsl.taskOperation
import ru.krista.bpm.runtime.instance.MessageSendInstance
data class PlayerInfo(val name: String, val domain: String, val id: String)
class PlayersList : ArrayList<PlayerInfo>()
// ΠΡΠΎ ΠΊΠ»Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΏΡΠΎΡΠ΅ΡΡΠ°: ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΠ΅Ρ Π΅Π³ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅
class InitialPlayer : ProcessImpl<InitialPlayer>(initialPlayerModel) {
var playerName: String by persistent("Player1")
var energy: Int by persistent(30)
var players: PlayersList by persistent(PlayersList())
var shotCounter: Int = 0
}
// ΠΡΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°: ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΡΠ΅ΠΌΠΈ
// ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°
val initialPlayerModel = processModel<InitialPlayer>(name = "InitialPlayer",
version = 1) {
// ΠΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ, ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈΠ³ΡΠΎΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΎΡΠΎΠΌ ΠΈΠ³ΡΡ ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ
uniqueConstraint = UniqueConstraints.singleton
// ΠΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΡΠΎΡΡΠΎΠΈΡ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΡΠΎΡΠ΅ΡΡ
val sendNewGameSignal = signal<String>("NewGame")
val sendStopGameSignal = signal<String>("StopGame")
val startTask = humanTask("Start") {
taskOperation {
processCondition { players.size > 0 }
confirmation { "ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΠΎΡΡ ${players.size} ΠΈΠ³ΡΠΎΠΊΠΎΠ². ΠΠ°ΡΠΈΠ½Π°Π΅ΠΌ?" }
}
}
val stopTask = humanTask("Stop") {
taskOperation {}
}
val waitPlayerJoin = signalWait<String>("PlayerJoin") { signal ->
players.add(PlayerInfo(
signal.data!!,
signal.sender.domain,
signal.sender.processInstanceId))
println("... join player ${signal.data} ...")
}
val waitPlayerOut = signalWait<String>("PlayerOut") { signal ->
players.remove(PlayerInfo(
signal.data!!,
signal.sender.domain,
signal.sender.processInstanceId))
println("... player ${signal.data} is out ...")
}
val sendPlayerOut = signal<String>("PlayerOut") {
signalData = { playerName }
}
val sendHandshake = messageSend<String>("Handshake") {
messageData = { playerName }
activation = {
receiverDomain = process.players.last().domain
receiverProcessInstanceId = process.players.last().id
}
}
val throwStartBall = messageSend<Int>("Ball") {
messageData = { 1 }
activation = { selectNextPlayer() }
}
val throwBall = messageSend<Int>("Ball") {
messageData = { shotCounter + 1 }
activation = { selectNextPlayer() }
onEntry { energy -= 1 }
}
val waitBall = messageWaitData<Int>("Ball") {
shotCounter = it
}
// Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΈΡΡΠ΅ΠΌ Π³ΡΠ°Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈΠ· ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ
Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠ΅ΠΉ
startFrom(sendNewGameSignal)
.fork("mainFork") {
next(startTask)
next(waitPlayerJoin).next(sendHandshake).next(waitPlayerJoin)
next(waitPlayerOut)
.branch("checkPlayers") {
ifTrue { players.isEmpty() }
.next(sendStopGameSignal)
.terminate()
ifElse().next(waitPlayerOut)
}
}
startTask.fork("afterStart") {
next(throwStartBall)
.branch("mainLoop") {
ifTrue { energy < 5 }.next(sendPlayerOut).next(waitBall)
ifElse().next(waitBall).next(throwBall).loop()
}
next(stopTask).next(sendStopGameSignal)
}
// ΠΠ°Π²Π΅ΡΠ°Π΅ΠΌ Π½Π° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π΄Π»Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
sendNewGameSignal.onExit { println("Let's play!") }
sendStopGameSignal.onExit { println("Stop!") }
sendPlayerOut.onExit { println("$playerName: I'm out!") }
}
private fun MessageSendInstance<InitialPlayer, Int>.selectNextPlayer() {
val player = process.players.random()
receiverDomain = player.domain
receiverProcessInstanceId = player.id
println("Step ${process.shotCounter + 1}: " +
"${process.playerName} >>> ${player.name}")
}
ΠΠΎΠΊΡΠ°Ρ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ°, Π³ΠΎΡΠ΅Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΎΡ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ΅Π½ ΠΌΠΎΠ΄Π΅Π» Π½Π° Π΄Π΅Π»ΠΎΠ²Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ, ΠΊΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π²ΠΈΠ·ΡΠ΅Π»ΠΈΠ·ΠΈΡΠ° Π²ΠΎ ΡΠΎΡΠΌΠ° Π½Π° Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌ. Π‘Γ¨ ΡΡΡΠ΅ Π½Π΅ ΡΠΌΠ΅ Π³ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π»Π΅ Π²ΠΈΠ·ΡΠ΅Π»ΠΈΠ·Π°ΡΠΎΡΠΎΡ, ΠΏΠ° ΠΌΠΎΡΠ°Π²ΠΌΠ΅ Π΄Π° ΠΏΠΎΡΡΠΎΡΠΈΠΌΠ΅ ΠΌΠ°Π»ΠΊΡ Π²ΡΠ΅ΠΌΠ΅ Π·Π° Π΄Π° Π³ΠΎ Π½Π°ΡΡΡΠ°ΠΌΠ΅ (ΡΡΠΊΠ° ΠΌΠ°Π»ΠΊΡ ΡΠ° ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΠΈΠ² ΠΎΠ·Π½Π°ΠΊΠ°ΡΠ° BPMN Π²ΠΎ ΠΎΠ΄Π½ΠΎΡ Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΠΏΠΎΡΡΠΈΡΠ΅ Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ½Π·ΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΠ° Π½Π° Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌΠΎΡ ΡΠΎ Π΄Π°Π΄Π΅Π½ΠΈΠΎΡ ΠΊΠΎΠ΄):
app2 ΡΠ΅ Π³ΠΎ Π²ΠΊΠ»ΡΡΠΈ Π΄Π΅Π»ΠΎΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ Π½Π° Π΄ΡΡΠ³ΠΈΠΎΡ ΠΈΠ³ΡΠ°Ρ:
ΠΊΠ»Π°ΡΠ° RandomPlayer
import ru.krista.bpm.ProcessInstance
import ru.krista.bpm.runtime.ProcessImpl
import ru.krista.bpm.runtime.dsl.processModel
import ru.krista.bpm.runtime.instance.MessageSendInstance
data class PlayerInfo(val name: String, val domain: String, val id: String)
class PlayersList: ArrayList<PlayerInfo>()
class RandomPlayer : ProcessImpl<RandomPlayer>(randomPlayerModel) {
var playerName: String by input(persistent = true,
defaultValue = "RandomPlayer")
var energy: Int by input(persistent = true, defaultValue = 30)
var players: PlayersList by persistent(PlayersList())
var allPlayersOut: Boolean by persistent(false)
var shotCounter: Int = 0
val selfPlayer: PlayerInfo
get() = PlayerInfo(playerName, env.eventDispatcher.domainName, id)
}
val randomPlayerModel = processModel<RandomPlayer>(name = "RandomPlayer",
version = 1) {
val waitNewGameSignal = signalWait<String>("NewGame")
val waitStopGameSignal = signalWait<String>("StopGame")
val sendPlayerJoin = signal<String>("PlayerJoin") {
signalData = { playerName }
}
val sendPlayerOut = signal<String>("PlayerOut") {
signalData = { playerName }
}
val waitPlayerJoin = signalWaitCustom<String>("PlayerJoin") {
eventCondition = { signal ->
signal.sender.processInstanceId != process.id
&& !process.players.any { signal.sender.processInstanceId == it.id}
}
handler = { signal ->
players.add(PlayerInfo(
signal.data!!,
signal.sender.domain,
signal.sender.processInstanceId))
}
}
val waitPlayerOut = signalWait<String>("PlayerOut") { signal ->
players.remove(PlayerInfo(
signal.data!!,
signal.sender.domain,
signal.sender.processInstanceId))
allPlayersOut = players.isEmpty()
}
val sendHandshake = messageSend<String>("Handshake") {
messageData = { playerName }
activation = {
receiverDomain = process.players.last().domain
receiverProcessInstanceId = process.players.last().id
}
}
val receiveHandshake = messageWait<String>("Handshake") { message ->
if (!players.any { message.sender.processInstanceId == it.id}) {
players.add(PlayerInfo(
message.data!!,
message.sender.domain,
message.sender.processInstanceId))
}
}
val throwBall = messageSend<Int>("Ball") {
messageData = { shotCounter + 1 }
activation = { selectNextPlayer() }
onEntry { energy -= 1 }
}
val waitBall = messageWaitData<Int>("Ball") {
shotCounter = it
}
startFrom(waitNewGameSignal)
.fork("mainFork") {
next(sendPlayerJoin)
.branch("mainLoop") {
ifTrue { energy < 5 || allPlayersOut }
.next(sendPlayerOut)
.next(waitBall)
ifElse()
.next(waitBall)
.next(throwBall)
.loop()
}
next(waitPlayerJoin).next(sendHandshake).next(waitPlayerJoin)
next(waitPlayerOut).next(waitPlayerOut)
next(receiveHandshake).next(receiveHandshake)
next(waitStopGameSignal).terminate()
}
sendPlayerJoin.onExit { println("$playerName: I'm here!") }
sendPlayerOut.onExit { println("$playerName: I'm out!") }
}
private fun MessageSendInstance<RandomPlayer, Int>.selectNextPlayer() {
val player = if (process.players.isNotEmpty())
process.players.random()
else
process.selfPlayer
receiverDomain = player.domain
receiverProcessInstanceId = player.id
println("Step ${process.shotCounter + 1}: " +
"${process.playerName} >>> ${player.name}")
}
ΠΠΈΡΠ°Π³ΡΠ°ΠΌ:
ΠΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° app3 ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠ΅ ΠΈΠ³ΡΠ°Ρ ΡΠΎ ΠΌΠ°Π»ΠΊΡ ΠΏΠΎΠΈΠ½Π°ΠΊΠ²ΠΎ ΠΎΠ΄Π½Π΅ΡΡΠ²Π°ΡΠ΅: Π½Π°ΠΌΠ΅ΡΡΠΎ ΠΏΠΎ ΡΠ»ΡΡΠ°Π΅Π½ ΠΈΠ·Π±ΠΎΡ Π½Π° ΡΠ»Π΅Π΄Π½ΠΈΠΎΡ ΠΈΠ³ΡΠ°Ρ, ΡΠΎΡ ΡΠ΅ Π΄Π΅ΡΡΡΠ²ΡΠ²Π° ΡΠΏΠΎΡΠ΅Π΄ ΠΊΡΡΠΆΠ½ΠΈΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ:
ΠΊΠ»Π°ΡΠ° RoundRobin Player
import ru.krista.bpm.ProcessInstance
import ru.krista.bpm.runtime.ProcessImpl
import ru.krista.bpm.runtime.dsl.processModel
import ru.krista.bpm.runtime.instance.MessageSendInstance
data class PlayerInfo(val name: String, val domain: String, val id: String)
class PlayersList: ArrayList<PlayerInfo>()
class RoundRobinPlayer : ProcessImpl<RoundRobinPlayer>(roundRobinPlayerModel) {
var playerName: String by input(persistent = true,
defaultValue = "RoundRobinPlayer")
var energy: Int by input(persistent = true, defaultValue = 30)
var players: PlayersList by persistent(PlayersList())
var nextPlayerIndex: Int by persistent(-1)
var allPlayersOut: Boolean by persistent(false)
var shotCounter: Int = 0
val selfPlayer: PlayerInfo
get() = PlayerInfo(playerName, env.eventDispatcher.domainName, id)
}
val roundRobinPlayerModel = processModel<RoundRobinPlayer>(
name = "RoundRobinPlayer",
version = 1) {
val waitNewGameSignal = signalWait<String>("NewGame")
val waitStopGameSignal = signalWait<String>("StopGame")
val sendPlayerJoin = signal<String>("PlayerJoin") {
signalData = { playerName }
}
val sendPlayerOut = signal<String>("PlayerOut") {
signalData = { playerName }
}
val waitPlayerJoin = signalWaitCustom<String>("PlayerJoin") {
eventCondition = { signal ->
signal.sender.processInstanceId != process.id
&& !process.players.any { signal.sender.processInstanceId == it.id}
}
handler = { signal ->
players.add(PlayerInfo(
signal.data!!,
signal.sender.domain,
signal.sender.processInstanceId))
}
}
val waitPlayerOut = signalWait<String>("PlayerOut") { signal ->
players.remove(PlayerInfo(
signal.data!!,
signal.sender.domain,
signal.sender.processInstanceId))
allPlayersOut = players.isEmpty()
}
val sendHandshake = messageSend<String>("Handshake") {
messageData = { playerName }
activation = {
receiverDomain = process.players.last().domain
receiverProcessInstanceId = process.players.last().id
}
}
val receiveHandshake = messageWait<String>("Handshake") { message ->
if (!players.any { message.sender.processInstanceId == it.id}) {
players.add(PlayerInfo(
message.data!!,
message.sender.domain,
message.sender.processInstanceId))
}
}
val throwBall = messageSend<Int>("Ball") {
messageData = { shotCounter + 1 }
activation = { selectNextPlayer() }
onEntry { energy -= 1 }
}
val waitBall = messageWaitData<Int>("Ball") {
shotCounter = it
}
startFrom(waitNewGameSignal)
.fork("mainFork") {
next(sendPlayerJoin)
.branch("mainLoop") {
ifTrue { energy < 5 || allPlayersOut }
.next(sendPlayerOut)
.next(waitBall)
ifElse()
.next(waitBall)
.next(throwBall)
.loop()
}
next(waitPlayerJoin).next(sendHandshake).next(waitPlayerJoin)
next(waitPlayerOut).next(waitPlayerOut)
next(receiveHandshake).next(receiveHandshake)
next(waitStopGameSignal).terminate()
}
sendPlayerJoin.onExit { println("$playerName: I'm here!") }
sendPlayerOut.onExit { println("$playerName: I'm out!") }
}
private fun MessageSendInstance<RoundRobinPlayer, Int>.selectNextPlayer() {
var idx = process.nextPlayerIndex + 1
if (idx >= process.players.size) {
idx = 0
}
process.nextPlayerIndex = idx
val player = if (process.players.isNotEmpty())
process.players[idx]
else
process.selfPlayer
receiverDomain = player.domain
receiverProcessInstanceId = player.id
println("Step ${process.shotCounter + 1}: " +
"${process.playerName} >>> ${player.name}")
}
ΠΠ½Π°ΠΊΡ, ΠΎΠ΄Π½Π΅ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΈΠ³ΡΠ°ΡΠΎΡ Π½Π΅ ΡΠ΅ ΡΠ°Π·Π»ΠΈΠΊΡΠ²Π° ΠΎΠ΄ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎΡΠΎ, ΠΏΠ° Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌΠΎΡ Π½Π΅ ΡΠ΅ ΠΌΠ΅Π½ΡΠ²Π°.
Π‘Π΅Π³Π° Π½ΠΈ ΡΡΠ΅Π±Π° ΡΠ΅ΡΡ Π·Π° Π΄Π° Π³ΠΎ ΠΈΠ·Π²ΡΡΠΈΠΌΠ΅ ΡΠ΅ΡΠΎ ΠΎΠ²Π°. ΠΠ΅ Π³ΠΎ Π΄Π°Π΄Π°ΠΌ ΡΠ°ΠΌΠΎ ΠΊΠΎΠ΄ΠΎΡ Π½Π° ΡΠ°ΠΌΠΈΠΎΡ ΡΠ΅ΡΡ, Π·Π° Π΄Π° Π½Π΅ Π³ΠΎ Π½Π°ΡΡΡΠΏΡΠ²Π°ΠΌ Π½Π°ΠΏΠΈΡΠΎΡ ΡΠΎ ΠΊΠΎΡΠ΅Π» (Π²ΡΡΡΠ½ΠΎΡΡ, ΡΠ° ΠΊΠΎΡΠΈΡΡΠ΅Π² ΡΠ΅ΡΡ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°ΡΠ° ΡΠΎΠ·Π΄Π°Π΄Π΅Π½Π° ΠΏΠΎΡΠ°Π½ΠΎ Π·Π° Π΄Π° ΡΠ° ΡΠ΅ΡΡΠΈΡΠ°ΠΌ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° Π΄ΡΡΠ³ΠΈ Π΄Π΅Π»ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ):
testGame ()
@Test
public void testGame() throws InterruptedException {
String pl2 = startProcess(app2, "RandomPlayer", playerParams("Player2", 20));
String pl3 = startProcess(app2, "RandomPlayer", playerParams("Player3", 40));
String pl4 = startProcess(app3, "RoundRobinPlayer", playerParams("Player4", 25));
String pl5 = startProcess(app3, "RoundRobinPlayer", playerParams("Player5", 35));
String pl1 = startProcess(app1, "InitialPlayer");
// Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°ΡΡ, ΠΏΠΎΠΊΠ° ΠΈΠ³ΡΠΎΠΊΠΈ "ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΡΡ" Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ.
// ΠΠ΄Π°ΡΡ ΡΠ΅ΡΠ΅Π· sleep - ΠΏΠ»ΠΎΡ
ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Π·Π°ΡΠΎ ΡΠ°ΠΌΠΎΠ΅ ΠΏΡΠΎΡΡΠΎΠ΅.
// ΠΠ΅ Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ°ΠΊ Π² ΡΠ΅ΡΡΠ΅Π·Π½ΡΡ
ΡΠ΅ΡΡΠ°Ρ
!
Thread.sleep(1000);
// ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΈΠ³ΡΡ, Π·Π°ΠΊΡΡΠ²Π°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ
assertTrue(closeTask(app1, pl1, "Start"));
app1.getWaiting().waitProcessFinished(pl1);
app2.getWaiting().waitProcessFinished(pl2);
app2.getWaiting().waitProcessFinished(pl3);
app3.getWaiting().waitProcessFinished(pl4);
app3.getWaiting().waitProcessFinished(pl5);
}
private Map<String, Object> playerParams(String name, int energy) {
Map<String, Object> params = new HashMap<>();
params.put("playerName", name);
params.put("energy", energy);
return params;
}
ΠΡΠ΄Π΅ Π΄Π° Π³ΠΎ ΠΈΠ·Π²ΡΡΠΈΠΌΠ΅ ΡΠ΅ΡΡΠΎΡ ΠΈ Π΄Π° Π³ΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ Π΄Π½Π΅Π²Π½ΠΈΠΊΠΎΡ:
ΠΈΠ·Π»Π΅Π· Π½Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π°
ΠΠ·ΡΡΠ° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΠΊΠ»ΡΡΠ° lock://app1/process/InitialPlayer
Let's play!
Π‘Π½ΡΡΠ° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΠΊΠ»ΡΡΠ° lock://app1/process/InitialPlayer
Player2: I'm here!
Player3: I'm here!
Player4: I'm here!
Player5: I'm here!
... join player Player2 ...
... join player Player4 ...
... join player Player3 ...
... join player Player5 ...
Step 1: Player1 >>> Player3
Step 2: Player3 >>> Player5
Step 3: Player5 >>> Player3
Step 4: Player3 >>> Player4
Step 5: Player4 >>> Player3
Step 6: Player3 >>> Player4
Step 7: Player4 >>> Player5
Step 8: Player5 >>> Player2
Step 9: Player2 >>> Player5
Step 10: Player5 >>> Player4
Step 11: Player4 >>> Player2
Step 12: Player2 >>> Player4
Step 13: Player4 >>> Player1
Step 14: Player1 >>> Player4
Step 15: Player4 >>> Player3
Step 16: Player3 >>> Player1
Step 17: Player1 >>> Player2
Step 18: Player2 >>> Player3
Step 19: Player3 >>> Player1
Step 20: Player1 >>> Player5
Step 21: Player5 >>> Player1
Step 22: Player1 >>> Player2
Step 23: Player2 >>> Player4
Step 24: Player4 >>> Player5
Step 25: Player5 >>> Player3
Step 26: Player3 >>> Player4
Step 27: Player4 >>> Player2
Step 28: Player2 >>> Player5
Step 29: Player5 >>> Player2
Step 30: Player2 >>> Player1
Step 31: Player1 >>> Player3
Step 32: Player3 >>> Player4
Step 33: Player4 >>> Player1
Step 34: Player1 >>> Player3
Step 35: Player3 >>> Player4
Step 36: Player4 >>> Player3
Step 37: Player3 >>> Player2
Step 38: Player2 >>> Player5
Step 39: Player5 >>> Player4
Step 40: Player4 >>> Player5
Step 41: Player5 >>> Player1
Step 42: Player1 >>> Player5
Step 43: Player5 >>> Player3
Step 44: Player3 >>> Player5
Step 45: Player5 >>> Player2
Step 46: Player2 >>> Player3
Step 47: Player3 >>> Player2
Step 48: Player2 >>> Player5
Step 49: Player5 >>> Player4
Step 50: Player4 >>> Player2
Step 51: Player2 >>> Player5
Step 52: Player5 >>> Player1
Step 53: Player1 >>> Player5
Step 54: Player5 >>> Player3
Step 55: Player3 >>> Player5
Step 56: Player5 >>> Player2
Step 57: Player2 >>> Player1
Step 58: Player1 >>> Player4
Step 59: Player4 >>> Player1
Step 60: Player1 >>> Player4
Step 61: Player4 >>> Player3
Step 62: Player3 >>> Player2
Step 63: Player2 >>> Player5
Step 64: Player5 >>> Player4
Step 65: Player4 >>> Player5
Step 66: Player5 >>> Player1
Step 67: Player1 >>> Player5
Step 68: Player5 >>> Player3
Step 69: Player3 >>> Player4
Step 70: Player4 >>> Player2
Step 71: Player2 >>> Player5
Step 72: Player5 >>> Player2
Step 73: Player2 >>> Player1
Step 74: Player1 >>> Player4
Step 75: Player4 >>> Player1
Step 76: Player1 >>> Player2
Step 77: Player2 >>> Player5
Step 78: Player5 >>> Player4
Step 79: Player4 >>> Player3
Step 80: Player3 >>> Player1
Step 81: Player1 >>> Player5
Step 82: Player5 >>> Player1
Step 83: Player1 >>> Player4
Step 84: Player4 >>> Player5
Step 85: Player5 >>> Player3
Step 86: Player3 >>> Player5
Step 87: Player5 >>> Player2
Step 88: Player2 >>> Player3
Player2: I'm out!
Step 89: Player3 >>> Player4
... player Player2 is out ...
Step 90: Player4 >>> Player1
Step 91: Player1 >>> Player3
Step 92: Player3 >>> Player1
Step 93: Player1 >>> Player4
Step 94: Player4 >>> Player3
Step 95: Player3 >>> Player5
Step 96: Player5 >>> Player1
Step 97: Player1 >>> Player5
Step 98: Player5 >>> Player3
Step 99: Player3 >>> Player5
Step 100: Player5 >>> Player4
Step 101: Player4 >>> Player5
Player4: I'm out!
... player Player4 is out ...
Step 102: Player5 >>> Player1
Step 103: Player1 >>> Player3
Step 104: Player3 >>> Player1
Step 105: Player1 >>> Player3
Step 106: Player3 >>> Player5
Step 107: Player5 >>> Player3
Step 108: Player3 >>> Player1
Step 109: Player1 >>> Player3
Step 110: Player3 >>> Player5
Step 111: Player5 >>> Player1
Step 112: Player1 >>> Player3
Step 113: Player3 >>> Player5
Step 114: Player5 >>> Player3
Step 115: Player3 >>> Player1
Step 116: Player1 >>> Player3
Step 117: Player3 >>> Player5
Step 118: Player5 >>> Player1
Step 119: Player1 >>> Player3
Step 120: Player3 >>> Player5
Step 121: Player5 >>> Player3
Player5: I'm out!
... player Player5 is out ...
Step 122: Player3 >>> Player5
Step 123: Player5 >>> Player1
Player5: I'm out!
Step 124: Player1 >>> Player3
... player Player5 is out ...
Step 125: Player3 >>> Player1
Step 126: Player1 >>> Player3
Player1: I'm out!
... player Player1 is out ...
Step 127: Player3 >>> Player3
Player3: I'm out!
Step 128: Player3 >>> Player3
... player Player3 is out ...
Player3: I'm out!
Stop!
Step 129: Player3 >>> Player3
Player3: I'm out!
ΠΠ΄ ΡΠ΅ΡΠΎ ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅ΠΌΠ΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π²Π°ΠΆΠ½ΠΈ Π·Π°ΠΊΠ»ΡΡΠΎΡΠΈ:
- ΡΠΎ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈΡΠ΅ Π°Π»Π°ΡΠΊΠΈ, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΈΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠΎΠ·Π΄Π°Π΄Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠ²Π½ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠΈ ΠΏΠΎΠΌΠ΅ΡΡ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ Π±Π΅Π· Π΄Π° ΡΠ° ΠΏΡΠ΅ΠΊΠΈΠ½ΡΠ²Π°Π°Ρ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ°;
- ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΡΡΠ° Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠΊΠ°ΡΠ° Π·Π°Π΄Π°ΡΠ° ΠΊΠΎΡΠ° Π±Π°ΡΠ° ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠ΅ΡΠ΅Π½ΡΠΈΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ ΡΠΊΡΠΈΠ΅Π½Π° Π²ΠΎ ΡΠ°ΠΌΠΊΠ°ΡΠ° Π΄ΠΎΠΊΠΎΠ»ΠΊΡ ΡΠΎΠ° ΠΏΡΠ²ΠΈΡΠ½ΠΎ Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π²ΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° ΡΠ°ΠΌΠΊΠ°ΡΠ°. Π’Π΅ΡΠΊΠΎΡΠΈΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠΊΡΠΈΠ΅, ΡΠ°ΠΊΠ° ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅ΠΆΠΎΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π²ΠΎ ΠΊΠΎΠ΄ΠΎΡ ΡΠ΅ ΠΈΠ·Π³Π»Π΅Π΄Π° Π²Π°ΠΊΠ°;
- ΠΡΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ°, ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ² Π΅ Π΄Π° ΡΠ΅ Π·Π΅ΠΌΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π΅Π²Π΅Π½ΡΡΠ°Π»Π½Π°ΡΠ° ΠΊΠΎΠ½Π·ΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡ ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊΠΎΡ Π½Π° Π»ΠΈΠ½Π΅Π°ΡΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²ΠΎ ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° Π½Π° ΡΠΈΡΠ΅ ΡΡΠ΅ΡΠ½ΠΈΡΠΈ Π²ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ°ΡΠ°. ΠΠ²Π° Π½Γ¨ ΠΏΡΠΈΠ½ΡΠ΄ΡΠ²Π° Π΄Π° ΡΠ° ΠΊΠΎΠΌΠΏΠ»ΠΈΡΠΈΡΠ°ΠΌΠ΅ Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° Π·Π° Π΄Π° ΡΠ° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠ΅ Π½Π΅ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½Π° Π½Π° ΡΠ΅Π΄ΠΎΡΠ»Π΅Π΄ΠΎΡ ΠΏΠΎ ΠΊΠΎΡ ΡΠ΅ ΡΠ»ΡΡΡΠ²Π°Π°Ρ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈΡΠ΅ Π½Π°ΡΡΠ°Π½ΠΈ. ΠΠΎ Π½Π°ΡΠΈΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ³ΡΠ°ΡΠΎΡ Π΅ ΠΏΡΠΈΠ½ΡΠ΄Π΅Π½ Π΄Π° ΡΡΠ΅ΡΡΠ²ΡΠ²Π° Π²ΠΎ ΠΈΠ³ΡΠ°ΡΠ° ΠΎΡΠΊΠ°ΠΊΠΎ ΡΠ΅ ΠΈΠ·ΡΠ°Π²ΠΈ Π΄Π΅ΠΊΠ° ΡΠ΅ ΠΈΠ·Π»Π΅Π·Π΅ ΠΎΠ΄ ΠΈΠ³ΡΠ°ΡΠ°: Π΄ΡΡΠ³ΠΈΡΠ΅ ΠΈΠ³ΡΠ°ΡΠΈ ΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ Π΄Π° ΠΌΡ ΡΠ° Π΄ΠΎΠ΄Π°Π²Π°Π°Ρ ΡΠΎΠΏΠΊΠ°ΡΠ° Π΄ΠΎΠ΄Π΅ΠΊΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈΡΠ΅ Π·Π° Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π»Π΅Π³ΡΠ²Π°ΡΠ΅ Π½Π΅ ΡΡΠΈΠ³Π½Π°Ρ ΠΈ Π½Π΅ Π³ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠΈΡΠ΅ ΡΡΠ΅ΡΠ½ΠΈΡΠΈ. ΠΠ²Π°Π° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π΅ ΠΏΡΠΎΠΈΠ·Π»Π΅Π³ΡΠ²Π° ΠΎΠ΄ ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π½Π° ΠΈΠ³ΡΠ° ΠΈ Π΅ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΠΎ ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΎΠ΄Π±ΡΠ°Π½Π°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°.
Π‘Π»Π΅Π΄Π½ΠΎ, ΡΠ΅ Π·Π±ΠΎΡΡΠ²Π°ΠΌΠ΅ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈΡΠ΅ ΡΠ»ΠΎΠΆΠ΅Π½ΠΎΡΡΠΈ Π½Π° Π½Π°ΡΠ΅ΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈ ΡΠΎΡΠΊΠΈ.
Π‘ΠΈΡΠ΅ ΠΏΠΎΡΠ°ΠΊΠΈ ΡΠ΅ Π²ΠΎ Π΅Π΄Π½Π° ΡΠ΅Π΄ΠΈΡΠ°
Π‘ΠΈΡΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠΎ Π΅Π΄Π½Π° ΠΌΠ°Π³ΠΈΡΡΡΠ°Π»Π° Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°ΡΠ΅, ΠΊΠΎΡΠ° Π΅ ΠΏΡΠ΅ΡΡΡΠ°Π²Π΅Π½Π° Π²ΠΎ ΡΠΎΡΠΌΠ° Π½Π° Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ΅Π½ Π±ΡΠΎΠΊΠ΅Ρ, Π΅Π΄Π½Π° BPMQueue Π·Π° ΠΏΠΎΡΠ°ΠΊΠΈ ΠΈ Π΅Π΄Π½Π° BPMTopic ΡΠ΅ΠΌΠ° Π·Π° ΡΠΈΠ³Π½Π°Π»ΠΈ (Π½Π°ΡΡΠ°Π½ΠΈ). Π‘ΡΠ°Π²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠΈΡΠ΅ ΠΏΠΎΡΠ°ΠΊΠΈ Π½ΠΈΠ· Π΅Π΄Π½Π° ΡΠ΅Π΄ΠΈΡΠ° ΡΠ°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅ Π΅ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡ. ΠΠ° Π½ΠΈΠ²ΠΎ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°, ΡΠ΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΎΠ²Π΅Π΄Π΅ΡΠ΅ ΠΎΠ½ΠΎΠ»ΠΊΡ Π½ΠΎΠ²ΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ ΠΏΠΎΡΠ°ΠΊΠΈ ΠΊΠΎΠ»ΠΊΡ ΡΡΠΎ ΡΠ°ΠΊΠ°ΡΠ΅ Π±Π΅Π· Π΄Π° ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ. ΠΠ²Π° Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅, Π½ΠΎ Π½ΠΎΡΠΈ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ ΡΠΈΠ·ΠΈΡΠΈ, ΠΊΠΎΠΈ Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π½Π° Π½Π°ΡΠΈΡΠ΅ ΡΠΈΠΏΠΈΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ Π½Π΅ Π½ΠΈ ΠΈΠ·Π³Π»Π΅Π΄Π°Π° ΡΠΎΠ»ΠΊΡ Π·Π½Π°ΡΠ°ΡΠ½ΠΈ.
Π‘Π΅ΠΏΠ°ΠΊ, ΡΡΠΊΠ° ΠΈΠΌΠ° Π΅Π΄Π½Π° ΡΡΠΏΡΠΈΠ»Π½ΠΎΡΡ: ΡΠ΅ΠΊΠΎΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π³ΠΈ ΡΠΈΠ»ΡΡΠΈΡΠ° βΡΠ²ΠΎΠΈΡΠ΅β ΠΏΠΎΡΠ°ΠΊΠΈ ΠΎΠ΄ ΡΠ΅Π΄ΠΎΡ Π½Π° Π²Π»Π΅Π·ΠΎΡ, ΡΠΏΠΎΡΠ΅Π΄ ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π½Π΅ΡΠ·ΠΈΠ½ΠΈΠΎΡ Π΄ΠΎΠΌΠ΅Π½. ΠΠΎΠΌΠ΅Π½ΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ Π½Π°Π²Π΅Π΄Π΅Π½ ΠΈ Π²ΠΎ ΡΠΈΠ³Π½Π°Π»ΠΈ Π΄ΠΎΠΊΠΎΠ»ΠΊΡ ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ βΠΎΠ±Π΅ΠΌΠΎΡ Π½Π° Π²ΠΈΠ΄Π»ΠΈΠ²ΠΎΡΡβ Π½Π° ΡΠΈΠ³Π½Π°Π»ΠΎΡ Π½Π° Π΅Π΄Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°. ΠΠ²Π° ΡΡΠ΅Π±Π° Π΄Π° ΡΠ° Π·Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡΠΎΠΏΡΡΠ½Π°ΡΠ° ΠΌΠΎΡ Π½Π° Π°Π²ΡΠΎΠ±ΡΡΠΎΡ, Π½ΠΎ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° ΡΠ΅Π³Π° ΠΌΠΎΡΠ° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΡΠΎ ΠΈΠΌΠΈΡΠ° Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΈ: Π·Π° Π°Π΄ΡΠ΅ΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎΡΠ°ΠΊΠΈ - Π·Π°Π΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ, Π·Π° ΡΠΈΠ³Π½Π°Π»ΠΈ - ΠΏΠΎΠΆΠ΅Π»Π½ΠΎ.
ΠΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° Π΄ΠΎΠ²Π΅ΡΠ»ΠΈΠ²ΠΎΡΡ Π½Π° Π°Π²ΡΠΎΠ±ΡΡΠΊΠ°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ°
ΠΠΎΠ²Π΅ΡΠ»ΠΈΠ²ΠΎΡΡΠ° ΡΠ΅ ΡΠΎΡΡΠΎΠΈ ΠΎΠ΄ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΠΎΡΠΊΠΈ:
- ΠΠ·Π±ΡΠ°Π½ΠΈΠΎΡ ΠΏΠΎΡΡΠ΅Π΄Π½ΠΈΠΊ Π·Π° ΠΏΠΎΡΠ°ΠΊΠΈ Π΅ ΠΊΡΠΈΡΠΈΡΠ½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π° ΡΠΎΡΠΊΠ° Π½Π° Π½Π΅ΡΡΠΏΠ΅Ρ : ΡΠΎΡ ΠΌΠΎΡΠ° Π΄Π° Π±ΠΈΠ΄Π΅ Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠ΅Π½ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ. Π’ΡΠ΅Π±Π° Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΡΠ°ΠΌΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΡΠΈΡΠ°Π½ΠΈ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅, ΡΠΎ Π΄ΠΎΠ±ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° ΠΈ Π³ΠΎΠ»Π΅ΠΌΠ° Π·Π°Π΅Π΄Π½ΠΈΡΠ°;
- Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ Π²ΠΈΡΠΎΠΊΠ° Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΎΡΡ Π½Π° Π±ΡΠΎΠΊΠ΅ΡΠΎΡ Π·Π° ΠΏΠΎΡΠ°ΠΊΠΈ, Π·Π° ΡΡΠΎ ΠΌΠΎΡΠ° ΡΠΈΠ·ΠΈΡΠΊΠΈ Π΄Π° ΡΠ΅ ΠΎΠ΄Π²ΠΎΠΈ ΠΎΠ΄ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ΠΈΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ (Π³ΠΎΠ»Π΅ΠΌΠ°ΡΠ° Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΎΡΡ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ ΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅ΡΠ° Π΄Π΅Π»ΠΎΠ²Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ° Π΅ ΠΌΠ½ΠΎΠ³Ρ ΠΏΠΎΡΠ΅ΡΠΊΠΎ ΠΈ ΠΏΠΎΡΠΊΠ°ΠΏΠΎ Π·Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΠ΅);
- Π±ΡΠΎΠΊΠ΅ΡΠΎΡ Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ βΠ±Π°ΡΠ΅ΠΌ Π΅Π΄Π½Π°Ρβ Π³Π°ΡΠ°Π½ΡΠΈΠΈ Π·Π° ΠΈΡΠΏΠΎΡΠ°ΠΊΠ°. ΠΠ²Π° Π΅ Π·Π°Π΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ Π±Π°ΡΠ°ΡΠ΅ Π·Π° ΡΠΈΠ³ΡΡΠ½Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° Π°Π²ΡΠΎΠ±ΡΡΠΊΠ°ΡΠ° Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ°. ΠΠ΅ΠΌΠ° ΠΏΠΎΡΡΠ΅Π±Π° ΠΎΠ΄ Π³Π°ΡΠ°Π½ΡΠΈΠΈ Π½Π° Π½ΠΈΠ²ΠΎ βΡΠΎΡΠ½ΠΎ Π΅Π΄Π½Π°Ρβ: Π΄Π΅Π»ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΊΠ°ΠΊΠΎ ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π΅ ΡΠ΅ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈ Π½Π° ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΎΡΠΎ ΠΏΡΠΈΡΡΠΈΠ³Π½ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠΎΡΠ°ΠΊΠΈ ΠΈΠ»ΠΈ Π½Π°ΡΡΠ°Π½ΠΈ, Π° Π²ΠΎ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΈ Π·Π°Π΄Π°ΡΠΈ ΠΊΠ°Π΄Π΅ ΡΡΠΎ ΡΠΎΠ° Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΏΠΎΠ»Π΅ΡΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ Π΄ΠΎΠ΄Π°Π΄Π°Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° Π±ΠΈΠ·Π½ΠΈΡΠΎΡ. Π»ΠΎΠ³ΠΈΠΊΠ° ΠΎΡΠΊΠΎΠ»ΠΊΡ ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΎ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ βΡΠΊΠ°ΠΏΠΈβ Π³Π°ΡΠ°Π½ΡΠΈΠΈ;
- ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ΡΠΎ ΠΏΠΎΡΠ°ΠΊΠΈ ΠΈ ΡΠΈΠ³Π½Π°Π»ΠΈ ΠΌΠΎΡΠ° Π΄Π° Π±ΠΈΠ΄Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π²ΠΎ ΡΠ΅Π»ΠΎΠΊΡΠΏΠ½Π°ΡΠ° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ° ΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° Π½Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΠΎΠ΄ Π΄ΠΎΠΌΠ΅Π½ΠΎΡ. ΠΡΠ΅ΡΠΏΠΎΡΠΈΡΠ°Π½Π°ΡΠ° ΠΎΠΏΡΠΈΡΠ° Π±ΠΈ Π±ΠΈΠ»Π° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠ΅ΠΌΠ°
Π’ΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠΊΠΎ ΡΠ°Π½Π΄Π°ΡΠ΅ , Π½ΠΎ ΡΠ΅ Π±Π°ΡΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΡΠ°Π±Π΅Π»Π° Π²ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΠ²Π°Ρ. ΠΠΎ JEE Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅, ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΠΈ ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° Π»ΠΎΠΊΠ°Π»Π΅Π½ JTA ΠΌΠ΅Π½Π°ΡΠ΅Ρ, Π½ΠΎ Π²ΡΡΠΊΠ°ΡΠ° ΡΠΎ ΠΈΠ·Π±ΡΠ°Π½ΠΈΠΎΡ Π±ΡΠΎΠΊΠ΅Ρ ΠΌΠΎΡΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π²ΠΎXA ; - ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡΠ΅ Π½Π° Π΄ΠΎΡΠ΄ΠΎΠ²Π½ΠΈ ΠΏΠΎΡΠ°ΠΊΠΈ ΠΈ Π½Π°ΡΡΠ°Π½ΠΈ ΠΌΠΎΡΠ° Π΄Π° ΡΠ°Π±ΠΎΡΠ°Ρ ΠΈ ΡΠΎ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ° ΡΡΠΎ ΡΠ° ΠΌΠ΅Π½ΡΠ²Π° ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° Π½Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ: Π°ΠΊΠΎ ΡΠ°ΠΊΠ²Π°ΡΠ° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ° ΡΠ΅ Π²ΡΠ°ΡΠΈ Π½Π°Π·Π°Π΄, ΡΠΎΠ³Π°Ρ ΠΏΡΠΈΠ΅ΠΌΠΎΡ Π½Π° ΠΏΠΎΡΠ°ΠΊΠ°ΡΠ° ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ ΠΎΡΠΊΠ°ΠΆΠ΅;
- ΠΏΠΎΡΠ°ΠΊΠΈΡΠ΅ ΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Π° Π΄Π° ΡΠ΅ ΠΈΡΠΏΠΎΡΠ°ΡΠ°Π°Ρ ΠΏΠΎΡΠ°Π΄ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ Π²ΠΎ ΠΏΠΎΡΠ΅Π±Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅
Π.Π.Π. (Π Π΅Π΄ΠΎΡ Π·Π° ΠΌΡΡΠ²ΠΈ Π±ΡΠΊΠ²ΠΈ). ΠΠ° ΡΠ°Π° ΡΠ΅Π», ΡΠΎΠ·Π΄Π°Π΄ΠΎΠ²ΠΌΠ΅ ΠΏΠΎΡΠ΅Π±Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ ΡΡΠΎ Π³ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΠ° ΡΠ°ΠΊΠ²ΠΈΡΠ΅ ΠΏΠΎΡΠ°ΠΊΠΈ Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ, Π³ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ° ΠΏΠΎ Π°ΡΡΠΈΠ±ΡΡΠΈ (Π·Π° Π±ΡΠ·ΠΎ Π³ΡΡΠΏΠΈΡΠ°ΡΠ΅ ΠΈ ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅) ΠΈ ΠΈΠ·Π»ΠΎΠΆΡΠ²Π° API Π·Π° Π³Π»Π΅Π΄Π°ΡΠ΅, ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ Π΄ΠΎ Π΄Π΅ΡΡΠΈΠ½Π°ΡΠΈΡΠ°ΡΠ° Π°Π΄ΡΠ΅ΡΠ° ΠΈ Π±ΡΠΈΡΠ΅ΡΠ΅ ΠΏΠΎΡΠ°ΠΊΠΈ. Π‘ΠΈΡΡΠ΅ΠΌΡΠΊΠΈΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠΎ ΠΎΠ²Π°Π° ΡΡΠ»ΡΠ³Π° ΠΏΡΠ΅ΠΊΡ Π½ΠΈΠ²Π½ΠΈΠΎΡ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ; - Π²ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈΡΠ΅ Π½Π° Π±ΡΠΎΠΊΠ΅ΡΠΎΡ, ΡΡΠ΅Π±Π° Π΄Π° Π³ΠΎ ΠΏΡΠΈΠ»Π°Π³ΠΎΠ΄ΠΈΡΠ΅ Π±ΡΠΎΡΠΎΡ Π½Π° ΠΏΠΎΠ²ΡΠΎΡΡΠ²Π°ΡΠ° Π·Π° ΠΈΡΠΏΠΎΡΠ°ΠΊΠ° ΠΈ ΠΎΠ΄Π»ΠΎΠΆΡΠ²Π°ΡΠ° ΠΏΠΎΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΡΠ°ΠΊΠΈΡΠ΅ Π·Π° Π΄Π° ΡΠ° Π½Π°ΠΌΠ°Π»ΠΈΡΠ΅ Π²Π΅ΡΠΎΡΠ°ΡΠ½ΠΎΡΡΠ° ΠΏΠΎΡΠ°ΠΊΠΈΡΠ΅ Π΄Π° Π²Π»Π΅Π·Π°Ρ Π²ΠΎ DLQ (ΡΠ΅ΡΠΈΡΠΈ Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΡΠΌΠ΅ΡΠ°Π°Ρ ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ, Π½ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄Π΅ΡΡΡΠ²ΡΠ²Π°ΡΠ΅ Π΅ΠΌΠΏΠΈΡΠΈΡΠΊΠΈ ΠΈ Π΄Π° Π³ΠΈ ΠΏΡΠΈΠ»Π°Π³ΠΎΠ΄ΠΈΡΠ΅ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° );
- ΠΡΠΎΠ΄Π°Π²Π½ΠΈΡΠ°ΡΠ° Π½Π° DLQ ΠΌΠΎΡΠ° ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΎ Π΄Π° ΡΠ΅ ΡΠ»Π΅Π΄ΠΈ, Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° ΡΠ»Π΅Π΄Π΅ΡΠ΅ ΠΌΠΎΡΠ° Π΄Π° Π³ΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΠΈ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ Π·Π° Π΄Π° ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠ°Ρ ΡΡΠΎ Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ±ΡΠ·ΠΎ ΠΊΠΎΠ³Π° ΡΠ΅ ΡΠ΅ ΠΏΠΎΡΠ°Π²Π°Ρ Π½Π΅ΠΈΡΠΏΠΎΡΠ°ΡΠ°Π½ΠΈ ΠΏΠΎΡΠ°ΠΊΠΈ. ΠΠ²Π° ΡΠ΅ ΡΠ° Π½Π°ΠΌΠ°Π»ΠΈ βΠΏΠΎΠ³ΠΎΠ΄Π΅Π½Π°ΡΠ° ΠΎΠ±Π»Π°ΡΡβ Π½Π° Π½Π΅ΡΡΠΏΠ΅Ρ ΠΈΠ»ΠΈ Π³ΡΠ΅ΡΠΊΠ° Π²ΠΎ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ°;
- Π°Π²ΡΠΎΠ±ΡΡΠΎΡ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° ΠΌΠΎΡΠ° Π΄Π° Π±ΠΈΠ΄Π΅ Π½Π΅ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π΅Π½ Π½Π° ΠΏΡΠΈΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ ΠΎΡΡΡΡΡΠ²ΠΎ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ: ΠΏΡΠ΅ΡΠΏΠ»Π°ΡΠΈΡΠ΅ Π½Π° ΡΠ΅ΠΌΠ°ΡΠ° ΠΌΠΎΡΠ° Π΄Π° Π±ΠΈΠ΄Π°Ρ ΡΡΠ°ΡΠ½ΠΈ, Π° ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΡ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΠΌΠΎΡΠ° Π΄Π° Π±ΠΈΠ΄Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎ ΡΠ°ΠΊΠ° ΡΡΠΎ Π΄ΠΎΠ΄Π΅ΠΊΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π΅ ΠΎΡΡΡΡΠ½Π°, Π½Π΅ΠΊΠΎΡ Π΄ΡΡΠ³ Π½Π΅ΠΌΠ° Π΄Π° ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ Π΄Π° Π³ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΈ Π½Π΅ΡΠ·ΠΈΠ½ΠΈΡΠ΅ ΠΏΠΎΡΠ°ΠΊΠΈ ΠΎΠ΄ ΡΠ΅Π΄ΠΈΡΠ°.
ΠΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡΠ° Π½Π° ΠΊΠΎΠ½Π΅ΡΠΎΡ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ°
ΠΡΡΠΈΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° Π΄Π΅Π»ΠΎΠ²Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΈΠΌΠΈ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΏΠΎΡΠ°ΠΊΠΈ ΠΈ Π½Π°ΡΡΠ°Π½ΠΈ ΠΎΠ΄Π΅Π΄Π½Π°Ρ, ΡΠΈΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ΅ Π·Π°ΠΏΠΎΡΠ½Π΅ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ. ΠΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅, Π·Π° ΡΠ°Π·Π²ΠΈΠ²Π°Ρ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, ΡΓ¨ ΡΡΠ΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π΅ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΠΈ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎ Π·Π° Π½ΠΈΡΠΊΠΈ.
ΠΠ΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° Π΅Π΄Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ Π³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π° ΡΠ΅ΠΊΠΎΡ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ΅Π½ Π½Π°ΡΡΠ°Π½ ΠΊΠΎΡ Π²Π»ΠΈΡΠ°Π΅ Π½Π° ΡΠΎΡ Π΄Π΅Π»ΠΎΠ²Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅ΡΠ½ΠΎ. Π’Π°ΠΊΠ²ΠΈΡΠ΅ Π½Π°ΡΡΠ°Π½ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π°Ρ:
- Π»Π°Π½ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° Π΄Π΅Π»ΠΎΠ²Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ;
- ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΎ Π΄Π΅ΡΡΡΠ²ΠΎ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΎ ΡΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ Π²ΠΎ ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ;
- ΠΏΡΠΈΠ΅ΠΌ Π½Π° ΠΏΠΎΡΠ°ΠΊΠ° ΠΈΠ»ΠΈ ΡΠΈΠ³Π½Π°Π» Π½Π° ΠΊΠΎΡ Π΅ ΠΏΡΠ΅ΡΠΏΠ»Π°ΡΠ΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° Π΄Π΅Π»ΠΎΠ²Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ;
- Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ°ΡΠΌΠ΅Ρ ΠΏΠΎΡΡΠ°Π²Π΅Π½ ΠΎΠ΄ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° Π΄Π΅Π»ΠΎΠ²Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ;
- ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΎ Π΄Π΅ΡΡΡΠ²ΠΎ ΠΏΡΠ΅ΠΊΡ API (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅ΠΊΠΈΠ½ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡ).
Π‘Π΅ΠΊΠΎΡ ΡΠ°ΠΊΠΎΠ² Π½Π°ΡΡΠ°Π½ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠΎΡ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ: Π½Π΅ΠΊΠΎΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°Π²ΡΡΠ°Ρ, Π° Π΄ΡΡΠ³ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π°Ρ, Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΈΡΠ΅ ΡΠ²ΠΎΡΡΡΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π°Ρ. ΠΠ°ΡΠ²ΠΎΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΊΠΎΡΠ° Π±ΠΈΠ»ΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅Π·ΡΠ»ΡΠΈΡΠ° ΡΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ Π½Π° Π΅Π΄Π½Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΠ΄ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ. Π’ΠΈΠ΅, ΠΏΠ°ΠΊ, ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΠΏΡΠ΅ΡΡΠ°Π½Π°Ρ Π΄Π° ΡΠ΅ΠΊΠ°Π°Ρ Π΄ΡΡΠ³ΠΈ Π½Π°ΡΡΠ°Π½ΠΈ ΠΈΠ»ΠΈ, Π΄ΠΎΠΊΠΎΠ»ΠΊΡ Π½Π΅ ΠΈΠΌ ΡΡΠ΅Π±Π°Π°Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠ° Π·Π°Π²ΡΡΠ°Ρ ΠΈΡΡΠ°ΡΠ° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°. ΠΡΠ΅Π΄ Π΄Π° ΡΠ΅ Π·Π°ΡΠ²ΠΎΡΠΈ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠ°, Π½ΠΎΠ²Π°ΡΠ° ΡΠΎΡΡΠΎΡΠ±Π° Π½Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ ΡΠ΅ Π·Π°ΡΡΠ²ΡΠ²Π° Π²ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΠΊΠ°Π΄Π΅ ΡΡΠΎ ΡΠ΅ ΡΠ΅ΠΊΠ° Π΄Π° ΡΠ΅ ΡΠ»ΡΡΠΈ ΡΠ»Π΅Π΄Π½ΠΈΠΎΡ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ΅Π½ Π½Π°ΡΡΠ°Π½.
ΠΠΎΡΡΠΎΡΠ°Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π·Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π½ΠΈ Π²ΠΎ ΡΠ΅Π»Π°ΡΠΈΠΎΠ½Π° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠ΅ ΠΌΠ½ΠΎΠ³Ρ ΠΏΠΎΠ³ΠΎΠ΄Π½Π° ΡΠΎΡΠΊΠ° Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π°ΠΊΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΠΠΠΠ ΠΠ ΠΠ ΠΠΠ£Π ΠΠ ΠΠΠ. ΠΠΊΠΎ Π΅Π΄Π½Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ° ΡΡΠΏΠ΅Π°Π»Π° Π΄Π° ΡΠ° Π΄ΠΎΠ±ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° Π½Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ ΠΎΠ΄ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Π·Π° Π½Π΅ΡΠ·ΠΈΠ½ΠΎ ΠΌΠ΅Π½ΡΠ²Π°ΡΠ΅, ΡΠΎΠ³Π°Ρ Π½ΠΈΡΡ Π΅Π΄Π½Π° Π΄ΡΡΠ³Π° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ Π½Π΅ΠΌΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ° Π΄ΠΎΠ±ΠΈΠ΅ ΠΈΡΡΠ°ΡΠ° ΡΠΎΡΡΠΎΡΠ±Π° Π·Π° Π΄ΡΡΠ³Π° ΠΏΡΠΎΠΌΠ΅Π½Π°, Π° ΠΏΠΎ Π·Π°Π²ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠ²Π°ΡΠ° ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠ°, Π²ΡΠΎΡΠ°ΡΠ° Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½ΠΎ ΡΠ΅ ΡΠ° Π΄ΠΎΠ±ΠΈΠ΅ Π²Π΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅ΡΠ°ΡΠ° ΡΠΎΡΡΠΎΡΠ±Π°.
ΠΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΠΏΠ΅ΡΠΈΠΌΠΈΡΡΠΈΡΠΊΠΈ Π±ΡΠ°Π²ΠΈ Π½Π° ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° DBMS, Π³ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ²Π°ΠΌΠ΅ ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ Π±Π°ΡΠ°ΡΠ°
Π‘Π΅ΠΏΠ°ΠΊ, ΠΏΠ΅ΡΠΈΠΌΠΈΡΡΠΈΡΠΊΠΈΡΠ΅ Π±ΡΠ°Π²ΠΈ Π½ΠΈ ΡΠ΅ Π·Π°ΠΊΠ°Π½ΡΠ²Π°Π°Ρ ΡΠΎ ΡΠΎΡ-ΡΠΎΠΊΠ°ΠΊ, ΡΡΠΎ Π·Π½Π°ΡΠΈ Π΄Π΅ΠΊΠ° ΠΠΠΠΠ ΠΠ’Π ΠΠ ΠΠΠ£Π ΠΠ ΠΠΠ ΡΠ΅ΠΏΠ°ΠΊ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈ Π½Π° ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΡΠ°Π·ΡΠΌΠ΅Π½ ΡΠ°ΡΠΌΠ°ΡΡ Π²ΠΎ ΡΠ»ΡΡΠ°Ρ Π΄Π° ΡΠ΅ ΠΏΠΎΡΠ°Π²Π°Ρ ΡΠΎΡ-ΡΠΎΠΊΠ°ΠΊ Π½Π° Π½Π΅ΠΊΠΎΠΈ Π΅ΠΊΡΡΡΠ΅ΠΌΠ½ΠΈ ΡΠ»ΡΡΠ°ΠΈ Π²ΠΎ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ°.
ΠΡΡΠ³ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΏΠΎΡΠ΅ΡΠΎΠΊΠΎΡ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ. ΠΠ°ΠΊΠΎ Π½Π΅ ΠΏΠΎΡΡΠΎΠΈ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° Π΄Π΅Π»ΠΎΠ²Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ, Π½Π΅ΠΌΠ° ΡΠΎΡΡΠΎΡΠ±Π° Π²ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΡΠ°ΠΊΠ° ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ΠΌΠ° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ. ΠΠΊΠΎ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ° ΠΎΡΠΈΠ³ΡΡΠ°ΡΠ΅ ΡΠ½ΠΈΠΊΠ°ΡΠ½ΠΎΡΡΠ° Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠΎΡ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ Π²ΠΎ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΠΎΠΏΡΠ΅Π³, ΡΠΎΠ³Π°Ρ ΡΠ΅ Π²ΠΈ ΡΡΠ΅Π±Π° Π½Π΅ΠΊΠΎΡ Π²ΠΈΠ΄ ΠΎΠ±ΡΠ΅ΠΊΡ Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡΠ° ΠΏΠΎΠ²ΡΠ·Π°Π½ ΡΠΎ ΠΊΠ»Π°ΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅Ρ ΠΈ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΈΠΎΡ ΠΎΠΏΡΠ΅Π³. ΠΠ° Π΄Π° Π³ΠΎ ΡΠ΅ΡΠΈΠΌΠ΅ ΠΎΠ²ΠΎΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° Π·Π°ΠΊΠ»ΡΡΡΠ²Π°ΡΠ΅ ΡΡΠΎ Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΏΡΠ΅Π·Π΅ΠΌΠ΅ΠΌΠ΅ Π·Π°ΠΊΠ»ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ ΡΠ΅ΡΡΡΡ Π½Π°Π²Π΅Π΄Π΅Π½ ΡΠΎ ΠΊΠ»ΡΡ Π²ΠΎ ΡΠΎΡΠΌΠ°Ρ URI ΠΏΡΠ΅ΠΊΡ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½Π° ΡΡΠ»ΡΠ³Π°.
ΠΠΎ Π½Π°ΡΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΈ, Π΄Π΅Π»ΠΎΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ InitialPlayer ΡΠΎΠ΄ΡΠΆΠΈ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡΠ°
uniqueConstraint = UniqueConstraints.singleton
ΠΠ°ΡΠΎΠ°, Π΄Π½Π΅Π²Π½ΠΈΠΊΠΎΡ ΡΠΎΠ΄ΡΠΆΠΈ ΠΏΠΎΡΠ°ΠΊΠΈ Π·Π° ΠΏΡΠ΅Π·Π΅ΠΌΠ°ΡΠ΅ ΠΈ ΠΎΡΠΏΡΡΡΠ°ΡΠ΅ Π½Π° Π·Π°ΠΊΠ»ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΈΠΎΡ ΠΊΠ»ΡΡ. ΠΠ΅ΠΌΠ° ΡΠ°ΠΊΠ²ΠΈ ΠΏΠΎΡΠ°ΠΊΠΈ Π·Π° Π΄ΡΡΠ³ΠΈ Π΄Π΅Π»ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ: uniqueConstraint Π½Π΅ Π΅ ΠΏΠΎΡΡΠ°Π²Π΅Π½.
ΠΡΠΎΠ±Π»Π΅ΠΌΠΈ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ ΡΠΎ ΠΏΠΎΡΡΠΎΡΠ°Π½Π° ΡΠΎΡΡΠΎΡΠ±Π°
ΠΠΎΠ½Π΅ΠΊΠΎΠ³Π°Ρ ΠΈΠΌΠ°ΡΠ΅ΡΠΎ ΠΏΠΎΡΡΠΎΡΠ°Π½Π° ΡΠΎΡΡΠΎΡΠ±Π° Π½Π΅ ΡΠ°ΠΌΠΎ ΡΡΠΎ ΠΏΠΎΠΌΠ°Π³Π°, ΡΡΠΊΡ ΠΈ Π½Π°Π²ΠΈΡΡΠΈΠ½Π° Π³ΠΎ ΠΏΠΎΠΏΡΠ΅ΡΡΠ²Π° ΡΠ°Π·Π²ΠΎΡΠΎΡ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Π·Π°ΠΏΠΎΡΠ½ΡΠ²Π°Π°Ρ ΠΊΠΎΠ³Π° ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π°Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈ/ΠΈΠ»ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΎΡ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ. ΠΠ΅ ΡΠ΅ΠΊΠΎΡΠ° ΡΠ°ΠΊΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½Π° Π΅ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½Π° ΡΠΎ ΡΡΠ°ΡΠ°ΡΠ° ΡΠΎΡΡΠΎΡΠ±Π° Π½Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ. ΠΠΊΠΎ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³Ρ ΠΆΠΈΠ²ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΡΠΈ Π²ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΡΠΎΠ³Π°Ρ ΠΏΡΠ°Π²Π΅ΡΠ΅ΡΠΎ Π½Π΅ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ° ΠΌΠ½ΠΎΠ³Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΡΠΎ ΠΊΠΎΠΈ ΡΠ΅ΡΡΠΎ ΡΠ΅ ΡΡΠ΅ΡΠ°Π²Π°ΠΌΠ΅ ΠΊΠΎΠ³Π° ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ jBPM.
ΠΠΎ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡ ΠΎΠ΄ Π΄Π»Π°Π±ΠΎΡΠΈΠ½Π°ΡΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄Π΅ΡΡΡΠ²ΡΠ²Π°ΡΠ΅ Π½Π° Π΄Π²Π° Π½Π°ΡΠΈΠ½Π°:
- ΠΊΡΠ΅ΠΈΡΠ°ΡΡΠ΅ Π½ΠΎΠ² ΡΠΈΠΏ Π½Π° Π΄Π΅Π»ΠΎΠ²Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ Π·Π° Π΄Π° Π½Π΅ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ Π½Π΅ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π½Π° ΡΡΠ°ΡΠΈΠΎΡ ΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π³ΠΎ Π½Π°ΠΌΠ΅ΡΡΠΎ ΡΡΠ°ΡΠΈΠΎΡ ΠΏΡΠΈ ΡΡΠ°ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π½ΠΎΠ²ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΡΠΈ. Π‘ΡΠ°ΡΠΈΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ ΡΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΠ°Ρ βΠΊΠ°ΠΊΠΎ ΠΏΠΎΡΠ°Π½ΠΎβ;
- ΡΠ° ΠΌΠΈΠ³ΡΠΈΡΠ°Π°Ρ ΠΏΠΎΡΡΠΎΡΠ°Π½Π°ΡΠ° ΡΠΎΡΡΠΎΡΠ±Π° Π½Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΏΡΠΈ Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ°.
ΠΡΠ²ΠΈΠΎΡ Π½Π°ΡΠΈΠ½ Π΅ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π΅Π½, Π½ΠΎ ΠΈΠΌΠ° ΡΠ²ΠΎΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ° ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠΈ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ:
- Π΄ΡΠΏΠ»ΠΈΡΠ°ΡΠ΅ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π²ΠΎ ΠΌΠ½ΠΎΠ³Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ, Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΡΡΠΈ Π³ΠΎ ΠΎΠ±Π΅ΠΌΠΎΡ Π½Π° Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ°;
- Π§Π΅ΡΡΠΎΠΏΠ°ΡΠΈ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½Π° ΠΈΡΠ½Π° ΡΡΠ°Π½Π·ΠΈΡΠΈΡΠ° ΠΊΠΎΠ½ Π½ΠΎΠ²Π° Π΄Π΅Π»ΠΎΠ²Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ° (Π²ΠΎ ΠΎΠ΄Π½ΠΎΡ Π½Π° Π·Π°Π΄Π°ΡΠΈΡΠ΅ Π·Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠ° - ΡΠ΅ΡΠΈΡΠΈ ΡΠ΅ΠΊΠΎΠ³Π°Ρ);
- ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΎΡ Π½Π΅ Π·Π½Π°Π΅ Π²ΠΎ ΠΊΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·Π±ΡΠΈΡΠ°Ρ Π·Π°ΡΡΠ°ΡΠ΅Π½ΠΈΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
ΠΠΎ ΠΏΡΠ°ΠΊΡΠ° Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ Π΄Π²Π°ΡΠ° ΠΏΡΠΈΡΡΠ°ΠΏΠΈ, Π½ΠΎ Π΄ΠΎΠ½Π΅ΡΠΎΠ²ΠΌΠ΅ Π³ΠΎΠ»Π΅ΠΌ Π±ΡΠΎΡ ΠΎΠ΄Π»ΡΠΊΠΈ Π·Π° Π΄Π° Π½ΠΈ Π³ΠΎ ΠΎΠ»Π΅ΡΠ½ΠΈΠΌΠ΅ ΠΆΠΈΠ²ΠΎΡΠΎΡ:
- ΠΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΠΏΠΎΡΡΠΎΡΠ°Π½Π°ΡΠ° ΡΠΎΡΡΠΎΡΠ±Π° Π½Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ ΡΠ΅ ΡΡΠ²Π° Π²ΠΎ Π»Π΅ΡΠ½ΠΎ ΡΠΈΡΠ»ΠΈΠ²Π° ΠΈ Π»Π΅ΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½Π° ΡΠΎΡΠΌΠ°: Π²ΠΎ Π½ΠΈΠ·Π° ΡΠΎ ΡΠΎΡΠΌΠ°Ρ JSON. ΠΠ²Π° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈΡΠ΅ Π΄Π° ΡΠ΅ Π²ΡΡΠ°Ρ ΠΈ Π²ΠΎ ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΠΈ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΎ. ΠΠ°ΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠ°ΡΠ½ΠΎ (ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΎ Π²ΠΎ ΡΠ°Π·Π²ΠΎΡΠΎΡ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π΄Π΅Π±Π°Π³ΠΈΡΠ°ΡΠ΅);
- ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠΊΠ°ΡΠ° Π΄Π΅Π»ΠΎΠ²Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π΅ Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠΈ ΠΈΠΌΠΈΡΠ°ΡΠ° Π½Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΡΠ°ΠΊΠ° ΡΡΠΎ Π²ΠΎ ΡΠ΅ΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΠ΅ Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° Π΅Π΄Π΅Π½ ΠΎΠ΄ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ ΡΡΠΎ ΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π°Ρ ΡΠΎ Π½ΠΎΠ² ΡΠΎ Π½ΠΎΠ²ΠΎ ΠΈΠΌΠ΅ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, βInitialPlayerV2β). ΠΡΠ·ΡΠ²Π°ΡΠ΅ΡΠΎ ΡΠ΅ ΡΠ°Π²ΡΠ²Π° ΠΏΡΠ΅ΠΊΡ ΠΈΠΌΠΈΡΠ° Π½Π° ΠΏΠΎΡΠ°ΠΊΠΈ ΠΈ ΡΠΈΠ³Π½Π°Π»ΠΈ;
- ΠΏΡΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ ΠΌΠΎΠ΄Π΅Π» ΠΈΠΌΠ° Π±ΡΠΎΡ Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ°, ΠΊΠΎΡ Π³ΠΎ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π°ΠΌΠ΅ Π°ΠΊΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠ΅ Π½Π΅ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π½Π° ΠΎΠ²ΠΎΡ ΠΌΠΎΠ΄Π΅Π» ΠΈ ΠΎΠ²ΠΎΡ Π±ΡΠΎΡ ΡΠ΅ Π·Π°ΡΡΠ²ΡΠ²Π° Π·Π°Π΅Π΄Π½ΠΎ ΡΠΎ ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° Π½Π° ΠΈΠ½ΡΡΠ°Π½ΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡ;
- ΠΏΠΎΡΡΠΎΡΠ°Π½Π°ΡΠ° ΡΠΎΡΡΠΎΡΠ±Π° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΡΠ΅ ΡΠΈΡΠ° ΠΎΠ΄ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΏΡΠ²ΠΎ Π²ΠΎ ΠΏΡΠΈΠ³ΠΎΠ΄Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠΎ ΠΊΠΎΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°ΡΠ° Π·Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π΄ΠΎΠΊΠΎΠ»ΠΊΡ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π±ΡΠΎΡΠΎΡ Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΎΡ;
- ΠΏΠΎΡΡΠ°ΠΏΠΊΠ°ΡΠ° Π·Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΠ° Π΅ ΠΏΠΎΡΡΠ°Π²Π΅Π½Π° Π΄ΠΎ Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈ ΡΠ΅ Π½Π°ΡΠ΅ΠΊΡΠ²Π° βΠΌΡΠ·Π»ΠΈΠ²Π°β Π·Π° ΡΠ΅ΠΊΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠ΄ Π΄Π΅Π»ΠΎΠ²Π½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΡ Π½Π° Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ Π²ΡΠ°ΡΠ°ΡΠ΅ ΠΎΠ΄ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ;
- Π°ΠΊΠΎ ΡΡΠ΅Π±Π° Π±ΡΠ·ΠΎ ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΎ Π΄Π° ΡΠ° ΠΌΠΈΠ³ΡΠΈΡΠ°ΡΠ΅ ΡΠΎΡΡΠΎΡΠ±Π°ΡΠ° Π½Π° ΡΠΈΡΠ΅ ΠΈΠ½ΡΡΠ°Π½ΡΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡ, ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΏΠΎΠΊΠ»Π°ΡΠΈΡΠ½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠ° Π·Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π½ΠΎ ΠΌΠΎΡΠ° Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ ΡΠΎ JSON.
ΠΠ°Π»ΠΈ Π²ΠΈ ΡΡΠ΅Π±Π° Π΄ΡΡΠ³Π° ΡΠ°ΠΌΠΊΠ° Π·Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ?
Π Π΅ΡΠ΅Π½ΠΈΡΠ°ΡΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈ Π²ΠΎ ΡΡΠ°ΡΠΈΡΠ°ΡΠ° Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈΡΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° Π³ΠΎ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²ΠΈΠΌΠ΅ Π½Π°ΡΠΈΠΎΡ ΠΆΠΈΠ²ΠΎΡ, Π΄Π° Π³ΠΎ ΠΏΡΠΎΡΠΈΡΠΈΠΌΠ΅ ΠΎΠΏΡΠ΅Π³ΠΎΡ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠ΅ΡΠ΅Π½ΠΈ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΡΠ°Π·Π²ΠΎΡ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ Π΄Π° ΡΠ° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠ΅ ΠΈΠ΄Π΅ΡΠ°ΡΠ° Π·Π° ΠΏΠΎΠ΄Π΅Π»Π±Π° Π½Π° Π΄Π΅Π»ΠΎΠ²Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π²ΠΎ ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈ ΠΏΠΎΠΏΡΠΈΠ²Π»Π΅ΡΠ½Π°. ΠΠ° Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π΅ ΠΎΠ²Π°, Π±Π΅ΡΠ΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½Π° ΠΌΠ½ΠΎΠ³Ρ ΡΠ°Π±ΠΎΡΠ°, ΡΠΎΠ·Π΄Π°Π΄Π΅Π½Π° Π΅ ΠΌΠ½ΠΎΠ³Ρ βΠ»Π΅ΡΠ½Π°β ΡΠ°ΠΌΠΊΠ° Π·Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΊΠ°ΠΊΠΎ ΠΈ ΡΡΠ»ΡΠΆΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π·Π° ΡΠ΅ΡΠ°Π²Π°ΡΠ΅ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΡΠ²Π°Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π½Π° ΡΠΈΡΠΎΠΊ ΠΎΠΏΡΠ΅Π³ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠ²Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. ΠΠΌΠ°ΠΌΠ΅ ΠΆΠ΅Π»Π±Π° Π΄Π° Π³ΠΈ ΡΠΏΠΎΠ΄Π΅Π»ΠΈΠΌΠ΅ ΠΎΠ²ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΈ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠ΅ ΡΠ°Π·Π²ΠΎΡΠΎΡ Π½Π° Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΏΡΠΈΡΡΠ°ΠΏ ΠΏΠΎΠ΄ Π±Π΅ΡΠΏΠ»Π°ΡΠ½Π° Π»ΠΈΡΠ΅Π½ΡΠ°. ΠΠ²Π° ΡΠ΅ Π±Π°ΡΠ° ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ Π½Π°ΠΏΠΎΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅. Π Π°Π·Π±ΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ±Π°ΡΡΠ²Π°ΡΠΊΠ°ΡΠ° Π·Π° Π²Π°ΠΊΠ²ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ ΠΏΠΎΡΡΠΈΠΊ Π·Π° Π½Π°Ρ. ΠΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π°ΡΠ° ΡΡΠ°ΡΠΈΡΠ° ΠΌΠ½ΠΎΠ³Ρ ΠΌΠ°Π»ΠΊΡ ΡΠ΅ ΠΎΠ±ΡΠ½ΡΠ²Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ°ΠΌΠ°ΡΠ° ΡΠ°ΠΌΠΊΠ°, Π½ΠΎ Π½Π΅ΠΊΠΎΠΈ ΠΎΠ΄ Π½ΠΈΠ² ΡΠ΅ Π²ΠΈΠ΄Π»ΠΈΠ²ΠΈ ΠΎΠ΄ ΠΏΡΠ΅Π·Π΅Π½ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΈ. ΠΠΊΠΎ Π½Π°Π²ΠΈΡΡΠΈΠ½Π° ΡΠ° ΠΎΠ±ΡΠ°Π²ΠΈΠΌΠ΅ Π½Π°ΡΠ°ΡΠ° ΡΠ°ΠΌΠΊΠ°, ΡΠ΅ Ρ Π±ΠΈΠ΄Π΅ ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½ ΠΏΠΎΡΠ΅Π±Π΅Π½ Π½Π°ΠΏΠΈΡ. ΠΠΎ ΠΌΠ΅ΡΡΠ²ΡΠ΅ΠΌΠ΅, ΡΠ΅ Π²ΠΈ Π±ΠΈΠ΄Π΅ΠΌΠ΅ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΈ Π°ΠΊΠΎ ΠΎΡΡΠ°Π²ΠΈΡΠ΅ ΠΌΠ°Π»ΠΊΡ ΠΏΠΎΠ²ΡΠ°ΡΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°ΡΡΠΈ Π½Π° ΠΏΡΠ°ΡΠ°ΡΠ΅ΡΠΎ:
Π‘Π°ΠΌΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π°Ρ Π²ΠΎ Π°Π½ΠΊΠ΅ΡΠ°ΡΠ°.
ΠΠ°Π»ΠΈ Π²ΠΈ ΡΡΠ΅Π±Π° Π΄ΡΡΠ³Π° ΡΠ°ΠΌΠΊΠ° Π·Π° Π΄Π΅Π»ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ?
-
18,8%ΠΠ°, Π΄ΠΎΠ»Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π±Π°ΡΠ°Π² Π²Π°ΠΊΠ²ΠΎ Π½Π΅ΡΡΠΎ
-
12,5%ΠΠ°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΈΡΠ°Π½ ΡΡΠΌ Π΄Π° Π΄ΠΎΠ·Π½Π°Π°ΠΌ ΠΏΠΎΠ²Π΅ΡΠ΅ Π·Π° Π²Π°ΡΠ°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°, ΠΌΠΎΠΆΠ΅Π±ΠΈ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΊΠΎΡΠΈΡΠ½ΠΎ2
-
6,2%ΠΠΎΡΠΈΡΡΠΈΠΌΠ΅ Π΅Π΄Π½Π° ΠΎΠ΄ ΠΏΠΎΡΡΠΎΡΠ½ΠΈΡΠ΅ ΡΠ°ΠΌΠΊΠΈ, Π½ΠΎ ΡΠ°Π·ΠΌΠΈΡΠ»ΡΠ²Π°ΠΌΠ΅ Π·Π° Π·Π°ΠΌΠ΅Π½Π°1
-
18,8%ΠΠΈΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ Π΅Π΄Π½Π° ΠΎΠ΄ ΠΏΠΎΡΡΠΎΡΠ½ΠΈΡΠ΅ ΡΠ°ΠΌΠΊΠΈ, ΡΠ΅ Π΅ Π²ΠΎ ΡΠ΅Π΄3
-
18,8%ΡΠ΅ ΡΠ½Π°ΠΎΡΠ°ΠΌΠ΅ Π±Π΅Π· ΡΠ°ΠΌΠΊΠ°3
-
25,0%Π½Π°ΠΏΠΈΡΠΈ Π³ΠΎ ΡΠ²ΠΎΠ΅ΡΠΎ4
ΠΠ»Π°ΡΠ°Π° 16 ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ. 7 ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ Π±Π΅Π° Π²ΠΎΠ·Π΄ΡΠΆΠ°Π½ΠΈ.
ΠΠ·Π²ΠΎΡ: www.habr.com