ΠΠ° 11-12 ΡΠ»ΠΈ Π² Π‘Π°Π½ΠΊΡ ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³ ΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ , ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. Π‘ΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎΡΡΡΠ° Π½Π° Π₯ΠΈΠ΄ΡΠ°ΡΠ° Π΅, ΡΠ΅ ΡΡ ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π° ΡΡΡΠ°Ρ ΠΎΡΠ½ΠΈ ΡΡΠ΅Π½ΠΈ (ΠΊΠΎΠΈΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ ΡΠ°ΠΌΠΎ Π½Π° ΡΡΠΆΠ΄Π΅ΡΡΡΠ°Π½Π½ΠΈ Π½Π°ΡΡΠ½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ) ΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΡΠ²Π°ΡΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈ Π² Π΅Π΄Π½Π° Π³ΠΎΠ»ΡΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π½Π° ΠΊΡΡΡΡΠΎΠΏΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π°ΡΠΊΠ°ΡΠ° ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ°.
Π₯ΠΈΠ΄ΡΠ° β Π΅Π΄Π½Π° ΠΎΡ Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΈΡΠ΅ Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ ΠΏΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ. Π’Ρ Π±Π΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π°Π½Π° ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠΈΠΎΠ·Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°, ΠΏΠΎΠ΄Π±ΠΎΡ Π½Π° Π»Π΅ΠΊΡΠΎΡΠΈ ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈ. ΠΠΈΠ½Π°Π»Π°ΡΠ° ΡΠ΅Π΄ΠΌΠΈΡΠ° Π·Π° ΡΠΎΠ²Π° Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° JUG.ru Group, ΠΠ»Π΅ΠΊΡΠ΅ΠΉ Π€Π΅Π΄ΠΎΡΠΎΠ² ().
ΠΠΈΠ΅ Π·Π° ΡΡΠΈΠΌΠ° Π²Π°ΠΆΠ½ΠΈ ΡΡΠ°ΡΡΠ½ΠΈΡΠΈ, ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΈΡΠΈ Π½Π° ΡΠ΅ΠΎΡΠΈΡΡΠ° Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ β ΠΠ΅ΡΠ»ΠΈ ΠΠ°ΠΌΠΏΠΎΡΡΠ΅, ΠΠΎΡΠΈΡ Π₯Π΅ΡΠ»ΠΈΡ ΠΈ ΠΈ ΠΠ°ΠΉΠΊΡΠ» Π‘ΠΊΠΎΡ. ΠΡΠ΅ΠΌΠ΅ Π΅ Π΄Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π·Π° ΡΡΠ»Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°!

ΠΠΎΡΠΈΠ²Π°ΡΠΈΡ
ΠΠΊΠΎ ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΡΠ΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅, ΡΠΎ ΠΏΠΎ Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ Π½Π°ΡΠΈΠ½ ΠΈΠΌΠ°ΡΠ΅ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡ ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ. Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΈΡΠ΅ Π² ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΈΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ°Π±ΠΎΡΡΡ Ρ ΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ, Π½ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎΡΡΡΠ° Π½Π΅Π½Π°ΡΠΈΠ»ΡΡΠ²Π΅Π½ΠΎ Π½ΠΈ Π³Π»Π΅Π΄Π° ΠΎΡ Π²ΡΡΠΊΡΠ΄Π΅: Π²ΡΠ² Π²ΡΠ΅ΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠ΄ΡΠ΅Π½ ΠΊΠΎΠΌΠΏΡΡΡΡ ΠΈΠ»ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΡΠ»ΡΠ³Π° ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π·ΠΊΡΠΈΠ²Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π°ΡΠΏΠ΅ΠΊΡΠΈ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ½ΠΎΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅. ΠΡ Π΄ΡΡΠ³Π°ΡΠ° ΡΡΡΠ°Π½Π° Π½Π° ΡΠΏΠ΅ΠΊΡΡΡΠ° ΠΈΠΌΠ°ΠΌΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π½Π°ΡΡΠ½ΠΈ ΡΠΊΠΎΠ»ΠΈ, ΠΊΠΎΠΈΡΠΎ Π² ΡΠΎΡΠΌΠ°Ρ Π½Π° Π»Π΅ΠΊΡΠΈΠΈ ΡΠ°Π·ΠΊΡΠΈΠ²Π°Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΈ ΠΎΠ±Π΅ΠΌΠΈ ΡΠ»ΠΎΠΆΠ½Π° ΡΠ΅ΠΎΡΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ Ρ Hydra Π² Π‘Π°Π½ΠΊΡ ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³ ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π° . ΠΠ° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° Hydra ΡΠ΅ ΠΎΠΏΠΈΡΠ°Ρ ΠΌΠ΅ Π΄Π° ΡΡΠ±Π΅ΡΠ΅ΠΌ Π·Π°Π΅Π΄Π½ΠΎ ΠΊΠ°ΠΊΡΠΎ ΡΡΡΠΎΠ²Π°ΡΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°, ΡΠ°ΠΊΠ° ΠΈ Π½Π°ΡΠΊΠ°ΡΠ°, ΠΈ Π²ΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π΅ Π½Π° Π³ΡΠ°Π½ΠΈΡΠ°ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡ .
ΠΠΎΠΌΠΈΡΠ»Π΅ΡΠ΅ Π·Π° ΡΠΎΠ²Π°: ΠΆΠΈΠ²Π΅Π΅ΠΌ Π² ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΡΠ΅ΡΠ½Π΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΠΎΠ½Π΅Π·ΠΈ Π½Π°ΡΠΊΠΈ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ, Ρ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌΠ΅. Π€ΠΈΠ·ΠΈΡΠΈΡΠ΅ Π²Π΅ΡΠ΅ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΠ΅ΡΠ½Π°Ρ Π½ΠΈΡΠΎ ΠΡΡΠΎΠ½, Π½ΠΈΡΠΎ ΠΠΉΠ½ΡΠ°ΠΉΠ½ β Π²Π»Π°ΠΊΡΡ Π΅ ΡΡΡΠ³Π½Π°Π». ΠΠΎ Π΄ΠΎ Π½Π°Ρ Π²ΡΠ΅ ΠΎΡΠ΅ ΠΆΠΈΠ²Π΅ΡΡ ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΠ·Π΄Π°Π²Π°Π»ΠΈ ΠΎΡΠ½ΠΎΠ²ΠΈΡΠ΅ Π½Π° ΡΠ΅ΠΎΡΠΈΠΈΡΠ΅ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΈΠ·ΠΌΠΈΡΠ»ΠΈΠ»ΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈ Π΅Π·ΠΈΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΡΠ²ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π»ΠΈ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π² ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈ. Π’Π΅Π·ΠΈ Ρ ΠΎΡΠ° Π½Π΅ ΡΠ° ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΠΈ Π½Π°ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°, Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π°Ρ Ρ Π°ΠΊΡΡΠ°Π»Π½ΠΈ Π·Π°Π΄Π°ΡΠΈ Π² ΡΠ²Π΅ΡΠΎΠ²Π½ΠΎΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π°Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΈ ΠΈΠ·ΡΠΎΡΠ½ΠΈΡΠΈ Π½Π° Π·Π½Π°Π½ΠΈΡ ΠΈ ΠΎΠΏΠΈΡ Π΄Π½Π΅Ρ.
ΠΡ Π΄ΡΡΠ³Π° ΡΡΡΠ°Π½Π°, Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΡΠ΅ ΡΡΠ΅ΡΠ½Π΅ΠΌ Ρ ΡΡΡ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΎΡΡΠ°Π²Π° ΡΠ°ΠΌΠΎ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ½Π°: ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ Π½Π°Ρ ΠΌΠΎΠ³Π°Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π΄Π° ΡΠ»Π΅Π΄ΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈΡΠ΅ ΡΡΠ±ΠΈΡΠΈΡ Π² Π½ΡΠΊΠΎΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ Π² Π ΠΎΡΠ΅ΡΡΡΡ, Π·Π° Π΄Π° ΡΡΠΏΠ΅ΡΡ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Ρ Π² Π‘ΠΠ© ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π·Π° Π»Π΅ΠΊΡΠΈΡ ΠΏΡΠΈ ΠΠ°ΠΉΠΊΡΠ» Π‘ΠΊΠΎΡ. ΠΠ° ΠΏΡΠΈΡΡΡΡΠ²Π°Ρ Π½Π° Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΡΠΈ ΠΎΡ Hydra Π±ΠΈ ΠΈΠ·Π»ΡΠ·Π»ΠΎ Π½Π° ΠΌΠ°Π»ΠΊΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, Π±Π΅Π· Π΄Π° Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° Π½Π΅ΠΈΠ·ΠΌΠ΅ΡΠ½ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΡ Π°ΡΡΠ΅Π½ΠΎ (Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΡΠΎΠ²Π° Π·Π²ΡΡΠΈ ΠΊΠ°ΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π° ΠΌΠΈΡΠΈΡ).
ΠΡ Π΄ΡΡΠ³Π° ΡΡΡΠ°Π½Π°, ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΎΠΏ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ°Π±ΠΎΡΡΡ ΠΏΠΎ Π°ΠΊΡΡΠ°Π»Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π² ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΈΠΌΠ°Ρ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»ΡΡ. ΠΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Π΅, ΡΠ΅ ΡΠ΅ ΡΠ°Π±ΠΎΡΡΡ, Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΠΈΠΌ Π΅ ΡΠΊΡΠΏΠΎ. ΠΠ°, Π°ΠΊΠΎ ΡΠΈ ΡΠ»ΡΠΆΠΈΡΠ΅Π» Π² Microsoft, Google ΠΈΠ»ΠΈ JetBrains, Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΠ° Π΄Π° ΡΡΠ΅ΡΠ½Π΅Ρ Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅Π»ΠΈ Π½Π° Π²ΡΡΡΠ΅ΡΠ½ΠΎ ΠΌΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΠ΅ ΡΡΠ·ΠΊΠΎ Π½Π°ΡΠ°ΡΡΠ²Π°, Π½ΠΎ Π²ΡΡΡΠ½ΠΎΡΡ β Π½Π΅ Π΅ Π²ΡΠ΅ΠΊΠΈ Π΄Π΅Π½.
Π’Π°ΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° Hydra ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π²Π°ΠΆΠ½Π° Π·Π°Π΄Π°ΡΠ°, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΎΡ Π½Π°Ρ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΡΡ ΡΠ°ΠΌΠΈ β ΡΡΠ±ΠΈΡΠ° Π½Π° Π΅Π΄Π½ΠΎ ΠΌΡΡΡΠΎ Ρ ΠΎΡΠ°, ΡΠΈΠΉΡΠΎ ΠΈΠ΄Π΅ΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΡΡ ΠΆΠΈΠ²ΠΎΡΠ° ΡΠΈ. ΠΠΎΠΏΡΡΠΊΠ°ΠΌ, ΡΠ΅ Π½Π΅ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΠΌΡ ΡΡΡΠ±Π²Π°Ρ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΈ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈ Π½Π΅ΡΠ°. ΠΠΎΠΆΠ΅Ρ Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡΠ²Π°Ρ CRUD ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° PHP Π΄ΠΎ ΠΊΡΠ°Ρ Π½Π° ΠΆΠΈΠ²ΠΎΡΠ° ΡΠΈ ΠΈ Π΄Π° ΠΎΡΡΠ°Π½Π΅Ρ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠ°ΡΡΠ»ΠΈΠ². ΠΠΎ Π·Π° ΡΠ΅Π·ΠΈ, Π½Π° ΠΊΠΎΠΈΡΠΎ ΠΈΠΌ ΡΡΡΠ±Π²Π°Ρ β ΡΠΎΠ²Π° Π΅ ΡΠ²ΠΎΡΡ ΡΠ°Π½Ρ.
ΠΡ ΠΏΡΡΠ²ΠΎΡΠΎ Π°Π½ΠΎΠ½ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° Hydra Π² Π₯Π°Π±ΡΠ°Ρ ΠΌΠΈΠ½Π° Π΄ΠΎΡΡΠ° Π²ΡΠ΅ΠΌΠ΅. ΠΠ° ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ Π±Π΅ΡΠ΅ ΡΠ²ΡΡΡΠ΅Π½Π° ΠΎΠ³ΡΠΎΠΌΠ½Π° ΡΠ°Π±ΠΎΡΠ° β ΠΈ Π΅ΡΠΎ, ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΡΠΏΠΈΡΡΠΊ Ρ ΠΏΠΎΡΡΠΈ Π²ΡΠΈΡΠΊΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈ. ΠΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΌΡΠ΄Π½ΠΈ Π΅Π΄Π½ΠΎΠΏΠΎΡΠΎΡΠ½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ, ΡΠ°ΠΌΠΎ ΡΠΈΡΡΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Ρ Π°ΡΠ΄ΠΊΠΎΡ! ΠΠ΅ΠΊΠ° Π΄Π° ΡΠΏΡΠ΅ΠΌ Ρ ΠΎΠ±ΡΠΈΡΠ΅ Π΄ΡΠΌΠΈ ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ΅Π³Π°.
ΠΠ΅ΠΉΠ½ΠΎΡΡΠΈΡΠ΅
ΠΠ΅ΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π·Π°ΠΏΠΎΡΠ²Π°Ρ ΠΈ Π·Π°Π²ΡΡΡΠ²Π°Ρ Π΄Π½ΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ°. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠΌΠΈΡΡΠ»ΡΡ Π½Π° ΠΎΡΠΊΡΠΈΠ²Π°ΡΠΈΡ ΠΊΠ΅ΠΉΠ½ΠΎΡΡ Π΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ ΠΎΠ±ΡΠΈΡ Π΄ΡΡ ΠΈ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ°. ΠΠ°ΠΊΡΠΈΠ²Π°ΡΠΈΡΡ ΠΊΠ΅ΠΉΠ½ΠΎΡΡ ΠΎΠ±ΠΎΠ±ΡΠ°Π²Π° ΠΈ ΠΎΠ±ΡΡΠ½ΡΠ²Π° ΠΊΠ°ΠΊ Π΄Π° ΠΆΠΈΠ²Π΅Π΅ΠΌ Ρ ΠΏΡΠΈΠ΄ΠΎΠ±ΠΈΡΠΈΡΠ΅ Π² Π΄Π½ΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° Π·Π½Π°Π½ΠΈΡ ΠΈ ΡΠΌΠ΅Π½ΠΈΡ. ΠΠ°ΡΠ°Π»ΠΎ ΠΈ ΠΊΡΠ°ΠΉ: ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠ΅ ΠΈ ΠΈΠ·ΠΎΠ±ΡΠΎ ΠΈΠΌΠ° ΠΏΠΎΠ²ΠΈΡΠ΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠ»ΠΈΡ ΠΠ»ΠΈΠΊ β
ΠΠ»ΠΈΡ Π΅ Π»Π΅Π³Π΅Π½Π΄Π° Π² ΡΠ²Π΅ΡΠ° Π½Π° Java. Π ΠΊΡΠ°Ρ Π½Π° 90-ΡΠ΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π·Π° PhD ΡΠ΅Π·Π°ΡΠ° ΡΠΈ ΡΠΎΠΉ Π½Π°ΠΏΠΈΡΠ° ΡΠ°Π±ΠΎΡΠ° Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ , ΠΊΠΎΡΡΠΎ ΡΠ»Π΅Π΄ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΡΠ°Π½Π° ΠΎΡΠ½ΠΎΠ²Π° Π·Π° HotSpot JVM Server Compiler. ΠΠ²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ ΡΠΎΠΉ Π²Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅ Π² Sun Microsystems ΠΏΠΎ JVM ΠΈ ΠΏΠΎΠΊΠ°Π·Π° Π½Π° ΡΠ²Π΅ΡΠ°, ΡΠ΅ JIT ΠΈΠΌΠ° ΠΏΡΠ°Π²ΠΎ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π½Π΅. Π¦ΡΠ»Π°ΡΠ° ΡΠ°Π·ΠΈ ΠΈΡΡΠΎΡΠΈΡ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ Java Π΅ Π΅Π΄Π½Π° ΠΎΡ Π½Π°ΠΉ-Π±ΡΡΠ·ΠΈΡΠ΅ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ ΡΡΠ½ΡΠ°ΠΉΠΌΠΎΠ²Π΅ Ρ Π½Π°ΠΉ-ΡΠΌΠ½ΠΈΡΠ΅ ΠΈ Π±ΡΡΠ·ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ΄Π²Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΡ ΠΠ»ΠΈΡΡ ΠΠ»ΠΈΠΊ. Π ΡΠ°ΠΌΠΎΡΠΎ Π½Π°ΡΠ°Π»ΠΎ ΡΠ΅ ΡΠΌΡΡΠ°ΡΠ΅, ΡΠ΅ Π°ΠΊΠΎ Π½Π΅ΡΠΎ Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π·Π° ΡΡΠ°ΡΠΈΡΠ½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡ β Π½Π΅ ΡΠΈ Π·Π°ΡΠ»ΡΠΆΠ°Π²Π° Π΄Π° ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π° Π΄Π° ΡΠ΅ Π΄ΠΆΠΈΡΠ²Π°. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΠ»ΠΈΡΡ ΠΈ Π΅ΠΊΠΈΠΏΠ° ΠΌΡ, Π²ΡΠΈΡΠΊΠΈ Π½ΠΎΠ²ΠΈ Π΅Π·ΠΈΡΠΈ Π·Π°ΠΏΠΎΡΠ½Π°Ρ
Π° Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ Ρ ΠΈΠ΄Π΅ΡΡΠ° Π·Π° JIT-ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. ΠΠ΅Π·ΡΠΏΠΎΡΠ½ΠΎ, ΡΠΎΠ²Π° Π½Π΅ Π±Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ° Π·Π° Π΅Π΄ΠΈΠ½ ΡΠΎΠ²Π΅ΠΊ, Π½ΠΎ ΠΠ»ΠΈΡΡ ΠΈΠ·ΠΈΠ³ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½Π° ΡΠΎΠ»Ρ Π² Π½Π΅Ρ.
ΠΠ° ΠΎΡΠ²Π°ΡΡΡΠΈΡ ΠΊΠ΅ΠΉΠ½ΠΎΡΡ ΠΠ»ΠΈΡΡ ΡΠ΅ ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ Π·Π° Π΄ΡΡΠ³ΠΎ ΡΠ²ΠΎΠ΅ Π½Π°ΡΠΈΠ½Π°Π½ΠΈΠ΅ β , ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΈ ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎ ΠΏΡΠΎΠΌΠΈΡΠ»Π΅Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎ-ΡΠΎΡΠ½ΠΎ β Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π° Π΄Π²ΠΎΠΉΠΊΠΈ βΠΊΠ»ΡΡ-ΡΡΠΎΠΉΠ½ΠΎΡΡβ Π²ΡΡΡΠ΅ Π² Π½Π΅Π³ΠΎ. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΠ·ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° (ΡΠΎΡΠ½ΠΈΡΡ ΡΠΏΠΈΡΡΠΊ Π΅ Π² ), ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π² ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ°ΡΠ° Π½Π° ΡΡΡΠΈΠΉΠΌΠΈΠ½Π³ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ.
ΠΡΠ΅ Π΅Π΄Π½ΠΎ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈ ΠΠ»ΠΈΡΡ β . ΠΡΡΠ³Π°ΡΠ° ΡΠ°ΡΡ ΠΎΡ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° Π±ΠΈΠΎΠ³ΡΠ°ΡΠΈΡ Π΅ Π΄Π΅ΡΠ΅Ρ Π³ΠΎΠ΄ΠΈΠ½ΠΈ , ΠΊΡΠ΄Π΅ΡΠΎ ΡΠΎΠΉ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ° ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΡΠ° Π² Ρ Π°ΡΠ΄ΡΠ΅ΡΠ° ΠΈ ΡΡΠ΅ΠΊΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Azul: JIT ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠΈ, ΡΡΠ½ΡΠ°ΠΉΠΌ, ΠΌΠΎΠ΄Π΅Π» Π½Π° Π½ΠΈΡΠΊΠ°, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, ΡΠ°Π±ΠΎΡΠ° ΡΡΡ ΡΡΠ΅ΠΊΠ°, Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½ΠΈΡ, Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΊΠ»Π°ΡΠΎΠ²Π΅ ΠΈ ΡΠ°ΠΊΠ° Π½Π°ΡΠ°ΡΡΠΊ β ΡΠ°Π·Π±ΠΈΡΠ°ΡΠ΅ Π½Π°ΠΊΡΠ΄Π΅ Π±ΠΈΡ.
ΠΠ°ΠΉ-ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°ΡΠ° ΡΠ°ΡΡ Π·Π°ΠΏΠΎΡΠ½Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΡΡΠ·Π΄Π°Π΄ΠΎΡ Π° ΠΆΠ΅Π»ΡΠ·ΠΎ Π·Π° Π³ΠΎΠ»ΡΠΌ Π±ΠΈΠ·Π½Π΅Ρ β ΡΡΠΏΠ΅ΡΠΊΠΎΠΌΠΏΡΡΡΡ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Java. Π’ΠΎΠ²Π° Π±Π΅ΡΠ΅ Π΄ΠΎΡΡΠ° ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠ²Π½ΠΎ Π½Π΅ΡΠΎ, ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΠΏΡΠΈΠ³ΠΎΠ΄Π΅Π½ΠΎ Π·Π° Java, ΠΊΠΎΡΡΠΎ ΠΈΠΌΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ β Π±Π°ΡΠΈΠ΅ΡΠΈ Π·Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½Π΅ Π·Π° Π½ΠΈΡΠΊΠΎ Π·Π°Π±Π°Π²ΡΠ½Π΅ Π½Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΡΠΏΠ°Π΄ΡΡΠΈ, ΠΌΠ°ΡΠΈΠ²ΠΈ Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅, Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡβ¦ ΠΠ΄Π½Π° ΠΎΡ Π½Π°ΠΉ-Π³ΠΎΡΠΈΠ½ΠΈΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ β Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½Π° ΠΏΠ°ΠΌΠ΅Ρ. Π¦Π΅Π»ΠΈΡΡ L1 Π½Π° Π²ΡΠ΅ΠΊΠΈ ΠΎΡ 864-ΡΠ΅ ΡΠ΄ΡΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ°ΡΡΠ²Π° Π² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΠΎΡΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π² Java (ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ, Π΄ΠΎΡΠΎΠ³Π°Π²Π° Π΄ΠΎΠΊΠ°ΡΠΎ Π½ΡΠΌΠ° ΡΠ΅Π°Π»Π΅Π½ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°). ΠΠΎ ΠΊΡΠ°ΡΠΈΠ²Π°ΡΠ° ΠΈΠ΄Π΅Ρ ΡΠ΅ ΡΠ±Π»ΡΡΠΊΠ° Ρ ΡΡΡΠΎΠ²Π°ΡΠ° ΡΠ΅Π°Π»Π½ΠΎΡΡ β ΠΈ Π² ΡΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ ΠΠ»ΠΈΡΡ ΡΠ΅ ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ Π·Π°ΡΠΎ HTM ΠΈ STM Π½Π΅ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈ Π·Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π½ΡΠΆΠ΄ΠΈ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΈΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ.
ΠΠ°ΠΉΠΊΡΠ» Π‘ΠΊΠΎΡ β
β ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΠΏΠΎ ΠΊΠΎΠΌΠΏΡΡΡΡΠ½ΠΈ Π½Π°ΡΠΊΠΈ Π² ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° Π² Π ΠΎΡΠ΅ΡΡΡΡ, Ρ ΠΊΠΎΠΉΡΠΎ ΡΡΠ΄Π±Π°ΡΠ° Π³ΠΎ ΡΠ²ΡΡΠ·Π° , Π° Π² ΡΠΎΠ΄Π½ΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ WisconsinβMadison, Π±Π΅ΡΠ΅ Π΄Π΅ΠΊΠ°Π½ Π² ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ΅Ρ Π³ΠΎΠ΄ΠΈΠ½ΠΈ. Π’ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π° ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°Π½ΠΈΡ Π² ΠΎΠ±Π»Π°ΡΡΡΠ° Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎΡΠΎ ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π½Π° Π΅Π·ΠΈΡΠΈ ΠΈ ΠΎΠ±ΡΡΠ°Π²Π° ΡΡΡΠ΄Π΅Π½ΡΠΈ Π² ΡΠ΅Π·ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ.
Π¦Π΅Π»ΠΈΡΡ ΡΠ²ΡΡ ΠΏΠΎΠ·Π½Π°Π²Π° ΠΠ°ΠΉΠΊΡΠ» Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ΅Π±Π½ΠΈΠΊΠ° , ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΉΡΠΎ ΠΈΠ·Π»Π΅Π·Π΅ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»Π½ΠΎ ΡΠΊΠΎΡΠΎ β ΠΏΡΠ΅Π· 2015 Π³ΠΎΠ΄ΠΈΠ½Π°. ΠΠ΅Π³ΠΎΠ²Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎΠ»ΡΡΠΈ ΠΊΠ°ΡΠΎ Π΅Π΄Π½Π° ΠΎΡ Π½Π°ΠΉ-ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈΡΠ΅ Π² ΠΎΠ±Π»Π°ΡΡΡΠ° Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈ Π² ΠΎΠ½Π»Π°ΠΉΠ½ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π½Π° Π£Π½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° Π² Π ΠΎΡΠ΅ΡΡΡΡ. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ ΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅ ΠΊΠ°ΡΠΎ Π°Π²ΡΠΎΡΠ° Π½Π° ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ ΠΠ°ΠΉΠΊΡΠ»-Π‘ΠΊΠΎΡ ΠΎΡ .
Π©ΠΎ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π΄ΠΎ ΡΠ²Π΅ΡΠ° Π½Π° Java, ΡΡΠΊ ΡΠΈΡΡΠ°ΡΠΈΡΡΠ° Π΅ ΡΠ½ΠΈΠΊΠ°Π»Π½Π°: Π·Π°Π΅Π΄Π½ΠΎ Ρ Doug Lea, ΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΈ ΡΠ΅Π·ΠΈ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ ΠΈ ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΈ ΠΎΠΏΠ°ΡΠΊΠΈ, Π½Π° ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π°Ρ Java Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅. ΠΠΌΠ΅Π½Π½ΠΎ ΡΠΎΠ²Π° ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠΎΠΊΡΡΡΡ Π½Π° ΠΊΠ΅ΠΉΠ½ΠΎΡΡΠ° Β«Dual data structuresΒ» β Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Π·ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ Π² Java SE 6 Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π΄Π΅ΡΠ΅ΡΠΊΡΠ°ΡΠ΅Π½ ΡΡΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° java.util.concurrent.ThreadPoolExecutor. ΠΠΊΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π²ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π° ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π°Ρ ΡΠ΅Π·ΠΈ Β«Dual data structuresΒ», ΡΠΎ Π·Π° ΡΠΎΠ²Π° ΠΈΠΌΠ° .
Maurice Herlihy β
β Π½ΠΎΡΠΈΡΠ΅Π» Π½Π° ΡΠ΅Π»ΠΈ Π΄Π²Π΅ Π½Π°Π³ΡΠ°Π΄ΠΈ ΠΠ΅ΠΉΠΊΡΡΡΠ°. ΠΡΡΠ²Π°ΡΠ° β Π·Π° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ (Π£Π½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ ΠΡΠ°ΡΠ½), ΠΈ Π²ΡΠΎΡΠ°ΡΠ°, ΠΏΠΎ-Π½ΠΎΠ²Π°ΡΠ° β (Π£Π½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ ΠΠΈΡΠ΄ΠΆΠΈΠ½ΠΈΡ Π’Π΅ΠΊ). ΠΠ°Π³ΡΠ°Π΄Π°ΡΠ° ΠΠ΅ΠΉΠΊΡΡΡΠ° ΡΠ΅ Π΄Π°Π²Π° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈ Π²Π»ΠΈΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠΎΠΈΡΠΎ ΡΠ° Π±ΠΈΠ»ΠΈ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠΈ Π² ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠΎ Π΄Π΅ΡΠ΅Ρ Π³ΠΎΠ΄ΠΈΠ½ΠΈ, ΠΈ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΠΠΎΡΠΈΡ Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ Π½Π°ΠΉ-ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΈ Π² ΡΠ°Π·ΠΈ ΠΎΠ±Π»Π°ΡΡ. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠΎΠΉ Π΅ ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π² Π£Π½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ ΠΡΠ°ΡΠ½ ΠΈ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ, Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΈ Π·Π° ΡΡΠ» Π°Π±Π·Π°Ρ.
ΠΠ° ΡΠΎΠ·ΠΈ Π·Π°ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π΅Π½ ΠΊΠ΅ΠΉΠ½ΠΎΡΡ ΠΠΎΡΠΈΡ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈ Π·Π° ΡΠ΅ΠΎΡΠΈΡΡΠ° ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ° Π½Π° Π±Π»ΠΎΠΊΡΠ΅ΠΉΠ½ΠΎΠ²ΠΈΡΠ΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈ ΠΊΠ°ΠΊ ΡΠΎΠ²Π° ΠΎΠΏΡΠΎΡΡΡΠ²Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. Π’ΠΎΠ²Π° Π΅ Π»Π΅ΠΊΡΠΈΡ, ΠΈΠ·ΡΡΠ»ΠΎ ΠΏΠΎ ΡΠ΅ΠΌΠ°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° β ΡΡΠ²ΡΠ΅ΠΌ Π½Π΅ Π·Π° ΠΌΠ°ΠΉΠ½ΠΈΠ½Π³ Ρ ΠΈΠΏΠ°, Π° ΠΏΠΎ-ΡΠΊΠΎΡΠΎ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π½Π°ΡΠΈΡΠ΅ ΠΏΠΎΠ·Π½Π°Π½ΠΈΡ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈ ΡΠΌΠ΅ΡΡΠ½ΠΎ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ.
ΠΡΠ΅Π· ΡΠ»ΠΈ 2017 Π³ΠΎΠ΄ΠΈΠ½Π° ΠΠΎΡΠΈΡ Π²Π΅ΡΠ΅ ΠΏΠΎΡΠ΅ΡΠΈ Π ΡΡΠΈΡ Π·Π° ΡΡΠΈΠ»ΠΈΡΠ΅ΡΠΎ SPTDC, ΡΡΠ°ΡΡΠ²Π° Π² ΠΌΠΈΡΠ°ΠΏΠ° JUG.ru, ΠΈ Π·Π°ΠΏΠΈΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π²ΠΈΠ΄ΠΈ Π² YouTube:

ΠΡΠ½ΠΎΠ²Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°
Π‘Π»Π΅Π΄Π²Π° ΠΊΡΠ°ΡΡΠΊ ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄ΠΈΡΠ΅, Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°. Π§Π°ΡΡ ΠΎΡ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈΡΠ΅ ΡΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ, Π° Π΄ΡΡΠ³Π° ΡΠ°ΡΡ β ΠΏΠΎ-ΠΊΡΠ°ΡΠΊΠΎ. ΠΡΠ»Π³ΠΈΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎ Π½Π° Π°Π½Π³Π»ΠΎΡΠ·ΠΈΡΠ½ΠΈΡΠ΅ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΠΏΡΠ΅ΠΏΡΠ°ΡΠΊΠΈ ΠΊΡΠΌ Π½Π°ΡΡΠ½ΠΈ ΡΡΡΠ΄ΠΎΠ²Π΅, ΡΠ΅ΡΠΌΠΈΠ½ΠΈ ΠΎΡ Wikipedia ΠΈ Ρ.Π½. ΠΡΠ»Π΅Π½ ΡΠΏΠΈΡΡΠΊ ΠΌΠΎΠΆΠ΅ . Π‘ΠΏΠΈΡΡΠΊΡΡ Π½Π° ΡΠ°ΠΉΡΠ° ΡΠ΅ Π±ΡΠ΄Π΅ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½ ΠΈ Π΄ΠΎΠΏΡΠ»Π²Π°Π½.
Leslie Lamport β
ΠΠ΅ΡΠ»ΠΈ ΠΠ°ΠΌΠΏΠ°ΡΡ Π΅ Π°Π²ΡΠΎΡ Π½Π° ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡΡΠΈ ΡΡΡΠ΄ΠΎΠ²Π΅ Π² ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ. ΠΎΠ·Π½Π°ΡΠ°Π²Π° Β«Lamport TeXΒ». Π’ΠΎΠΉ ΠΏΡΡΠ²ΠΈ, ΠΎΡΠ΅ ΠΏΡΠ΅Π· 1979 Π³ΠΎΠ΄ΠΈΠ½Π°, Π²ΡΠ²Π΅Π΄Π΅ ΠΏΠΎΠ½ΡΡΠΈΠ΅ΡΠΎ , Π° Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΡΠ°ΡΠΈΡ ΠΏΠΎΠ»ΡΡΠΈΠ»Π° Π½Π°Π³ΡΠ°Π΄Π°ΡΠ° ΠΠ΅ΠΉΠΊΡΡΡΠ°.
Π’Π°Π·ΠΈ ΡΠ°ΡΡ ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π΅ Π½Π°ΠΉ-Π½Π΅ΠΎΠ±ΠΈΡΠ°ΠΉΠ½Π°ΡΠ° ΠΏΠΎ ΡΠΎΡΠΌΠ°Ρ, Π·Π°ΡΠΎΡΠΎ ΡΠΎΠ²Π° Π½Π΅ Π΅ Π΄ΠΎΡΠΈ Π΄ΠΎΠΊΠ»Π°Π΄, Π° ΡΠ΅ΡΠΈΡ Ρ Π²ΡΠΏΡΠΎΡΠΈ ΠΈ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ. ΠΠΎΠ³Π°ΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½Π° ΡΠ°ΡΡ ΠΎΡ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡΡΠ° Π²Π΅ΡΠ΅ Π΅ Π·Π°ΠΏΠΎΠ·Π½Π°ΡΠ° (ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅) Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΡΠ΄ΠΎΠ²Π΅, ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈ Π½Π° Β«ΡΠ΅ΠΎΡΠΈΡΡΠ° Π½Π° ΠΠ°ΠΌΠΏΠ°ΡΡΒ», Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠ΅ ΠΌΡ ΡΡΠ°ΡΠΈΠΈ ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈ, Π΅ Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΡΠ°Π·Ρ ΠΎΠ΄Π²Π° Π²ΡΠΈΡΠΊΠΎΡΠΎ Π½Π°Π»ΠΈΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° Π΄ΠΈΡΠ΅ΠΊΡΠ½Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ.
ΠΠ΄Π΅ΡΡΠ° Π΅ ΠΏΡΠΎΡΡΠ° β Π³Π»Π΅Π΄Π°ΡΠ΅ Π½Π° YouTube Π΄Π²Π° Π΄ΠΎΠΊΠ»Π°Π΄Π°: ΠΈ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΡΡΠ΅ ΠΏΠΎΠ½Π΅ Π΅Π΄ΠΈΠ½ Π²ΡΠΏΡΠΎΡ, Π½Π° ΠΊΠΎΠΉΡΠΎ ΠΠ΅ΡΠ»ΠΈ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ.
ΠΡΡΠ²ΠΎΡΠΎ ΠΎΡ ΡΠ΅Π·ΠΈ Π΄Π²Π΅ Π²ΠΈΠ΄Π΅ΠΎ Π²Π΅ΡΠ΅ ΡΠΌΠ΅ . ΠΠΊΠΎ Π½ΡΠΌΠ°ΡΠ΅ ΡΠ°Ρ Π²ΡΠ΅ΠΌΠ΅ Π·Π° Π³Π»Π΅Π΄Π°Π½Π΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎΡΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΠ·ΠΎ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΡΠ΅ΠΊΡΡ.
ΠΠ° Π±Π΅Π»Π΅ΠΆΠΊΠ°: Π² YouTube ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π²ΠΈΠ΄Π΅Π° Ρ ΠΠ΅ΡΠ»ΠΈ ΠΡΠΌΠΏΠΎΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠ° ΠΎΡΠ»ΠΈΡΠ½ΠΎ . ΠΡΠ»Π°ΠΉΠ½ Π²Π΅ΡΡΠΈΡ Π½Π° ΡΠ΅Π»ΠΈΡ ΡΠΎΠ·ΠΈ ΠΊΡΡΡ Π΅ Π½Π°Π»ΠΈΡΠ½Π° Π½Π° , Π° Π² YouTube ΡΠΎΠΉ Π³ΠΎ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΠΈ Π·Π° ΠΏΠΎ-ΡΠ΄ΠΎΠ±Π½ΠΎ Π³Π»Π΅Π΄Π°Π½Π΅ Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
ΠΠ°ΡΡΠΈΠ½ ΠΠ»Π΅ΠΏΠΏΠΌΠ°Π½ β
ΠΠ°ΡΡΠΈΠ½ ΠΠ»Π΅ΠΏΠΏΠΌΠ°Π½ Π΅ ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π» Π² ΠΠ΅ΠΌΠ±ΡΠΈΠ΄ΠΆΠΊΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ, ΡΠ°Π±ΠΎΡΠ΅Ρ Π² ΠΎΠ±Π»Π°ΡΡΡΠ° Π½Π° CRDT ΠΈ ΡΠΎΡΠΌΠ°Π»Π½Π°ΡΠ° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ. ΠΠ½ΠΈΠ³Π°ΡΠ° Π½Π° ΠΠ°ΡΡΠΈΠ½Π° , ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π° ΠΏΡΠ΅Π· 2017 Π³ΠΎΠ΄ΠΈΠ½Π°, ΡΠ΅ ΠΎΠΊΠ°Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΏΠ΅ΡΠ½Π° ΠΈ ΠΏΠΎΠΏΠ°Π΄Π½Π° Π² ΡΠΏΠΈΡΡΡΠΈΡΠ΅ Ρ Π±Π΅ΡΡΡΠ΅Π»ΡΡΠΈ Π² ΠΎΠ±Π»Π°ΡΡΡΠ° Π½Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠΎ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈ. ΠΠ΅Π²ΠΈΠ½ Π‘ΠΊΠΎΡ, CTO Π² Microsoft, : Β«Π’Π°Π·ΠΈ ΠΊΠ½ΠΈΠ³Π° ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½Π° Π·Π° ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΡΠ΅-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ. Π’ΠΎΠ²Π° Π΅ ΡΡΠ΄ΡΠΊ ΡΠ΅ΡΡΡΡ, ΡΡΡΠ΅ΡΠ°Π²Π°Ρ ΡΠ΅ΠΎΡΠΈΡ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠΌΠ°Π³Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π΄Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Ρ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΏΠΎ-ΡΠΌΠ½ΠΎΒ». ΠΠ΅ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΊΠ°Π·Π° ΠΈ ΡΡΠ·Π΄Π°ΡΠ΅Π»Ρ Π½Π° Kafka ΠΈ CTO Π½Π° Confluent, ΠΠΆΠ΅ΠΉ ΠΡΠ΅ΠΏΡ.
ΠΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ΅ Π·Π°Π΅ΠΌΠ΅ Ρ Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ½ΠΈ ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°Π½ΠΈΡ, ΠΠ°ΡΡΠΈΠ½ Π΅ ΡΠ°Π±ΠΎΡΠΈΠ» Π² ΠΈΠ½Π΄ΡΡΡΡΠΈΡΡΠ° ΠΈ Π΅ ΡΡΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π» Π½Π° Π΄Π²Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΈ ΡΡΠ°ΡΡΠ°ΠΏΠΈ:
- Rapportive, ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½ Π½Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΡΠΈΠ°Π»Π½ΠΈΡ ΠΏΡΠΎΡΠΈΠ» Π½Π° ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ ΠΎΡ Π²Π°ΡΠΈΡ ΠΈΠΌΠ΅ΠΉΠ», ΠΊΠΎΠΉΡΠΎ LinkedIn ΠΊΡΠΏΠΈ ΠΏΡΠ΅Π· 2012 Π³ΠΎΠ΄ΠΈΠ½Π°;
- Go Test It, ΡΡΠ»ΡΠ³Π° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π±ΡΠ°ΠΉΡΠΎΠ²Π΅ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π±ΡΠ°ΡΠ·ΡΡΠΈ, ΠΊΠΎΡΡΠΎ RedGate ΠΊΡΠΏΠΈ ΠΏΡΠ΅Π· 2009 Π³ΠΎΠ΄ΠΈΠ½Π°.
ΠΠ±ΡΠΎ Π²Π·Π΅ΡΠΎ, ΠΠ°ΡΡΠΈΠ½, ΠΌΠ°ΠΊΠ°Ρ ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΎΡ Π½Π°ΡΠΈΡΠ΅ ΠΊΠ»ΡΡΠΎΠ²ΠΈ Π»Π΅ΠΊΡΠΎΡΠΈ, Π²Π΅ΡΠ΅ Π΅ ΡΡΠΏΡΠ» Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈ Π½ΡΠΊΠ°ΠΊΡΠ² ΠΏΡΠΈΠ½ΠΎΡ ΠΊΠ°ΠΊΡΠΎ Π² ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΡΠ°ΠΊΠ° ΠΈ Π² ΠΈΠ½Π΄ΡΡΡΡΠΈΡΡΠ°.
Π ΡΠ°Π·ΠΈ Π»Π΅ΠΊΡΠΈΡ ΠΠ°ΡΡΠΈΠ½ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈ Π·Π° ΡΠ΅ΠΌΠ°, ΠΏΠΎ-Π±Π»ΠΈΠ·ΠΊΠ° Π΄ΠΎ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ Π°ΠΊΠ°Π΄Π΅ΠΌΠΈΡΠ½ΠΈ ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°Π½ΠΈΡ. Π Google Docs ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ ΡΠΎΡΡΡΠ΅Ρ Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ, βΡΡΠ²ΠΌΠ΅ΡΡΠ½ΠΎΡΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅β ΠΎΠ·Π½Π°ΡΠ°Π²Π° Π·Π°Π΄Π°ΡΠ° ΠΏΠΎ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ: Π²ΡΠ΅ΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» ΠΈΠΌΠ° ΡΠ²ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° Π½Π° ΠΎΠ±ΡΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, ΠΊΠΎΠΉΡΠΎ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½Ρ, Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Ρ ΠΏΠΎ ΠΌΡΠ΅ΠΆΠ°ΡΠ° Π΄ΠΎ ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΡΠΈ. ΠΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ ΠΎΡΠ»Π°ΠΉΠ½ Π²ΠΎΠ΄ΡΡ Π΄ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½Π° Π½Π΅ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΡΠΏΡΡΠΌΠΎ ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΡΠΈ, ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½Π°ΡΠ° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ. ΠΠ° ΡΠΎΠ²Π° ΡΠ° ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ (CRDT) Π΅ ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»Π½ΠΎ Π½ΠΎΠ²ΠΎ ΡΠ²Π»Π΅Π½ΠΈΠ΅, ΡΠΈΡΡΠΎ ΡΡΡΠ½ΠΎΡΡ Π±Π΅ΡΠ΅ ΡΠΎΡΠΌΡΠ»ΠΈΡΠ°Π½Π° Π΅Π΄Π²Π° ΠΏΡΠ΅Π· 2011 Π³ΠΎΠ΄ΠΈΠ½Π°. Π ΡΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ ΡΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π° ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ Π΅ ΡΠ»ΡΡΠΈΠ»ΠΎ ΠΎΡΡΠΎΠ³Π°Π²Π° Π² ΡΠ²Π΅ΡΠ° Π½Π° CRDT, ΠΊΠ°ΠΊΠ²ΠΈ ΡΠ° Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π»ΠΎΠΊΠ°Π»Π΅Π½ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°. Π² ΡΠ°ΡΡΠ½ΠΎΡΡ.
Π‘Π»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΡΠ΅Π΄ΠΌΠΈΡΠ° ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°ΠΌΠ΅ Π² Π₯Π°Π±ΡΠ° Π³ΠΎΠ»ΡΠΌΠΎ ΠΈΠ½ΡΠ΅ΡΠ²Ρ Ρ ΠΠ°ΡΡΠΈΠ½, ΡΠ΅ Π±ΡΠ΄Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ.
Pedro Ramalhete β
ΠΠ΅Π΄ΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π² Cisco ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π²Π΅ΡΠ΅ ΠΎΠΊΠΎΠ»ΠΎ Π΄Π΅ΡΠ΅Ρ Π³ΠΎΠ΄ΠΈΠ½ΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ, ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π±Π΅Π· Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½Π΅ ΠΈ Π±Π΅Π· ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅, ΠΈ Π²ΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅ ΠΏΠΎ ΡΠ°Π·ΠΈ ΡΠ΅ΠΌΠ°. Π’Π΅ΠΊΡΡΠΈΡΠ΅ ΠΌΡ Π½Π°ΡΡΠ½ΠΈ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ½ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΈ ΡΠ° ΡΠΎΠΊΡΡΠΈΡΠ°Π½ΠΈ Π²ΡΡΡ
Ρ Π£Π½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΡΠΎΡΡΡΠ΅ΡΠ½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½Π° ΠΏΠ°ΠΌΠ΅Ρ, ΠΏΠ΅ΡΡΠΈΡΡΠ΅Π½ΡΠ½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΡΠ΅ΠΊΡΠ½ΠΈ, ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΡΠΎΠΉ Π΅ Π°Π²ΡΠΎΡ Π½Π° ΡΠΈΡΠΎΠΊΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈΡ Π² ΡΠ΅ΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ Π±Π»ΠΎΠ³ .
Π ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π³Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ, Π·Π°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ ΠΎΡ ΠΎΠΏΠ°ΡΠΊΠΈ Π·Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π°ΠΊΡΡΠΎΡΠΈΡΠ΅ ΠΈ ΡΡΠΈΠ³Π°ΠΉΠΊΠΈ Π΄ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Ρ ΠΊΠ»ΡΡ-ΡΡΠΎΠΉΠ½ΠΎΡΡ. Π Java JDK ΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Ρ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ, Π° ΠΈ Π² C++ Π±Π°Π²Π½ΠΎ ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΡ.
ΠΠ°ΠΉ-ΠΏΡΠΎΡΡΠΈΡΡ Π½Π°ΡΠΈΠ½ Π·Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½Π° ΡΡΡΡΠΊΡΡΡΠ° ΠΎΡ Π΄Π°Π½Π½ΠΈ Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½Π°ΡΠ° (Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π°) ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ ΡΠ° Π·Π°ΡΠΈΡΠ΅Π½ΠΈ Ρ ΠΌΡΡΠ΅ΠΊΡΠΈ. Π’ΠΎΠ²Π° Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π·Π° Π²ΡΠ΅ΠΊΠΈ Π½Π°ΡΠΈΠ½Π°Π΅Ρ, Π½ΠΎ ΠΈΠΌΠ° ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡΠ° ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅, lock-free ΠΈ wait-free ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π½Π΅ ΡΠ°ΠΌΠΎ ΡΠ΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ ΡΠ΅ ΡΠΏΡΠ°Π²ΡΡ Ρ Π³ΡΠ΅ΡΠΊΠΈΡΠ΅, Π½ΠΎ ΠΈ ΠΈΠΌΠ°Ρ ΠΏΠΎ-Π΄ΠΎΠ±ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅Π½ ΠΏΡΠΎΡΠΈΠ» β ΠΎΠ±Π°ΡΠ΅, Π·Π° ΡΡΡ Π½Π°ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π΄ΡΠ»Π±ΠΎΠΊΠ° Π΅ΠΊΡΠΏΠ΅ΡΡΠΈΠ·Π° ΠΈ Π°Π΄Π°ΠΏΡΠΈΡΠ°Π½Π΅ ΠΊΡΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈΡ Π½Π°ΡΠΈΠ½ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ΄Π½Π° ΠΏΠΎΠ³ΡΠ΅ΡΠ½Π° ΡΠ΅Π΄ΠΈΡΠ° ΠΊΠΎΠ΄ Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½Π°, Π·Π° Π΄Π° ΡΡΡΠΏΠΈ Π²ΡΠΈΡΠΊΠΎ.
ΠΠ°ΠΊ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠ°ΠΊΠ°, ΡΠ΅ Π΄ΠΎΡΠΈ Π½Π΅Π΅ΠΊΡΠΏΠ΅ΡΡ Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ° ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° ΡΠ°ΠΊΠΈΠ²Π° ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ? ΠΠ·Π²Π΅ΡΡΠ½ΠΎ Π΅, ΡΠ΅ Π²ΡΠ΅ΠΊΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π΅Π½ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½ Π·Π° ΠΏΠΎΡΠΎΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΈΠ»ΠΈ , ΠΈΠ»ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½Π° ΠΏΠ°ΠΌΠ΅Ρ. Π§ΡΠ΅Π· Π΅Π΄Π½ΠΎ ΠΎΡ ΡΠ΅ΡΠ΅Π½ΠΈΡΡΠ° ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΠΎΠ½ΠΈΠΆΠ°Ρ ΠΏΡΠ°Π³Π° Π½Π° Π²Π»ΠΈΠ·Π°Π½Π΅ Π² ΡΠ΅ΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, ΠΈ Π΄Π²Π΅ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π²ΠΎΠ΄ΡΡ Π΄ΠΎ Π½Π΅Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΠ΅Π΄ΡΠΎ ΡΠ΅ ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ ΠΊΠ°ΠΊ ΡΡΠΏΡΡ Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΡΡ ΡΠ΅Π·ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈ ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠ΅ ΠΈΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ.
Π₯Π°ΠΉΠ΄ΠΈ Π₯Π°ΡΡΡΠ΄ β
Π₯Π°ΠΉΠ΄ΠΈ Π₯Π°ΡΡΡΠ΄ β ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΠ°ΡΡΠΈΠ½, ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π» Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π² ΠΠ΅ΠΌΠ±ΡΠΈΠ΄ΠΆΠΊΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ. ΠΠ΅ΠΉΠ½Π°ΡΠ° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π΅ ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡ, ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡ. Π’Ρ Π΅ Π½Π°ΠΉ-ΠΈΠ·Π²Π΅ΡΡΠ½Π° Ρ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° Paxos, Π½Π°ΡΠ΅ΡΠ΅Π½ .
ΠΠ°ΠΏΠΎΠΌΠ½ΡΠΌΠ΅, ΡΠ΅ β ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° Π·Π°Π΄Π°ΡΠ°ΡΠ° Π·Π° ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡ Π² ΠΌΡΠ΅ΠΆΠ° ΠΎΡ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π°Ρ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΠ΅ΡΠ»ΠΈ ΠΠ°ΠΌΠΏΠΎΡΡ. Π’Π°ΠΊΠ° ΡΠ΅ Π½ΡΠΊΠΎΠΈ ΠΎΡ Π½Π°ΡΠΈΡΠ΅ Π»Π΅ΠΊΡΠΎΡΠΈ ΡΠ°Π±ΠΎΡΡΡ ΠΏΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ ΠΎΡ Π΄ΡΡΠ³ΠΈ Π½Π°ΡΠΈ Π»Π΅ΠΊΡΠΎΡΠΈ β ΠΈ ΡΠΎΠ²Π° Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ.
ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Ρ ΠΎΡΡΠ° β Π·Π° Π°Π΄ΡΠ΅ΡΠΈΡΠ°Π½Π΅, ΠΈΠ·Π±ΠΎΡ Π½Π° Π»ΠΈΠ΄Π΅Ρ, Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½Π΅ ΠΈΠ»ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΡ β Π΅ ΠΎΡΠ½ΠΎΠ²Π΅Π½ Π²ΡΠΏΡΠΎΡ Π½Π° ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. Paxos ΡΠ΅Π³Π° Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ ΠΎΠΊΠΎΠ»ΠΎ Π½Π΅Π³ΠΎ ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΠΆΠ΄Π°Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°Π½ΠΈΡ, ΡΠ΅Π»ΡΡΠΈ ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½ΡΠΆΠ΄ΠΈ.
Π ΡΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ ΡΠ΅ ΠΏΡΠ΅ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ½Π°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Paxos, ΠΎΡΡΠ»Π°Π±Π²Π°ΠΉΠΊΠΈ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΈΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠ±ΠΎΠ±ΡΠ°Π²Π°ΠΉΠΊΠΈ Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ°. Π©Π΅ Π²ΠΈΠ΄ΠΈΠΌ, ΡΠ΅ Paxos ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎ Π΅ ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΈ Π² ΠΎΠ³ΡΠΎΠΌΠ½ΠΈΡ ΡΠΏΠ΅ΠΊΡΡΡ ΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈ ΠΊΡΠΌ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡΠ° ΠΈ ΡΠ΅ Π΄ΡΡΠ³ΠΈΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΎΡ ΡΠΏΠ΅ΠΊΡΡΡΠ° ΡΡΡΠΎ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΠΎΠ±ΡΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ.
ΠΠ»Π΅ΠΊΡ ΠΠ΅ΡΡΠΎΠ² β
ΠΠ»Π΅ΠΊΡ Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ ΠΏΠΎ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅, Π° Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΎΡΠΎ Π·Π° Π½Π°Ρ - ΠΊΠΎΠΌΠΈΡΠ΅Ρ Π² . Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ°Π±ΠΎΡΠΈ Ρ OβReilly ΠΏΠΎ ΠΊΠ½ΠΈΠ³Π° Π·Π° ΠΡΡΡΠ΅ΡΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° Π±Π°Π·ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ.
ΠΠ° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ (Π² ΡΡΡΠΊΠΎΡΠ·ΠΈΡΠ½Π°ΡΠ° ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ - βΡΡΠ³Π»Π°ΡΡΠ²Π°Π½ΠΎΡΡ Π² ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ°β), ΡΠ»Π΅Π΄ ΠΏΠ°Π΄Π°Π½Π΅ Π½Π° Π²ΡΠ·Π»ΠΈΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΌΡΠ΅ΠΆΠ°ΡΠ°, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΠ΅ΡΠΈ ΡΠ»Π΅Π΄Π½Π°ΡΠ° Π΄ΠΈΠ»Π΅ΠΌΠ°: Π΄Π°Π»ΠΈ Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΠΌ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΠΌΠ΅ Π·Π°ΡΠ²ΠΊΠΈ, ΠΆΠ΅ΡΡΠ²Π°ΠΉΠΊΠΈ ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΡΠ°, ΠΈΠ»ΠΈ Π΄Π° ΠΎΡΠΊΠ°ΠΆΠ΅ΠΌ ΡΡΡ Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ Π΄Π° ΠΆΠ΅ΡΡΠ²Π°ΠΌΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡΠ°. Π ΡΠ°ΠΊΠ°Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠ²ΠΎΡΡΠΌΠΈΡΠ΅, ΠΏΡΠΈΠΏΠΎΠΊΡΠΈΠ²Π°ΡΠΈΡΠ΅ ΡΠ΅ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΎΡ Π²ΡΠ·Π»ΠΈ ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°ΡΠΈ, ΡΠ΅ ΠΏΠΎΠ½Π΅ Π΅Π΄ΠΈΠ½ Π²ΡΠ·Π΅Π» ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ° Π½Π°ΠΉ-Π½ΠΎΠ²Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ, ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΠ°Π½Π°Ρ Π΄ΠΎΠ±ΡΠΎ Π³ΡΠ°Π½ΠΈΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡΠ΅ΠΆΠΈΠ²Π΅Π΅ΠΌ ΡΡΠΈΠ²ΠΎΠ²Π΅ ΠΈ Π·Π°Π³ΡΠ±Π° Π½Π° ΡΠ²ΡΡΠ·Π°Π½ΠΎΡΡ Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π²ΡΠ·Π»ΠΈ, ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π°ΠΉΠΊΠΈ Π΄Π° ΠΎΡΠ³ΠΎΠ²Π°ΡΡΠΌΠ΅ Ρ Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ.
ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π° Π²ΡΠΈΡΠΊΠΎ ΠΈΠΌΠ° ΡΠ²ΠΎΡ ΡΠ΅Π½Π°. ΠΠ²ΠΎΡΡΠΌΠ½Π°ΡΠ° ΡΡ Π΅ΠΌΠ° Π·Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΠΏΠΎΠ²ΠΈΡΠ΅Π½ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅: Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΅ Π΄Π° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ ΠΈΠ·Π»ΠΈΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²ΡΠ·Π»ΠΈ Π½Π°Π²Π΅Π΄Π½ΡΠΆ, Π·Π° Π΄Π° ΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π°Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠΏΠΈΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π° Π²ΡΠ·Π½ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΠΊΠ°Π·Π²Π° ΡΠ΅, ΡΠ΅ Π½Π΅ Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π²ΡΠΈΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ. ΠΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΠΌ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ, Π°ΠΊΠΎ ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ°ΠΌΠΎ Π½Π° ΡΠ°ΡΡ ΠΎΡ Π²ΡΠ·Π»ΠΈΡΠ΅, Π° Π·Π° ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΡΠΈΠ²ΠΎΠ²Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈ Π½ΠΎΠ΄ΠΎΠ²Π΅ (Transient Replica).
Π Ρ ΠΎΠ΄Π° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ , ΡΡ Π΅ΠΌΠ°ΡΠ° Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π² ΠΈ , ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Π² Apache Cassandra ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π°ΡΠ° .
ΠΠΌΠΈΡΡΠΈΠΉ ΠΡΠΊΠΎΠ² β
ΠΠΌΠΈΡΡΠΈΠΉ Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² Google, ΡΠ°Π±ΠΎΡΠ΅Ρ Π²ΡΡΡ
Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° C/C++ ΠΈ Go β Address/Memory/ThreadSanitizer, ΠΈ Π½Π°Π΄ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux. Π’ΠΎΠΉ Π΅ contributed Π² Go ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌ ΠΏΠ»Π°Π½ΠΈΡΠ°Ρ Π³ΠΎΡΡΡΠΈΠ½, ΠΌΡΠ΅ΠΆΠΎΠ² ΠΏΠΎΠ»Π΅Ρ ΠΈ ΠΏΠ°ΡΠ°Π»Π΅Π»Π΅Π½ ΡΡΠ±ΠΈΡΠ°Ρ Π½Π° Π±ΠΎΠΊΠ»ΡΠΊ. ΠΠΊΡΠΏΠ΅ΡΡ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡΠ°, Π°Π²ΡΠΎΡ Π½Π° Π΄ΡΠ·ΠΈΠ½Π° Π½ΠΎΠ²ΠΈ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ ΠΈ ΠΏΡΠΈΡΠ΅ΠΆΠ°ΡΠ΅Π» Π½Π° Π² Intel.
Π‘Π΅Π³Π° ΠΌΠ°Π»ΠΊΠΎ Π·Π° ΡΠ°ΠΌΠΎΡΠΎ ΠΈΠ·ΠΊΠ°Π·Π²Π°Π½Π΅. Π Π΅Π·ΠΈΠΊΠ° Go ΠΈΠΌΠ° Π²Π³ΡΠ°Π΄Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π³ΠΎΡΡΡΠΈΠ½ΠΈ (Π»Π΅ΠΊΠΈ Π½ΠΈΡΠΊΠΈ) ΠΈ ΠΊΠ°Π½Π°Π»ΠΈ (FIFO ΠΎΠΏΠ°ΡΠΊΠΈ). ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π·ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ, Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΈΠΌ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅ΡΠ½ΠΎ ΠΈ ΠΏΡΠΈΡΡΠ½ΠΎ Π΄Π° ΠΏΠΈΡΠ°Ρ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈ ΡΠΎΠ²Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°ΡΠΎ ΠΌΠ°Π³ΠΈΡ. ΠΠ°ΠΊΡΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΠΌΠ΅, ΡΡΠΊ Π½ΡΠΌΠ° Π½ΠΈΠΊΠ°ΠΊΠ²Π° ΠΌΠ°Π³ΠΈΡ. Π ΡΠΎΠ²Π° ΠΈΠ·ΠΊΠ°Π·Π²Π°Π½Π΅, ΠΠΌΠΈΡΡΠΈΠΉ ΡΠ΅ Π·Π°Π΄ΡΠ»Π±ΠΎΡΠΈ Π² ΡΡΠ½ΠΊΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°ΡΠ° Go ΠΈ ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ ΡΠ°ΠΉΠ½ΠΈΡΠ΅ Π½Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΈ βΠΌΠ°Π³ΠΈΡβ. ΠΡΡΠ²ΠΎ, ΡΠΎΠΉ ΡΠ΅ Π΄Π°Π΄Π΅ ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°ΡΠ° ΠΈ ΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΈ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΠΌ ΠΏΠΎ-Π±Π»ΠΈΠ·ΠΎ Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π°ΡΠΏΠ΅ΠΊΡΠΈ ΠΊΠ°ΡΠΎ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡΡΠ° Π·Π° ΠΏΠ°ΡΠΊΠΈΡΠ°Π½Π΅/ΡΠ°Π·ΠΏΠ°ΡΠΊΠΈΡΠ°Π½Π΅ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠ²ΠΈΡΠΈ. ΠΠ°ΠΊΡΠ°Ρ, ΠΠΌΠΈΡΡΠΈΠΉ ΡΠ΅ ΡΠΏΠΎΠ΄Π΅Π»ΠΈ ΠΌΠ°Π»ΠΊΠΎ Π·Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°ΡΠ°.
ΠΠΌΠΈΡΡΠΈΠΉ ΠΡΠ³Π°ΠΉΡΠ΅Π½ΠΊΠΎ β
ΠΠΌΠΈΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎΡΡΠΈ 9 Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π² Π°ΡΡΡΠΎΡΡΠΈΠ½Π³, ΠΊΠ°ΡΠΎ Π·Π°ΠΏΠ°Π·Π²Π° ΠΊΠΎΠ½ΡΠ°ΠΊΡ Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° ΠΈ Π½Π°ΡΡΠ½Π°ΡΠ° ΡΡΠ΅Π΄ΠΈ. ΠΠ½Π°Π»ΠΈΠ·ΡΡ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ Π² ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΠ½ΠΈΡΠΈΡΠ΅ ΡΡΠ°Π½Π° ΡΠ½ΠΈΠΊΠ°Π»Π΅Π½ ΡΠ°Π½Ρ Π·Π° Π½Π΅Π³ΠΎ Π΄Π° ΡΡΡΠ΅ΡΠ°Π΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ½Π°ΡΠ° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΈ Π½Π°ΡΡΠ½ΠΈΡ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½Ρ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΠ΅Π°Π»Π½ΠΈ, ΡΡΡΡΠ΅Π½ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ.
Π Π°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΡ Π°Π½Π°Π»ΠΈΠ· Π½Π° Π³ΡΠ°ΡΠΈ Π±Π΅ΡΠ΅ ΠΈ ΠΎΡΡΠ°Π²Π° ΡΠ»ΠΎΠΆΠ½Π° Π·Π°Π΄Π°ΡΠ°: ΠΊΠΎΠ³Π°ΡΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ½Π΅ Π½ΡΠΆΠ΄Π° ΠΎΡ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π²ΡΡΠ·ΠΊΠΈΡΠ΅ Π½Π° ΡΡΡΠ΅Π΄Π΅Π½ Π²ΡΡΡ , ΡΠ΅ΡΡΠΎ ΡΠ΅ Π½Π°Π»Π°Π³Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΡ Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ°ΡΠΈΠ½ΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°. Π ΡΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ ΡΠ°ΠΊΡΠΈ, ΠΊΠ°ΡΠΎ ΡΠΈΠΌΠ΅ΡΡΠΈΡΡΠ° Π½Π° Π³ΡΠ°ΡΠ° Π½Π° ΠΏΡΠΈΡΡΠ΅Π»ΡΡΠ²Π°ΡΠ° Π² ΡΠΎΡΠΈΠ°Π»Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ°. ΠΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π΅ ΠΈΠ»ΡΡΡΡΠΈΡΠ°Π½ΠΎ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΈ ΠΎΡ ΠΊΠΎΠ΄Π° Π½Π° Apache Spark.
ΠΠ΅Π½ΠΈΡ Π ΡΡΡΠΎΠ² β
ΠΠ΅Π½ΠΈΡ β ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ , Π΅ΠΊΡΠΏΠ΅ΡΡ Π² ΠΎΠ±Π»Π°ΡΡΡΠ° Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡ, Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ Π·Π° ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΡ ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠΈ Π² Microsoft, Π° ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΡΠ΅ Π΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π°Π» Ρ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π² Amazon ΠΈ Yandex.
Π ΡΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ ΡΠ΅ ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΠΌ Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠ΅ Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΠΏΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°ΡΠ° ΡΡΡΠ°Π½Π° Π²ΡΡΡ Ρ Π²ΡΡΠΊΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠΎ ΡΡΠ»ΠΎΠ²Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ (compare and set). Π‘ΡΡΠ½ΠΎΡΡΡΠ° Π΅, ΡΠ΅ ΠΆΠΈΠ²ΠΎΡΡΡ Π½Π΅ Π·Π°Π²ΡΡΡΠ²Π° Ρ Π΄Π²ΡΡΠ°Π·Π½ΠΎΡΠΎ ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π°Π²Π°Π½Π΅ β ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π½Π°Π΄ Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ β Π½Π° Π½ΠΈΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ (2PC, Percolator, RAMP) ΠΈΠΌΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΡΠ³ΠΎΠ²ΡΠΊΠΈ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΠΈ ΠΈ Π½Π΅ ΡΠ° Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΈ.
ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠΈΠ½ΠΎΠ²ΡΠ΅Π² β
ΠΠ»Π΅ΠΊΡΠ΅ΠΉ () β Π½Π°Ρ Π΄ΡΠ»Π³ΠΎΠ³ΠΎΠ΄ΠΈΡΠ΅Π½ Π»Π΅ΠΊΡΠΎΡ ΠΈ ΡΠ»Π΅Π½ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΈΡΠΈΠΈ Π½Π° Π΄ΡΡΠ³ΠΈ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ. ΠΡΠ°ΠΊΡΠΈΠΊΡΠ²Π°Ρ ΡΡΠ΅Π½ΡΠΎΡ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° EPAM Systems, ΠΈ Ρ Hadoop/Spark ΠΈ Π΄ΡΡΠ³ΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π·Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ ΡΠ°Π±ΠΎΡΠΈ ΠΎΡ 2012 Π³ΠΎΠ΄ΠΈΠ½Π°.
Π ΡΠΎΠ·ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΡΠ΅ ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅ Ρ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΡΡΠ° Π½Π° ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π·Π° ΡΠ°Π±ΠΎΡΠ° Π² ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ, Π±Π°Π·ΠΈΡΠ°ΠΉΠΊΠΈ ΡΠ΅ Π½Π° ΠΎΠΏΠΈΡΠ° ΡΠΈ Ρ Apache Spark ML, Apache Mahout, Apache Flink ML ΠΈ ΠΎΠΏΠΈΡ Π² ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Apache Ignite ML. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΡΠ΅ ΡΠΏΠΎΠ΄Π΅Π»ΠΈ Π·Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ML Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π² ΡΠ΅Π·ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ²Π΅.
Π Π½Π°ΠΊΡΠ°Ρ β Π΄Π²Π΅ Π»Π΅ΠΊΡΠΈΠΈ ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Yandex Π·Π° Yandex Database.
ΠΠ»Π°Π΄ΠΈΡΠ»Π°Π² ΠΡΠ·Π½Π΅ΡΠΎΠ² β
ΠΠ»Π°Π΄ΠΈΡΠ»Π°Π² Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² Π―Π½Π΄Π΅ΠΊΡ Π² Π³ΡΡΠΏΠ°ΡΠ° Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°. Yandex Database Π΅ Ρ
ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»Π½ΠΎ ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠ° Π³Π΅ΠΎΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²Π° Π‘Π£ΠΠ, ΡΡΡΠΎΠΉΡΠΈΠ²Π° Π½Π° ΠΎΡΠΊΠ°Π·ΠΈ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²Π΅, ΡΡΡΠ²ΡΡΠΈ, ΡΠ°ΡΡΠΎΠ²Π΅ ΠΈ Π΄Π°ΡΠ° ΡΠ΅Π½ΡΡΠΎΠ²Π΅ Π±Π΅Π· Π½Π°ΡΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΡΠ°. ΠΠ° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ Π·Π° ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΡΡΠ³Π»Π°ΡΠΈΠ΅, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠ΅Π΄ΠΈΡΠ° ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·Π³Π»Π΅Π΄Π°Π½ΠΈ Π² Π΄ΠΎΠΊΠ»Π°Π΄Π°. ΠΠΎΠΊΠ»Π°Π΄ΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ ΠΊΠ°ΠΊΡΠΎ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Π‘Π£ΠΠ, ΡΠ°ΠΊΠ° ΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π‘Π£ΠΠ.
Π‘Π΅ΠΌΠ΅Π½ Π§Π΅ΡΠ΅ΡΠΈΠ½Π΄Π° β
Π‘Π΅ΠΌΠ΅Π½ Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² Π³ΡΡΠΏΠ°ΡΠ° Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π² Π―Π½Π΄Π΅ΠΊΡ, ΡΠ°Π±ΠΎΡΠΈ Π²ΡΡΡ
Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΌΡΠ»ΡΠΈΠ°ΡΠ΅Π½Π΄Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ° Π½Π° YDB.
ΠΠ°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π½Π° Yandex Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π° Π·Π° OLTP Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π½Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° Π½Π° ACID Π·Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. Π Π΄ΠΎΠΊΠ»Π°Π΄Π° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° Π·Π° ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΠΉΡΠΎ Π»Π΅ΠΆΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° YDB. Π©Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΠΊΠ°ΠΊΠ²ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΠΈ ΡΡΠ°ΡΡΠ²Π°Ρ Π² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅, ΠΊΠΎΠΉ Π½Π°Π·Π½Π°ΡΠ°Π²Π° Π³Π»ΠΎΠ±Π°Π»Π½ΠΈΡ ΡΠ΅Π΄ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅, ΠΊΠ°ΠΊ ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π° Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΡΡ, Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ ΠΈ ΡΡΡΠΎΠ³ΠΎΡΡ Π½Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡΡΠ°. ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Ρ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° Π΄Π²ΡΡΠ°Π·Π΅Π½ ΠΊΠΎΠΌΠΈΡ ΠΈ Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΡΠΈΡΠ½ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. Π©Π΅ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ.
ΠΠ°ΠΊΠ²ΠΎ ΡΠ»Π΅Π΄Π²Π°?
ΠΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° ΡΠ΅ ΠΏΠΎΠΏΡΠ»Π²Π° Ρ Π½ΠΎΠ²ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄ΠΈ. Π ΡΠ°ΡΡΠ½ΠΎΡΡ, ΠΎΡΠ°ΠΊΠ²Π°ΠΌΠ΅ Π΄ΠΎΠΊΠ»Π°Π΄ ΠΎΡ ΠΠΈΠΊΠΈΡΠ° ΠΠΎΠ²Π°Π»Ρ () ΠΎΡ JetBrains ΠΈ ΠΠ»Π΅Π³Π° ΠΠ½Π°ΡΡΠ°ΡΡΠ΅Π²Π° () ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΠ½ΠΈΡΠΈ. ΠΠΈΠΊΠΈΡΠ° ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π° Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΠΊΠΎΡΡΡΠΈΠ½ΠΈ Π² Π΅ΠΊΠΈΠΏΠ° Π½Π° Kotlin, Π° ΠΠ»Π΅Π³ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π° Π²ΠΈΡΠΎΠΊΠΎΠ½Π°ΠΏΡΠ΅Π³Π½Π°ΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΠ½ΠΈΡΠΈ. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΈΠΌΠ° ΠΎΡΠ΅ 1 ΡΡΠ»ΠΎΠ²Π½ΠΎ ΠΏΡΠ°Π·Π΅Π½ ΡΠ»ΠΎΡ, Π·Π° ΠΊΠΎΠΉΡΠΎ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈΡΡ ΠΊΠΎΠΌΠΈΡΠ΅Ρ.
ΠΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡΠ° Hydra ΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅ Π½Π° 11-12 ΡΠ»ΠΈ Π² Π‘Π°Π½ΠΊΡ ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³. ΠΠΈΠ»Π΅ΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ . ΠΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Online Π±ΠΈΠ»Π΅ΡΠΈ β Π°ΠΊΠΎ ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΠ²Π° ΠΏΡΠΈΡΠΈΠ½Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠΈΠ³Π½Π΅ΡΠ΅ Π΄ΠΎ ΠΠΈΡΠ΅ΡΠ° Π½Π° ΠΆΠΈΠ²ΠΎ Π² ΡΠ΅Π·ΠΈ Π΄Π½ΠΈ.
Π©Π΅ ΡΠ΅ ΡΡΠ΅ΡΠ½Π΅ΠΌ Π½Π° Hydra!
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
