[javabegin] FullStack ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π²Π΅Π± ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² (2022)
FULLSTACK ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ:
Π ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ ΡΡΠ°ΠΊΡΠΎΠ²Π°ΡΡ ΡΡΠΎ ΠΏΠΎΠ½ΡΡΠΈΠ΅, Π½ΠΎ ΠΎΠ±ΡΠ΅Π΅ ΠΎΠ΄Π½ΠΎ - ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΌΠ΅ΡΡ:
1) ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΡΠ°ΡΡΡ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°Ρ (backend) - Java/Kotlin/Spring Cloud
2) ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΡΡ ΡΠ°ΡΡΡ (frontend) - React/Angular
3) ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ (OAuth2, OpenID)
4) ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡ ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ (Kubernetes, Docker)
5) ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ DevOps, CI/DI
CΠ΅Π³ΠΎΠ΄Π½Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Ρ ΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΌΠΎΠ΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΡΠΌΠ΅Π΅Ρ.
ΠΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠΎ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π²Π°ΠΌΠΈ Π±ΡΠ΄ΡΡ ΠΈΠ΄ΡΠΈ Π·Π° ΡΡΡΠΊΡ Ρ Π½ΡΠ»Ρ ΠΈ ΠΎΠ±ΡΡΠ°ΡΡ Π·Π° ΡΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.
ΠΡΠ΅ΠΌΡ - Π΄Π΅Π½ΡΠ³ΠΈ! ΠΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠ΅ΠΉΡΠ°Ρ.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠΈΠ΄Π΅ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΌ ΠΈ Ρ ΠΎΠΏΡΡΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ - Π²Π°ΡΠΈ ΡΠ°Π½ΡΡ ΠΏΠΎΠ²ΡΡΠ°ΡΡΡΡ Π² ΡΠΎΡΠ½ΠΈ ΡΠ°Π·. ΠΡ ΡΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΡΠ½ΡΠΌ
ΠΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Ρ ΠΎΡΡ Π±Ρ 1-2 ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΠΏΠΎΡΡΡΠΎΠ»ΠΈΠΎ
ΠΠ°ΠΊΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ? ΠΠ΅Π΄Ρ ΠΈΡ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ
ΠΡΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΎΠ΄ΠΈΠ½ ΡΡΠ΅ΠΊ ΠΈ Ρ ΠΎΡΠΎΡΠΎ Π΅Π³ΠΎ Π²ΡΡΡΠΈΡΡ. ΠΡΡΠ°Π»ΡΠ½ΠΎΠ΅ - ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅ ΠΏΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·ΡΡΠ°ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π²Π½ΠΎ ΡΠ΅Π±Ρ Π·Π°ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π»ΠΈ ΠΈ Π±ΡΠ΄ΡΡ "Π½Π° ΠΊΠΎΠ½Π΅" Π΅ΡΠ΅ Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ.
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½Ρ ΠΏΠΎ ΡΡΠΈΠΌ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌ:
Π°) ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π΄Π»Ρ backend (Π²ΠΌΠ΅ΡΡΠΎ "ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ°")
ΠΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² Π²Π΅Π± ΡΠ΅ΡΠ²ΠΈΡΡ (API). Π‘Π΅ΡΠ²ΠΈΡΡ ΠΌΠΎΠ³ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠ°Π·Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ (Π½Π΅ ΠΊΠ°ΠΊ ΡΠ°Π½ΡΡΠ΅ - Π² ΠΎΠ΄Π½ΠΎΠΌ, "ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ"). ΠΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ΅ΡΠ²ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. Π‘ΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· - ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π²ΡΠ΅Π³Π΄Π°. ΠΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ "ΡΠΊΡΠ°Π½" ΠΈΠ»ΠΈ "Π°Π΄Π°ΠΏΡΠ΅Ρ", ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²ΡΠ΅ Π²Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡΡ. Π‘Π΅ΡΠ²ΠΈΡΡ ΠΌΠΎΠ³ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ ΠΈ Π±ΡΡΡ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ: Spring, Swagger
Π±) RESTful ΡΠ΅ΡΠ²ΠΈΡΡ Π΄Π»Ρ backend
RESTful - ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ Π±ΡΡΡΡΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΡΠΎΡΡΠΎΠΉ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ (ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ SOAP). ΠΡ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π½ΡΠΆΠ½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π² ΡΠ°Π·Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ . ΠΠ° Π²ΡΠ΅ΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ Π½Π°Π±Π»ΡΠ΄Π°Π΅Ρ ΠΎΠ±ΡΠΈΠΉ "Π°Π΄Π°ΠΏΡΠ΅Ρ". Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ: Spring, Swagger
Π²) ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΎΡΠ΄Π΅Π»Π΅Π½Π° ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΡ Π½Π΅ "Π²ΡΠΈΠ²Π°Π΅ΡΠ΅" Π²Π½ΡΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, Π° Π΄Π΅Π»Π΅Π³ΠΈΡΡΠ΅ΡΠ΅ Π΅Π³ΠΎ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ·Π΅Π» (Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅), ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠ΅ API ΠΈ Π²ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ. Π ΡΠ°ΠΌΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π²Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΠ΅ ΡΠΎΠ»ΠΈ ΠΈ Π΄ΠΎΡΡΡΠΏΡ. Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ: OAuth2, OpenID ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅.
Π³) Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ JavaScript Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ UI
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΎΡΠ·ΡΠ²ΡΠΈΠ²ΡΠ΅ Π²Π΅Π±/ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π΅Π»Π°ΡΡ Π½Π° JS ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°Ρ : React, Angular, Vue.js. Π£ΡΠ»ΠΈ Π² ΠΏΡΠΎΡΠ»ΠΎΠ΅ ΡΡΠΆΠ΅Π»ΠΎΠ²Π΅ΡΠ½ΡΠ΅ ΡΡΠ΅ΠΊΠΈ ΡΠΈΠΏΠ° JavaEE, JSF ΠΈ ΠΏΡ. Π‘Π΅ΠΉΡΠ°Ρ "Π½Π° ΠΊΠΎΠ½Π΅" ajax Π²ΡΠ·ΠΎΠ²Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π·Π°ΠΏΡΠΎΡ Π² RESTful-ΡΠ΅ΡΠ²ΠΈΡ, ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΎΡΠ²Π΅Ρ ΠΈ ΡΡΡ ΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΡ ΡΠ°ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ. Π Π²ΡΠ΅ ΡΡΠΎ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ/Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΌΡ HTTPS ΠΊΠ°Π½Π°Π»Ρ.
Π΄) Π‘Π±ΠΎΡΠΊΠ° ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π§ΡΠΎΠ±Ρ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±ΡΡΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ - Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π΅Π³ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ. ΠΡΠΎ Π²ΡΠ΅ - Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ("Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΎΠ΄Π½Ρ ΠΊΠ½ΠΎΠΏΠΊΡ"). ΠΡΡΡΠ½ΡΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π²Π΅ΡΡ ΡΡΠ΅ΠΊ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ - ΡΡΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ, "ΠΏΡΠΎΡΠ»ΡΠΉ Π²Π΅ΠΊ". Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ: Kubernetes, Docker.
Π΅) ΠΠ΄ΠΈΠ½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΊΠΎΠ΄Π°
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΠΊΡΠ΄Π° Π²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° "ΡΠ»ΠΈΠ²Π°Π΅Ρ" ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄. Π£ Π²Π°Ρ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΎ ΡΠΎΠΆΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡ Π² Π»ΡΠ±ΠΎΠΉ ΠΊΡΡΠΏΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ (Ρ ΠΎΡΠ΅Π½Ρ Π΄ΡΠ΅Π²Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½). ΠΠ΅ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ - Π²ΡΠ΅Π³Π΄Π° Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ Π²ΡΠ΅ ΠΊΠΎΠ΄Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠ΅Π±Ρ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Π½ΠΎ ΠΈ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
ΠΡΠ΅ ΡΡΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ:
1) Java/Kotlin
ΠΡΠΎ ΡΠ·ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½ Π΅ΡΠ΅ Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΡΠ»ΠΈ Π²ΡΡΡΠΈΡΠ΅ Java, Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΎΠ΄ΠΎΠ»Π΅ΡΡ ΠΈ Kotlin. ΠΠ΄ΠΈΠ½ ΡΠ·ΡΠΊ ΠΏΠ»Π°Π²Π½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°Π΅Ρ Π² Π΄ΡΡΠ³ΠΎΠΉ. ΠΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ½ΡΡΡ Java. ΠΠ° ΡΡΠΈΡ ΡΠ·ΡΠΊΠ°Ρ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ Π²Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π±ΡΠΊΠ΅Π½Π΄. Java ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° 1-3 ΠΌΠ΅ΡΡΠ΅ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ TIOBE
2) PostgreSQL
ΠΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½Π°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ. Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π³ΠΎΠ΄Ρ Π²ΡΡΠ²Π°Π»Π°ΡΡ Π² Π»ΠΈΠ΄Π΅ΡΡ. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΈΠΌΠ΅Π΅Ρ Π²ΡΠΈΠ³ΡΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄ MySQL, ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ , Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ Π½Π°ΡΡΡΠΎΠ΅ΠΊ. ΠΠ½ΠΎΠ³ΠΈΠ΅ Ρ ΠΎΡΡΠΈΠ½Π³ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Heroku, ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΡΠΎΠΉ ΠΠ Π² Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠΌ ΡΠ°ΡΠΈΡΠ΅ - ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠΆΠ΅ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π²ΡΠ±ΠΎΡ. Π Π°Π½ΡΡΠ΅ Π² ΡΠ°Π²ΠΎΡΠ΅ Π±ΡΠ» MySQL.
3) Spring/Hibernate
Π‘Π°ΠΌΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π»Π΅Π³ΡΠ°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ backend ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π½ΠΈΡ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΡΡΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½ΡΠΆΠ½ΡΠ΅ Π²Π΅Π± ΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π·Π°ΠΏΡΠΎΡΡ Π² ΠΠ. Spring Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Ρ ΠΎΠ±ΡΠΈΠΌ "ΡΠΊΡΠ°Π½ΠΎΠΌ", ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ, OAuth2 ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠ±Π°ΠΉΠ½. Spring ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ Java/Kotlin ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ.
4) Angular/React/TypeScript
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ - Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΈΠ±ΠΎ React, Π»ΠΈΠ±ΠΎ Angular (ΡΠ°ΠΊΠΆΠ΅ Π΅ΡΠ΅ Π΅ΡΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ Vue.js). Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΡΡΠΈΡΡ ΡΠ·ΡΠΊ TypeScript (ΡΡΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ Java). Π ΠΈΡΠΎΠ³Π΅ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π»ΡΠ±ΡΠ΅ UI: Π²Π΅Π±, ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ (iOS, Android), desktop - ΠΏΠΈΡΠ΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΊΠΎΠ΄ ΠΈ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ ΠΏΠΎΠ΄ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. Π‘Π°ΠΌΡΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ React.
React Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ - Π²ΡΠ΅Π³Π΄Π° Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΡΡΠ΅Π΄ΠΈ JS UI ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² - Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π΅Π³ΠΎ ΠΏΡΠΎΡΡΠΎΡΠ΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ.
5) IntelliJ IDEA
Π₯ΠΎΡΡ ΡΡΠ° ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΏΠ»Π°ΡΠ½Π°Ρ, Π½ΠΎ ΠΎΠ½Π° Π²ΡΠ΅ Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π²ΠΎ Π²ΡΠ΅Ρ ΠΊΡΡΠΏΠ½ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡ . ΠΠΎΡΡΠΎΠΌΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π½Π΅ΠΉ. ΠΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ trial Π²Π΅ΡΡΠΈΡ (Ultimate, WebStorm) ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Π½Π° email ΡΡΡΠ΄Π΅Π½ΡΠ° (ΡΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΈΠΊΠ°). ΠΠΈΠ±ΠΎ ΠΏΠΎΠΈΡΠΊΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ("if you know what i mean") . ΠΡΡΠ°ΡΠΈ, Π΅ΡΡΡ Ρ ΠΎΡΠΎΡΠΈΠΉ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΎΠ³ VSCode ΠΎΡ Microsoft - ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ Π²Π΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
6) Git/GitHub
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ - Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Ρ ΠΎΡΡ Π±Ρ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ Π·Π½Π°ΡΡ ΠΈ ΡΠΌΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Git/GitHub. ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΈ, Π·Π°Π»ΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΡΠΆΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅Π±Π΅ - "Π²Π°ΡΠΈΡΡΡΡ Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠΎΠΊΡ" Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΠ΅Π½ΠΈΠΊΠ°ΠΌΠΈ. ΠΠ΅Π· Π·Π½Π°Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΎΠ½Π½ΠΎΡΡΠΈ ΠΊΠΎΠ΄Π° - Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ (Π΄Π°ΠΆΠ΅ Π΄Π»Ρ Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²)
7) Docker
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ΅ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΠΈ Π·Π°ΠΏΡΡΠΊΠ° Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΡΡΠ΅Π΄Π°Ρ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ½ Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΡΠ΅ΡΡΡΡΠΎΠ², Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Π³ΠΎΡΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΈΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π² Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ΅Π΄Ρ Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ
8) Bootstrap
ΠΡΠΊΡΡΡΡΠΉ ΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ HTML, CSS ΠΈ JS ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠΉ Π²ΡΡΡΡΠΊΠΈ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΡ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠ² ΡΠ°ΠΉΡΠΎΠ² ΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½Π° Π½Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ΄ ΡΠ°Π·Π½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
ΠΠΎΡΠ΅ΠΌΡ ΡΡΠΎΠΌΡ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΈΠΊΡΠΎ Π½Π΅ ΡΡΠΈΡ?
ΠΠΎΡΠ΅ΠΌΡ Π½ΠΈΠΊΡΠΎ Π½Π΅ ΠΎΠ±ΡΡΠ°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ Π·Π½Π°Π½ΠΈΡΠΌ?
ΠΠ΅Π΄Π°Π²Π½ΠΎ ΠΏΠΎΠΉΠΌΠ°Π» ΡΠ΅Π±Ρ Π½Π° ΠΌΡΡΠ»ΠΈ, ΡΡΠΎ ΠΈΠ·ΡΡΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠ΅Π½ΠΈΠ½Π³ΠΈ/ΠΊΡΡΡΡ, Π½ΠΈΠ³Π΄Π΅ Π½Π΅ Π²ΡΡΡΠ΅ΡΠ°Π» ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ - ΠΊΠΎΠ³Π΄Π° ΡΠ΅Π±Ρ Π·Π° ΡΡΠΊΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Ρ ΠΎΡ Π½Π°ΡΠ°Π»Π° ΠΈ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ fullstack ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ.
ΠΠ΅Π·Π΄Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΡΠ²ΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈΠ»ΠΈ Π½Π΅ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠ΅ΠΌΡ. Π‘ΠΎΠ±ΡΠ°ΡΡ Π²ΡΠ΅ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
ΠΠΎΡΡΠΎΠΌΡ Ρ ΡΠ΅ΡΠΈΠ» ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ - Π²Ρ ΠΏΡΠΎΠΉΠ΄Π΅ΡΠ΅ ΠΏΡΡΡ fullstack ΠΎΡ Π½Π°ΡΠ°Π»Π° ΠΈ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°, ΠΈΠ·ΡΡΠΈΡΠ΅ Π²ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ Π±ΠΎΠ»ΡΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
ΠΠ°ΡΠ΅ΠΌ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΡΠΎΠΈΡΡΡΡ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ, Ρ.ΠΊ. Π±ΡΠ΄Π΅ΡΠ΅ Π·Π½Π°ΡΡ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ (ΠΈΠ»ΠΈ Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΆΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΠΊ -- ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΡΡΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ)
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ
1) ΠΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° ΠΠΠ + Java Π·Π°Π΄Π°ΡΠΈ
2) ΠΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ ΡΠ·ΡΠΊΠ° Kotlin + Π·Π°Π΄Π°ΡΠΈ
3) ΠΠ°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ SQL β Ρ Π½ΡΠ»Ρ Π΄ΠΎ ΠΏΡΠΎΡΠΈ β PostgreSQL
4) ΠΡΠ½ΠΎΠ²Ρ Hibernate Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² ΠΈ ΠΏΡΠΎΡΠΈ
5) Spring backend Ρ RESTful ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ + Java/Kotlin
6) ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Π½Π° Spring + Java/Kotlin
7) ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Spring + OAuth2
8) ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ OAuth2 Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ JavaScript ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
9) ΠΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π½Π° Angular + OAuth2
10) ΠΠ΅Π± ΠΏΡΠΎΠ΅ΠΊΡ βΠΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊβ Π½Π° React.js
11) Docker β ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π½Π° Java/Spring/Angular
12) Git Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ²ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π΄Π»Ρ ΡΠ°ΡΠΊΡΡΡΠΈΡ...
Π ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ ΡΡΠ°ΠΊΡΠΎΠ²Π°ΡΡ ΡΡΠΎ ΠΏΠΎΠ½ΡΡΠΈΠ΅, Π½ΠΎ ΠΎΠ±ΡΠ΅Π΅ ΠΎΠ΄Π½ΠΎ - ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΌΠ΅ΡΡ:
1) ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΡΠ°ΡΡΡ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°Ρ (backend) - Java/Kotlin/Spring Cloud
2) ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΡΡ ΡΠ°ΡΡΡ (frontend) - React/Angular
3) ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ (OAuth2, OpenID)
4) ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡ ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ (Kubernetes, Docker)
5) ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ DevOps, CI/DI
CΠ΅Π³ΠΎΠ΄Π½Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Ρ ΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΌΠΎΠ΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΡΠΌΠ΅Π΅Ρ.
ΠΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠΎ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π²Π°ΠΌΠΈ Π±ΡΠ΄ΡΡ ΠΈΠ΄ΡΠΈ Π·Π° ΡΡΡΠΊΡ Ρ Π½ΡΠ»Ρ ΠΈ ΠΎΠ±ΡΡΠ°ΡΡ Π·Π° ΡΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.
ΠΡΠ΅ΠΌΡ - Π΄Π΅Π½ΡΠ³ΠΈ! ΠΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠ΅ΠΉΡΠ°Ρ.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠΈΠ΄Π΅ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΌ ΠΈ Ρ ΠΎΠΏΡΡΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ - Π²Π°ΡΠΈ ΡΠ°Π½ΡΡ ΠΏΠΎΠ²ΡΡΠ°ΡΡΡΡ Π² ΡΠΎΡΠ½ΠΈ ΡΠ°Π·. ΠΡ ΡΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΡΠ½ΡΠΌ
ΠΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Ρ ΠΎΡΡ Π±Ρ 1-2 ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΠΏΠΎΡΡΡΠΎΠ»ΠΈΠΎ
ΠΠ°ΠΊΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ? ΠΠ΅Π΄Ρ ΠΈΡ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ
ΠΡΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΎΠ΄ΠΈΠ½ ΡΡΠ΅ΠΊ ΠΈ Ρ ΠΎΡΠΎΡΠΎ Π΅Π³ΠΎ Π²ΡΡΡΠΈΡΡ. ΠΡΡΠ°Π»ΡΠ½ΠΎΠ΅ - ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅ ΠΏΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·ΡΡΠ°ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π²Π½ΠΎ ΡΠ΅Π±Ρ Π·Π°ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π»ΠΈ ΠΈ Π±ΡΠ΄ΡΡ "Π½Π° ΠΊΠΎΠ½Π΅" Π΅ΡΠ΅ Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ.
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½Ρ ΠΏΠΎ ΡΡΠΈΠΌ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌ:
Π°) ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π΄Π»Ρ backend (Π²ΠΌΠ΅ΡΡΠΎ "ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ°")
ΠΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² Π²Π΅Π± ΡΠ΅ΡΠ²ΠΈΡΡ (API). Π‘Π΅ΡΠ²ΠΈΡΡ ΠΌΠΎΠ³ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠ°Π·Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ (Π½Π΅ ΠΊΠ°ΠΊ ΡΠ°Π½ΡΡΠ΅ - Π² ΠΎΠ΄Π½ΠΎΠΌ, "ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ"). ΠΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ΅ΡΠ²ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. Π‘ΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· - ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π²ΡΠ΅Π³Π΄Π°. ΠΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ "ΡΠΊΡΠ°Π½" ΠΈΠ»ΠΈ "Π°Π΄Π°ΠΏΡΠ΅Ρ", ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²ΡΠ΅ Π²Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡΡ. Π‘Π΅ΡΠ²ΠΈΡΡ ΠΌΠΎΠ³ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ ΠΈ Π±ΡΡΡ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ: Spring, Swagger
Π±) RESTful ΡΠ΅ΡΠ²ΠΈΡΡ Π΄Π»Ρ backend
RESTful - ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ Π±ΡΡΡΡΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΡΠΎΡΡΠΎΠΉ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ (ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ SOAP). ΠΡ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π½ΡΠΆΠ½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π² ΡΠ°Π·Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ . ΠΠ° Π²ΡΠ΅ΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ Π½Π°Π±Π»ΡΠ΄Π°Π΅Ρ ΠΎΠ±ΡΠΈΠΉ "Π°Π΄Π°ΠΏΡΠ΅Ρ". Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ: Spring, Swagger
Π²) ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΎΡΠ΄Π΅Π»Π΅Π½Π° ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΡ Π½Π΅ "Π²ΡΠΈΠ²Π°Π΅ΡΠ΅" Π²Π½ΡΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, Π° Π΄Π΅Π»Π΅Π³ΠΈΡΡΠ΅ΡΠ΅ Π΅Π³ΠΎ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ·Π΅Π» (Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅), ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠ΅ API ΠΈ Π²ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ. Π ΡΠ°ΠΌΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π²Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΠ΅ ΡΠΎΠ»ΠΈ ΠΈ Π΄ΠΎΡΡΡΠΏΡ. Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ: OAuth2, OpenID ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅.
Π³) Π€ΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ JavaScript Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ UI
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΎΡΠ·ΡΠ²ΡΠΈΠ²ΡΠ΅ Π²Π΅Π±/ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π΅Π»Π°ΡΡ Π½Π° JS ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°Ρ : React, Angular, Vue.js. Π£ΡΠ»ΠΈ Π² ΠΏΡΠΎΡΠ»ΠΎΠ΅ ΡΡΠΆΠ΅Π»ΠΎΠ²Π΅ΡΠ½ΡΠ΅ ΡΡΠ΅ΠΊΠΈ ΡΠΈΠΏΠ° JavaEE, JSF ΠΈ ΠΏΡ. Π‘Π΅ΠΉΡΠ°Ρ "Π½Π° ΠΊΠΎΠ½Π΅" ajax Π²ΡΠ·ΠΎΠ²Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π·Π°ΠΏΡΠΎΡ Π² RESTful-ΡΠ΅ΡΠ²ΠΈΡ, ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΎΡΠ²Π΅Ρ ΠΈ ΡΡΡ ΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΡ ΡΠ°ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ. Π Π²ΡΠ΅ ΡΡΠΎ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ/Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΌΡ HTTPS ΠΊΠ°Π½Π°Π»Ρ.
Π΄) Π‘Π±ΠΎΡΠΊΠ° ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π§ΡΠΎΠ±Ρ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±ΡΡΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ - Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π΅Π³ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ. ΠΡΠΎ Π²ΡΠ΅ - Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ("Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΎΠ΄Π½Ρ ΠΊΠ½ΠΎΠΏΠΊΡ"). ΠΡΡΡΠ½ΡΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π²Π΅ΡΡ ΡΡΠ΅ΠΊ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ - ΡΡΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ, "ΠΏΡΠΎΡΠ»ΡΠΉ Π²Π΅ΠΊ". Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ: Kubernetes, Docker.
Π΅) ΠΠ΄ΠΈΠ½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΊΠΎΠ΄Π°
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΠΊΡΠ΄Π° Π²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° "ΡΠ»ΠΈΠ²Π°Π΅Ρ" ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄. Π£ Π²Π°Ρ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄Π΅Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΎ ΡΠΎΠΆΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡ Π² Π»ΡΠ±ΠΎΠΉ ΠΊΡΡΠΏΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ (Ρ ΠΎΡΠ΅Π½Ρ Π΄ΡΠ΅Π²Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½). ΠΠ΅ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ - Π²ΡΠ΅Π³Π΄Π° Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ Π²ΡΠ΅ ΠΊΠΎΠ΄Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠ΅Π±Ρ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Π½ΠΎ ΠΈ Π² ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
ΠΡΠ΅ ΡΡΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ:
1) Java/Kotlin
ΠΡΠΎ ΡΠ·ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½ Π΅ΡΠ΅ Π΄ΠΎΠ»Π³ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΡΠ»ΠΈ Π²ΡΡΡΠΈΡΠ΅ Java, Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΎΠ΄ΠΎΠ»Π΅ΡΡ ΠΈ Kotlin. ΠΠ΄ΠΈΠ½ ΡΠ·ΡΠΊ ΠΏΠ»Π°Π²Π½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°Π΅Ρ Π² Π΄ΡΡΠ³ΠΎΠΉ. ΠΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ½ΡΡΡ Java. ΠΠ° ΡΡΠΈΡ ΡΠ·ΡΠΊΠ°Ρ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ Π²Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π±ΡΠΊΠ΅Π½Π΄. Java ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° 1-3 ΠΌΠ΅ΡΡΠ΅ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ TIOBE
2) PostgreSQL
ΠΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½Π°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ. Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π³ΠΎΠ΄Ρ Π²ΡΡΠ²Π°Π»Π°ΡΡ Π² Π»ΠΈΠ΄Π΅ΡΡ. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΈΠΌΠ΅Π΅Ρ Π²ΡΠΈΠ³ΡΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄ MySQL, ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ , Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ Π½Π°ΡΡΡΠΎΠ΅ΠΊ. ΠΠ½ΠΎΠ³ΠΈΠ΅ Ρ ΠΎΡΡΠΈΠ½Π³ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Heroku, ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΡΠΎΠΉ ΠΠ Π² Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠΌ ΡΠ°ΡΠΈΡΠ΅ - ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠΆΠ΅ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π²ΡΠ±ΠΎΡ. Π Π°Π½ΡΡΠ΅ Π² ΡΠ°Π²ΠΎΡΠ΅ Π±ΡΠ» MySQL.
3) Spring/Hibernate
Π‘Π°ΠΌΡΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π»Π΅Π³ΡΠ°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ backend ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π½ΠΈΡ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΡΡΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½ΡΠΆΠ½ΡΠ΅ Π²Π΅Π± ΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π·Π°ΠΏΡΠΎΡΡ Π² ΠΠ. Spring Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Ρ ΠΎΠ±ΡΠΈΠΌ "ΡΠΊΡΠ°Π½ΠΎΠΌ", ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ, OAuth2 ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠ±Π°ΠΉΠ½. Spring ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ Java/Kotlin ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ.
4) Angular/React/TypeScript
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ - Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΠΈΠ±ΠΎ React, Π»ΠΈΠ±ΠΎ Angular (ΡΠ°ΠΊΠΆΠ΅ Π΅ΡΠ΅ Π΅ΡΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ Vue.js). Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΡΡΠΈΡΡ ΡΠ·ΡΠΊ TypeScript (ΡΡΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ Java). Π ΠΈΡΠΎΠ³Π΅ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π»ΡΠ±ΡΠ΅ UI: Π²Π΅Π±, ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ (iOS, Android), desktop - ΠΏΠΈΡΠ΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· ΠΊΠΎΠ΄ ΠΈ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ ΠΏΠΎΠ΄ ΡΠ°Π·Π½ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. Π‘Π°ΠΌΡΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ React.
React Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ - Π²ΡΠ΅Π³Π΄Π° Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΡΡΠ΅Π΄ΠΈ JS UI ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² - Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π΅Π³ΠΎ ΠΏΡΠΎΡΡΠΎΡΠ΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ.
5) IntelliJ IDEA
Π₯ΠΎΡΡ ΡΡΠ° ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΏΠ»Π°ΡΠ½Π°Ρ, Π½ΠΎ ΠΎΠ½Π° Π²ΡΠ΅ Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π²ΠΎ Π²ΡΠ΅Ρ ΠΊΡΡΠΏΠ½ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡ . ΠΠΎΡΡΠΎΠΌΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π½Π΅ΠΉ. ΠΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ trial Π²Π΅ΡΡΠΈΡ (Ultimate, WebStorm) ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Π½Π° email ΡΡΡΠ΄Π΅Π½ΡΠ° (ΡΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΈΠΊΠ°). ΠΠΈΠ±ΠΎ ΠΏΠΎΠΈΡΠΊΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ("if you know what i mean") . ΠΡΡΠ°ΡΠΈ, Π΅ΡΡΡ Ρ ΠΎΡΠΎΡΠΈΠΉ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΎΠ³ VSCode ΠΎΡ Microsoft - ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ Π²Π΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
6) Git/GitHub
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ - Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Ρ ΠΎΡΡ Π±Ρ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ Π·Π½Π°ΡΡ ΠΈ ΡΠΌΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Git/GitHub. ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΈ, Π·Π°Π»ΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΡΠΆΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅Π±Π΅ - "Π²Π°ΡΠΈΡΡΡΡ Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠΎΠΊΡ" Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΠ΅Π½ΠΈΠΊΠ°ΠΌΠΈ. ΠΠ΅Π· Π·Π½Π°Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΎΠ½Π½ΠΎΡΡΠΈ ΠΊΠΎΠ΄Π° - Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ (Π΄Π°ΠΆΠ΅ Π΄Π»Ρ Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²)
7) Docker
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ΅ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΠΈ Π·Π°ΠΏΡΡΠΊΠ° Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΡΡΠ΅Π΄Π°Ρ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ½ Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΡΠ΅ΡΡΡΡΠΎΠ², Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Π³ΠΎΡΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΈΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π² Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ΅Π΄Ρ Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ
8) Bootstrap
ΠΡΠΊΡΡΡΡΠΉ ΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ HTML, CSS ΠΈ JS ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠΉ Π²ΡΡΡΡΠΊΠΈ Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΡ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠ² ΡΠ°ΠΉΡΠΎΠ² ΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½Π° Π½Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ΄ ΡΠ°Π·Π½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
ΠΠΎΡΠ΅ΠΌΡ ΡΡΠΎΠΌΡ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΈΠΊΡΠΎ Π½Π΅ ΡΡΠΈΡ?
ΠΠΎΡΠ΅ΠΌΡ Π½ΠΈΠΊΡΠΎ Π½Π΅ ΠΎΠ±ΡΡΠ°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ Π·Π½Π°Π½ΠΈΡΠΌ?
ΠΠ΅Π΄Π°Π²Π½ΠΎ ΠΏΠΎΠΉΠΌΠ°Π» ΡΠ΅Π±Ρ Π½Π° ΠΌΡΡΠ»ΠΈ, ΡΡΠΎ ΠΈΠ·ΡΡΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠ΅Π½ΠΈΠ½Π³ΠΈ/ΠΊΡΡΡΡ, Π½ΠΈΠ³Π΄Π΅ Π½Π΅ Π²ΡΡΡΠ΅ΡΠ°Π» ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ - ΠΊΠΎΠ³Π΄Π° ΡΠ΅Π±Ρ Π·Π° ΡΡΠΊΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Ρ ΠΎΡ Π½Π°ΡΠ°Π»Π° ΠΈ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ fullstack ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ.
ΠΠ΅Π·Π΄Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΡΠ²ΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈΠ»ΠΈ Π½Π΅ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠ΅ΠΌΡ. Π‘ΠΎΠ±ΡΠ°ΡΡ Π²ΡΠ΅ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
ΠΠΎΡΡΠΎΠΌΡ Ρ ΡΠ΅ΡΠΈΠ» ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ - Π²Ρ ΠΏΡΠΎΠΉΠ΄Π΅ΡΠ΅ ΠΏΡΡΡ fullstack ΠΎΡ Π½Π°ΡΠ°Π»Π° ΠΈ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°, ΠΈΠ·ΡΡΠΈΡΠ΅ Π²ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ Π±ΠΎΠ»ΡΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
ΠΠ°ΡΠ΅ΠΌ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΡΠΎΠΈΡΡΡΡ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ, Ρ.ΠΊ. Π±ΡΠ΄Π΅ΡΠ΅ Π·Π½Π°ΡΡ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ (ΠΈΠ»ΠΈ Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΆΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΡΠΈΠΊ -- ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΡΡΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ)
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ
1) ΠΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° ΠΠΠ + Java Π·Π°Π΄Π°ΡΠΈ
2) ΠΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ ΡΠ·ΡΠΊΠ° Kotlin + Π·Π°Π΄Π°ΡΠΈ
3) ΠΠ°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ SQL β Ρ Π½ΡΠ»Ρ Π΄ΠΎ ΠΏΡΠΎΡΠΈ β PostgreSQL
4) ΠΡΠ½ΠΎΠ²Ρ Hibernate Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² ΠΈ ΠΏΡΠΎΡΠΈ
5) Spring backend Ρ RESTful ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ + Java/Kotlin
6) ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ Π½Π° Spring + Java/Kotlin
7) ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Spring + OAuth2
8) ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ OAuth2 Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ JavaScript ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
9) ΠΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π½Π° Angular + OAuth2
10) ΠΠ΅Π± ΠΏΡΠΎΠ΅ΠΊΡ βΠΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊβ Π½Π° React.js
11) Docker β ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π½Π° Java/Spring/Angular
12) Git Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ²ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π΄Π»Ρ ΡΠ°ΡΠΊΡΡΡΠΈΡ...
favorite
0
star
0
