ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°: Π»Π΅ΠΊΡΠΈΠΈ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°
-
ΠΡΡΡΠ΅ΡΠΈ - Π»Π΅ΠΊΡΠΈΠΈ ΠΈ ΠΆΠΈΠ²ΡΠ΅ Π΄Π΅ΠΌΠΎ. Π‘ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΆΠ΅ Π·Π°Π½ΡΡΠΈΡ Π²ΡΠ΄Π°Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π°Π΄Π°Π½ΠΈΠΉ.
ΠΠ°Π½ΡΡΠΈΠ΅ 1. ΠΠ²ΠΎΠ΄Π½Π°Ρ ΡΠ΅ΠΎΡΠΈΡ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΡΠΌ. ΠΠ»Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ½Ρ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈ Π³Π΄Π΅ ΠΎΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ. ΠΠΎΠ΄Ρ ΠΎΠ΄Ρ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ (Π±ΡΠΎΠΊΠ΅ΡΡ ΠΈ ΡΠ΅ΡΠ²ΠΈΡΡ) ΠΈΡ ΠΏΠ»ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ. ΠΠ»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ. ΠΠ°ΠΊ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡΡ exactly once? Π’ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡ Π΅ΠΌΡ ΡΠΈΡΡΠ΅ΠΌ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ. ΠΠΎΠ»ΠΎΡΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ
ΠΠ°Π½ΡΡΠΈΠ΅ 2,3. Apache Kafka. ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ, ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ. ΠΠΎΡΠΎΠΊΠΎΠ²Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Kafka Streams. Π‘ΡΠ΅Π½Π°ΡΠΈΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΡΠ°ΠΊΡΠΈΠΊΠ°. ΠΠΎΡΠ°Π³ΠΎΠ²ΡΠΉ Π·Π°ΠΏΡΡΠΊ Kafka Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΎΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ single instance Π΄ΠΎ production grade ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Ρ ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡΡ. Π Π°Π·Π±ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΠΈ Π½Π° ΡΡΠΎ ΠΎΠ½ΠΈ Π²Π»ΠΈΡΡΡ. ΠΠ°Π·ΠΎΠ²Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π½Π° Python ΠΈ Go.
ΠΠ°Π½ΡΡΠΈΡ 4,5. RabbitMQ. AMQP: Advanced Message Queue Protocol. ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π±ΡΠΎΠΊΠ΅ΡΠ° RabbitMQ: ΠΎΡ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. Exchange, Queue, Binding ΠΈ Routing. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. ΠΡΠ°ΠΊΡΠΈΠΊΠ°. ΠΠ°ΠΏΡΡΠΊ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ RabbitMQ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠ°Ρ . ΠΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π³Π°ΡΠ°Π½ΡΠΈΠΉ ΠΏΠΎ Π΄ΠΎΡΡΠ°Π²ΠΊΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. Π Π°Π·Π±ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. ΠΠ°Π·ΠΎΠ²Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π½Π° Python ΠΈ Go.
ΠΠ°Π½ΡΡΠΈΠ΅ 6. SQS: Simple Queue Service. ΠΠ΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°Π·ΠΎΠ²Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² Π½Π° Python ΠΈ Go. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ SQS Π² Serverless ΡΡΠ΅Π΄Π΅
ΠΠ°Π½ΡΡΠΈΠ΅ 7. ΠΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΠ ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΡΡ. Transactional Outbox. Deduplication key. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ βΡΡΠ΅Π½Π°ΡΠΈΡ ΠΎΠΏΠ»Π°ΡΡβ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΠ (postgresql) Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ. CDC ΠΊΠ°ΠΊ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΠΈ
ΠΠ°Π½ΡΡΠΈΠ΅ 8. Redis ΠΊΠ°ΠΊ Π±ΡΠΎΠΊΠ΅Ρ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ: ΡΠ΅ΠΎΡΠΈΡ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°. Π‘ΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π² Redis. PubSub. ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ Π½Π° ΡΠΏΠΈΡΠΊΠ°Ρ . ΠΠ°Π΄ΡΠΆΠ½ΡΠ΅ consumers. Redis Streams. ΠΠ°ΠΏΡΡΠΊ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π² ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ (sentinel, cluster). Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ, Π²ΠΎΠ·Π²ΡΠ°Ρ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ Π·Π°Π΄Π°Ρ
ΠΠ°Π½ΡΡΠΈΠ΅ 9 (Π±ΠΎΠ½ΡΡ). Tarantool Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±ΡΠΎΠΊΠ΅ΡΠ° ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ: ΡΠ΅ΠΎΡΠΈΡ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°. ΠΡΠ°ΡΠΊΠΎ ΠΏΡΠΎ Tarantool: Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ? ΠΡΠ΅ΡΠ΅Π΄Ρ Π½Π° Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ : ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½Π°Ρ ΡΡ Π΅ΠΌΠ° ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ. ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ, ΡΠ΅Π³ΠΎ Π½Π΅Ρ Π² Π΄ΡΡΠ³ΠΈΡ Π±ΡΠΎΠΊΠ΅ΡΠ°Ρ : Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, Π·Π°Π΄Π°ΡΠΈ ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ, Π½Π΅ΡΡΡΠΎΠ³ΠΈΠΉ FIFO (FIFO Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, Best Effort ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ΅ΠΌΠΈ). ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π³ΠΎΡΠΎΠ²ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ²ΠΎΠΈΡ .
ΠΠ²ΡΠΎΡ: ΠΠ»Π°Π΄ΠΈΠΌΠΈΡ ΠΠ΅ΡΠ΅ΠΏΠ΅Π»ΠΈΡΠ° (ex-VK/Tarantool)
- ΠΠΊΡΠΏΠ΅ΡΡ ΠΏΠΎ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌ ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΡΠΌ, 11 Π»Π΅Ρ ΠΏΡΠΎΡΠ°Π±ΠΎΡΠ°Π» Π² VK/Mail.Ru
- Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π» ΠΈ Π·Π°ΠΏΡΡΡΠΈΠ» Ρ Π½ΡΠ»Ρ S3 Π² VK Cloud
- Π Π΅Π³ΡΠ»ΡΡΠ½ΡΠΉ ΡΠΏΠΈΠΊΠ΅Ρ ΠΈ ΡΠ»Π΅Π½ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΠΎΠΌΠΈΡΠ΅ΡΠ° Highload++
- ΠΡΠ±ΠΈΡ system design, Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ-ΡΠΎΠ±ΡΡΠΈΠΉΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈ Tarantool
ΠΡΠ·ΡΠ²Ρ ΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ ΠΈ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ DevHands
ΠΠ½Π°ΡΡΠ°ΡΠΈΡ ΠΡΠ΅Π»ΠΊΠΈΠ½Π° (Π±Π΅ΠΊΠ΅Π½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Go/PostgreSQL)
ΠΠΎΡΠ΅ΠΌΡ Π²ΡΠ±ΡΠ°Π»Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ DevHands? ΠΡΠΈΡΠ»Π° ΠΏΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ, ΠΊΡΡΡ ΠΌΠ½Π΅ ΠΏΠΎΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» ΡΡΠΏΡΡΠ³, ΠΎΠΏΡΡΠ½ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ. ΠΠΎΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π», ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΈΡΠ°Π» Π³ΡΡΠΏΠΏΡ ΠΠ»Π΅ΠΊΡΠ΅Ρ ΠΏΡΠΎ Π²ΡΡΠΎΠΊΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΠ» ΠΊΠ°ΠΊ ΠΊ ΠΎΠΏΡΡΠ½ΠΎΠΌΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠ» ΡΠΈΠ»Ρ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠΈΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ» ΡΠ²Π½ΡΠΉ Π±ΡΠ» ΠΏΡΠΎΠ±Π΅Π» Π² Linux ΠΈ Π² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Linux-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΠΈ, Π·Π½Π°Ρ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΎΠ½ ΠΌΠ½Π΅ ΠΏΠΎΡΠΎΠ²Π΅ΡΠΎΠ²Π°Π»ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΡ ΠΊΡΡΡ. ΠΠ»ΡΡ Ρ ΡΠ°Π±ΠΎΡΠ°Ρ Ρ ΠΊΡΠ±Π΅ΡΠΎΠΌ, Π½ΠΎ Ρ ΠΎΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΡΠ°ΠΌ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ.
Π§ΡΠΎ ΡΠ·Π½Π°Π»Π° ΠΈ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅? ΠΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΠΎΡΠ΅Π½Ρ ΡΠ°Π·Π½ΠΎΡΡΠΎΡΠΎΠ½Π½Π΅.
Π£ Π½Π°Ρ Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΈΠ½ΡΡΠΎΠΉ. ΠΡΡΡ ΠΏΠΎΠΌΠΎΠ³ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΡΠ°Π²ΠΈΡΡ ΠΈΠΌ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΡΠ°Π·Π³ΠΎΠ²Π°ΡΠΈΠ²Π°ΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅. Π― Π½Π°ΠΊΠΎΠ½Π΅Ρ ΡΡΠ°Π»Π° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ, ΠΈ ΠΌΠ½Π΅ ΡΡΠ°Π»ΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅ ΠΎΠ±ΡΠ°ΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ ΠΌΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π³Π»ΡΠ±ΠΎΠΊΠΎ ΠΎΠ±ΡΡΠΆΠ΄Π°Π»ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ nginx, Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»Π°ΡΡ Ρ ΡΡΠΈΠΌ Π½Π° ΠΊΡΡΡΠ΅, ΠΌΠ½Π΅ ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ Π² ΠΎΠ±ΡΠ΅Π½ΠΈΠΈ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΌΠΎΠΈΡ Π·Π°Π΄Π°Ρ.
Π’Π°ΠΊΠΆΠ΅ Ρ ΡΡΠ°Π»Π° Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²Π΅ΡΠ΅Π½Π΅Π΅ ΡΡΠ²ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ΅Π±Ρ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Linux. Π’Π΅ΠΏΠ΅ΡΡ, ΠΏΠΎΠ»Π³ΠΎΠ΄Π° ΡΠΏΡΡΡΡ, ΠΌΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΡΠΎ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ, Π½ΠΎ ΡΡΠΎ Π±ΡΠ» ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΡΠΉ βΠ»Π΅Π²Π΅Π» Π°ΠΏβ. ΠΡΠΎ ΠΌΠ½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΌΠ΅ΠΉΠΊΡΠ°ΠΉΠ»Ρ, ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ, Π²Π·ΡΡΡ Π½Π° ΡΠ΅Π±Ρ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ.
ΠΠΎ Π½Π°Π³ΡΡΠ·ΠΊΠ΅: Ρ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π»Π°, ΠΊΠ°ΠΊ ΠΌΠ½Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠ΅ΡΠ²ΠΈΡ Π½Π΅ ΡΠΏΠ°Π΄Π΅Ρ. Π£ Π½Π°Ρ Π½Π΅Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π½Π°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΡΡΡΡ Ρ ΠΌΠ΅Π½Ρ ΡΠ΅ΠΏΠ΅ΡΡ Π΅ΡΡΡ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ Π½Π°Π³ΡΡΠΆΠ°ΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠ΅ΡΠ²ΠΈΡ, ΠΊΠ°ΠΊ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, ΠΈ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ. ΠΠΎ ΠΊΡΡΡΠ° Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ»ΠΎ ΠΎΡΠ΅Π½Ρ ΡΠΌΡΡΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ.
Π£ Π½Π°Ρ Π±ΡΠ»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ Π² ΠΏΡΠΎΠ΄Π΅, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. Π ΡΠ΅Π»ΠΎΠΌ ΠΈΠ½ΡΡΠ° Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ»Π°ΡΡ - ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Ρ ΡΠΆΠ΅ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΏΡΠΎΡΡ ΡΡΡΠΎΠΈΡΡ Π΄Π°ΡΠ±ΠΎΡΠ΄Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΠΊΠ°ΠΊ ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΡΡΡΡ ΠΎΡΠΈΠ»ΠΈΠ²Π°Ρ ΠΈ ΡΡΡ Π΄ΠΎΡΠΎΠ³Ρ.
Π£ Π½Π°Ρ Π±ΡΠ»ΠΈ ΡΠ΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΌΡ ΡΠ°Π·Π±ΠΈΡΠ°Π»ΠΈ ΠΌΠΎΠΉ ΡΠ΅ΡΠ²ΠΈΡ. Π― Π½Π°ΡΠ°Π»Π° ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΌΠ½Π΅ Π½ΡΠΆΠ½Ρ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, ΠΊΠ°ΠΊ ΠΈΡ ΡΠ²ΡΠ·Π°ΡΡ Ρ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°. Π Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Ρ ΡΠΎΠ±Π΅ΡΡ Π²ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΈ ΠΏΠΎΡΡΠΈΡΠ°Ρ Π½Π°Π³ΡΡΠ·ΠΊΡ. Π― ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ»Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ, Π²ΡΠ½Π΅ΡΡ ΡΡΠΈ Π·Π°ΠΏΡΠΎΡΡ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΈΡΠ΅Ρ. ΠΠ΅Π½Ρ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΈΠ²ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ ΠΏΡΠΈΡΠ»ΠΈ, Ρ Π½Π°ΡΠ°Π»Π° ΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΠ°Π·Π½ΡΡ ΡΡΠΎΡΠΎΠ½. Π ΡΠ΅Π»ΠΎΠΌ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ Π½Π΅Ρ ΡΠ°ΠΊΠΈΡ Π΄ΠΈΡΠΊΡΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π²Π΅Π»ΠΈ Π½Π° Π²ΡΡΡΠ΅ΡΠ°Ρ . Π‘Π΅ΠΉΡΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΎΠΏΡΠΎΡΠΎΠ² Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ ΠΈ ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΡΡ - ΡΡΡ ΠΊΡΡΡ ΡΠΎΠΆΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠΌΠΎΠ³.
ΠΡΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ΠΏΡΠΎΡΡΠΎΠΉ. ΠΠ½Π΅ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π΅ Ρ Π²Π°ΡΠ°Π»ΠΎ ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΠ°Π³ΠΎΠ² ΠΈΠ»ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°. ΠΡΠ³Π»ΠΈΡΡ, ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ - ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ , Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠ°Π·Π±ΠΈΡΡ ΠΏΠΎ ΡΠ°Π³Π°ΠΌ, ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π°ΡΠ°ΡΡ. ΠΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, Π½ΠΎ Ρ ΡΡΠΈΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ. Π ΠΌΡ ΠΏΡΠΎΡΠ»ΠΈ Π½Π° ΠΊΡΡΡΠ΅ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΡΠΉ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠΏΡΡ, ΠΈ ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΠ»ΡΡ. ΠΡΠ΅Π½Ρ ΠΌΠ°Π»ΠΎ ΠΊΡΡΡΠΎΠ² Π΄Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ Π±ΡΡΡ ΠΊ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΈ ΠΊ ΠΌΡΡΠ»Π΅Π½ΠΈΡ. Π ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΠ³Π»ΡΠ΄ΡΠ²Π°Π΅ΡΡΡΡ, ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡ, ΡΡΠΎ ΡΠΈΠ»ΡΠ½ΠΎ Π²ΡΡΠΎΡ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ ΡΡΠΎ Π²ΡΡΠ»ΡΡΠΈΠ²Π°Π΅ΡΡ Π½Π°Ρ, Π° ΡΡΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΊΡΡΡ ΠΈ Π·Π° ΡΠΎ, ΡΡΠΎ ΡΡ Π΄Π΅Π»Π°Π΅ΡΡ.
ΠΠΈΡ Π°ΠΈΠ» ΠΠΎΠΌΠ°Π½ΡΠΊΠΈΠΉ (Π±Π΅ΠΊΠ΅Π½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, PHP/MySQL)
ΠΠΎΡΠ΅ΠΌΡ Π²ΡΠ±ΡΠ°Π» ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ DevHands? ΠΡΠ±ΡΠ°Π», ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ CTO Badoo Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π·Π½Π°ΡΡ ΠΏΡΠΎ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, Π° ΡΡΠΎ Π±ΡΠ»ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ Π·Π½Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Ρ ΠΎΡΠ΅Π» ΠΏΠΎΠ΄ΡΡΠ½ΡΡΡ. ΠΡΠΎΡΠ°Ρ ΠΏΡΠΈΡΠΈΠ½Π° - Π΄Π°Π²Π½ΠΎ ΠΏΠΎΠ΄ΡΠΌΡΠ²Π°Ρ ΠΏΡΠΎΠΉΡΠΈ ΠΊΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ Π½Π°Π²ΡΠΊΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΡΡ ΡΠΆΠ΅ ΠΎΠΏΡΡΠ½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΈ ΠΊΠΎΠ΅-ΡΡΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡ, Π½ΠΎ ΡΠ°ΠΊΠΈΡ ΠΊΡΡΡΠΎΠ² Ρ Π½Π΅ Π½Π°ΡΠ΅Π» (Ρ ΠΎΡΡ Π΄ΠΎΠΏΡΡΠΊΠ°Ρ, ΡΡΠΎ ΠΏΠ»ΠΎΡ ΠΎ ΠΈΡΠΊΠ°Π»). ΠΡΠ΅ ΠΊΡΡΡΡ Π² ΠΎΠ½Π»Π°ΠΉΠ½Π΅ - Π²ΡΠ΅ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ². Π’Π°ΠΊ ΡΡΠΎ ΡΠ΄Π°ΡΠ½ΠΎΠ΅ ΡΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ², ΡΡΠΎ ΠΊΡΠΎ-ΡΠΎ ΡΠΊΠΈΠ½ΡΠ» ΡΡΡΠ»ΠΊΡ Π½Π° Π΄Π΅Π²Ρ ΡΠ½Π΄Ρ Ρ ΡΠ΅ΠΌΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠ½Π΅ ΠΊΠ°ΠΊ ΡΠ°Π· Π±ΡΠ»Π° Π½ΡΠΆΠ½Π°.
Π£Π·Π½Π°Π» ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠΈΡΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° Ρ Π΅Π»Π»ΠΎΠ²ΠΎΡΠ»Π΄ ΠΈ Π»Π°ΡΠ°Π²Π΅Π»Ρ. Π Π°Π½ΡΡΠ΅ Ρ Π΄ΡΠΌΠ°Π», ΡΡΠΎ Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π° Π»Π΅Π³Π°ΡΠΈ ΠΊΠΎΠ΄Π΅ ΠΈ ΡΡΠΎ ΠΌΠΎΠΉ ΠΌΠΈΠ½ΡΡ ΠΊΠ°ΠΊ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠ° ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ ΡΠ°Π±ΠΎΡΡ, Ρ.ΠΊ. Ρ Π½Π΅ Π·Π½Π°Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ². Π’Π΅ΠΏΠ΅ΡΡ Ρ Π·Π½Π°Ρ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠΈΡΡ ΠΏΡΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΈ ΠΌΠΎΠΉ ΠΎΠΏΡΡ Ρ Π»Π΅Π³Π°ΡΠΈ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ ΡΡΠΈΡΠ°Ρ ΠΏΠ»ΡΡΠΎΠΌ =)
ΠΠ°ΠΊ Π±ΡΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅? Π’Π΅ΠΏΠ΅ΡΡ Ρ ΠΌΠ΅Π½Ρ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠ°Ρ ΠΊΠ°ΡΡΠΈΠ½Π°, Π° Π·Π½Π°ΡΠΈΡ Ρ ΡΠΌΠΎΠ³Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ. Π― ΡΡΠ°Π» Π΅ΡΠ΅ ΡΠΈΠ»ΡΠ½Π΅Π΅, ΠΊΠ°ΠΊ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ. ΠΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠ°ΠΌ Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅ Ρ Π±ΡΠ΄Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π½Π°ΠΉΠ΄Ρ ΡΡΠ°ΡΡΠ°ΠΏ Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΉ ΡΡΠ°Π΄ΠΈΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΠΈ, Π³Π΄Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡ ΠΌΠΎΠΈ ΠΏΠΎΠ·Π½Π°Π½ΠΈΡ. ΠΠ±ΡΡΠ½ΠΎ Π·Π½Π°Π½ΠΈΡ ΠΏΡΠΎ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π»Π΅ΠΆΠ°Ρ Π½Π° ΠΏΠ»Π΅ΡΠ°Ρ Π΄Π΅Π²ΠΎΠΏΡΠΎΠ² + ΡΠ΅Ρ Π»ΠΈΠ΄ΠΎΠ². Π Π΄ΠΎ ΡΠ°ΠΊΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠΈ Π΅ΡΠ΅ Π½Π°Π΄ΠΎ Π΄ΠΎΡΠ°ΡΡΠΈ. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Ρ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΏΠΎΠ»ΡΡΠ°Ρ Π·Π½Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ.
ΠΠ½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»ΠΎΡΡ ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ. Π’.Π΅. ΡΠ΅ΠΌ ΠΎΠΏΡΡΠ½Π΅Π΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ, ΡΠ΅ΠΌ Π£ΠΆΠ΅ ΡΠ²ΠΎΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°, ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ "ΠΎΠ΄ΠΈΠ½ΠΎΠΊΠΈΠΌ" ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠΌ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ. Π ΡΠ΅ΠΏΠ΅ΡΡ Ρ Π·Π½Π°Ρ, Π³Π΄Π΅ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ Π΄Π»Ρ ΠΌΠ΅Π½Ρ Π²ΠΎΠΏΡΠΎΡΡ. ΠΡΠΎ ΠΆΠΈΡΠ½ΡΠΉ ΠΏΠ»ΡΡ.
ΠΠΈΡΠΈΠ»Π» Π€ΠΈΠ»ΠΈΠΌΠΎΠ½ΠΎΠ² (Backend Developer, Python/PostgreSQL)
ΠΠΎΡΠ΅ΠΌΡ Π²ΡΠ±ΡΠ°Π» ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ DevHands?
ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΡΠΈΡΠ΅ΡΠΈΠΉ - ΡΠΏΠΎΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΈ ΠΏΠΎΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠ²Π°ΡΡΡΡ. ΠΡΠ΅Π½Ρ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π»ΠΈ ΡΠ΅ΠΌΡ: ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ ΠΈ Π΄Π°Π»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΡΠΎΡΡ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΡΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΡΠΎΡΡΡ Π±ΠΈΠ·Π½Π΅ΡΠ°. Π Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΈΠ½ΡΡΠ° Π² Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΡΡ ΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ!
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΡΡΠΎ Π±ΡΠ»ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ?
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΡΡΠΎ Π±ΡΠ» Ρ ΠΎΡΠΎΡΠΈΠΉ βΡΠ΅ΡΡΠ΅ΡΠ΅Ρβ Π·Π½Π°Π½ΠΈΠΉ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠΎΠ³ΡΡΠ·ΠΈΡΡΡΡ ΡΠ½ΠΎΠ²Π° Π² ΡΡΠ»ΠΈΠ½Π³, ΠΏΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π²Π΅ΡΠΈ - ΠΈ Π½Π°ΡΠ°ΡΡ ΠΎ Π½ΠΈΡ Π΄ΡΠΌΠ°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΠ°Π΅ΡΡ Π·Π°Π΄Π°ΡΠΈ Π² ΠΎΠ±Π»Π°ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅, Π²ΡΠ±ΠΈΡΠ°Ρ ΡΠ΅ΡΡΡΡΡ Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ Π·Π°Π΄Π°Ρ - ΡΡΠΎ Π±ΡΠ»ΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ. ΠΠ»ΠΎΠΊ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΠΏΠ΅ΡΡΠΎΠΌΠ°Π½Ρ-ΡΡΠ½ΠΈΠ½Π³ΠΎΠΌ, Π±ΡΠ»ΠΎ ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠ°ΠΉΡΠΎΠ² ΠΈ ΠΎΡΠΊΡΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π΄Π΅Π»Π°Π»ΠΈ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π³ΡΡΠΏΠΏΡ, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠ°Π·Π½ΡΠΉ ΡΡΡΠΊ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π»ΠΈ ΡΠ°Π·Π½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ. ΠΡΠ»ΠΎ ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΏΠΎΠ½ΡΡΡ Π³ΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠΏΡΡ ΠΎΡΠ΅Π½ΠΎΠΊ, ΡΡΠ½Π΄Π°ΠΌΠ΅Π½Ρ Π·Π½Π°Π½ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΏΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΏΠ΅ΡΡΠΎΠΌΠ°Π½ΡΠ°, ΡΡΠΎ ΠΎΠΆΠΈΠ΄Π°ΡΡ ΠΎΡ ΠΏΡΠΈΠ²ΡΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄Π»Ρ Π½Π°ΡΡΠΎΡΡΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΡΡ ΡΠΎΠΆΠ΅ Π±ΡΠ»Π° Ρ ΠΎΡΠΎΡΠ°Ρ, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΡΡΠΊΠΈ. ΠΠ»ΠΎΠΊ ΠΏΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ - Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΏΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΌΡΡΠ»Π΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ. ΠΠ½ ΠΌΠ½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π»ΡΡ Π² Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΡ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ²ΡΡ, ΠΊΠ°ΠΊ ΠΌΠ½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ, Π½ΠΎ Π² ΡΠ΅Π»ΠΎΠΌ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½Π° ΠΌΡΡΠ»Π΅Π½ΠΈΡ, ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π° - Π²Π°ΠΆΠ½ΡΠΉ Π½Π°Π²ΡΠΊ, ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΈΠ²Π½ΡΠΉ. Π’Π°ΠΊ ΠΆΠ΅ Π±ΡΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Ρ ΠΎΡΠΊΡΡΡΡΠ΅ Π΄ΠΈΡΠΊΡΡΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΈ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΠ΅ΡΡΠΈΠΉ, ΠΈ Π±ΡΠ»ΠΎ ΡΠ΅Π½Π½ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΡΠΉ ΡΠΈΠ΄Π±Π΅ΠΊ.
Π£Π΄Π°Π»ΠΎΡΡ Π»ΠΈ ΡΡΠΎ-ΡΠΎ ΡΠΎ ΡΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΠ»ΠΈ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡΡ Π»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ?
ΠΠ½ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ», Ρ Π½Π°Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°Π»ΡΡ Π½ΠΎΠ²ΡΠΉ e-commerce ΠΏΡΠΎΠ΅ΠΊΡ, ΠΌΠ½Π΅ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΠ»ΠΈΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΡΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ Ρ nginx. ΠΠΎΠΎΠ±ΡΠ΅ ΠΌΠ½Π΅ ΡΡΠ°Π»ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. ΠΠΌΠ΅Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΡΡΠ½ΠΈΠ½Π³Π°, ΡΡΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ - ΠΏΠΎΠ΄Π½ΡΡΡ, Π½Π°ΡΡΡΠΎΠΈΡΡ. ΠΡ ΠΈ ΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ Π΄ΠΈΠ·Π°ΠΉΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΎΠ±ΡΡΠΆΠ΄Π°Π»ΠΈ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠ²Π°Π»ΠΈ Π½Π° ΡΠ΅ΡΡΠΈΡΡ - Ρ Π΅Π³ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ» ΠΏΡΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅.
Π ΠΎΠΌΠ°Π½ ΠΠΎΡΠ΄Π΅Π΅Π² (Π±Π΅ΠΊΠ΅Π½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, Java/PostgreSQL)
ΠΡΡΡ DevHands.io (Hardcore Backend Bootcamp) ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΈ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ Π±ΡΠΊΠ΅Π½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π½Π°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²ΡΡΠΎΠΊΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌ. ΠΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΊΡΡΡΠ° Ρ ΠΎΡΠΎΡΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΡΠ΅ ΡΠ°Π±ΠΎΡΡ, Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π½Π° Π³Π»ΡΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΡΠ°Π±ΠΎΡΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²ΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ Π±ΡΠΊΠ΅Π½Π΄-ΡΠΈΡΡΠ΅ΠΌ. ΠΠΊΡΠ΅Π½Ρ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΡΡ Π·Π°Π΄Π°ΡΠ°Ρ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ , Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Π² ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ, ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈΠ· ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΈ Π΄Π΅ΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌΠΈ ΠΏΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎΡ ΠΊΡΡΡ ΡΠ΅Π½Π½ΡΠΌ ΡΠ΅ΡΡΡΡΠΎΠΌ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΡΡΡΠ΅ΠΌΡΡΠΈΡ ΡΡ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΡΠ²ΠΎΡ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ Π³ΠΎΡΠΎΠ²ΡΡ ΠΊ ΡΠ»ΠΎΠΆΠ½ΡΠΌ Π²ΡΠ·ΠΎΠ²Π°ΠΌ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±ΡΠΊΠ΅Π½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΡΡΡΠ° ΠΎΠ±ΡΡΠ°ΡΡΠΈΠΉΡΡ ΠΏΠ»Π°Π²Π½ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΎΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Linux-ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΊ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π² ΠΌΡΠ»ΡΡΠΈ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅. ΠΡΡΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°ΡΠΏΠ΅ΠΊΡΠ°. ΠΡΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΎΠ½Π»Π°ΠΉΠ½-ΡΠΎΡΠΌΠ°Ρ Ρ ΠΊΡΡΠ°ΡΠΎΡΡΠΊΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΈ Π°ΠΊΡΠ΅Π½ΡΠΈΡΡΠ΅Ρ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠ΅ ΡΡΠ°ΡΠΈΡ ΡΡ.
ΠΠ΅ΡΠ²ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΊΡΡΡΠ° ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ, ΠΎΡΠ½ΠΎΠ²Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ². ΠΠ½ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅ΠΌΡ, ΠΊΠ°ΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ, ΠΎΡΠ½ΠΎΠ²Ρ ΡΠ°Π±ΠΎΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, Π±Π°Π·ΠΎΠ²ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Screen/tmux, Π½Π°ΡΡΡΠΎΠΉΠΊΠ° swap, systemd, ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ firewall. Π’Π°ΠΊΠΆΠ΅ Π°ΠΊΡΠ΅Π½ΡΠΈΡΡΠ΅ΡΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ Ρ Π»ΠΎΠ³Π°ΠΌΠΈ ΠΈ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ Π±Π°Π·Ρ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ Π°ΡΠΏΠ΅ΠΊΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠΊΠ΅Π½Π΄-ΡΠΈΡΡΠ΅ΠΌ.
ΠΠ΅ΡΠ²Π°Ρ ΡΠ°ΡΡΡ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΊΡΡΡΠ° ΡΠΎΠΊΡΡΠΈΡΡΠ΅ΡΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Π½Π°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠΈΠ»ΠΈΡ Π½Π°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, http_load, wrk2) ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Prometheus, Grafana). Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ (latency, throughput), ΠΈ Π²Π»ΠΈΡΠ½ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ) Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ, Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ Π°Π½Π°Π»ΠΈΠ· ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π½Π°Π³ΡΡΠ·ΠΎΡΠ½ΡΡ ΡΠ΅ΡΡΠΎΠ² ΠΈ ΡΠΎΠ½ΠΊΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΡΠΎΡΠ°Ρ ΡΠ°ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ 2, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π° ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΡ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ΄Π΅ΡΡ ΡΡΠ°ΡΠΈΠΉΡΡ ΡΠ³Π»ΡΠ±Π»ΡΠ΅ΡΡΡ Π² Π²Π°ΠΆΠ½ΠΎΡΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ ΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΎΠΊ Π½Π° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΈ ΠΌΠ°ΡΠΈΠ½Ρ Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΠΌΠΈ, Ρ Π°ΠΊΡΠ΅Π½ΡΠΎΠΌ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ epoll ΠΈ kqueue. Π’Π°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ.
Π’ΡΠ΅ΡΠΈΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΡΠ²ΡΡΠ΅Π½ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠΊΠ΅Π½Π΄-ΡΠΈΡΡΠ΅ΠΌ, Π²ΠΊΠ»ΡΡΠ°Ρ "Π½Π°ΠΈΠ²Π½ΠΎΠ΅" ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΠΎΠΊΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ (HA), ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΠ°Π±ΠΎΡΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ ΠΊ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠ΅Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ CAP (Consistency, Availability, Partition tolerance) ΠΈ Eventual Consistency. Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠ°ΡΠ΄ΠΈΠ½Π³Π°, ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ ΠΈ Π²ΡΡΠΎΠΊΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌ. ΠΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π±Π°Π· Π΄Π°Π½Π½ΡΡ , Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΠΈ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ Π² ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ .
ΠΠ°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ 3 ΠΊΡΡΡΠ° [DevHands.io](http://devhands.io/) Hardcore Backend Bootcamp ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡ ΡΠΈΡΠΎΠΊΠΈΠΉ ΡΠΏΠ΅ΠΊΡΡ Π·Π°Π΄Π°Ρ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π±ΡΠΊΠ΅Π½Π΄-ΡΠΈΡΡΠ΅ΠΌ. Π‘ΡΠ΅Π΄ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π·Π°Π΄Π°Π½ΠΈΠΉ β Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ΅Ρ-ΡΠ»ΠΎΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΠ³ΠΎ Ρ Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π‘Π£ΠΠ ΡΠ΅ΡΠ΅Π· ΠΌΠΈΠΊΡΠΎΡΠ°ΡΠ΄ΠΈΠ½Π³ ΠΈ ΡΠ°ΡΠ΄ΠΈΠ½Π³ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΎΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Saga-ΠΏΠ°ΡΡΠ΅ΡΠ½Π° ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ. ΠΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π·Π°Π΄Π°Π½ΠΈΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Map-Reduce ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ MVP Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π·Π½Π°Π½ΠΈΠΉ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π² Ρ ΠΎΠ΄Π΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΡΡΠΈΡ Π·Π°Π΄Π°Π½ΠΈΠΉ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π½Π°Π½ΠΈΠΉ ΠΈ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π½Π°Π²ΡΠΊΠΎΠ², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π²ΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΌΠΈ Π±ΡΠΊΠ΅Π½Π΄-ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ.
ΠΠ· ΠΌΠΈΠ½ΡΡΠΎΠ² ΠΎΡΠΌΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ°Π»ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΡΠ΅ΡΠ°Π»ΡΠ½ΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ, Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΠΏΠΎΠ±ΠΎΠ»ΡΡΠ΅ ΡΡΡΠ»ΠΎΠΊ Π½Π° ΡΡΠ°ΡΡΠΈ ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ π³ Π ΠΈΠ· Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠΌΠ΅ΡΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΠΏΠ΅Π΄Π°Π³ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠΏΡΡ ΠΠ΅ΡΠΈ β€οΈ ΠΌΠ½Π΅ Π±ΡΠ»ΠΎ ΠΏΡΠΈΡΡΠ½ΠΎ Ρ ΡΠ΅Π±Ρ ΡΡΠΈΡΡΡΡ β€οΈ