Effective Kafka
ΠΠ²ΡΠΎΡ: Emil Koutanov
ΠΠΎΠ΄ ΠΈΠ·Π΄Π°Π½ΠΈΡ: 2021
#java #kafka #english
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ
ΠΠ²ΡΠΎΡ: Emil Koutanov
ΠΠΎΠ΄ ΠΈΠ·Π΄Π°Π½ΠΈΡ: 2021
#java #kafka #english
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ
Java ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ (middle)
#ΠΏΠΎΠ»Π½ΡΠΉΠ΄Π΅Π½Ρ #ΡΠ΄Π°Π»Π΅Π½ΠΊΠ°
ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ: Π’1 ΠΠΎΠ½ΡΠ°Π»ΡΠΈΠ½Π³
Π§ΡΠΎ Π΄Π»Ρ Π½Π°Ρ Π²Π°ΠΆΠ½ΠΎ:
- ΠΠΏΡΡ ΡΠ°Π±ΠΎΡΡ backend-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ Π½Π° Java 8-11 ΠΎΡ 1.5 Π»Π΅Ρ;
- ΠΡΠ»ΠΈΡΠ½ΠΎΠ΅ Π·Π½Π°Π½ΠΈΠ΅ JavaCore (ΠΠΠ, ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ, ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ);
- ΠΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Π² Spring (Boot, Data, Security, Web), Maven;
- ΠΠ½Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² SOLID, DRY, KISS;
- ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ DDD-Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ.
Π§Π΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠΎΠΈΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ:
- Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΈ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ;
- ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ ΡΠ΅ΡΡΠΎΠ²;
- Π£ΡΠ°ΡΡΠΈΠ΅ΠΌ Π² ΠΏΡΠΈΠ½ΡΡΠΈΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ;
- Π£ΡΠ°ΡΡΠΈΠ΅ΠΌ Π² code review;
- Π£ΡΠ°ΡΡΠΈΠ΅ Π² ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΏΡΠΈΠ½ΡΠΎΠ², ΠΎΡΠ΅Π½ΠΊΠ΅, Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π·Π°Π΄Π°Ρ.
#ΠΏΠΎΠ»Π½ΡΠΉΠ΄Π΅Π½Ρ #ΡΠ΄Π°Π»Π΅Π½ΠΊΠ°
ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ: Π’1 ΠΠΎΠ½ΡΠ°Π»ΡΠΈΠ½Π³
Π§ΡΠΎ Π΄Π»Ρ Π½Π°Ρ Π²Π°ΠΆΠ½ΠΎ:
- ΠΠΏΡΡ ΡΠ°Π±ΠΎΡΡ backend-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ Π½Π° Java 8-11 ΠΎΡ 1.5 Π»Π΅Ρ;
- ΠΡΠ»ΠΈΡΠ½ΠΎΠ΅ Π·Π½Π°Π½ΠΈΠ΅ JavaCore (ΠΠΠ, ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ, ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ);
- ΠΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Π² Spring (Boot, Data, Security, Web), Maven;
- ΠΠ½Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² SOLID, DRY, KISS;
- ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ DDD-Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ.
Π§Π΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠΎΠΈΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ:
- Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΈ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ;
- ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ ΡΠ΅ΡΡΠΎΠ²;
- Π£ΡΠ°ΡΡΠΈΠ΅ΠΌ Π² ΠΏΡΠΈΠ½ΡΡΠΈΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ;
- Π£ΡΠ°ΡΡΠΈΠ΅ΠΌ Π² code review;
- Π£ΡΠ°ΡΡΠΈΠ΅ Π² ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΏΡΠΈΠ½ΡΠΎΠ², ΠΎΡΠ΅Π½ΠΊΠ΅, Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π·Π°Π΄Π°Ρ.
#ΡΡΠ°ΡΡΡ
Π§ΡΠΎ ΡΡΠ΅Π±ΡΡΡ ΠΎΡ Π΄ΠΆΡΠ½ΠΈΠΎΡΠΎΠ² ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»ΠΈ: Π°Π½Π°Π»ΠΈΠ· Π²Π°ΠΊΠ°Π½ΡΠΈΠΉ Π΄Π»Ρ ΠΌΠ»Π°Π΄ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ²
ΠΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΡΡΠ°ΡΠ΅ΠΉ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΈΡΠ°ΡΡ Π½Π° Π½Π°ΡΠ΅ΠΌ _Π―Π½Π΄Π΅ΠΊΡ ΠΠ·Π΅Π½_ ΠΊΠ°Π½Π°Π»Π΅!
Π§ΡΠΎ ΡΡΠ΅Π±ΡΡΡ ΠΎΡ Π΄ΠΆΡΠ½ΠΈΠΎΡΠΎΠ² ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»ΠΈ: Π°Π½Π°Π»ΠΈΠ· Π²Π°ΠΊΠ°Π½ΡΠΈΠΉ Π΄Π»Ρ ΠΌΠ»Π°Π΄ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ²
ΠΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΡΡΠ°ΡΠ΅ΠΉ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΈΡΠ°ΡΡ Π½Π° Π½Π°ΡΠ΅ΠΌ _Π―Π½Π΄Π΅ΠΊΡ ΠΠ·Π΅Π½_ ΠΊΠ°Π½Π°Π»Π΅!
Java Collections Cheat Sheet
https://javaconceptoftheday.com/java-collections-cheat-sheet/
π@BookJava
https://javaconceptoftheday.com/java-collections-cheat-sheet/
π@BookJava
Programming in Scala, Fifth Edition
ΠΠ²ΡΠΎΡ: Martin Odersky
ΠΠΎΠ΄ ΠΈΠ·Π΄Π°Π½ΠΈΡ: 2021
#scala #english
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ
ΠΠ²ΡΠΎΡ: Martin Odersky
ΠΠΎΠ΄ ΠΈΠ·Π΄Π°Π½ΠΈΡ: 2021
#scala #english
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ
#ΠΠΎΠΏΡΠΎΡΡ_Ρ_ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡ
π ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ?
ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ:
β’
π ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ?
ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ:
β’
Collections.unmodifiableList(list);
β’ Collections.unmodifiableSet(set);
β’ Collections.unmodifiableMap(map).
ΠΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ Ρ ΡΠ΅ΠΌΠΈ ΠΆΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π²Π½ΡΡΡΠΈ.Java Developer (middle)
#ΡΠ΄Π°Π»Π΅Π½ΠΊΠ° #ΠΏΠΎΠ»Π½ΡΠΉΠ΄Π΅Π½Ρ
ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ: Aston
Π§Π΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠΎΠΈΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ?
- ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΡΡΡΡ Π½Π° Π²ΡΠ΅ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ Π±Π°Π½ΠΊΠ°: ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-Π±Π°Π½ΠΊ, ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠ»Π°ΡΡΠΆΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ Π΄Ρ.;
- ΠΊΠΎΠΌΠΌΡΠ½ΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Data Science, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ;
- ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Fintech-ΡΠ΅ΡΠ΅Π½ΠΈΡ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠ΅ΠΊΠ°;
- ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΈΠ΄Π΅ΠΈ ΠΈ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΡΡΠ°ΡΡΠ΅.
Π§Π΅Π³ΠΎ ΠΌΡ ΠΆΠ΄Π΅ΠΌ ΠΎΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°?
- ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Π² ΡΠΎΠ»ΠΈ Java Developer ΠΎΡ 4-Ρ Π»Π΅Ρ;
- ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Java 8+, Kotlin, Spring ΠΎΡ ΠΎΡ 4-Ρ Π»Π΅Ρ;
- ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Spring Boot ΠΎΡ 2-Ρ Π»Π΅Ρ;
- ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ (Spring Cloud, Kubernetes, OpenShift ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈ);
- ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Docker;
- ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ 3-ΠΌΡ Π»ΡΠ±ΡΠΌΠΈ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ: NoSQL (MongoDB, Elasticsearch, Π°Π½Π°Π»ΠΎΠ³ΠΈ), SQL (PostgreSQL, Oracle, Π°Π½Π°Π»ΠΎΠ³ΠΈ);
- ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π±ΡΠΎΠΊΠ΅ΡΠ°ΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Kafka (ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ), RabbitMQ, Π°Π½Π°Π»ΠΎΠ³ΠΈ;
- Π·Π½Π°Π½ΠΈΠ΅ Reactive Programming (RxJava, Project Reactor), Cache (Redis, Hazelcast);
- ΠΎΠΏΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ CI/CD (GitLab CI, Jenkins, Π°Π½Π°Π»ΠΎΠ³ΠΈ);
- ΠΎΠΏΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊ ΠΈΡΡΠ΅Π΄ΡΡΠ² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° (Zabbix, Prometheus) ΠΈ ΡΡΠ΅Π΄ΡΡΠ² Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Graylog, ELK).
#ΡΠ΄Π°Π»Π΅Π½ΠΊΠ° #ΠΏΠΎΠ»Π½ΡΠΉΠ΄Π΅Π½Ρ
ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ: Aston
Π§Π΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠΎΠΈΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ?
- ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΡΡΡΡ Π½Π° Π²ΡΠ΅ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ Π±Π°Π½ΠΊΠ°: ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-Π±Π°Π½ΠΊ, ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠ»Π°ΡΡΠΆΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ Π΄Ρ.;
- ΠΊΠΎΠΌΠΌΡΠ½ΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Data Science, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ;
- ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Fintech-ΡΠ΅ΡΠ΅Π½ΠΈΡ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠ΅ΠΊΠ°;
- ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΈΠ΄Π΅ΠΈ ΠΈ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΡΡΠ°ΡΡΠ΅.
Π§Π΅Π³ΠΎ ΠΌΡ ΠΆΠ΄Π΅ΠΌ ΠΎΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°?
- ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Π² ΡΠΎΠ»ΠΈ Java Developer ΠΎΡ 4-Ρ Π»Π΅Ρ;
- ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Java 8+, Kotlin, Spring ΠΎΡ ΠΎΡ 4-Ρ Π»Π΅Ρ;
- ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Spring Boot ΠΎΡ 2-Ρ Π»Π΅Ρ;
- ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ (Spring Cloud, Kubernetes, OpenShift ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈ);
- ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Docker;
- ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ 3-ΠΌΡ Π»ΡΠ±ΡΠΌΠΈ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ: NoSQL (MongoDB, Elasticsearch, Π°Π½Π°Π»ΠΎΠ³ΠΈ), SQL (PostgreSQL, Oracle, Π°Π½Π°Π»ΠΎΠ³ΠΈ);
- ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π±ΡΠΎΠΊΠ΅ΡΠ°ΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Kafka (ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ), RabbitMQ, Π°Π½Π°Π»ΠΎΠ³ΠΈ;
- Π·Π½Π°Π½ΠΈΠ΅ Reactive Programming (RxJava, Project Reactor), Cache (Redis, Hazelcast);
- ΠΎΠΏΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ CI/CD (GitLab CI, Jenkins, Π°Π½Π°Π»ΠΎΠ³ΠΈ);
- ΠΎΠΏΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊ ΠΈΡΡΠ΅Π΄ΡΡΠ² ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° (Zabbix, Prometheus) ΠΈ ΡΡΠ΅Π΄ΡΡΠ² Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Graylog, ELK).
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ shutdownhook?
Shutdownhook β ΡΡΠΎ ΠΏΠΎΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΡΠ²Π½ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ JVM(Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Java). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΠΎΡΠΈΡΡΠΊΠΈ ΡΠ΅ΡΡΡΡΠ° ΠΈΠ»ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Java Π²ΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΠΈΠ»ΠΈ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ shutdown hook, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄:
Runtime.getRuntime().addShutdownHook(new ShutdownHookThreadExample());
Shutdownhook β ΡΡΠΎ ΠΏΠΎΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΡΠ²Π½ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ JVM(Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Java). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΠΎΡΠΈΡΡΠΊΠΈ ΡΠ΅ΡΡΡΡΠ° ΠΈΠ»ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Java Π²ΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΠΈΠ»ΠΈ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ shutdown hook, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄:
Runtime.getRuntime().addShutdownHook(new ShutdownHookThreadExample());
π©βπ» GIT: ΠΠ‘Π’ΠΠ ΠΠ― Π‘ΠΠ‘Π’ΠΠ ΠΠΠΠ’Π ΠΠΠ― ΠΠΠ Π‘ΠΠ
Π ΡΡΠΎΠΌ Π½ΠΎΠ²ΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ "ΠΡΡΠΎΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ" Π°Π²ΡΠΎΡ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΠ± ΡΠ²ΠΎΠ»ΡΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΏΠ΅ΡΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ. ΠΠ²ΡΠΎΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΊΠ°ΠΊ SCCS, RCS, CVS, SVN ΠΈ Git, ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎ ΠΈΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°Ρ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡ , Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎΠ²Π»ΠΈΡΠ»ΠΈ Π½Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ.
Π ΡΡΠΎΠΌ Π½ΠΎΠ²ΠΎΠΌ Π²ΠΈΠ΄Π΅ΠΎ "ΠΡΡΠΎΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ" Π°Π²ΡΠΎΡ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΠ± ΡΠ²ΠΎΠ»ΡΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΏΠ΅ΡΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π΄Π΅ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ. ΠΠ²ΡΠΎΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΠ°ΠΊΠΈΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΊΠ°ΠΊ SCCS, RCS, CVS, SVN ΠΈ Git, ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎ ΠΈΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°Ρ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡ , Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎΠ²Π»ΠΈΡΠ»ΠΈ Π½Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ.
Π‘ΠΎΠ²Π΅Ρ Spring Boot ππ‘
Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ Π»ΠΎΠ³ΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΠ°ΡΠΎΡΠ½ΡΠΌΠΈ π
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅ application.yml
logging:
pattern:
console: "%clr(%d{HH:mm:ss.SSS}){blue} %clr(---){cyan} %clr([%15.15t]){yellow} %clr(:){red} %clr(%m){magenta}%n"
Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ Π»ΠΎΠ³ΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΠ°ΡΠΎΡΠ½ΡΠΌΠΈ π
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅ application.yml
logging:
pattern:
console: "%clr(%d{HH:mm:ss.SSS}){blue} %clr(---){cyan} %clr([%15.15t]){yellow} %clr(:){red} %clr(%m){magenta}%n"
ΠΠ±ΡΡΡΠ½ΠΈΡΠ΅ ΡΠΌΡΡΠ» ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ HashMap(int initialCapacity, float loadFactor).
β’ initialCapacity - ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ
β’ loadFactor - ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
β’ initialCapacity - ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ
HashMap, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΡΠ·ΠΈΠ½ Π² Ρ
ΡΡ-ΡΠ°Π±Π»ΠΈΡΠ΅ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ.β’ loadFactor - ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
HashMap, ΠΏΡΠΈ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠΎΡΠ·ΠΈΠ½ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ΅Ρ
ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. Π Π°Π²Π΅Π½ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ»Π° ΡΠΆΠ΅ Ρ
ΡΠ°Π½ΠΈΠΌΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΊ Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΡ.Π£ΡΠ΅Π±Π½ΠΈΠΊ ΠΏΠΎ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠΈ Java
ΠΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ β ΡΡΠΎ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΠΠΠ), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ»Π°ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΡΡΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ ΠΈ Π·Π°ΡΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ·Π²Π½Π΅ ΠΊΠ»Π°ΡΡΠ°.
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ, Π΅Π΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈ ΡΠΎ, ΠΊΠ°ΠΊ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² Java.
https://www.developer.com/java/java-encapsulation/
ΠΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ β ΡΡΠΎ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΠΠΠ), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ»Π°ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΡΡΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ ΠΈ Π·Π°ΡΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ·Π²Π½Π΅ ΠΊΠ»Π°ΡΡΠ°.
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ, Π΅Π΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈ ΡΠΎ, ΠΊΠ°ΠΊ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² Java.
https://www.developer.com/java/java-encapsulation/
Developer.com
Java Encapsulation Tutorial | Developer.com
We discuss the object oriented programming (OOP) concept of encapsulation and how it benefits Java developers. Learn more.
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ bash, Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ°Π±ΠΎΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠ΄ΠΎΠ±Π½Π΅Π΅
ΠΠΎΠ³Π΄Π° ΠΏΠΈΡΠ΅ΡΡ ΠΊΠΎΠ΄ Π² IntelliJ IDEA, ΠΏΡΠΈΠ²ΡΠΊΠ°Π΅ΡΡ ΡΡΠΎ Π²Π΅Π·Π΄Π΅ Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ, Π²Π΅Π·Π΄Π΅ Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠ»ΠΈΡΠ΅Π½, Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠ»ΠΈΠΊΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠ»ΠΈ Π½Π° Π΅Π³ΠΎ ΡΡΠ°Π΄ΠΆΠΈ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ-ΡΠΎ Π±Π΅Π΄Π½ΠΎ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΎΠ½ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ ΠΏΡΠΎΠ΄ΡΠΌΠ°Π½, ΡΠ΄Π΅Π»Π°Π½ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ΄ΠΎΠ±Π½ΡΠΌ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ UI, Π½ΠΎ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ UI Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡ Π²Π°ΠΌ ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ JetBrains IDE, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ cΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°ΠΌΠΈ IDE.
Π§ΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ
ΠΠΎΠ³Π΄Π° ΠΏΠΈΡΠ΅ΡΡ ΠΊΠΎΠ΄ Π² IntelliJ IDEA, ΠΏΡΠΈΠ²ΡΠΊΠ°Π΅ΡΡ ΡΡΠΎ Π²Π΅Π·Π΄Π΅ Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ, Π²Π΅Π·Π΄Π΅ Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠ»ΠΈΡΠ΅Π½, Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠ»ΠΈΠΊΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠ»ΠΈ Π½Π° Π΅Π³ΠΎ ΡΡΠ°Π΄ΠΆΠΈ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ-ΡΠΎ Π±Π΅Π΄Π½ΠΎ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΎΠ½ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ ΠΏΡΠΎΠ΄ΡΠΌΠ°Π½, ΡΠ΄Π΅Π»Π°Π½ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ΄ΠΎΠ±Π½ΡΠΌ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ UI, Π½ΠΎ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ UI Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡ Π²Π°ΠΌ ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ JetBrains IDE, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ cΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°ΠΌΠΈ IDE.
Π§ΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ
Teletype
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ bash, Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ°Π±ΠΎΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠ΄ΠΎΠ±Π½Π΅Π΅
ΠΠΎΠ³Π΄Π° ΠΏΠΈΡΠ΅ΡΡ ΠΊΠΎΠ΄ Π² IntelliJ IDEA, ΠΏΡΠΈΠ²ΡΠΊΠ°Π΅ΡΡ ΡΡΠΎ Π²Π΅Π·Π΄Π΅ Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ, Π²Π΅Π·Π΄Π΅ Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠ»ΠΈΡΠ΅Π½, Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠ»ΠΈΠΊΠΎΠΌ...
Java Developer (junior)
#ΡΠ΄Π°Π»Π΅Π½ΠΊΠ° #ΠΏΠΎΠ»Π½ΡΠΉΠ΄Π΅Π½Ρ
Π/Π: ΠΎΡ 50 000 Π΄ΠΎ 80 000 β½
ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ: ΠΠ²ΡΠΈΠΊΠ°
ΠΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ:
- ΠΠ’-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, Π±Π°ΠΊΠ°Π»Π°Π²ΡΡ ΠΈ ΠΌΠ°Π³ΠΈΡΡΡΡ;
- ΠΠ°Π·ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Π½ΠΈΠ΅ Java, Maven, Spring, JS;
- ΠΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Linux (ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ, ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΌΠ΅ΡΡΠΎ, ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π»ΠΎΠ³ΠΈ, ΠΏΠ΅ΡΠ΅ΠΏΡΡΡΠΈΡΡ ΡΠ»ΡΠΆΠ±Ρ);
- ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ Java ΠΎΡ 1 Π³ΠΎΠ΄Π° Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅.
- ΠΠ°ΡΠΈΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π·Π½Π°Π½ΠΈΠ΅ Spring Framework, JQuery, YUI, Maven, Typescript, Angular 10
#ΡΠ΄Π°Π»Π΅Π½ΠΊΠ° #ΠΏΠΎΠ»Π½ΡΠΉΠ΄Π΅Π½Ρ
Π/Π: ΠΎΡ 50 000 Π΄ΠΎ 80 000 β½
ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ: ΠΠ²ΡΠΈΠΊΠ°
ΠΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ:
- ΠΠ’-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, Π±Π°ΠΊΠ°Π»Π°Π²ΡΡ ΠΈ ΠΌΠ°Π³ΠΈΡΡΡΡ;
- ΠΠ°Π·ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Π½ΠΈΠ΅ Java, Maven, Spring, JS;
- ΠΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Linux (ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ, ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΌΠ΅ΡΡΠΎ, ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π»ΠΎΠ³ΠΈ, ΠΏΠ΅ΡΠ΅ΠΏΡΡΡΠΈΡΡ ΡΠ»ΡΠΆΠ±Ρ);
- ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ Java ΠΎΡ 1 Π³ΠΎΠ΄Π° Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅.
- ΠΠ°ΡΠΈΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π·Π½Π°Π½ΠΈΠ΅ Spring Framework, JQuery, YUI, Maven, Typescript, Angular 10
Kotlin Π·Π°Ρ
ΠΎΠ΄ΠΈΡ Π² Telegram!
Π Π°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΎ Kotlin β ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΉ ΡΠ·ΡΠΊ ΡΠΎΠ΄ΠΎΠΌ ΠΈΠ· ΠΠΈΡΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ²ΡΡ ΡΠ΅ΡΠ½ΠΈΡ Java Π² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΈ Π±ΡΠΊΠ΅Π½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅.
ΠΠ³ΠΎ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Google, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Jira ΠΈ Adobe, Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΠΏΠΎΠ²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Android ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ Π½Π° Kotlin ΡΠ²ΠΎΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΡ. Π‘ΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°Π²Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅!
Π Π°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΎ Kotlin β ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΉ ΡΠ·ΡΠΊ ΡΠΎΠ΄ΠΎΠΌ ΠΈΠ· ΠΠΈΡΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ²ΡΡ ΡΠ΅ΡΠ½ΠΈΡ Java Π² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΈ Π±ΡΠΊΠ΅Π½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅.
ΠΠ³ΠΎ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Google, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Jira ΠΈ Adobe, Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΠΏΠΎΠ²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Android ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ Π½Π° Kotlin ΡΠ²ΠΎΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΡ. Π‘ΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°Π²Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅!
This media is not supported in your browser
VIEW IN TELEGRAM
Π Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠ°Ρ Π΄Π»Ρ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²?
Π Π½Π΅ΠΌ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΡΠ΄ΠΈΡΡ Π²Π°ΠΊΠ°Π½ΡΠΈΠΈ, ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΎΠΏΡΡΠΎΠΌ ΠΎ ΡΡΡΠ΄ΠΎΡΡΡΡΠΎΠΉΡΡΠ²Π΅, Π·Π°Π΄Π°ΡΡ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΡΠ΄ΠΈΡΡ Π½Π°ΡΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
ΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΠ΅ΡΡ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Ρ!
Π Π½Π΅ΠΌ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΡΠ΄ΠΈΡΡ Π²Π°ΠΊΠ°Π½ΡΠΈΠΈ, ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΎΠΏΡΡΠΎΠΌ ΠΎ ΡΡΡΠ΄ΠΎΡΡΡΡΠΎΠΉΡΡΠ²Π΅, Π·Π°Π΄Π°ΡΡ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΡΠ΄ΠΈΡΡ Π½Π°ΡΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ
ΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΠ΅ΡΡ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Ρ!
Kotlin Π·Π°Ρ
ΠΎΠ΄ΠΈΡ Π² Telegram!
Π Π°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΎ Kotlin β ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΉ ΡΠ·ΡΠΊ ΡΠΎΠ΄ΠΎΠΌ ΠΈΠ· ΠΠΈΡΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ²ΡΡ ΡΠ΅ΡΠ½ΠΈΡ Java Π² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΈ Π±ΡΠΊΠ΅Π½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅.
ΠΠ³ΠΎ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Google, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Jira ΠΈ Adobe, Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΠΏΠΎΠ²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Android ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ Π½Π° Kotlin ΡΠ²ΠΎΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΡ. Π‘ΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°Π²Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅!
Π Π°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΡΠΎ Kotlin β ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΉ ΡΠ·ΡΠΊ ΡΠΎΠ΄ΠΎΠΌ ΠΈΠ· ΠΠΈΡΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ²ΡΡ ΡΠ΅ΡΠ½ΠΈΡ Java Π² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΈ Π±ΡΠΊΠ΅Π½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅.
ΠΠ³ΠΎ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Google, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Jira ΠΈ Adobe, Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΠΏΠΎΠ²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Android ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ Π½Π° Kotlin ΡΠ²ΠΎΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΡ. Π‘ΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡΡΡ, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°Π²Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅!
Π’Π΅ΡΡ Π½Π° ΠΎΠ±ΡΠΈΠ΅ Π·Π½Π°Π½ΠΈΡ Π΄Π»Ρ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°
Java Π·Π°Π΄Π°ΡΠΈ Ρ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ
Java Π·Π°Π΄Π°ΡΠΈ Ρ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ
ΠΠ°ΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠΎΠ²Π΅ΡΡΠ°ΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ QA Load?
π’π’ Π£Π·Π½Π°ΠΉΡΠ΅ Π½Π° ΠΎΡΠΊΡΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ Β«ΠΠ½ΡΠΈΠΏΠ°ΡΡΠ΅ΡΠ½Ρ Π½Π°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ 28 ΡΠ΅Π²ΡΠ°Π»Ρ Π² 20:00 ΠΌΡΠΊ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡΠ° Β«ΠΠ°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅Β» Π² OTUS.
ΠΠ° Π·Π°Π½ΡΡΠΈΠΈ ΠΌΡ:
Π Π°Π·Π±Π΅ΡΠ΅ΠΌ ΡΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² Π½Π°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ, ΡΡΠΎΠ±Ρ ΠΈΡ Π½Π΅ ΡΠΎΠ²Π΅ΡΡΠ°ΡΡ.
πΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π° ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡΠ΅, Π½Π° Π½Π΅Π³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΡΠ°ΡΡΡΠΎΡΠΊΠ°.
β‘οΈΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΡΡΠ° ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ΡΡ Π½Π° ΠΌΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΠ΅: https://otus.pw/nOsr/
π’π’ Π£Π·Π½Π°ΠΉΡΠ΅ Π½Π° ΠΎΡΠΊΡΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ Β«ΠΠ½ΡΠΈΠΏΠ°ΡΡΠ΅ΡΠ½Ρ Π½Π°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ 28 ΡΠ΅Π²ΡΠ°Π»Ρ Π² 20:00 ΠΌΡΠΊ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡΠ° Β«ΠΠ°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅Β» Π² OTUS.
ΠΠ° Π·Π°Π½ΡΡΠΈΠΈ ΠΌΡ:
Π Π°Π·Π±Π΅ΡΠ΅ΠΌ ΡΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² Π½Π°Π³ΡΡΠ·ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ, ΡΡΠΎΠ±Ρ ΠΈΡ Π½Π΅ ΡΠΎΠ²Π΅ΡΡΠ°ΡΡ.
πΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π° ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡΠ΅, Π½Π° Π½Π΅Π³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΡΠ°ΡΡΡΠΎΡΠΊΠ°.
β‘οΈΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΡΡΠ° ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ΡΡ Π½Π° ΠΌΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΠ΅: https://otus.pw/nOsr/