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/
Java Developer (Middle)
#ΠΏΠΎΠ»Π½ΡΠΉΠ΄Π΅Π½Ρ #ΡΠ΄Π°Π»Π΅Π½ΠΊΠ°
ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ: ΠΠ°Π·ΠΏΡΠΎΠΌΠ±Π°Π½ΠΊ
ΠΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ:
- ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°Π±ΠΎΡΠΈΡ ΠΌΠ΅ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
- ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±ΡΠΊΠ° Π΄Π»Ρ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- API Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠΎΡΠΌ
- ΡΠ»ΠΎΠΉ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ
- ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌΠΈ
- ΡΠ΅ΡΠ²ΠΈΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠ΅ ΡΡΠ°ΠΏΡ Π±ΠΈΠ·Π½Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ:
- Java SE, Spring Framework (IoC, MVC, Transactions, Data, Boot)
- ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Gradle/Maven
- ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Git
- ΠΎΠΏΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΡΡΠΎΠ² (ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ) Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ JUnit ΠΈΠ»ΠΈ TestNG
- ΠΎΠΏΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ JDBC, JPA, JMX
- Π·Π½Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ² ΠΠΠ
- Π½Π°Π²ΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΡ , ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ
#ΠΏΠΎΠ»Π½ΡΠΉΠ΄Π΅Π½Ρ #ΡΠ΄Π°Π»Π΅Π½ΠΊΠ°
ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ: ΠΠ°Π·ΠΏΡΠΎΠΌΠ±Π°Π½ΠΊ
ΠΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ:
- ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°Π±ΠΎΡΠΈΡ ΠΌΠ΅ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
- ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±ΡΠΊΠ° Π΄Π»Ρ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- API Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠΎΡΠΌ
- ΡΠ»ΠΎΠΉ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ
- ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌΠΈ
- ΡΠ΅ΡΠ²ΠΈΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠ΅ ΡΡΠ°ΠΏΡ Π±ΠΈΠ·Π½Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ:
- Java SE, Spring Framework (IoC, MVC, Transactions, Data, Boot)
- ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Gradle/Maven
- ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Git
- ΠΎΠΏΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΡΡΠΎΠ² (ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΡ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ) Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ JUnit ΠΈΠ»ΠΈ TestNG
- ΠΎΠΏΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ JDBC, JPA, JMX
- Π·Π½Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ² ΠΠΠ
- Π½Π°Π²ΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΡ , ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ
#Π²ΠΎΠΏΡΠΎΡΡ_Ρ_ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ
ΠΠ°ΠΊΠΈΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅?
β’
β’
β’
β’
β’
β’
β’
β’
β’
β’
β’
β’
ΠΠ°ΠΊΠΈΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅?
β’
& : ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ AND (Π);β’
&& : Π‘ΠΎΠΊΡΠ°ΡΡΠ½Π½ΠΎΠ΅ AND;β’
| : ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ OR (ΠΠΠ);β’
|| : Π‘ΠΎΠΊΡΠ°ΡΡΠ½Π½ΠΎΠ΅ OR;β’
^ : ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ XOR (ΠΈΡΠΊΠ»ΡΡΠ°ΡΡΠ΅Π΅ OR (ΠΠΠ));β’
! : ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ½Π°ΡΠ½ΠΎΠ΅ NOT (ΠΠ);β’
&= : AND Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ;β’
|= : OR Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ;β’
^= : XOR Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ;β’
== : Π Π°Π²Π½ΠΎ;β’
!= : ΠΠ΅ ΡΠ°Π²Π½ΠΎ;β’
?: : Π’Π΅ΡΠ½Π°ΡΠ½ΡΠΉ (ΡΡΠΎΠΈΡΠ½ΡΠΉ) ΡΡΠ»ΠΎΠ²Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ.ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ HashMap ΡΡΠ°Π·Ρ Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ?
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ Map Π² ΡΠΎΠΌ, ΡΡΠΎ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΠΈΠ½ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π½Π°Π±ΠΎΡ ΠΏΠ°Ρ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°. ΠΠΎΡΡΠΎΠΌΡ varargs Π·Π΄Π΅ΡΡ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ.
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΉ, ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π½ΡΠΉ, Π½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± β Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ. ΠΠ»Ρ ΠΌΠ°ΠΏΡ-ΠΏΠΎΠ»Ρ ΠΊΠ»Π°ΡΡΠ° ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
Π£Π΄ΠΎΠ±Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ HashMap ΠΈΠ· ΡΡΡΠΈΠΌΠ°. ΠΠΎΠ»Π»Π΅ΠΊΡΠΎΡ Collectors.toMap(keyMapper, valueMapper) Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°ΠΏΠΏΠ΅ΡΠΎΠ² ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΠΎΡΠΎΠΊΠ° Π² ΠΊΠ»ΡΡΠΈ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
Π Java 9 Π½Π°ΠΊΠΎΠ½Π΅Ρ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΡΠ°Π±ΡΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ Map.of(), ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΠ°Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΈ Map.ofEntries() Ρ varargs-Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ.
ΠΠΎ Java 9 ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Π±ΡΠ»ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ImmutableMap.of Π² Guava ΠΈ MapUtils.putAll() Π² Apache Commons.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ Map Π² ΡΠΎΠΌ, ΡΡΠΎ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΠΈΠ½ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π½Π°Π±ΠΎΡ ΠΏΠ°Ρ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°. ΠΠΎΡΡΠΎΠΌΡ varargs Π·Π΄Π΅ΡΡ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ.
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΉ, ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π½ΡΠΉ, Π½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± β Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ. ΠΠ»Ρ ΠΌΠ°ΠΏΡ-ΠΏΠΎΠ»Ρ ΠΊΠ»Π°ΡΡΠ° ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
Map<String, String> map = new HashMap<>();ΠΠ΄ΠΈΠΎΠΌΠ° double brace initialization. ΠΠΎΠΌΠΏΠ°ΠΊΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°-Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠ° ΠΎΡ HashMap, Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² Π±Π»ΠΎΠΊΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠΌ ΡΠ°ΡΡ ΠΎΠ΄Π°ΠΌ, ΡΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ.
{
map.put("one", "first");
map.put("two", "second");
}
new HashMap<String, String>() {{
put("one", "first");
put("two", "second");
}};
ΠΠ»Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ
ΡΠ»ΡΡΠ°Π΅Π², ΠΏΡΡΡΠΎΠΉ ΠΈ ΠΎΠ΄Π½ΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎΠΉ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ
ΠΌΠ°ΠΏ, Π² ΠΊΠ»Π°ΡΡΠ΅ Collections Π΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°Π±ΡΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ emptyMap() ΠΈ singletonMap(key, value).Π£Π΄ΠΎΠ±Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ HashMap ΠΈΠ· ΡΡΡΠΈΠΌΠ°. ΠΠΎΠ»Π»Π΅ΠΊΡΠΎΡ Collectors.toMap(keyMapper, valueMapper) Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°ΠΏΠΏΠ΅ΡΠΎΠ² ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΠΎΡΠΎΠΊΠ° Π² ΠΊΠ»ΡΡΠΈ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
Π Java 9 Π½Π°ΠΊΠΎΠ½Π΅Ρ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΡΠ°Π±ΡΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ Map.of(), ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΠ°Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΈ Map.ofEntries() Ρ varargs-Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ.
ΠΠΎ Java 9 ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ Π±ΡΠ»ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ImmutableMap.of Π² Guava ΠΈ MapUtils.putAll() Π² Apache Commons.
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ bash, Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ°Π±ΠΎΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠ΄ΠΎΠ±Π½Π΅Π΅
ΠΠΎΠ³Π΄Π° ΠΏΠΈΡΠ΅ΡΡ ΠΊΠΎΠ΄ Π² IntelliJ IDEA, ΠΏΡΠΈΠ²ΡΠΊΠ°Π΅ΡΡ ΡΡΠΎ Π²Π΅Π·Π΄Π΅ Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ, Π²Π΅Π·Π΄Π΅ Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠ»ΠΈΡΠ΅Π½, Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠ»ΠΈΠΊΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠ»ΠΈ Π½Π° Π΅Π³ΠΎ ΡΡΠ°Π΄ΠΆΠΈ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ-ΡΠΎ Π±Π΅Π΄Π½ΠΎ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΎΠ½ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ ΠΏΡΠΎΠ΄ΡΠΌΠ°Π½, ΡΠ΄Π΅Π»Π°Π½ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ΄ΠΎΠ±Π½ΡΠΌ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ UI, Π½ΠΎ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ UI Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡ Π²Π°ΠΌ ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ JetBrains IDE, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ cΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°ΠΌΠΈ IDE.
Π§ΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ
ΠΠΎΠ³Π΄Π° ΠΏΠΈΡΠ΅ΡΡ ΠΊΠΎΠ΄ Π² IntelliJ IDEA, ΠΏΡΠΈΠ²ΡΠΊΠ°Π΅ΡΡ ΡΡΠΎ Π²Π΅Π·Π΄Π΅ Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ, Π²Π΅Π·Π΄Π΅ Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠ»ΠΈΡΠ΅Π½, Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠ»ΠΈΠΊΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠ»ΠΈ Π½Π° Π΅Π³ΠΎ ΡΡΠ°Π΄ΠΆΠΈ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ-ΡΠΎ Π±Π΅Π΄Π½ΠΎ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΎΠ½ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ ΠΏΡΠΎΠ΄ΡΠΌΠ°Π½, ΡΠ΄Π΅Π»Π°Π½ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ΄ΠΎΠ±Π½ΡΠΌ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ UI, Π½ΠΎ Π² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ UI Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡ Π²Π°ΠΌ ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ JetBrains IDE, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ cΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°ΠΌΠΈ IDE.
Π§ΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ
Teletype
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ bash, Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ°Π±ΠΎΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠ΄ΠΎΠ±Π½Π΅Π΅
ΠΠΎΠ³Π΄Π° ΠΏΠΈΡΠ΅ΡΡ ΠΊΠΎΠ΄ Π² IntelliJ IDEA, ΠΏΡΠΈΠ²ΡΠΊΠ°Π΅ΡΡ ΡΡΠΎ Π²Π΅Π·Π΄Π΅ Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ, Π²Π΅Π·Π΄Π΅ Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΏΠ»ΠΈΡΠ΅Π½, Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠ»ΠΈΠΊΠΎΠΌ...