Yandex ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° ΡΠ°ΠΌΠΊΠ°ΡΠ° Userver, ΠΊΠΎΡΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π²ΠΈΡΠΎΠΊΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° C++, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π±ΠΎΡΡΡ Π² Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ. Π Π°ΠΌΠΊΠ°ΡΠ° Π΅ ΡΠ΅ΡΡΠ²Π°Π½Π° ΠΏΡΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ Π½Π° Π½ΠΈΠ²ΠΎ Yandex ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΡΡΠ»ΡΠ³ΠΈ ΠΊΠ°ΡΠΎ Yandex Go, Lavka, Delivery, Market ΠΈ fintech ΠΏΡΠΎΠ΅ΠΊΡΠΈ. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C++ ΠΈ Π΅ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠ°Π½ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·Π° Apache 2.0.
Userver Π΅ Π½Π°ΠΉ-ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°. ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΡΠ°ΠΌΠΊΠ°ΡΠ° Π±Π΅ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½Π° Π·Π° Yandex Taxi, Ρ Π½Π΅Π³ΠΎΠ²Π° ΠΏΠΎΠΌΠΎΡ Π΅ΠΊΠΈΠΏΡΡ ΠΏΡΠ΅ΠΌΠΈΠ½Π° ΠΎΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΠΌ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, ΠΊΠΎΡΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°ΡΠ΅ ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ (ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈ) ΠΈ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈΡΠ΅ ΡΠ° Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΈ, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π±Π°Π·ΠΈΡΠ°Π½ΠΎ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, Π΅ Π»Π΅ΡΠ½ΠΎ Π·Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π½ΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΡΠΌ Π½Π΅Π³ΠΎ. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³Π°ΡΠ° Π·Π° Π½Π°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΎΡΡΠΎΡ Π·Π° ΠΏΠΎΡΡΡΠΊΠΈ Π½Π° ΡΠ°ΠΊΡΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π·Π°Π΄Π°ΡΠ° - Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΡΡΠΈΠ΅Ρ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΡΡΠΊΠΈ Π·Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° Yandex. Π‘ΡΡΠΎΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ Ρ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΏΡΠΈΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΡΠΎΡΡΠΎΡ ΠΈΠ»ΠΈ ΠΊΡΡΠΈΠ΅Ρ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈ Π·Π°Π΄Π°ΡΠΈ.
ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΡΠ°ΠΌΠΊΠ°ΡΠ° Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½Π° Ρ Π°ΠΊΡΠ΅Π½Ρ Π²ΡΡΡ Ρ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡΡΠ° ΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎΡΠΎ, ΠΊΠ°ΡΠΎ Π²ΡΡΡΠ΅ Π² Π½Π΅Ρ Π΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½ΠΎ Π²ΡΠΈΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ°, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΈ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, userver ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΊΠ°ΠΊ Π΄Π° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°ΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈ Π½Π° Π΅ΡΠ°ΠΏΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Ρ.Π½. ΠΠ΅ΠΊΠ»Π°ΡΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ubuntu, Debian, Fedora, Arch, Gentoo, macOS, x86, x86_64, AArch64, Arm Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ, ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠΈ GCC 8+ ΠΈ Clang 9+, ΡΡΠ°Π½Π΄Π°ΡΡΠΈ C++17, C++20, C++23.
Π‘ΡΡΡΠ°Π²ΡΡ Π²ΠΊΠ»ΡΡΠ²Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π·Π° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π‘Π£ΠΠ (MongoDB, PostgreSQL, Redis, ClickHouse, MySQL), Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΈ ΡΡΡΠ²ΡΡΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ (HTTP, HTTPS, GRPC, TCP, UDP, TLS), ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΈ Π½Π° Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡΡΠ° ΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΎΡ Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΊΠ΅Ρ, Π·Π°Π΄Π°ΡΠΈ, ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½ΠΈΡ, ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅, ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΈ Π΄Π°Π½Π½ΠΈ Π²ΡΠ² ΡΠΎΡΠΌΠ°ΡΠΈ JSON/YAML/BSON. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅, Π±Π΅Π· Π΄Π° Ρ ΡΠΏΠΈΡΠ°.
ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Yandex ΠΏΡΠ΅Ρ
Π²ΡΡΠ»ΠΈ Π΄ΡΡΠ³ΠΈΡΠ΅ ΡΠΈ ΠΊΠ»ΡΡΠΎΠ²ΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ - Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ YDB, ΡΠΏΠΎΡΠΎΠ±Π½Π° Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π·Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ CatBoost, ΠΊΠΎΡΡΠΎ Yandex ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Π’ΡΡΡΠ΅Π½Π΅ ΠΈ Π΄ΡΡΠ³ΠΈ ΡΡΠ»ΡΠ³ΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru