ΠΠΈΠ½Π°ΡΠ°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° Π²ΠΎ Π‘Π°Π½ΠΊΡ ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³ ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠ²Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΠ° Π₯ΠΈΠ΄ΡΠ°, ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½ Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠ°ΡΡΠ΅Π°ΡΠΈΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ° ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΈ ΠΠ°Π³ΡΠ°Π΄ΠΈ ΠΠΈΡΠΊΡΡΡΠ° ΠΈ Π’ΡΡΠΈΠ½Π³ Π½Π°Π³ΡΠ°Π΄ΠΈ (ΠΠ΅ΡΠ»ΠΈ ΠΠ°ΠΌΠΏΠΎΡΡ, ΠΠΎΡΠΈΡ Π₯Π΅ΡΠ»ΠΈΡ
ΠΈ ΠΈ ΠΠ°ΡΠΊΠ» Π‘ΠΊΠΎΡ), ΠΊΡΠ΅Π°ΡΠΎΡΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅ΡΠΈ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ ΡΠ°Π·ΠΈΡΠΈ (C++, Go, Java, Kotlin), ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΈ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ (Cassandra, CosmosDB, Yandex Database), ΠΊΠ°ΠΊΠΎ ΠΈ ΠΊΡΠ΅Π°ΡΠΎΡΠΈ ΠΈ ΠΈΡΡΡΠ°ΠΆΡΠ²Π°ΡΠΈ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ (CRDT, Paxos, ΡΠ΅ΠΊΠ°Ρ -Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ) . ΠΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏ, Π²ΠΎ ΠΎΠ²ΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΠ΄ΠΈΡΠ΅ Π½Π° ΠΎΠ΄ΠΌΠΎΡ, Π΄Π° Π³ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠ·ΠΎΡΠ΅ΡΠΎΡ IDE, Π΄Π° ΠΎΡΠ²ΠΎΡΠΈΡΠ΅ ΠΏΠ»Π΅ΡΠ»ΠΈΡΡΠ° Π½Π° YouTube ΡΠΎ Π½Π°ΡΠ΄ΠΎΠ±ΡΠΈΡΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ°ΠΈ Hydra 2019 - ΠΈ Π½Π΅ΠΊΠ° ΠΏΠΎΡΠ΅ΠΊΠ° ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠΎΡ Π½Π° Π·Π°Π΄Π°ΡΠΈ ΠΌΠ°Π»ΠΊΡ.
ΠΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏ, Π²Π°ΠΊΠ²Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΠ° Π½ΠΈΠΊΠΎΠ³Π°Ρ Π½Π΅ ΡΠ΅ ΡΠ»ΡΡΠΈΠ»Π°, Π° ΡΠ΅Π³Π° ΡΠ΅ ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠΈ. ΠΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ°ΠΈ Π½Π° Π°Π½Π³Π»ΠΈΡΠΊΠΈ ΡΠ°Π·ΠΈΠΊ, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π½Π΅ ΠΏΠΎΡΡΠΎΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π°Ρ ΡΠ°Π·ΠΈΠΊ Π·Π° Π΄Π° ΡΠ΅ Π·Π±ΠΎΡΡΠ²Π° Π·Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΎ ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π°ΡΠ΅. ΠΠΎΠ²ΡΠΎΡΠ½ΠΎ Π»Π΅ΡΠΎ, 10 ΠΈ 11 ΡΡΠ»ΠΈ, Π±ΠΈΠ΄Π΅ΡΡΠΈ Π³ΠΎΠ²ΠΎΡΠ½ΠΈΡΠΈΡΠ΅ ΠΈΠΌΠ°Π°Ρ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° ΠΈΡΡΡΠ°ΠΆΡΠ²Π°Π°Ρ ΠΈ Π΄Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π°Ρ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΡΠ½ΠΈΠ²Π΅ΡΠ·ΠΈΡΠ΅ΡΠΈΡΠ΅ Π²ΠΎ ΠΠ΅ΠΌΠ±ΡΠΈΡ, Π ΠΎΡΠ΅ΡΡΠ΅Ρ ΠΈ Π‘Π°Π½ΠΊΡ ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, Π° Π΄ΡΡΠ³ΠΈΡΠ΅ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈ ΠΎΠ΄ Π³ΠΎΠ΄ΠΈΠ½Π°ΡΠ° Π½Π΅ ΡΠ΅ Π·Π° Π½ΠΈΠ².
Π‘Π΅ΠΏΠ°ΠΊ, ΠΎΠ²ΠΎΡ ΠΏΠ°Ρ Π₯ΠΈΠ΄ΡΠ° ΡΠ΅ ΡΠ΅ ΠΎΠ΄ΡΠΆΠΈ Π²ΠΎ ΠΠΎΡΠΊΠ²Π°, ΠΊΠ°Π΄Π΅ ΡΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΎΠ΄ ΡΡΠ΅ΡΠ½ΠΈΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΠ°ΡΠ° Π΄ΠΎΡΠ΄ΠΎΠ° ΠΌΠΈΠ½Π°ΡΠ°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° Π΄Π° ΡΠ»ΡΡΠ°Π°Ρ ΠΈΠ·Π²Π΅ΡΡΠ°ΠΈ Π·Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈΠΎΡ ΠΊΠΎΠ½ΡΠ΅Π½Π·ΡΡ ΠΈ ΡΡΠ°Π½ΡΠ°ΠΊΡΠΈΡΠΊΠ°ΡΠ° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°. ΠΠΎΠ²Π°ΡΠ° Hydra ΡΠ΅ ΠΎΠ΄Π»ΠΈΠΊΡΠ²Π° ΡΠΎ ΠΏΠΎΡΠ»ΠΎΠΆΠ΅Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°, Π½ΠΎΠ²ΠΈ Π·Π²ΡΡΠ½ΠΈΡΠΈ Π·Π°Π΅Π΄Π½ΠΎ ΡΠΎ Ρ
Π΅ΡΠΎΠΈΡΠ΅ ΠΎΠ΄ ΠΌΠΈΠ½Π°ΡΠ°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π°, ΠΊΠ°ΠΊΠΎ ΠΈ Π²Π΅ΡΠ΅ ΠΏΠΎΠ·Π½Π°ΡΠΎΡΠΎ ΡΡΠ²ΡΡΠ²ΠΎ Π½Π° Π²ΠΎΠ·Π±ΡΠ΄Π°ΡΠ° Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈΠΎΡ Ρ
Π°ΡΠ΄ΠΊΠΎΡ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄Π΅Π½ ΠΌΠ΅ΡΡ ΡΡΠ΅ΡΠ½ΠΈΡΠΈΡΠ΅ Π²ΠΎ ΡΡΠΈ ΡΠ°Π»ΠΈ.
ΠΡΠ΄Π΅ Π²Π΅Π΄Π½Π°Ρ Π΄Π° ΡΡΠ°Π²ΠΈΠΌΠ΅ ΡΠΏΠΈΠ» ΠΊΠ°ΡΡΠΈ Π½Π° ΠΌΠ°ΡΠ°ΡΠ° ΡΠΎ Π²ΠΈΠ·Π°Π½ΡΠΈΡΠΊΠΈΡΠ΅ Π³Π΅Π½Π΅ΡΠ°Π»ΠΈ ΡΠ²ΡΡΠ΅Π½ΠΈ Π½Π°Π³ΠΎΡΠ΅ - ΡΠ°ΠΊΠ°ΠΌΠ΅ Π½ΠΎΠ²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π½Π° Π₯ΠΈΠ΄ΡΠ° Π΄Π° Π±ΠΈΠ΄Π΅ ΠΏΠΎΠ΄Π΅ΡΠ°Π»Π½Π° ΠΈ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½Π°. ΠΠΈΠ½Π°ΡΠΈΠΎΡ ΠΏΠ°Ρ ΠΊΠΎΠ³Π° ΡΠ΅ ΠΈΠ·Π³ΡΠ΅Π±Π°Π²ΠΌΠ΅ ΡΠΎ Π½ΠΎΠΊΡ, ΡΠ΅Π³Π° Π΄Π° ΠΊΠΎΠΏΠ°ΠΌΠ΅ ΠΏΠΎΡΠΈΡΠΎΠΊΠΎ ΠΈ ΠΏΠΎΠ΄Π»Π°Π±ΠΎΠΊΠΎ. ΠΠ²Π΅ Π³ΠΈ ΡΠ΅ΠΌΠΈΡΠ΅ Hydra 2020 ΡΠΎ ΡΠ°Π·Π»ΠΈΠΊΠ° Π²ΠΎ ΠΎΠ΄Π½ΠΎΡ Π½Π° ΠΌΠΈΠ½Π°ΡΠ°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π°:
Parallel systems:
* Algorithms & data structures
* Memory models
* Compilers, runtime
* Memory reclamation
* Testing & verification
* Hardware issues
* Non-volatile memory
* Transactional memory
* Scheduling algorithms & implementations
* Heterogeneous computing: CPU, GPU, FPGA, etc.
* Performance analysis, debugging, & optimization
Distributed systems:
* Distributed computing
* Distributed machine learning/deep learning
* State machine replication & consensus
* Fault tolerance & resilience
* Testing & verification
* Hardware issues
* Blockchain & Byzantine fault tolerance
* Distributed databases, NewSQL
* Distributed stream processing
* Scheduling algorithms & implementations
* Cluster management systems
* Security
* Performance analysis, debugging, & optimization
* Peer-to-peer, gossip protocols
* Internet of things
ΠΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ Π·Π±ΠΎΡΡΠ²Π° Π·Π° ΡΠ΅ΡΠΎ ΠΎΠ²Π° Π²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π½Π° Π΅Π΄Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΠ°? Π‘ΠΈΠ³ΡΡΠ½ΠΎ Π½Π΅ Π΅ ΠΏΠΎΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΠΎΠ΄ ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° Π»ΠΈΠ½Π΅Π°ΡΠΈΠ·ΠΈΡΠ°Π½ΠΎΡΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π½Π° ΡΡΠ°ΡΠ½Π° Π½ΠΎΠ²Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½Π° ΠΏΡΠΎΠ΄Π°Π²Π½ΠΈΡΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΠΠ΅ΠΏΡΠ΅Π½, Π½ΠΎ ΡΠ΅ ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ΠΌΠ΅.
ΠΠ²Π΅ ΠΊΠΎΡ Π΅ Π²Π΅ΡΠ΅ Π²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°:
Π‘ΠΈΠ½Π΄ΠΈ Π‘ΡΠΈΠ΄Ρ
Π°ΡΠ°Π½ (Π‘ΠΈΠ½Π΄ΠΈ Π‘ΡΠΈΠ΄Ρ
Π°ΡΠ°Π½) - ΡΠ°Π·Π²ΠΈΠ²Π°Ρ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΎΠ΄ Π‘Π°Π½ Π€ΡΠ°Π½ΡΠΈΡΠΊΠΎ, Π°Π²ΡΠΎΡ Π½Π° ΠΊΡΠ°ΡΠΊΠ° ΠΊΠ½ΠΈΠ³Π° ΠΠ°Π±ΡΡΠ΄Π»ΠΈΠ²ΠΎΡΡ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ (Π·Π΅ΠΌΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½Π° Π΅Π»Π΅ΠΊΡΡΠΎΠ½ΡΠΊΠ° ΠΊΠΎΠΏΠΈΡΠ°) ΠΈ ΠΏΠΎΠΏΡΠ»Π°ΡΠ½ΠΈ Π±Π»ΠΎΠ³ ΠΏΠΎΡΡ, ΠΊΠ°Π΄Π΅ ΡΡΠΎ ΠΈΠΌΠ° ΡΠ°ΠΌΠΎ Π΅Π΄Π½Π° ΡΡΠ°ΡΠΈΡΠ°βΠΠ°ΡΠ΄ΠΎΠ±ΡΠΎΡΠΎ ΠΎΠ΄ 2019 Π³ΠΎΠ΄ΠΈΠ½Π° Π²ΠΎ Tech TalksβΠΠΎΠΆΠ΅ Π΄Π° Π²Π΅ ΡΠΏΠ°ΡΠΈ ΠΎΠ΄ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΠ»ΠΎΠ±ΠΎΠ΄Π½ΠΈ Π΄Π΅Π½ΠΎΠ²ΠΈ, Π½ΠΎ Π΄Π° Π²Π΅ ΠΎΡΡΠ°Π²ΠΈ ΡΡΠ΅ΡΠ½ΠΈ. ΠΠ° Hydra 2020, Π‘ΠΈΠ½Π΄ΠΈ ΡΠ΅ Π²ΠΈ ΠΊΠ°ΠΆΠ΅ ΠΊΠ°ΠΊΠΎ ΡΠ΅ΡΡΠΈΡΠ°Π°Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π΄ΡΡΠΈ ΠΈ Π°ΠΊΠΎ ΡΠ° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°Π°Ρ Π΄ΡΠΆΠ°Π²Π°ΡΠ°.
ΠΠ°ΡΠΊΠ» Π‘ΠΊΠΎΡ (ΠΠ°ΡΠΊΠ» Π‘ΠΊΠΎΡ) - ΠΈΡΡΡΠ°ΠΆΡΠ²Π°Ρ ΠΎΠ΄ Π£Π½ΠΈΠ²Π΅ΡΠ·ΠΈΡΠ΅ΡΠΎΡ Π²ΠΎ Π ΠΎΡΠ΅ΡΡΠ΅Ρ, ΠΏΠΎΠ·Π½Π°Ρ Π½Π° ΡΠΈΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΈ Π½Π° Java ΠΊΠ°ΠΊΠΎ ΠΊΡΠ΅Π°ΡΠΎΡ Π½Π° Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠΊΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ ΠΈ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈ ΡΠ΅Π΄ΠΈΡΠΈ ΠΎΠ΄ ΠΠ°Π²Π° ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°. Π‘Π΅ ΡΠ°Π·Π±ΠΈΡΠ°, ΡΠΎ Π½Π°Π³ΡΠ°Π΄Π°ΡΠ° ΠΠΈΡΠΊΡΡΡΠ° Π·Π° βΠΠ»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΡΠΊΠ°Π»Π°Π±ΠΈΠ»Π½Π° ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΠΌΡΠ»ΡΠΈΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ ΡΠΎ Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠ° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°βΠΈ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈ Π‘ΡΡΠ°Π½ΠΈΡΠ° Π½Π° ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡΠ°. ΠΠΈΠ½Π°ΡΠ°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° ΠΠ°ΡΠΊΠ» Π³ΠΎ Π΄Π°Π΄Π΅ Π½Π°ΡΠ΄ΠΎΠ±ΡΠΈΠΎΡ (ΡΠΏΠΎΡΠ΅Π΄ ΡΠ΅Π±Π΅) ΠΈΠ·Π²Π΅ΡΡΠ°Ρ Π·Π° Hydra on Π΄Π²ΠΎΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΠΈ ΡΠ΅Π³Π° ΡΠΎΡ ΡΠ΅ Π·Π±ΠΎΡΡΠ²Π° Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Π₯ΠΎΠ΄ΠΎΡ ΠΈ Π±Π΅Π·Π±Π΅Π΄Π½Π° ΡΠ°Π±ΠΎΡΠ° ΡΠΎ Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠ° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ Π·Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ.
Π₯Π°ΡΠ΄ΠΈ Π₯Π°ΡΠ°ΡΠ΄ (Π₯Π°ΡΠ΄ΠΈ Π₯Π°ΡΠ°ΡΠ΄) - ΠΈΡΡΡΠ°ΠΆΡΠ²Π°Ρ Π½Π° Π£Π½ΠΈΠ²Π΅ΡΠ·ΠΈΡΠ΅ΡΠΎΡ Π²ΠΎ ΠΠ΅ΠΌΠ±ΡΠΈΡ, ΠΏΠΎΠ·Π½Π°Ρ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ΡΠΎ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ ΠΊΠΎΠ½ΡΠ΅Π½Π·ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ Π€Π»Π΅ΠΊΡΠΈΠ±ΠΈΠ»Π½ΠΈ ΠΠ°ΠΊΡΠΎΡ, ΠΊΠ°ΠΊΠΎ ΠΈ ΡΠ°Π±ΠΎΡΠ° Π½Π° Π³Π΅Π½Π΅ΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° Flexible Paxos ΠΈ ΠΡΠ·ΠΈ ΠΠ°ΠΊΡΠΎΡ. ΠΠΈΠ½Π°ΡΠ°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° Π₯Π°ΡΠ΄ΠΈ ΡΠ°ΡΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° Π€Π°ΠΌΠΈΠ»ΠΈΡΠ° Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ ΠΠ°ΠΊΡΠΎΡ (Π΅Π΄Π΅Π½ ΠΎΠ΄ Π½Π°ΡΠ΄ΠΎΠ±ΡΠΈΡΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ°ΠΈ), Π° ΡΠ΅Π³Π° ΡΠ΅ ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π°ΠΌ Π΄Π° ΠΎΠ΄Π°ΠΌ ΠΏΠΎ ΡΠ΅Π½ΠΎΠΊ ΠΌΡΠ°Π· ΠΏΠΎΠΌΠ΅ΡΡ ΠΡΠ±ΠΈΡΠ΅Π»ΠΈ Π½Π° ΠΠ°ΠΊΡΠΎΡ ΠΈ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π°ΡΠΈ Π½Π° Π‘ΠΏΠ»Π°Π² β ΠΈ ΡΠΏΠΎΠ΄Π΅Π»Π΅ΡΠ΅ Π³ΠΎ ΡΠ²ΠΎΠ΅ΡΠΎ ΠΌΠΈΡΠ»Π΅ΡΠ΅ Π·Π° ΡΠΎΠ° ΠΊΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π°Ρ.
ΠΠ°ΡΡΠΈΠ½ ΠΠ»Π΅ΠΏΠΌΠ°Π½ (ΠΠ°ΡΡΠΈΠ½ ΠΠ»Π΅ΠΏΠΌΠ°Π½) Π΅ ΠΌΠΎΠΆΠ΅Π±ΠΈ ΡΡΡΠ΅ ΠΏΠΎΠΏΠΎΠ·Π½Π°Ρ ΠΈΡΡΡΠ°ΠΆΡΠ²Π°Ρ ΠΎΠ΄ Π£Π½ΠΈΠ²Π΅ΡΠ·ΠΈΡΠ΅ΡΠΎΡ Π²ΠΎ ΠΠ΅ΠΌΠ±ΡΠΈΡ ΠΈ ΠΏΠΎΡΠ°Π½Π΅ΡΠ΅Π½ ΡΠ°Π·Π²ΠΈΠ²Π°Ρ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΠΊΠΎΡ Π½Π°ΠΏΠΈΡΠ°Π» ΠΈΠ·Π½Π΅Π½Π°Π΄ΡΠ²Π°ΡΠΊΠΈ ΡΠ°ΡΠ½Π° ΠΈ Π·Π°ΡΠΎΠ° ΡΠ½ΠΈΠΊΠ°ΡΠ½Π° ΠΊΠ½ΠΈΠ³Π° Π·Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ.ΠΠΈΠ·Π°ΡΠ½ΠΈΡΠ°ΡΠ΅ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΎ ΠΈΠ½ΡΠ΅Π½Π·ΠΈΠ²Π½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ" ΠΠΈΠ½Π°ΡΠ°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° ΠΠ°ΡΡΠΈΠ½ Π³ΠΈ ΡΠΏΠΎΠ΄Π΅Π»ΠΈ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ Π½Π° Π½ΠΈΠ²Π½ΠΈΡΠ΅ CRDT ΠΈΡΡΡΠ°ΠΆΡΠ²Π°ΡΠ΅, ΠΈ ΡΡΠΎ ΡΠ΅ Π²ΠΈ ΠΊΠ°ΠΆΠ΅ΠΌΠ΅ ΡΠ΅Π³Π° ΡΠ΅ ΠΎΠ±ΡΠ°Π²ΠΈΠΌΠ΅ ΠΏΠΎΠ΄ΠΎΡΠ½Π°.
ΠΠΈΠΊΠΈΡΠ° ΠΠΎΠ²Π°Π» (ΠΠΈΠΊΠΈΡΠ° ΠΠΎΠ²Π°Π») Π΅ ΠΊΠΎΡΡΡΠΈΠ½ΡΠΊΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°Ρ Π²ΠΎ ΡΠΈΠΌΠΎΡ Π½Π° ΠΠΎΡΠ»ΠΈΠ½, Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊ Π½Π° ΠΊΡΡΡ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅ ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π½ΠΈΡΠΊΠΈ Π½Π° ITMO ΠΈ ΡΠ»Π΅Π½ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈΠΎΡ ΠΊΠΎΠΌΠΈΡΠ΅Ρ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΠ°ΡΠ° Π₯ΠΈΠ΄ΡΠ° (Π΄Π°, ΡΠΎΠΊΠΌΡ ΠΎΠ½Π°Π° Π·Π° ΠΊΠΎΡΠ° ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ ΠΎΠ²Π°Π° ΡΡΠ°ΡΠΈΡΠ°). ΠΠΈΠ½Π°ΡΠ°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° ΠΠΈΠΊΠΈΡΠ° Π·Π±ΠΎΡΡΠ²Π°ΡΠ΅ Π·Π° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΡΡΡΡΠΊΡΡΡΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π½ΠΈΡΠΊΠΈ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° JVM ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ ΠΠΈΠ½-ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°, Π° Π½Π° Π₯ΠΈΠ΄ΡΠ° 2020 ΡΠΎΡ ΡΠ΅ ΠΊΠ°ΠΆΠ°ΠΌ Π·Π° SegmentQueueSynchronizer - ΠΏΠΎΡΠ²ΡΠ΄Π΅Π½ΠΎ ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π Π°ΠΌΠΊΠ° Π½Π° ΠΈΡΠΈΡΠΎΡ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Coq Π°ΠΏΡΡΡΠ°ΠΊΡΠΈΡΠ° Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΈ Π·Π° ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡΠ°.
Π‘Π»Π΅Π΄Π΅ΡΠ΅ Π³ΠΈ Π½Π°ΡΠΈΡΠ΅ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈ ΠΎΠ±ΡΠ°Π²ΠΈ: Π²ΠΊΡΠΏΠ½ΠΎ ΡΠ΅ ΠΈΠΌΠ° ΡΡΠΈΠ΅ΡΠ΅ΡΠΈΠ½Π° ΠΈΠ·Π²Π΅ΡΡΠ°ΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΠ°ΡΠ°, Π·Π° ΠΎΡΡΠ°Π½Π°ΡΠΈΡΠ΅ ΡΠ΅ Π²ΠΈ ΠΊΠ°ΠΆΠ΅ΠΌΠ΅ Π½Π°ΡΠΊΠΎΡΠΎ. ΠΡΡΠΎ ΡΠ°ΠΊΠ°, ΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°, Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΠ°ΡΠ° ΡΠ΅ ΠΈΠΌΠ° ΠΈ Π·ΠΎΠ½ΠΈ Π·Π° Π΄ΠΈΡΠΊΡΡΠΈΡΠ° ΠΊΠ°Π΄Π΅ ΡΡΠΎ Π΅ Π½Π΅ΠΎΠΏΡ
ΠΎΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠ°Π°Ρ Π³ΠΎΠ²ΠΎΡΠ½ΠΈΡΠΈΡΠ΅ ΡΠΎ ΠΏΡΠ°ΡΠ°ΡΠ° Π²ΠΎ Π΅Π΄Π½Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ΠΌΠΈ Π΄ΠΎΠ΄Π΅ΠΊΠ° Π½Π΅ ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π΅ ΠΎΠΏΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Π·ΡΡ.
Π Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΡΡΠ΅ΡΠ°, ΠΠ°ΡΡΠΈΠ½ ΠΠ»Π΅ΠΏΠΌΠ°Π½ ΡΠ΅ ΡΠ° ΠΏΠΎΡΠΏΠΈΡΠ΅ Π²Π°ΡΠ°ΡΠ° ΠΊΠ½ΠΈΠ³Π°.
ΠΠ°, ΠΏΡΠ΅Π΄ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΠ°ΡΠ° Hydra 2020, ΠΏΠΎΡΠΎΡΠ½ΠΎ 6-9 ΡΡΠ»ΠΈ, ΡΠ΅ ΠΈΠΌΠ° SPTDC 2020 Π³ΠΎΠ΄ΠΈΠ½Π° β ΡΡΠ΅ΡΠ° Π»Π΅ΡΠ½Π° ΡΠΊΠΎΠ»Π° Π·Π° ΡΠ΅ΠΎΡΠΈΡΠ° ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΈ. ΠΠ΅ Π²ΠΈ Π΄Π°Π΄Π΅ ΡΠ΅Π½Π·Π°ΡΠΈΠΈ ΠΊΠΎΠΈ ΡΠ΅ΡΠΊΠΎ ΡΠ΅ Π΄ΠΎΠ±ΠΈΠ²Π°Π°Ρ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΠ°, ΠΏΠ° ΡΠ΅ Π·Π±ΠΎΡΡΠ²Π°ΠΌΠ΅ Π·Π° Π¨ΠΊΠΎΠ»Π°ΡΠ° Π²ΠΎ ΠΏΠΎΡΠ΅Π±Π΅Π½ ΠΏΠΎΡΡ.
Π¨ΡΠΎ ΡΠ΅Π³Π°? ΠΡΠ²ΠΎ, ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π³ΠΈ Π²Π΅ΡΡΠΈΡΠ΅ Π½Π° Π₯Π°Π±ΡΠ΅ ΠΈ Π½Π° ΡΠΎΡΠΈΡΠ°Π»Π½ΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠΈ (Facebook, Vkontakte, Twitter).
ΠΡΠΎΡΠΎ, Π°ΠΊΠΎ Π²Π΅ΡΠ΅ ΡΡΠ²ΡΡΠ²ΡΠ²Π°ΡΠ΅ Π½Π΅ΠΎΠ΄ΠΎΠ»ΠΈΠ²Π° ΠΆΠ΅Π»Π±Π° Π΄Π° ΠΏΡΠΈΡΡΡΡΠ²ΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΠ°ΡΠ°, ΠΈΡΡΡΠ°ΠΆΠ΅ΡΠ΅ ΡΠ° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°, Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΡΠΏΠΈ Π±ΠΈΠ»Π΅ΡΠΈ.
Π’ΡΠ΅ΡΠΎ, Π½Π΅ ΠΏΡΠΎΠΏΡΡΡΠ°ΡΡΠ΅ ΡΠ° ΠΌΠΎΠΆΠ½ΠΎΡΡΠ° Π΄Π° ΡΠ°Π·Π³ΠΎΠ²Π°ΡΠ°ΡΠ΅ ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈΠΎΡ ΠΊΠΎΠΌΠΈΡΠ΅Ρ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΠ°ΡΠ° Hydra 2020 Π²ΠΎ ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅. Π§Π»Π΅Π½ΠΎΠ²ΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΡ ΡΠΎ Π·Π°Π΄ΠΎΠ²ΠΎΠ»ΡΡΠ²ΠΎ ΡΠ΅ ΡΠ°Π·Π³ΠΎΠ²Π°ΡΠ°Π°Ρ ΡΠΎ Π²Π°Ρ Π·Π° ΠΈΠ΄Π½ΠΈΡΠ΅ ΡΠ΅ΠΌΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈΡΠ΅.
Π‘Π΅ Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π²ΠΎ Π₯ΠΈΠ΄ΡΠ°!
ΠΠ·Π²ΠΎΡ: www.habr.com