ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΈΠ· экосистСмы 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Π² ΠΌΠΈΡ€ классичСского программирования Π½Π° Java β€” это Π½Π΅ просто смСна синтаксиса, Π° Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ трансформация ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠ³ΠΎ ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ 1Π‘ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² высокоуровнСвой срСдС, Π³Π΄Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π±Π΅Ρ€Π΅Ρ‚ Π½Π° сСбя ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, транзакциями ΠΈ интСрфСйсами, прСдоставляя Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ для бизнСса. Π’ Java Π²Ρ‹ ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ΡΡŒ Π»ΠΈΡ†ΠΎΠΌ ΠΊ Π»ΠΈΡ†Ρƒ с Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΌΠΈ абстракциями, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ явного создания, Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° прилоТСния строится с нуля.

МногиС спСциалисты Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ этот шаг ΠΊΠ°ΠΊ ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Π½Ρ‹ΠΉ Π»ΠΈΡ„Ρ‚, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π΄Π²Π΅Ρ€ΠΈ Π² ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ IT-ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. Однако процСсс Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½Ρ‹ΠΌ: отсутствиС встроСнного ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€ΡƒΡ‡Π½ΠΎΠΉ настройки сборщиков ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ строгая типизация ΠΏΠΎΠ½Π°Ρ‡Π°Π»Ρƒ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠΎΠ³Π½ΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ диссонанс. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ваши знания ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области ΠΈ алгоритмичСской Π»ΠΎΠ³ΠΈΠΊΠΈ Π½ΠΈΠΊΡƒΠ΄Π° Π½Π΅ дСнутся, Π½ΠΎ инструмСнты ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ измСнятся ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ отличия ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌ, ΠΏΠΎΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ стСк Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ для старта ΠΈ Π΄Π°Π΄ΠΈΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ шаги ΠΏΠΎ настройкС Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ мСста. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ (ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ) ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… 1Π‘ с классами ΠΈ интСрфСйсами Java, ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ ΠΆΠ΄ΡƒΡ‚ вас Π½Π° ΠΏΡƒΡ‚ΠΈ ΠΎΡ‚ написания простых ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ Π΄ΠΎ создания ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… микросСрвисов.

Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ отличия ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΈ JVM

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, с Ρ‡Π΅ΠΌ сталкиваСтся ΠΌΠΈΠ³Ρ€Π°Π½Ρ‚ β€” это Ρ€Π°Π·Π½ΠΈΡ†Π° Π² философии выполнСния ΠΊΠΎΠ΄Π°. Π’ 1Π‘ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, которая Π΄ΠΈΠΊΡ‚ΡƒΠ΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈΠ³Ρ€Ρ‹: Π΅ΡΡ‚ΡŒ сСрвСр ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, кластСр ΠΈ файловая Π±Π°Π·Π°. Π’ ΠΌΠΈΡ€Π΅ Java Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Π΄Π΅Π»ΠΎ с Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Машиной Java (JVM), которая являСтся лишь срСдой исполнСния, Π° Π½Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌ бизнСс-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ. Π’Π°ΠΌ придСтся ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ ΠΈ ΠΊΠ°ΠΊ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ интСрфСйс.

Π―Π·Ρ‹ΠΊ запросов 1Π‘, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ SQL, Π² Java замСняСтся Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с ORM-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ Π²Ρ€ΠΎΠ΄Π΅ Hibernate ΠΈΠ»ΠΈ чистым JDBC. Если Π² 1Π‘ Π²Ρ‹ просто ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Β«Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура», Ρ‚ΠΎ Π² Java Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ (Entity), Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³ ΠΏΠΎΠ»Π΅ΠΉ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ состояниСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½ΠΎΡΡ‚ΡŒΡŽ) Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ понимания Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ происходит Β«ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌΒ».

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ 1Π‘ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ часто ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ автоматичСски ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Β«ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽΒ». Π’ Java отсутствиС явного управлСния транзакциями Π² критичСских участках ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ рассинхронизации Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌ ошибкам цСлостности.

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ критичСский ΠΌΠΎΠΌΠ΅Π½Ρ‚ β€” Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. Π₯отя Π² ΠΎΠ±ΠΎΠΈΡ… языках Π΅ΡΡ‚ΡŒ сборщик мусора (Garbage Collector), Π² 1Π‘ ΠΎΠ½ скрыт Π·Π° толстым слоСм абстракции ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π’ Java Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ стСком ΠΈ ΠΊΡƒΡ‡Π΅ΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΡƒΡ‚Π΅Ρ‡Π΅ΠΊ памяти ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими объСмами Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ссылками Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ падСнию сСрвСра ΠΏΠΎΠ΄ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ, Ρ‡Ρ‚ΠΎ Π² срСдС 1Π‘ встрСчаСтся Ρ€Π΅ΠΆΠ΅ благодаря ТСстким ограничСниям ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

πŸ“Š Π§Ρ‚ΠΎ для вас самоС слоТноС Π² ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π½Π° Java?
ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ встроСнной Π‘Π” ΠΈ запросов
БлоТная настройка срСды (Maven/Gradle)
Бтрогая ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ориСнтированная модСль
ДокумСнтация Π½Π° английском

Π’Ρ‹Π±ΠΎΡ€ стСка Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ инструмСнтов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Π’ 1Π‘ экосистСма Π΅Π΄ΠΈΠ½Π°: Π΅ΡΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, Π΅ΡΡ‚ΡŒ ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€, Π΅ΡΡ‚ΡŒ EDT. Π’ Java ΠΌΠΈΡ€ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½, ΠΈ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ Π»Π΅Π³ΠΊΠΎ ΡƒΡ‚ΠΎΠ½ΡƒΡ‚ΡŒ Π² Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ². Для старта Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ IDE (Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ). Π—ΠΎΠ»ΠΎΡ‚Ρ‹ΠΌ стандартом индустрии являСтся IntelliJ IDEA, которая ΠΏΠΎ ΡƒΡ€ΠΎΠ²Π½ΡŽ ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π° ΠΈ подсказок Π±Π»ΠΈΠΆΠ΅ всСго ΠΊ Ρ‚ΠΎΠΌΡƒ, ΠΊ Ρ‡Π΅ΠΌΡƒ Π²Ρ‹ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ Π² 1Π‘. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Eclipse ΠΈΠ»ΠΈ NetBeans, Π½ΠΎ ΠΎΠ½ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ большС Ρ€ΡƒΡ‡Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Для управлСния зависимостями ΠΈ сборкой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Π°ΠΌ придСтся ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ систСмы сборки. Π—Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΎ Ρ€ΡƒΡ‡Π½ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Β«Ρ„Π°ΠΉΠ»ΠΈΠΊΠΎΠΌΒ». Π’ соврСмСнном ΠΌΠΈΡ€Π΅ Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Maven ΠΈΠ»ΠΈ Gradle. Π­Ρ‚ΠΈ инструмСнты автоматичСски ΡΠΊΠ°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ· Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π², ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ΄ ΠΈ ΠΏΠ°ΠΊΡƒΡŽΡ‚ Π΅Π³ΠΎ Π² исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹. ПониманиС Ρ„Π°ΠΉΠ»Π° pom.xml ΠΈΠ»ΠΈ build.gradle станСт вашим Π½ΠΎΠ²Ρ‹ΠΌ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½Ρ‹ΠΌ Ρ€ΠΈΡ‚ΡƒΠ°Π»ΠΎΠΌ.

Π§Ρ‚ΠΎ касаСтся Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° 1Π‘ Π² ΠΌΠΈΡ€Π΅ Java выступаСт связка бэкСнда ΠΈ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π°. На сторонС сСрвСра Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Spring Boot. Он позволяСт быстро ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Ρ‚ΡŒ микросСрвисы, Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Для Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π° 1Π‘-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ придСтся ΡƒΡ‡ΠΈΡ‚ΡŒ JavaScript-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ (React, Vue ΠΈΠ»ΠΈ Angular), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ встроСнных срСдств отрисовки Ρ„ΠΎΡ€ΠΌ Π² Java для Π²Π΅Π±Π° Π½Π΅ сущСствуСт.

  • πŸ› οΈ IntelliJ IDEA Ultimate β€” Π»ΡƒΡ‡ΡˆΠ°Ρ срСда для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Spring ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ.
  • πŸ“¦ Maven β€” стандарт Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ для управлСния зависимостями ΠΈ сборки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².
  • 🌱 Spring Framework β€” экосистСма, Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‰Π°Ρ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ 1Π‘ Π² вопросах бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ.
  • πŸ—„οΈ PostgreSQL β€” Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярная Π‘Π£Π‘Π” для Java-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π°Π½Π°Π»ΠΎΠ³ PostgreSQL Π² связкС с 1Π‘, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π°Ρ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ администрирования.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ВСрсии Java (JDK) ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ΡΡ рСгулярно. Для ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ LTS-вСрсии (Long Term Support), Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Java 11, 17 ΠΈΠ»ΠΈ 21. ИспользованиС ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… вСрсий (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Java 22) Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ с ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°: ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² 1Π‘ ΠΊ классам Java

Π§Ρ‚ΠΎΠ±Ρ‹ быстрСС Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ провСсти Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π΄Π²ΡƒΡ… ΠΌΠΈΡ€ΠΎΠ². Π’ 1Π‘ Π²Ρ‹ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ справочниками, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΈ рСгистрами. Π’ Java эти ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Ρ‚Ρ€Π°Π½ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² классы ΠΈ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ проСктирования. ПониманиС этой ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Ρ‚ΡŒ ΠΈΡΠΊΠ°Ρ‚ΡŒ Β«Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈΒ» Π² ΠΊΠΎΠ΄Π΅ ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΌΡ‹ΡΠ»ΠΈΡ‚ΡŒ катСгориями ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°, которая ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ Π½Π°ΠΉΡ‚ΠΈ соотвСтствия ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ сущностями 1Π‘ ΠΈ ΠΈΡ… Π°Π½Π°Π»ΠΎΠ³Π°ΠΌΠΈ Π² Java-экосистСмС.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ 1Π‘ Аналог Π² Java ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ
Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ / Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Entity (JPA/Hibernate) Класс, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π² Π‘Π”. Аннотация @Entity.
РСгистр свСдСний/накоплСния Π’Π°Π±Π»ΠΈΡ†Π° Ρ„Π°ΠΊΡ‚ΠΎΠ² / Π‘ΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ ΠžΠ±Ρ‹Ρ‡Π½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° с ссылками Π½Π° справочники. Π’ Java это Ρ‚ΠΎΠΆΠ΅ Entity.
ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° / Π€ΠΎΡ€ΠΌΠ° Controller / Service Π›ΠΎΠ³ΠΈΠΊΠ° выносится Π² Service, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° HTTP-запросов Π² Controller.
ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° / ΠžΡ‚Ρ‡Π΅Ρ‚ REST API Endpoint ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ JSON/XML.
ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ IntelliJ IDEA + Plugins Π‘Ρ€Π΅Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π°Ρ настройки ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΏΠΎΠ΄ Π·Π°Π΄Π°Ρ‡ΠΈ.

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ стоит ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ 1Π‘ Π΅ΡΡ‚ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ Π²Π°Ρ€ΠΈΠ°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹. Π’ Java строгая статичСская типизация: Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ пСрСмСнная Ρ…Ρ€Π°Π½ΠΈΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Integer ΠΈΠ»ΠΈ String. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ строку Π² Ρ‡ΠΈΡΠ»ΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС компиляции, Π° Π½Π΅ выполнСния, Ρ‡Ρ‚ΠΎ являСтся большим плюсом для надСТности ΠΊΠΎΠ΄Π°.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Generics Π² Java?

Π”ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΊΠΈ (Generics) β€” это ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ². Π’ 1Π‘ Π²Ρ‹ часто ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠ΅ Β«Π›ΡŽΠ±ΠΎΠΉΠ’ΠΈΠΏΒ». Π’ Java для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΄ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, List ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ список, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строки. Π­Ρ‚ΠΎ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок привСдСния Ρ‚ΠΈΠΏΠΎΠ² Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Настройка окруТСния ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

НачнСм ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒ. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ установки ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘, Π³Π΄Π΅ Π²Ρ‹ просто Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚Π΅ Β«Π”Π°Π»Π΅Π΅Β», настройка Java-окруТСния Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ понимания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… срСды. Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ JDK (Java Development Kit). ПослС установки критичСски Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ JDK Π² систСмной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ JAVA_HOME ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ bin Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ PATH. Π‘Π΅Π· этого компилятор javac Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½ систСмой.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ установку ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» (ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку). Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

java -version

Если Π²Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ Π½ΠΎΠΌΠ΅Ρ€ вСрсии, Π·Π½Π°Ρ‡ΠΈΡ‚, срСда Π³ΠΎΡ‚ΠΎΠ²Π°. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагом Π±ΡƒΠ΄Π΅Ρ‚ созданиС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. НС создавайтС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Β«Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽΒ» Ρ‡Π΅Ρ€Π΅Π· тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ мастСр создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π² IntelliJ IDEA ΠΈΠ»ΠΈ инструмСнт ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ структуры Maven-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ создаст ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ ΠΏΠ°ΠΏΠΎΠΊ: src/main/java для ΠΊΠΎΠ΄Π° ΠΈ src/main/resources для ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΎΠ².

β˜‘οΈ ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Π°Ρ настройка срСды

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 5

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ запускС IDE ΡƒΠ΄Π΅Π»ΠΈΡ‚Π΅ врСмя настройкС ΠΊΠΎΠ΄-стайла. Π’ 1Π‘ Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ стандарты, Π½ΠΎ Π² Java сообщСства (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Google ΠΈΠ»ΠΈ Oracle) Π΄ΠΈΠΊΡ‚ΡƒΡŽΡ‚ ТСсткиС ΠΏΡ€Π°Π²ΠΈΠ»Π° форматирования. НастройтС автоматичСскоС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈ сохранСнии Ρ„Π°ΠΉΠ»Π° (Ctrl+Alt+L Π² Windows), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваш ΠΊΠΎΠ΄ сразу выглядСл ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠΈ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎ для Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

АрхитСктурныС ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹: ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π° ΠΊ микросСрвисам

АрхитСктура ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° 1Π‘ Ρ‡Π°Ρ‰Π΅ всСго тяготССт ΠΊ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Ρƒ: ΠΎΠ΄Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ΄ΠΈΠ½ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΎΠ΄ΠΈΠ½ сСрвСр ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’ ΠΌΠΈΡ€Π΅ Java, особСнно с ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΎΠΌ Spring Cloud, Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ микросСрвисная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°. Π­Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ большоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ разбиваСтся Π½Π° мноТСство ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ…, нСзависимых сСрвисов, ΠΎΠ±Ρ‰Π°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΏΠΎ сСти.

Для Π±Ρ‹Π²ΡˆΠ΅Π³ΠΎ 1Π‘-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ смСну ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹ взаимодСйствия. ВмСсто прямых Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΠ±Ρ‰ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ HTTP-запросы (REST) ΠΈΠ»ΠΈ Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ сообщСний Ρ‡Π΅Ρ€Π΅Π· Π±Ρ€ΠΎΠΊΠ΅Ρ€Ρ‹ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, RabbitMQ ΠΈΠ»ΠΈ Kafka). Π­Ρ‚ΠΎ услоТняСт ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹ большС Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ останова Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ вСсь стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅.

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ SOLID ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (ООП) Π΅Π΄ΠΈΠ½Ρ‹ для всСх языков. Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ, наслСдованиС ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Π² Java Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π΄Π°ΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ строго ΠΈ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎ, Ρ‡Π΅ΠΌ Π² 1Π‘. ПониманиС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Π½Π° слои (Controller, Service, Repository), ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ с ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ создания простых CRUD-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Create, Read, Update, Delete).

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π½Π° микросСрвисы критичСски возрастаСт Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ логирования ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°. Π’ 1Π‘ ΠΆΡƒΡ€Π½Π°Π» рСгистрации Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½. Π’ распрСдСлСнной систСмС Java Π²Π°ΠΌ придСтся Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΡŽ Π»ΠΎΠ³ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· ELK-стСк), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ сСрвисС ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Lombok. Π­Ρ‚ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, которая позволяСт ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ объСм шаблонного ΠΊΠΎΠ΄Π° (Π³Π΅Ρ‚Ρ‚Π΅Ρ€Ρ‹, сСттСры, конструкторы) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ. Для 1Π‘-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° это Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π½ΠΎ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ исходного ΠΊΠΎΠ΄Π°.

ЧастыС ошибки ΠΈ психологичСскиС Π±Π°Ρ€ΡŒΠ΅Ρ€Ρ‹

Одна ΠΈΠ· самых распространСнных ошибок β€” ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° Java Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ‹ писали Π½Π° встроСнном языкС 1Π‘. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Β«Π°Π½Π΅ΠΌΠΈΡ‡Π½Ρ‹Π΅Β» ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π³Π΄Π΅ классы содСрТат Ρ‚ΠΎΠ»ΡŒΠΊΠΎ поля, Π° вся Π»ΠΎΠ³ΠΈΠΊΠ° выносится Π² ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π½Ρ‹Π΅ классы-ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΈ. Π­Ρ‚ΠΎ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ООП. Π’ Java ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ инкапсулировано Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²: ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ Order Π΄ΠΎΠ»ΠΆΠ½Π° сама ΡƒΠΌΠ΅Ρ‚ΡŒ сСбя Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Π° Π½Π΅ Π±Ρ‹Ρ‚ΡŒ пассивным ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ….

Π”Ρ€ΡƒΠ³ΠΎΠΉ Π±Π°Ρ€ΡŒΠ΅Ρ€ β€” страх ΠΏΠ΅Ρ€Π΅Π΄ отсутствиСм «волшСбной ΠΊΠ½ΠΎΠΏΠΊΠΈΒ». Π’ 1Π‘ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ F5 ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ Ρ„ΠΎΡ€ΠΌΡ‹. Π’ Java ΠΎΡ‚Π»Π°Π΄ΠΊΠ° Π²Π΅Π±-прилоТСния Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ понимания ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° запроса, настройки ΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ Π΄Π΅Π±Π°Π³Π³Π΅Ρ€ΠΎΠΌ. НС Π±ΠΎΠΉΡ‚Π΅ΡΡŒ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ инструмСнты профилирования. Π£ΠΌΠ΅Π½ΠΈΠ΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Stack Trace (трассировку стСка ошибки) β€” Π³Π»Π°Π²Π½Ρ‹ΠΉ Π½Π°Π²Ρ‹ΠΊ Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

Π’Π°ΠΊΠΆΠ΅ Π½Π΅ стоит ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСстированиС. Π’ 1Π‘ автотСсты часто Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Ρ€ΠΎΡΠΊΠΎΡˆΡŒ. Π’ Java-сообщСствС написаниС ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Ρ… тСстов (Ρ‡Π΅Ρ€Π΅Π· JUnit) являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ процСсса Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (TDD β€” Test Driven Development). Код Π±Π΅Π· тСстов считаСтся «тСхничСским Π΄ΠΎΠ»Π³ΠΎΠΌΒ» ΠΈ часто Π½Π΅ принимаСтся Π² Ρ€Π΅Π»ΠΈΠ·.

  • ❌ Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ: Π² 1Π‘ ошибки часто ловятся Π² Β«ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°...Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅Β». Π’ Java нСльзя ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Checked Exceptions, ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ, Π»ΠΈΠ±ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π²Ρ‹ΡˆΠ΅.
  • ❌ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ God Object: ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΏΠΈΡ…Π½ΡƒΡ‚ΡŒ всю бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ Π² ΠΎΠ΄ΠΈΠ½ класс, ΠΊΠ°ΠΊ это ΠΈΠ½ΠΎΠ³Π΄Π° Π±Ρ‹Π²Π°Π΅Ρ‚ Π² ΠΎΠ±Ρ‰ΠΈΡ… модулях 1Π‘.
  • ❌ ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ: Π² Java принято Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ‡Π΅Ρ€Π΅Π· JavaDoc, Ρ‡Ρ‚ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚Π½ΡƒΡŽ справку ΠΏΠΎ API.
πŸ’‘

Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π² ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠΈ: Π² 1Π‘ Π²Ρ‹ Ρ€Π΅ΡˆΠ°Π΅Ρ‚Π΅ Π·Π°Π΄Π°Ρ‡Ρƒ бизнСса срСдствами ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π² Java Π²Ρ‹ создаСтС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ (ΠΈΠ»ΠΈ Π΅Ρ‘ Ρ‡Π°ΡΡ‚ΡŒ) для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ бизнСса.

План обучСния ΠΈ рСсурсы для старта

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π΅ происходит Π·Π° ΠΎΠ΄Π½Ρƒ Π½ΠΎΡ‡ΡŒ. РСкомСндуСтся Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΡ‚ 3 Π΄ΠΎ 6 мСсяцСв Π½Π° интСнсивноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ созданиС ΠΏΠ΅Ρ‚-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². НачнитС с основ синтаксиса Java, Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ коллСкциям, ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ многопоточности. Волько послС этого приступайтС ΠΊ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Spring.

НС ΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ Π²Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ всё сразу. Π‘Ρ„ΠΎΠΊΡƒΡΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ Π½Π° стСкС Spring Boot + Hibernate + PostgreSQL. Π­Ρ‚ΠΎ ΠΏΠΎΠΊΡ€ΠΎΠ΅Ρ‚ 80% Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π²Ρ€ΠΎΠ΄Π΅ JSP, Servlets (Π² чистом Π²ΠΈΠ΄Π΅) ΠΈΠ»ΠΈ EJB, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚Π΅ лСгаси-систСмы.

Для ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ 1Π‘ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΡ‡Π΅Ρ‚ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ²) Π½Π° Java. Π Π΅Π°Π»ΠΈΠ·ΡƒΠΉΡ‚Π΅ Ρ‚Π΅ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: созданиС Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹, ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚Ρ‡Π΅Ρ‚Π°. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π³Π΄Π΅ Java Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π° Π³Π΄Π΅ 1Π‘ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

НуТно Π»ΠΈ Π·Π½Π°Ρ‚ΡŒ английский язык для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Java?

Π”Π°, это критичСски Π²Π°ΠΆΠ½ΠΎ. Вся Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ докумСнтация, Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° ошибки (StackOverflow) ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π° английском. Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ Intermediate ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ….

Π‘Π»ΠΎΠΆΠ½ΠΎ Π»ΠΈ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π±Π΅Π· коммСрчСского ΠΎΠΏΡ‹Ρ‚Π°?

Π Ρ‹Π½ΠΎΠΊ Junior-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² насыщСн, Π½ΠΎ спСциалисты с бэкграундом Π² 1Π‘ цСнятся Π·Π° ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ бизнСс-процСссов. ΠŸΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ с ΠΏΠ΅Ρ‚-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π½Π° GitHub ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π²Π°ΠΆΠ½Π΅Π΅ Π΄ΠΈΠΏΠ»ΠΎΠΌΠΎΠ².

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ знания 1Π‘ Π² Java-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…?

БСзусловно. ПониманиС ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области (бухгалтСрия, логистика, производство) Π΄Π΅Π»Π°Π΅Ρ‚ вас ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ спСциалистом, способным ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ систСмы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π° Π½Π΅ просто тСхничСски ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹.

Какая Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Π° Ρƒ Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с 1Π‘?

Π’ срСднСм, ΠΏΠΎΡ‚ΠΎΠ»ΠΎΠΊ Π·Π°Ρ€ΠΏΠ»Π°Ρ‚ Π² Java Π²Ρ‹ΡˆΠ΅, особСнно Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²Ρ‹Ρ… компаниях ΠΈ Ρ„ΠΈΠ½Ρ‚Π΅Ρ…Π΅. Однако ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ 1Π‘ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ высокиС Π΄ΠΎΡ…ΠΎΠ΄Ρ‹. Π Π°Π·Π½ΠΈΡ†Π° нивСлируСтся Π½Π° уровнях Senior ΠΈ Π²Ρ‹ΡˆΠ΅.