Π§ΡΠΎ Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄?
Anonymous Quiz
16%
falsetrue
33%
falsefalse
29%
truetrue
21%
truefalse
π14π₯3π₯΄3
π₯ ΠΠΎΠ΄Π½ΠΎΡΠ°
ΠΠ°ΡΠΊΠ½ΡΠ»ΡΡ Π½Π° Π±Π°Π·Ρ Ρ 1700 Π²ΠΎΠΏΡΠΎΡΠΎΠ² Ρ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ Π½Π° Java ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. Π€ΠΈΡΠΊΠ° Π² ΡΠΎΠΌ ΡΡΠΎ ΠΏΡΠΎΡΡΠΈΡΠ°Π½Π° Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ Π±ΡΠ΄Π΅Π½ Π·Π°Π΄Π°Π½ ΠΈ Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΎΡΠ²Π΅ΡΠΎΠ². Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΡΠ΅Ρ, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ²ΡΠΈΡΡ ΠΊ ΡΠ°ΠΌΡΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ π
ΠΠ°ΡΠΊΠ½ΡΠ»ΡΡ Π½Π° Π±Π°Π·Ρ Ρ 1700 Π²ΠΎΠΏΡΠΎΡΠΎΠ² Ρ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ Π½Π° Java ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. Π€ΠΈΡΠΊΠ° Π² ΡΠΎΠΌ ΡΡΠΎ ΠΏΡΠΎΡΡΠΈΡΠ°Π½Π° Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ Π±ΡΠ΄Π΅Π½ Π·Π°Π΄Π°Π½ ΠΈ Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΎΡΠ²Π΅ΡΠΎΠ². Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΡΡΠ΅Ρ, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ²ΡΠΈΡΡ ΠΊ ΡΠ°ΠΌΡΠΌ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ π
Telegram
Java | ΠΠΎΠΏΡΠΎΡΡ ΡΠΎΠ±Π΅ΡΠΎΠ²
Π Π°Π·Π±ΠΈΡΠ°Π΅ΠΌ Π²ΠΎΠΏΡΠΎΡΡ Ρ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ Π½Π° Java ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. Spring, Hibernate
Π‘Π°ΠΉΡ: easyoffer.ru/
Π Π΅ΠΊΠ»Π°ΠΌΠ°: @easyoffer_adv
Π‘Π°ΠΉΡ: easyoffer.ru/
Π Π΅ΠΊΠ»Π°ΠΌΠ°: @easyoffer_adv
π5π₯4
ΠΠ»Ρ ΡΠ΅Π³ΠΎ ΡΠ»ΡΠΆΠΈΡ Java KeyStore?
KeyStore ΠΈ TrustStore β ΡΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ ΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ². ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΡΠΎΡΠΌΠ°ΡΠ° .jks, .dks, .p12, ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°.
ΠΠ»Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ Π½Π°Π΄ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡ Π² JDK ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡΠΈΠ»ΠΈΡΠ° β keytool. ΠΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΏΠΎΠ΄ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ (alias). ΠΡΠ΅ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Π½Π°Π·ΡΠ²Π°ΡΡ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ². ΠΡΠΎΡ ΡΠ°ΠΉΠ» ΠΎΠ±ΡΡΠ½ΠΎ Π·Π°ΡΠΈΡΠ΅Π½ ΠΏΠ°ΡΠΎΠ»Π΅ΠΌ.
KeyStore ΠΈ TrustStore ΡΡΡΡΠΎΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠ΅, Π½ΠΎ ΡΠ»ΡΠΆΠ°Ρ ΡΠ°Π·Π½ΡΠΌ ΡΠ΅Π»ΡΠΌ. KeyStore Ρ ΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ TrustStore β ΠΎ Π΄ΡΡΠ³ΠΈΡ , ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ Π΄ΠΎΠ²Π΅ΡΡΠ΅ΠΌ.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ KeyStore. ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ javax.net.ssl.keyStore (ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°), javax.net.ssl.keyStoreType (ΡΠΈΠΏ) ΠΈ javax.net.ssl.keyStorePassword (ΠΏΠ°ΡΠΎΠ»Ρ). ΠΠΎΠ±Π°Π²ΠΎΡΠ½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ, ΠΊΠ»Π°ΡΡΠΎΠΌ java.security.KeyStore.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΎΠ΄ΠΈΠ½ TrustStore, ΡΠ°ΠΉΠ» jre/lib/security/cacerts. ΠΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ JVM javax.net.ssl.trustStore, javax.net.ssl.trustStorePassword ΠΈ javax.net.ssl.trustStorePassword.
Π’ΠΈΠΏΠΈΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ β ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ TrustStore Ρ ΡΠ°ΠΌΠΎΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΌ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ³Π»ΠΎ Ρ ΠΎΠ΄ΠΈΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠ°ΠΉΡ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ HTTPS, Π½Π΅ ΠΏΡΠΎΠ²Π°Π»ΠΈΠ²Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. ΠΠΈΠ±ΠΎ ΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ KeyStore Ρ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΡΠΌ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ ΠΊΠ°ΠΊ HTTPS-ΡΠ΅ΡΠ²Π΅Ρ.
KeyStore ΠΈ TrustStore β ΡΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ ΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ². ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΡΠΎΡΠΌΠ°ΡΠ° .jks, .dks, .p12, ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°.
ΠΠ»Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ Π½Π°Π΄ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡ Π² JDK ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡΠΈΠ»ΠΈΡΠ° β keytool. ΠΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΏΠΎΠ΄ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ (alias). ΠΡΠ΅ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Π½Π°Π·ΡΠ²Π°ΡΡ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ². ΠΡΠΎΡ ΡΠ°ΠΉΠ» ΠΎΠ±ΡΡΠ½ΠΎ Π·Π°ΡΠΈΡΠ΅Π½ ΠΏΠ°ΡΠΎΠ»Π΅ΠΌ.
KeyStore ΠΈ TrustStore ΡΡΡΡΠΎΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠ΅, Π½ΠΎ ΡΠ»ΡΠΆΠ°Ρ ΡΠ°Π·Π½ΡΠΌ ΡΠ΅Π»ΡΠΌ. KeyStore Ρ ΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ TrustStore β ΠΎ Π΄ΡΡΠ³ΠΈΡ , ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ Π΄ΠΎΠ²Π΅ΡΡΠ΅ΠΌ.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ KeyStore. ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ javax.net.ssl.keyStore (ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°), javax.net.ssl.keyStoreType (ΡΠΈΠΏ) ΠΈ javax.net.ssl.keyStorePassword (ΠΏΠ°ΡΠΎΠ»Ρ). ΠΠΎΠ±Π°Π²ΠΎΡΠ½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ, ΠΊΠ»Π°ΡΡΠΎΠΌ java.security.KeyStore.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΎΠ΄ΠΈΠ½ TrustStore, ΡΠ°ΠΉΠ» jre/lib/security/cacerts. ΠΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ JVM javax.net.ssl.trustStore, javax.net.ssl.trustStorePassword ΠΈ javax.net.ssl.trustStorePassword.
Π’ΠΈΠΏΠΈΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ β ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ TrustStore Ρ ΡΠ°ΠΌΠΎΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΌ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ³Π»ΠΎ Ρ ΠΎΠ΄ΠΈΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠ°ΠΉΡ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ HTTPS, Π½Π΅ ΠΏΡΠΎΠ²Π°Π»ΠΈΠ²Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. ΠΠΈΠ±ΠΎ ΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ KeyStore Ρ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΡΠΌ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ ΠΊΠ°ΠΊ HTTPS-ΡΠ΅ΡΠ²Π΅Ρ.
π16β€3
- ΠΡΠ²Π°ΠΈΠ²Π°ΠΉ Spring!
Π’Π΅ΡΡ Π½Π° Π·Π½Π°Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° Java
β ΠΡΠ²Π΅ΡΡ Π½Π° 21 Π²ΠΎΠΏΡΠΎΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΎΡΠΎΡΠΎ ΡΡ Π·Π½Π°Π΅ΡΡ ΡΠ·ΡΠΊ Java ΠΈ Π³ΠΎΡΠΎΠ² ΠΎΡΠ²ΠΎΠΈΡΡ Spring. Π‘ΠΌΠΎΠΆΠ΅ΡΡ ΡΠ΄Π°ΡΡ β ΠΏΡΠΎΠΉΠ΄ΡΡΡ Π½Π° ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΉ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡ "Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° Spring" Framework ΡΠΎ ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ!
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576, www.otus.ruPlease open Telegram to view this post
VIEW IN TELEGRAM
π3π₯2β€1
ΠΠ°ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΉΠ»Ρ?
Π ΡΠ΅Π»ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, Π²Π΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΡΠ°ΡΡΡΠΌ ΠΊΠΎΠ΄Π° ΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½. Π Π΅ΡΠ΅Π½ΠΈΡ ΠΎ Π΄ΠΎΡΡΡΠΏΠ΅ ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Reflection API, ΠΈΠ»ΠΈ ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
ΠΠ½ΡΡΡΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π½Π°Π±ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² check*(), ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π΅Π³ΠΈΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ checkPermission(). Π‘Π°ΠΌ Π΄ΠΎΡΡΡΠΏ, ΠΏΡΠ°Π²Π° Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠΌ java.security.Permission. Π’Π°ΠΊ, Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΉΠ»Ρ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ checkRead. ΠΠ½ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π² checkPermission ΠΎΠ±ΡΠ΅ΠΊΡ FilePermission Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ°ΠΉΠ»Π°.
ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° SecurityManager, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π½ΡΠΆΠ½ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ System.setSecurityManager, ΠΈΠ»ΠΈ Π½Π° ΡΡΠ°ΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ»Π°Π³ΠΎΠΌ -Djava.security.manager. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½.
ΠΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π±ΡΠ» Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π°ΠΏΠΏΠ»Π΅ΡΠΎΠ² β ΠΎΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ Π΄Π°Π½Π½ΡΠΌ. Π‘Π΅ΠΉΡΠ°Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π°ΠΏΠΏΠ»Π΅ΡΠΎΠ² ΡΡΡΠ°ΡΠ΅Π»Π°, Π½ΠΎ SecurityManager ΠΎΡΡΠ°Π΅ΡΡΡ Π²ΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΌ.
Π ΡΠ΅Π»ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, Π²Π΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΡΠ°ΡΡΡΠΌ ΠΊΠΎΠ΄Π° ΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½. Π Π΅ΡΠ΅Π½ΠΈΡ ΠΎ Π΄ΠΎΡΡΡΠΏΠ΅ ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Reflection API, ΠΈΠ»ΠΈ ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
ΠΠ½ΡΡΡΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π½Π°Π±ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² check*(), ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π΅Π³ΠΈΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Ρ checkPermission(). Π‘Π°ΠΌ Π΄ΠΎΡΡΡΠΏ, ΠΏΡΠ°Π²Π° Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠΌ java.security.Permission. Π’Π°ΠΊ, Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΉΠ»Ρ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ checkRead. ΠΠ½ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π² checkPermission ΠΎΠ±ΡΠ΅ΠΊΡ FilePermission Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ°ΠΉΠ»Π°.
ΠΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° SecurityManager, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π½ΡΠΆΠ½ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ System.setSecurityManager, ΠΈΠ»ΠΈ Π½Π° ΡΡΠ°ΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ»Π°Π³ΠΎΠΌ -Djava.security.manager. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½.
ΠΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π±ΡΠ» Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π°ΠΏΠΏΠ»Π΅ΡΠΎΠ² β ΠΎΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ Π΄Π°Π½Π½ΡΠΌ. Π‘Π΅ΠΉΡΠ°Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π°ΠΏΠΏΠ»Π΅ΡΠΎΠ² ΡΡΡΠ°ΡΠ΅Π»Π°, Π½ΠΎ SecurityManager ΠΎΡΡΠ°Π΅ΡΡΡ Π²ΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΌ.
π5π₯1
ΠΠ°ΠΊ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠ»ΡΡ?
KeyFactory β ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠ»Π°ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Java Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ. ΠΠ°Π±ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠ°Π±ΡΠΈΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° SPI.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ: DSA, RSA, ΠΈ Π΄ΡΡΠ³ΠΈΠ΅. Π‘ΡΡΠΎΠΊΠ°-Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠ°Π±ΡΠΈΠΊΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΏΡΠΈ Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ.
KeyFactory Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΠ΅ΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠ»ΡΡΠ° Π² ΡΠ°ΠΌ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΠΈΠ»ΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ, ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ.
Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° KeySpec, β Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠ»ΡΡΠ°. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° RSA.
Π‘Π°ΠΌΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ PublicKey ΠΈ PrivateKey β Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΈ ΠΎΠ±ΡΠ΅Π³ΠΎ Key.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΊΠ»ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠΌ ΠΊΠ»Π°ΡΡΡ-ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ².
KeyFactory β ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠ»Π°ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Java Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ. ΠΠ°Π±ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠ°Π±ΡΠΈΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° SPI.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ: DSA, RSA, ΠΈ Π΄ΡΡΠ³ΠΈΠ΅. Π‘ΡΡΠΎΠΊΠ°-Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠ°Π±ΡΠΈΠΊΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΏΡΠΈ Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ.
KeyFactory Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΠ΅ΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠ»ΡΡΠ° Π² ΡΠ°ΠΌ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΠΈΠ»ΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ, ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ.
Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° KeySpec, β Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠ»ΡΡΠ°. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° RSA.
Π‘Π°ΠΌΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ PublicKey ΠΈ PrivateKey β Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΈ ΠΎΠ±ΡΠ΅Π³ΠΎ Key.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΊΠ»ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠΌ ΠΊΠ»Π°ΡΡΡ-ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ².
π9π₯°3
ΠΠΎΡΠΎΠ² ΠΏΡΠΈΠ½ΡΡΡ Π²ΡΠ·ΠΎΠ²β
β‘ Π‘ΡΠ°ΡΡΠΎΠ²Π°Π»Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π½Π° ΠΡΠ΅ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΠ΅ ΡΠΎΡΠ΅Π²Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Β«Π₯Π°ΠΊΠ°ΡΠΎΠ½: ΡΠΌΠ½ΡΠΉ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊ Π΄Π»Ρ ΡΠ΅Π½Π΄Π΅ΡΠΎΠ²Β»!
ΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΠ΅ΡΡ ΠΊ ΡΡΠ°ΡΡΠΈΡ ΠΈ ΡΡΠ°Π½ΡΡΠ΅ ΡΠ°ΡΡΡΡ ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ Π€Π΅Π΄Π΅ΡΠ°ΡΠΈΠΈ ΡΠΏΠΎΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΠ΅ΠΉ ΡΠ°Π»Π°Π½ΡΠ»ΠΈΠ²ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΈ ΡΠΏΠΎΡΡΡΠΌΠ΅Π½ΠΎΠ²!
ΠΠ΅Π· Π»ΠΈΡΠ½ΠΈΡ ΡΠ»ΠΎΠ² ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΡΡΠΈβ¬
οΈ
β© ΠΠΎΠ³Π΄Π°: 23-25 ΠΌΠ°ΡΡΠ° 2024 Π³ΠΎΠ΄Π°
β© Π€ΠΎΡΠΌΠ°Ρ: Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΠΉ
β© ΠΡΠΎΠ³ΠΈ: ΠΏΠΈΡΡ-ΡΠ΅ΡΡΠΈΡ ΠΏΡΠΎΠΉΠ΄ΡΡ 25 ΠΌΠ°ΡΡΠ° Π½Π° ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠ΅ Π ΠΠ£ ΠΈΠΌ. Π.Π. ΠΠ»Π΅Ρ
Π°Π½ΠΎΠ²Π°.
ΠΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΈΠ· ΡΠ΅Π³ΠΈΠΎΠ½ΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΡΠ°ΡΡΠΈΠ΅ Π² ΠΎΠ½Π»Π°ΠΉΠ½-ΡΠΎΡΠΌΠ°ΡΠ΅
β© ΠΠ΅Π΄Π»Π°ΠΉΠ½ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ: 20 ΠΌΠ°ΡΡΠ°, 23:59 (ΠΌΡΠΊ)
ΠΠ°ΠΊΠΎΠΉ ΠΊΠ΅ΠΉΡ ΠΏΡΠ΅Π΄ΡΡΠΎΠΈΡ ΡΠ΅ΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ?
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠ° Π΄Π»Ρ ΡΡΠ°ΡΡΠΈΡ Π² ΡΠ΅Π½Π΄Π΅ΡΠ°Ρ : Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ±ΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΡΠ΅Π½Π΄Π΅ΡΠ°ΠΌ ΠΈΠ· ΠΎΡΠΊΡΡΡΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ², ΠΈ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π±ΠΈΡΠ°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ ΠΏΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ ΡΠ΅Π½Π΄Π΅ΡΠ°, ΠΈ Π΄Π΅Π»Π°ΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΡ ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ ΡΠ»ΡΠΆΠ±Ρ.
ΠΠΎΠ³ΠΎ ΠΌΡ ΠΆΠ΄ΡΠΌ?
βΊ Π‘ΡΡΠ΄Π΅Π½ΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠΎΡΡΠ°Π²Π΅ ΠΎΡ 3-Ρ
Π΄ΠΎ 5-ΡΠΈ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ
βΊ Π£ΡΠ°ΡΠΈΡ
ΡΡ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ
βΊ IT-ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ²
βΊ ΠΠ°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»Π΅ΠΉ ΡΠ΅Π³ΠΈΠΎΠ½ΠΎΠ² Π ΠΎΡΡΠΈΠΉΡΠΊΠΎΠΉ Π€Π΅Π΄Π΅ΡΠ°ΡΠΈΠΈ
Π Π΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΠΉ ΡΡΠ°ΡΡΠΈΠ΅ Π² IT-ΡΠΎΡΠ΅Π²Π½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡ Π€Π΅Π΄Π΅ΡΠ°ΡΠΈΠΈ ΡΠΏΠΎΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ!
ΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΠ΅ΡΡ ΠΊ ΡΡΠ°ΡΡΠΈΡ ΠΈ ΡΡΠ°Π½ΡΡΠ΅ ΡΠ°ΡΡΡΡ ΠΊΠΎΠΌΡΡΠ½ΠΈΡΠΈ Π€Π΅Π΄Π΅ΡΠ°ΡΠΈΠΈ ΡΠΏΠΎΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΠ΅ΠΉ ΡΠ°Π»Π°Π½ΡΠ»ΠΈΠ²ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΈ ΡΠΏΠΎΡΡΡΠΌΠ΅Π½ΠΎΠ²!
ΠΠ΅Π· Π»ΠΈΡΠ½ΠΈΡ ΡΠ»ΠΎΠ² ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΡΡΠΈ
ΠΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΈΠ· ΡΠ΅Π³ΠΈΠΎΠ½ΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΡΠ°ΡΡΠΈΠ΅ Π² ΠΎΠ½Π»Π°ΠΉΠ½-ΡΠΎΡΠΌΠ°ΡΠ΅
ΠΠ°ΠΊΠΎΠΉ ΠΊΠ΅ΠΉΡ ΠΏΡΠ΅Π΄ΡΡΠΎΠΈΡ ΡΠ΅ΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ?
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠ° Π΄Π»Ρ ΡΡΠ°ΡΡΠΈΡ Π² ΡΠ΅Π½Π΄Π΅ΡΠ°Ρ : Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ±ΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΡΠ΅Π½Π΄Π΅ΡΠ°ΠΌ ΠΈΠ· ΠΎΡΠΊΡΡΡΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ², ΠΈ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄Π±ΠΈΡΠ°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ ΠΏΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ ΡΠ΅Π½Π΄Π΅ΡΠ°, ΠΈ Π΄Π΅Π»Π°ΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΡ ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ ΡΠ»ΡΠΆΠ±Ρ.
ΠΠΎΠ³ΠΎ ΠΌΡ ΠΆΠ΄ΡΠΌ?
Π Π΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΠΉ ΡΡΠ°ΡΡΠΈΠ΅ Π² IT-ΡΠΎΡΠ΅Π²Π½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡ Π€Π΅Π΄Π΅ΡΠ°ΡΠΈΠΈ ΡΠΏΠΎΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ!
Please open Telegram to view this post
VIEW IN TELEGRAM
π2π₯2β€1
ΠΠ°ΠΊ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ
ΠΎΡΠΎΡΠ΅Π΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ?
ΠΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ Π³Π»ΡΠ±ΠΆΠ΅, ΡΠ΅ΠΌ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π°, Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² Π΄Π²ΡΡ ΠΏΠΎΠ½ΡΡΠΈΡΡ : ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅, ΠΈ ΠΈΡΡΠΈΠ½Π½ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΈΡΠ»Π°.
ΠΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΈΡΠ»Π° β ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ Π½Π° Π²ΠΈΠ΄ ΡΠΈΡΠ΅Π», Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°ΠΊΠΈΡ ΡΠΈΡΠ΅Π» ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ, Π·Π½Π°Ρ Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ (seed, ΡΠ½ΡΡΠΎΠΏΠΈΡ) ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ. ΠΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠΈΡΠ΅Π» Π² ΠΊΠ»Π°ΡΡΠ΅ java.util.Random, Π΄Π°Π΅Ρ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½ΡΠ΅ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΈΡΠ»Π° β Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈΡ ΠΏΡΠ΅Π΄ΡΠ³Π°Π΄ΡΠ²Π°ΡΡ.
ΠΡΡΠΈΠ½Π½ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ΄Π½ΠΎ ΠΏΠΎΠ΄Π΄Π°ΡΡΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ. ΠΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ»ΠΈ ΡΠ΅ΠΊΡΠ½Π΄ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈΡΡΠΈΠ½Π½ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Ρ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΡΠΎΡΠ½ΠΎΡΡΡΡ ΡΠ³Π°Π΄Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ, Π΄Π°ΠΆΠ΅ Π·Π½Π°Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅.
ΠΠ»Π°ΡΡ SecureRandom ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°ΠΌ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π». ΠΡΠΈ ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠ°ΠΊ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ , ΡΠ°ΠΊ ΠΈ ΠΈΡΡΠΈΠ½Π½ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΈΡΠ»Π°. Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡ.
ΠΠ΅ Π²ΡΠ΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½Ρ. Π¨Π°Π½Ρ ΡΡΠΎ ΡΠΎΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΡΡΠ΅Π΄Π½Π΅ΠΌΡ Π²ΡΡΠΎΠΊ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Ρ ΠΈΠ³ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΡΡΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Π° Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ Π²ΡΠΏΠ°Π΄Π΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· Π³ΡΠ°Π½Π΅ΠΉ. Π ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅ ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠ΅ΠΉ.
ΠΠ½ΡΡΡΠΈ SecureRandom ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ SPI. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΈΠ· ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΈΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ², ΡΠΊΠ°Π·Π°Π² ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΡ Π² ΡΠ°Π±ΡΠΈΡΠ½ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π΅ getInstance. ΠΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ.
ΠΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ Π³Π»ΡΠ±ΠΆΠ΅, ΡΠ΅ΠΌ ΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π°, Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² Π΄Π²ΡΡ ΠΏΠΎΠ½ΡΡΠΈΡΡ : ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅, ΠΈ ΠΈΡΡΠΈΠ½Π½ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΈΡΠ»Π°.
ΠΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΈΡΠ»Π° β ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ Π½Π° Π²ΠΈΠ΄ ΡΠΈΡΠ΅Π», Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°ΠΊΠΈΡ ΡΠΈΡΠ΅Π» ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ, Π·Π½Π°Ρ Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ (seed, ΡΠ½ΡΡΠΎΠΏΠΈΡ) ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ. ΠΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠΈΡΠ΅Π» Π² ΠΊΠ»Π°ΡΡΠ΅ java.util.Random, Π΄Π°Π΅Ρ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½ΡΠ΅ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΈΡΠ»Π° β Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈΡ ΠΏΡΠ΅Π΄ΡΠ³Π°Π΄ΡΠ²Π°ΡΡ.
ΠΡΡΠΈΠ½Π½ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ΄Π½ΠΎ ΠΏΠΎΠ΄Π΄Π°ΡΡΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ. ΠΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ»ΠΈ ΡΠ΅ΠΊΡΠ½Π΄ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈΡΡΠΈΠ½Π½ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Ρ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΡΠΎΡΠ½ΠΎΡΡΡΡ ΡΠ³Π°Π΄Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ, Π΄Π°ΠΆΠ΅ Π·Π½Π°Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅.
ΠΠ»Π°ΡΡ SecureRandom ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°ΠΌ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π». ΠΡΠΈ ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠ°ΠΊ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ , ΡΠ°ΠΊ ΠΈ ΠΈΡΡΠΈΠ½Π½ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΈΡΠ»Π°. Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡ.
ΠΠ΅ Π²ΡΠ΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½Ρ. Π¨Π°Π½Ρ ΡΡΠΎ ΡΠΎΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΡΡΠ΅Π΄Π½Π΅ΠΌΡ Π²ΡΡΠΎΠΊ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Ρ ΠΈΠ³ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΡΡΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Π° Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ Π²ΡΠΏΠ°Π΄Π΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· Π³ΡΠ°Π½Π΅ΠΉ. Π ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ΅ ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠ΅ΠΉ.
ΠΠ½ΡΡΡΠΈ SecureRandom ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ SPI. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΈΠ· ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΈΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ², ΡΠΊΠ°Π·Π°Π² ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΡ Π² ΡΠ°Π±ΡΠΈΡΠ½ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π΅ getInstance. ΠΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ.
π18π₯3π1
Π‘ ΡΠ΅Π³ΠΎ Π½Π°ΡΠ°ΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ?
ΠΡΠΈΠΉΡΠΈ Π½Π° Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠΎΠΊ Β«ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²Β», Π³Π΄Π΅ ΠΎΠΏΡΡΠ½ΡΠΉ ΡΠΊΡΠΏΠ΅ΡΡ ΡΠ°Π·Π±Π΅ΡΠ΅Ρ:
1. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ
2. ΠΠ°ΡΡΠ΅ΡΠ½ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°Ρ
3. ΠΠ°ΡΡΠ΅ΡΠ½ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠΎΠΌ
4. ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³
ΠΠ°Π½ΡΡΠΈΠ΅ ΠΏΡΠΎΠΉΠ΄ΡΡ 3 Π°ΠΏΡΠ΅Π»Ρ Π² 20:00 ΠΌΡΠΊ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΡΡΡΠ° Β«Microservice ArchitectureΒ». ΠΠΎΡΡΡΠΏΠ½Π° ΡΠ°ΡΡΡΠΎΡΠΊΠ° Π½Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅!
ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΡΠ΅ΡΡ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠ΅ΡΠΈΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΡΡΠΎΠΊ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π°ΠΏΠΈΡΡ: https://vk.cc/cvyTDE
ΠΡΠΈΠΉΡΠΈ Π½Π° Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠΎΠΊ Β«ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²Β», Π³Π΄Π΅ ΠΎΠΏΡΡΠ½ΡΠΉ ΡΠΊΡΠΏΠ΅ΡΡ ΡΠ°Π·Π±Π΅ΡΠ΅Ρ:
1. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ
2. ΠΠ°ΡΡΠ΅ΡΠ½ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°Ρ
3. ΠΠ°ΡΡΠ΅ΡΠ½ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠΎΠΌ
4. ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³
ΠΠ°Π½ΡΡΠΈΠ΅ ΠΏΡΠΎΠΉΠ΄ΡΡ 3 Π°ΠΏΡΠ΅Π»Ρ Π² 20:00 ΠΌΡΠΊ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΡΡΡΠ° Β«Microservice ArchitectureΒ». ΠΠΎΡΡΡΠΏΠ½Π° ΡΠ°ΡΡΡΠΎΡΠΊΠ° Π½Π° ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅!
ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΡΠ΅ΡΡ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠ΅ΡΠΈΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΡΡΠΎΠΊ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π°ΠΏΠΈΡΡ: https://vk.cc/cvyTDE
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576, www.otus.ruπ3π₯1
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ°ΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ/ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ?
ΠΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΡΠ°ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ Ρ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΈΡ ΡΡΠ΅Π½ΠΈΡ, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π΄Π΅ΡΡ ΠΏΠΈΡΠ°Π»ΠΈ ΡΠ°Π½Π΅Π΅.
ΠΠ»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ KeyPairGenerator. ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΎ ΠΎΠ½ ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΡΠΈΡΠ°ΡΡΡΡ ΠΊΠ»ΡΡΠΈ KeyFactory: ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· SPI, Π΄ΠΎΡΡΡΠΏ ΠΊ Π½ΠΈΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· getInstance.
ΠΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π½ΡΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ initialize ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΡΡΠΈ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°:
β’ ΠΠ΅Π»Π°Π΅ΠΌΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠ»ΡΡΠ°;
β’ ΠΡΡΠΎΡΠ½ΠΈΠΊ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΈΠΏΠ° SecureRandom;
β’ Π‘ΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Π΄Π»Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ° AlgorithmParameterSpec.
ΠΡΠ»ΠΈ ΠΊ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π½Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½, ΠΈΠ»ΠΈ ΠΏΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π°, ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΡΠΈΠΌΡΡ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π΄Π΅ΡΠΎΠ»ΡΡ.
Π‘Π°ΠΌ ΠΌΠ΅ΡΠΎΠ΄ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ generateKeyPair Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°Π·Π½ΡΡ ΠΏΠ°Ρ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π΅Π³ΠΎ Π²ΡΠ·ΠΎΠ²Π° β ΠΎΠ±ΡΠ΅ΠΊΡ KeyPair, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΡΠΎ Ρ ΡΠ°Π½ΠΈΡ ΠΏΠΎΠ΄ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡΠΌΠΈ Π½Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ PrivateKey ΠΈ PublicKey ΠΏΠ°ΡΡ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ² ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ Π΄Π»Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΡΠ°ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ Ρ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΈΡ ΡΡΠ΅Π½ΠΈΡ, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π΄Π΅ΡΡ ΠΏΠΈΡΠ°Π»ΠΈ ΡΠ°Π½Π΅Π΅.
ΠΠ»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ KeyPairGenerator. ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΎ ΠΎΠ½ ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΡΠΈΡΠ°ΡΡΡΡ ΠΊΠ»ΡΡΠΈ KeyFactory: ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· SPI, Π΄ΠΎΡΡΡΠΏ ΠΊ Π½ΠΈΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· getInstance.
ΠΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π½ΡΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ initialize ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΡΡΠΈ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°:
β’ ΠΠ΅Π»Π°Π΅ΠΌΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠ»ΡΡΠ°;
β’ ΠΡΡΠΎΡΠ½ΠΈΠΊ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΈΠΏΠ° SecureRandom;
β’ Π‘ΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Π΄Π»Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ° AlgorithmParameterSpec.
ΠΡΠ»ΠΈ ΠΊ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π½Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½, ΠΈΠ»ΠΈ ΠΏΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π°, ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΡΠΈΠΌΡΡ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π΄Π΅ΡΠΎΠ»ΡΡ.
Π‘Π°ΠΌ ΠΌΠ΅ΡΠΎΠ΄ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ generateKeyPair Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°Π·Π½ΡΡ ΠΏΠ°Ρ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π΅Π³ΠΎ Π²ΡΠ·ΠΎΠ²Π° β ΠΎΠ±ΡΠ΅ΠΊΡ KeyPair, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΡΠΎ Ρ ΡΠ°Π½ΠΈΡ ΠΏΠΎΠ΄ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡΠΌΠΈ Π½Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ PrivateKey ΠΈ PublicKey ΠΏΠ°ΡΡ ΠΈΠ½ΡΡΠ°Π½ΡΠΎΠ² ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ Π΄Π»Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠΎΠ².
π5π₯°1
ΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ Π΄Π»Ρ ΡΠ΅Ρ
, ΠΊΡΠΎ Ρ
ΠΎΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΠΌΠΎΡΠ΅ π
ΠΡΠΈΠ³Π»Π°ΡΠ°Π΅ΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² DevOps, Java, JavaScript Π½Π° ΠΎΡΠΊΡΡΡΡΠ΅ Π²Π°ΠΊΠ°Π½ΡΠΈΠΈ IT-ΠΎΡΠΈΡΠ° Π‘Π±Π΅ΡΠ° Π² Π‘ΠΎΡΠΈ. ΠΡ ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌ Π±Π°Π½ΠΊΠΎΠ²ΡΠΊΠΈΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Π² ΠΠ½Π΄ΠΈΠΈ, Π²Π½Π΅Π΄ΡΡΠ΅ΠΌ Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π±Π°Π½ΠΊΠΈΠ½Π³Π° Π½Π° ΠΈΠ½Π΄ΠΈΠΉΡΠΊΠΈΠΉ ΡΡΠ½ΠΎΠΊ.
Π£ ΡΠ΅Π±Ρ Π΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΡΡΠ°ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π±Π°Π½ΠΊΠΎΠ²ΡΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ρ Π½ΡΠ»Ρ. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π°Π±ΠΎΡΠ° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ:
βοΈ Π―Π΄ΡΠΎ
βοΈ ΠΡΡ ΡΡΡΡ ΠΈ ΠΎΡΡΠ΅ΡΠ½ΠΎΡΡΡ
βοΈ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ-Π±Π°Π½ΠΊ ΠΈ Π°Π½ΡΠΈΡΡΠΎΠ΄-ΡΠΈΡΡΠ΅ΠΌΠ°
βοΈ ΠΡΠ΅Π΄ΠΈΡΠ½ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ
Π ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ ΠΏΡΠΈΠ½ΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΡΠ°ΡΡΠΈΠ΅, ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΈ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ.
Π§Π°ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² Π ΠΎΡΡΠΈΠΈ, ΡΠ°ΡΡΡ Π² ΠΠ½Π΄ΠΈΠΈ. Π ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Ρ ΡΠ΅Π±Ρ Π΅ΡΡΡ ΠΎΡΠ»ΠΈΡΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅!
ΠΡΠΊΠ»ΠΈΠΊΠ°ΠΉΡΡ Π½Π° Π²Π°ΠΊΠ°Π½ΡΠΈΠΈ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ π
ΠΡΠΈΠ³Π»Π°ΡΠ°Π΅ΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² DevOps, Java, JavaScript Π½Π° ΠΎΡΠΊΡΡΡΡΠ΅ Π²Π°ΠΊΠ°Π½ΡΠΈΠΈ IT-ΠΎΡΠΈΡΠ° Π‘Π±Π΅ΡΠ° Π² Π‘ΠΎΡΠΈ. ΠΡ ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌ Π±Π°Π½ΠΊΠΎΠ²ΡΠΊΠΈΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ Π² ΠΠ½Π΄ΠΈΠΈ, Π²Π½Π΅Π΄ΡΡΠ΅ΠΌ Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π±Π°Π½ΠΊΠΈΠ½Π³Π° Π½Π° ΠΈΠ½Π΄ΠΈΠΉΡΠΊΠΈΠΉ ΡΡΠ½ΠΎΠΊ.
Π£ ΡΠ΅Π±Ρ Π΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΡΡΠ°ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π±Π°Π½ΠΊΠΎΠ²ΡΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ρ Π½ΡΠ»Ρ. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π°Π±ΠΎΡΠ° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ:
βοΈ Π―Π΄ΡΠΎ
βοΈ ΠΡΡ ΡΡΡΡ ΠΈ ΠΎΡΡΠ΅ΡΠ½ΠΎΡΡΡ
βοΈ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ-Π±Π°Π½ΠΊ ΠΈ Π°Π½ΡΠΈΡΡΠΎΠ΄-ΡΠΈΡΡΠ΅ΠΌΠ°
βοΈ ΠΡΠ΅Π΄ΠΈΡΠ½ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ
Π ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ ΠΏΡΠΈΠ½ΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΡΠ°ΡΡΠΈΠ΅, ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΈ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ.
Π§Π°ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² Π ΠΎΡΡΠΈΠΈ, ΡΠ°ΡΡΡ Π² ΠΠ½Π΄ΠΈΠΈ. Π ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Ρ ΡΠ΅Π±Ρ Π΅ΡΡΡ ΠΎΡΠ»ΠΈΡΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅!
ΠΡΠΊΠ»ΠΈΠΊΠ°ΠΉΡΡ Π½Π° Π²Π°ΠΊΠ°Π½ΡΠΈΠΈ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ π
β€12π2π₯2
ΠΠΎΠ³Π΄Π° ΡΡΠΎΠΈΡ Π²ΡΠ±ΡΠ°ΡΡ char[] Π²ΠΌΠ΅ΡΡΠΎ String?
ΠΠ΅ΡΠ²Π°Ρ, ΠΎΡΠ΅Π²ΠΈΠ΄Π½Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π° β ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ. ΠΡΠ»ΠΈ Π²Π°ΠΌ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ, ΠΈ ΠΎΠ½ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΌΠ°ΡΡΠΈΠ². ΠΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ°ΠΌΠΈ, ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΠΈΡ Π² Π²ΠΈΠ΄Π΅ offset-ΠΎΠ² ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° (ΠΊΠ°ΠΊ ΡΡΠΎ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΡΠ°Π½ΡΡΠ΅ Π² ΡΠ°ΠΌΠΎΠΌ String).
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΎΠ·Π½Π°Π½Π½ΠΎ ΠΈ ΡΠ²ΠΎΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. JVM ΡΠΎΠΆΠ΅ ΠΏΡΠΈΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΡΡΠΈΠ»ΠΈΡ ΠΏΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΡΡΠΎΠΊ (Π²ΡΠΎΠ΄Π΅ ΠΈΠ½ΡΠ΅ΡΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅ Π²Π°ΡΠΈΡ .
ΠΡΠΎΡΠ°Ρ, ΠΌΠ΅Π½Π΅Π΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π° β Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ. Π‘ΡΡΠΎΠΊΠΈ Π² Java ΠΈΠΌΠΌΡΡΠ°Π±Π΅Π»ΡΠ½Ρ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΠ΅ ΠΏΠ°ΡΠΎΠ»Ρ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ΡΠΈΠΏΠ° String, ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ½ΠΈΡΡΠΎΠΆΠΈΡΡ Π΅Π³ΠΎ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ°.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΏΠΎΡΠΎΠ± Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π°ΡΠ°ΠΊΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π°ΠΊΠ΅Ρ ΡΠ²ΠΎΠΈΠΌΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, ΠΈ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² heap dump.
ΠΡΠ»ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Β«Π·Π°Π½ΡΠ»ΠΈΡΡΒ» Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ΅ΡΠ²Π°Ρ, ΠΎΡΠ΅Π²ΠΈΠ΄Π½Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π° β ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ. ΠΡΠ»ΠΈ Π²Π°ΠΌ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ, ΠΈ ΠΎΠ½ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΌΠ°ΡΡΠΈΠ². ΠΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ°ΠΌΠΈ, ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΠΈΡ Π² Π²ΠΈΠ΄Π΅ offset-ΠΎΠ² ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° (ΠΊΠ°ΠΊ ΡΡΠΎ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΡΠ°Π½ΡΡΠ΅ Π² ΡΠ°ΠΌΠΎΠΌ String).
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΎΠ·Π½Π°Π½Π½ΠΎ ΠΈ ΡΠ²ΠΎΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. JVM ΡΠΎΠΆΠ΅ ΠΏΡΠΈΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΡΡΠΈΠ»ΠΈΡ ΠΏΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΡΡΠΎΠΊ (Π²ΡΠΎΠ΄Π΅ ΠΈΠ½ΡΠ΅ΡΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅ Π²Π°ΡΠΈΡ .
ΠΡΠΎΡΠ°Ρ, ΠΌΠ΅Π½Π΅Π΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π° β Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ. Π‘ΡΡΠΎΠΊΠΈ Π² Java ΠΈΠΌΠΌΡΡΠ°Π±Π΅Π»ΡΠ½Ρ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΠ΅ ΠΏΠ°ΡΠΎΠ»Ρ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ΡΠΈΠΏΠ° String, ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ½ΠΈΡΡΠΎΠΆΠΈΡΡ Π΅Π³ΠΎ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ°.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΏΠΎΡΠΎΠ± Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π°ΡΠ°ΠΊΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π°ΠΊΠ΅Ρ ΡΠ²ΠΎΠΈΠΌΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, ΠΈ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² heap dump.
ΠΡΠ»ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Β«Π·Π°Π½ΡΠ»ΠΈΡΡΒ» Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
π11π₯3β€2π2π1
βοΈ ΠΠ°ΠΊ ΡΡΠ°ΡΡ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ Π½Π° Java Π² 2024?
ΠΡΠ²ΠΎΠΉΡΠ΅ JVM ΠΈ ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π½Π° ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡΠ΅ Β«Java Developer. AdvancedΒ» ΠΎΡ OTUS.
ΠΠΎΡΠ»Π΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅:
ΠΡΠ΅ ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΠΎΠ²Π°ΡΡ Π½Π° Π²Π°ΠΊΠ°Π½ΡΠ½ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π² ΠΊΡΡΠΏΠ½ΡΡ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΡ ΠΈ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡ .
Π‘ΡΠ°ΡΡΡΠ΅ΠΌ ΡΠΆΠ΅ 28 ΠΌΠ°ΡΡΠ°!
π Π£Π·Π½Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΈ ΠΏΡΠΎΠΉΠ΄ΠΈΡΠ΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΡΠ΅ΡΡ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π½Ρ ΠΏΠΎΠΏΠ°ΡΡΡ Π² Π³ΡΡΠΏΠΏΡ: https://otus.pw/fP3l/
ΠΡΠ²ΠΎΠΉΡΠ΅ JVM ΠΈ ΠΎΠ±Π»Π°ΡΠ½ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π½Π° ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡΠ΅ Β«Java Developer. AdvancedΒ» ΠΎΡ OTUS.
ΠΠΎΡΠ»Π΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅:
- ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ, ΡΠ°Π·Π²ΡΡΠ½ΡΡΡΠΌΠΈ Π² Kubernetes Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠ΅ΡΡΠΈΠΊ Π½Π° Π΄Π°ΡΠ±ΠΎΡΠ΄Π΅ Grafana;
- ΠΏΠΎΠ΄Π°ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ½ΡΡΡ Π΄Π°ΠΌΠΏ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΎΠΏΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅;
- Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ.
ΠΡΠ΅ ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΠΎΠ²Π°ΡΡ Π½Π° Π²Π°ΠΊΠ°Π½ΡΠ½ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π² ΠΊΡΡΠΏΠ½ΡΡ ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΡ ΠΈ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡ .
Π‘ΡΠ°ΡΡΡΠ΅ΠΌ ΡΠΆΠ΅ 28 ΠΌΠ°ΡΡΠ°!
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576Please open Telegram to view this post
VIEW IN TELEGRAM
π3π₯1
Π ΡΡΠΌ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ jar ΠΈ war?
jar ΠΈ war β ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎ-Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²-Π°ΡΡ ΠΈΠ²ΠΎΠ² Java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎΠΌΠ΅ Π½ΠΈΡ Π΅ΡΡΡ Π΅ΡΠ΅ ΡΡΠ΅ΡΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ, ear. ΠΡΠ΅ ΡΡΠΈ ΡΠΎΡΠΌΠ°ΡΡ β Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΡΠΎΡΡΠΎ zip-Π°ΡΡ ΠΈΠ²Ρ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ°ΡΡΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠ°ΠΉΠ» Π² .zip, ΡΠ°Π·Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ, ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΡΠΎ Π²Π½ΡΡΡΠΈ.
JAR β Java Archive. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°ΠΉΠ»Ρ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠ΅ΡΡΡΡΡ, Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Ρ. ΠΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΎΡΠΊΡ Π²Ρ ΠΎΠ΄Π°, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΠ΅Π»Ρ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ java.
WAR β Web Archive. Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΡ ΠΆΠ΅ ΡΡΡΡΠΊΡΡΡΡ, Π½ΠΎ Π΄ΡΡΠ³ΡΡ ΡΠΎΠ»Ρ β Π°ΡΡ ΠΈΠ² JavaEE web-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°. ΠΠ±ΡΡΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ jar-Ρ Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ, JSP, ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΡΠΎΠ½Ρ-ΡΠ½Π΄Π°, ΠΈ ΠΌΠ΅ΡΠ°-ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ ΡΠ΅ΡΠ²Π»Π΅Ρ-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° (web.xml). Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΠ΅Π½Ρ web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΅ΡΠ²Π»Π΅Ρ-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. Π‘ ΠΏΡΠΈΡ ΠΎΠ΄ΠΎΠΌ Servlet API 3.0 ΠΈ embedded-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², Π²ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΡΠΈΠ½ΡΡΠΎ Π·Π°ΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡ ΠΈ web-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² ΡΠ°ΠΌΠΎΠ΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠ΅ jar (ΠΠΎΠ·ΡΠ½Π³ Spring Boot: Make jar, not war).
EAR β Enterprise Archive. ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π½Π°ΡΠ°Π²ΡΠΈΡ ΠΊΠ°ΡΡΠ΅ΡΡ ΡΠΆΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π° Spring Framework, ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠΊΠ·ΠΎΡΠΈΡΠ½ΡΠΌ. ΠΡΠΎ ΡΠΎΠ±ΡΠ°Π½Π½ΠΎΠ΅ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΠ΅ JavaEE ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΠ΅Π½ΡΠ° ΠΈ JavaEE ΠΌΠΎΠ΄ΡΠ»ΠΈ (Π²Π΅Π±-ΠΌΠΎΠ΄ΡΠ»ΠΈ, EJB, ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ, Π°Π΄Π°ΠΏΡΠ΅ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ²). ΠΠ΅ΠΏΠ»ΠΎΠΈΡΡΡ Π² JavaEE Application Server.
ΠΡΠ΅ ΡΡΠΈ ΡΠΈΠΏΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ ΡΡΠΈΠ»ΠΈΡΠΎΠΉ jar ΠΈΠ· JDK.
jar ΠΈ war β ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎ-Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²-Π°ΡΡ ΠΈΠ²ΠΎΠ² Java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎΠΌΠ΅ Π½ΠΈΡ Π΅ΡΡΡ Π΅ΡΠ΅ ΡΡΠ΅ΡΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ, ear. ΠΡΠ΅ ΡΡΠΈ ΡΠΎΡΠΌΠ°ΡΡ β Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΡΠΎΡΡΠΎ zip-Π°ΡΡ ΠΈΠ²Ρ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ°ΡΡΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠ°ΠΉΠ» Π² .zip, ΡΠ°Π·Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ, ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΡΠΎ Π²Π½ΡΡΡΠΈ.
JAR β Java Archive. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°ΠΉΠ»Ρ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠ΅ΡΡΡΡΡ, Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Ρ. ΠΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΎΡΠΊΡ Π²Ρ ΠΎΠ΄Π°, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΠ΅Π»Ρ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ java.
WAR β Web Archive. Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΡ ΠΆΠ΅ ΡΡΡΡΠΊΡΡΡΡ, Π½ΠΎ Π΄ΡΡΠ³ΡΡ ΡΠΎΠ»Ρ β Π°ΡΡ ΠΈΠ² JavaEE web-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°. ΠΠ±ΡΡΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ jar-Ρ Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ, JSP, ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΡΠΎΠ½Ρ-ΡΠ½Π΄Π°, ΠΈ ΠΌΠ΅ΡΠ°-ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ ΡΠ΅ΡΠ²Π»Π΅Ρ-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° (web.xml). Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΠ΅Π½Ρ web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΅ΡΠ²Π»Π΅Ρ-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. Π‘ ΠΏΡΠΈΡ ΠΎΠ΄ΠΎΠΌ Servlet API 3.0 ΠΈ embedded-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², Π²ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΡΠΈΠ½ΡΡΠΎ Π·Π°ΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡ ΠΈ web-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² ΡΠ°ΠΌΠΎΠ΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠ΅ jar (ΠΠΎΠ·ΡΠ½Π³ Spring Boot: Make jar, not war).
EAR β Enterprise Archive. ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², Π½Π°ΡΠ°Π²ΡΠΈΡ ΠΊΠ°ΡΡΠ΅ΡΡ ΡΠΆΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π° Spring Framework, ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠΊΠ·ΠΎΡΠΈΡΠ½ΡΠΌ. ΠΡΠΎ ΡΠΎΠ±ΡΠ°Π½Π½ΠΎΠ΅ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΠ΅ JavaEE ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ Π΄Π΅ΠΏΠ»ΠΎΠΉΠΌΠ΅Π½ΡΠ° ΠΈ JavaEE ΠΌΠΎΠ΄ΡΠ»ΠΈ (Π²Π΅Π±-ΠΌΠΎΠ΄ΡΠ»ΠΈ, EJB, ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ, Π°Π΄Π°ΠΏΡΠ΅ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ²). ΠΠ΅ΠΏΠ»ΠΎΠΈΡΡΡ Π² JavaEE Application Server.
ΠΡΠ΅ ΡΡΠΈ ΡΠΈΠΏΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ ΡΡΠΈΠ»ΠΈΡΠΎΠΉ jar ΠΈΠ· JDK.
β€13π7π₯3
ΠΠΎΠ΄Π±ΠΎΡΠΊΠ° Π³ΠΎΡΡΡΠΈΡ
Π²Π°ΠΊΠ°Π½ΡΠΈΠΉ Π² Ozon Π΄Π»Ρ Senior Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²
π΅ Π‘ΡΠ°ΡΡΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Java, ΠΠ΅ΡΡ Π½ΠΈΠΉ ΠΏΠΎΠΈΡΠΊ
π΅ Π‘ΡΠ°ΡΡΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Java, GPU ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ
π΅ Π‘ΡΠ°ΡΡΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Kotlin, ML ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°
ΠΠΎΡΠ΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΈΠ΄ΡΠΈ Π² Ozon: Π·Π΄Π΅ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΡΡ ΠΌΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ»ΠΎΠΆΠ½ΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Ρ ΠΌΠΈΡΠΎΠΌ Data Science.
Π§ΡΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ:
ΠΠΎΡΡΠΎΠΉΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π·ΠΏ
Π£Π΄Π°Π»ΡΠ½ΠΊΡ ΠΈΠ· Π»ΡΠ±ΠΎΠΉ ΡΠΎΡΠΊΠΈ / Π³ΠΈΠ±ΡΠΈΠ΄ / ΠΎΡΠΈΡ
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄Π΅Π»Π°ΡΡ ΠΊΠ»Π°ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ Π½Π° ΡΡΠ½ΠΊΠ΅ e-com
Π‘ΠΈΡΡΠ΅ΠΌΡ ΠΌΠ΅Π½ΡΠΎΡΡΡΠ²Π°, Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ, ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ
Π‘ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠΊΡΠΏΠ΅ΡΡΠ½ΠΎΠ΅ ΠΊΠΎΠΌΠΌΡΡΠ½ΠΈΡΠΈ: ΠΌΠΈΡΠ°ΠΏΡ, Π±Π»ΠΎΠ³ΠΈ, ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ΄ΠΊΠ°ΡΡΡ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π±ΡΠ΅Π½Π΄Π° ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ DevRel-ΠΎΠ².
π΅ Π‘ΡΠ°ΡΡΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Java, ΠΠ΅ΡΡ Π½ΠΈΠΉ ΠΏΠΎΠΈΡΠΊ
π΅ Π‘ΡΠ°ΡΡΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Java, GPU ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ
π΅ Π‘ΡΠ°ΡΡΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Kotlin, ML ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°
ΠΠΎΡΠ΅ΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΈΠ΄ΡΠΈ Π² Ozon: Π·Π΄Π΅ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΡΡ ΠΌΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ»ΠΎΠΆΠ½ΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Ρ ΠΌΠΈΡΠΎΠΌ Data Science.
Π§ΡΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ:
ΠΠΎΡΡΠΎΠΉΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π·ΠΏ
Π£Π΄Π°Π»ΡΠ½ΠΊΡ ΠΈΠ· Π»ΡΠ±ΠΎΠΉ ΡΠΎΡΠΊΠΈ / Π³ΠΈΠ±ΡΠΈΠ΄ / ΠΎΡΠΈΡ
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄Π΅Π»Π°ΡΡ ΠΊΠ»Π°ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ Π½Π° ΡΡΠ½ΠΊΠ΅ e-com
Π‘ΠΈΡΡΠ΅ΠΌΡ ΠΌΠ΅Π½ΡΠΎΡΡΡΠ²Π°, Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ, ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ
Π‘ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠΊΡΠΏΠ΅ΡΡΠ½ΠΎΠ΅ ΠΊΠΎΠΌΠΌΡΡΠ½ΠΈΡΠΈ: ΠΌΠΈΡΠ°ΠΏΡ, Π±Π»ΠΎΠ³ΠΈ, ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ΄ΠΊΠ°ΡΡΡ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π±ΡΠ΅Π½Π΄Π° ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ DevRel-ΠΎΠ².
π3π2π₯1
ΠΠ°ΠΊ ΠΎΡΠ»Π°Π΄ΠΈΡΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅?
ΠΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½Π΅, Π΅Π³ΠΎ ΠΏΠ°ΡΠ·Ρ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ, Π° Ρ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠ° Π½Π΅Ρ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Ρ ΠΎΡΡΡ, ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠ»Π°Π΄ΠΊΠΈ β Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ remote debug. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Ρ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠΌ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ JDWP. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΏΠΎΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΡΡΠΈΠ»ΠΈΡΠ° jdb, ΠΈΠ»ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ Π² IDE.
Π JDK ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Java Mission Control ΠΈ JConsole ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π΅Π³ΠΎ Π·Π΄ΠΎΡΠΎΠ²ΡΡ. ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ JVM, Π΄Π»Ρ HotSpot ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΠ½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ², Π²ΡΠ΅Π³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½ΠΎΠΌΠ΅Ρ ΠΎΠ΄ΠΈΠ½ β Π»ΠΎΠ³Π°Ρ . ΠΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, Π½ΠΈ ΠΎΠ΄ΠΈΠ½ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π½Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Π²Π°ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ±ΡΡΠΈΡΡ , ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎΠ³ΠΈΡΠΎΠ²Π°ΡΡΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΡΠΈ Π»ΡΠ±ΠΎΠΌ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ΅ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ.
Π ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΠΎΡΡΠ°Π²ΠΊΡ Java Π²ΠΊΠ»ΡΡΠ΅Π½ ΠΏΠ°ΠΊΠ΅Ρ Π΄Π»Ρ Π»ΠΎΠ³Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ java.util.logging, ΠΏΠΎΠ·ΠΆΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ Π½Π° Π½ΡΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅. Π’Π°ΠΊΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠ΄ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ: Log4j, SLF4J, Logback.
ΠΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½Π΅, Π΅Π³ΠΎ ΠΏΠ°ΡΠ·Ρ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ, Π° Ρ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠ° Π½Π΅Ρ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Ρ ΠΎΡΡΡ, ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠ»Π°Π΄ΠΊΠΈ β Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ remote debug. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Ρ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠΌ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ JDWP. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΏΠΎΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΡΡΠΈΠ»ΠΈΡΠ° jdb, ΠΈΠ»ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ Π² IDE.
Π JDK ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Java Mission Control ΠΈ JConsole ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π΅Π³ΠΎ Π·Π΄ΠΎΡΠΎΠ²ΡΡ. ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅Π½ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ JVM, Π΄Π»Ρ HotSpot ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΠ½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ², Π²ΡΠ΅Π³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½ΠΎΠΌΠ΅Ρ ΠΎΠ΄ΠΈΠ½ β Π»ΠΎΠ³Π°Ρ . ΠΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, Π½ΠΈ ΠΎΠ΄ΠΈΠ½ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π½Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Π²Π°ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ±ΡΡΠΈΡΡ , ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΡ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎΠ³ΠΈΡΠΎΠ²Π°ΡΡΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΡΠΈ Π»ΡΠ±ΠΎΠΌ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ΅ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ.
Π ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΠΎΡΡΠ°Π²ΠΊΡ Java Π²ΠΊΠ»ΡΡΠ΅Π½ ΠΏΠ°ΠΊΠ΅Ρ Π΄Π»Ρ Π»ΠΎΠ³Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ java.util.logging, ΠΏΠΎΠ·ΠΆΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ Π½Π° Π½ΡΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅. Π’Π°ΠΊΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠ΄ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ: Log4j, SLF4J, Logback.
β‘6π1
ΠΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΠ΅ΡΡ ΠΊ ΠΎΡΠΊΡΡΡΠΎΠΌΡ ΡΡΠΎΠΊΡ Β«ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ ArmeriaΒ»
ΠΠ° ΡΡΠΎΠΊΠ΅ ΠΌΡ ΠΏΠΎΠ³ΡΡΠ·ΠΈΠΌΡΡ Π² ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΌΠΈΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Armeria! Π£Π·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈ ΠΊΠ°ΠΊ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ SpringBoot.
Π£ΡΠΎΠΊ ΠΏΠΎΡΠ²ΡΡΠ΅Π½ ΠΊΡΡΡΡ Β«Java Developer. ProfessionalΒ» ΠΎΡ OTUS, Π³Π΄Π΅ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ ΠΈ Π½Π°Π²ΡΠΊΠΈ Π² Java ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, ΠΈ Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΠΏΠ΅ΡΠ΅Π΄ΠΎΠ²ΡΠΌΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Armeria.
π₯ ΠΠ΅ ΡΠΏΡΡΡΠΈΡΠ΅ ΡΠ°Π½Ρ ΠΏΠΎΡΡΠ°ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΡΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΈ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΡ!
π ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΡΠ΅ΡΡ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠ΅ΡΠΈΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΡΡΠΎΠΊ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π°ΠΏΠΈΡΡ:
https://otus.pw/yXtg/
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576Please open Telegram to view this post
VIEW IN TELEGRAM
π4π₯1
ΠΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ WEB-INF, Π° ΠΊΠΎΠ³Π΄Π° META-INF?
Π ΠΊΠΎΡΠ½Π΅ Π°ΡΡ ΠΈΠ²Π° java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ WEB-INF ΠΈ META-INF. ΠΠ±Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Ρ ΡΠ°Π½ΡΡ Π² ΡΠ΅Π±Π΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΠΌΠ΅ΡΠ°ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΎΠ±ΡΡΠ½ΠΎ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ Π²ΠΈΠ΄Π΅: yaml, xml, json, ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ.
META-INF ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π°ΡΡ ΠΈΠ²Π°Ρ Π²ΡΠ΅Ρ ΡΠΈΠΏΠΎΠ². ΠΠ»Π°Π²Π½ΡΠΉ ΡΠ°ΠΉΠ» ΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ β MANIFEST.MF, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΡΠ°Π½Π΅Π΅. Π’Π°ΠΌ ΠΆΠ΅ Ρ ΡΠ°Π½ΡΡΡΡ
β’ ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ² SPI;
β’ ΠΠΎΠ΄ΠΏΠΈΡΡ Π°ΡΡ ΠΈΠ²Π°: ΡΠ°ΠΉΠ»Ρ .SF, .DSA, .RSA;
β’ INDEX.LIST Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°ΠΌΠΈ ΠΎ ΠΌΠ΅ΡΡΠΎΠ½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°.
ΠΠ½ΠΎΠ³Π΄Π° (Π½Π΅ ΡΠ°ΡΡΠΎ) ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΡΠ΄Π° ΡΠ²ΠΎΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² classpath ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Π° Π² ΡΠ°Π½ΡΠ°ΠΉΠΌΠ΅.
WEB-INF ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² web-Π°ΡΡ ΠΈΠ²Π°Ρ (.war). ΠΠ½Π° Π½Π΅ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ, Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅Ρ META-INF. Π Π½Π΅ΠΉ Ρ ΡΠ°Π½ΠΈΡΡΡ:
β’ ΠΠ»Π°Π²Π½ΡΠΉ ΡΠ°ΠΉΠ» web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ web.xml;
β’ ΠΠ΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΡΠ΅Π³ΠΎΠ² .TLD;
β’ ΠΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ classes/ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ;
β’ ΠΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ lib/ Ρ .jar-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ;
β’ ΠΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ tag/ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΡΠ΅Π³ΠΎΠ².
Π ΠΊΠΎΡΠ½Π΅ Π°ΡΡ ΠΈΠ²Π° java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ WEB-INF ΠΈ META-INF. ΠΠ±Π΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Ρ ΡΠ°Π½ΡΡ Π² ΡΠ΅Π±Π΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΠΌΠ΅ΡΠ°ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΎΠ±ΡΡΠ½ΠΎ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ Π²ΠΈΠ΄Π΅: yaml, xml, json, ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ.
META-INF ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π°ΡΡ ΠΈΠ²Π°Ρ Π²ΡΠ΅Ρ ΡΠΈΠΏΠΎΠ². ΠΠ»Π°Π²Π½ΡΠΉ ΡΠ°ΠΉΠ» ΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ β MANIFEST.MF, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΡΠ°Π½Π΅Π΅. Π’Π°ΠΌ ΠΆΠ΅ Ρ ΡΠ°Π½ΡΡΡΡ
β’ ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ² SPI;
β’ ΠΠΎΠ΄ΠΏΠΈΡΡ Π°ΡΡ ΠΈΠ²Π°: ΡΠ°ΠΉΠ»Ρ .SF, .DSA, .RSA;
β’ INDEX.LIST Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°ΠΌΠΈ ΠΎ ΠΌΠ΅ΡΡΠΎΠ½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°.
ΠΠ½ΠΎΠ³Π΄Π° (Π½Π΅ ΡΠ°ΡΡΠΎ) ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΡΠ΄Π° ΡΠ²ΠΎΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² classpath ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Π° Π² ΡΠ°Π½ΡΠ°ΠΉΠΌΠ΅.
WEB-INF ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² web-Π°ΡΡ ΠΈΠ²Π°Ρ (.war). ΠΠ½Π° Π½Π΅ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ, Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅Ρ META-INF. Π Π½Π΅ΠΉ Ρ ΡΠ°Π½ΠΈΡΡΡ:
β’ ΠΠ»Π°Π²Π½ΡΠΉ ΡΠ°ΠΉΠ» web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ web.xml;
β’ ΠΠ΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ ΡΠ΅Π³ΠΎΠ² .TLD;
β’ ΠΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ classes/ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ;
β’ ΠΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ lib/ Ρ .jar-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ;
β’ ΠΠΎΠ΄Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ tag/ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΡΠ΅Π³ΠΎΠ².
π10
ΠΡΠ²ΠΎΠΉΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΠ Π½Π° ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΈ ΡΠ°ΡΡΠΈΡΡΡΠ΅ ΡΠ²ΠΎΠΈ ΠΊΠ°ΡΡΠ΅ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π² IT.
ΠΠ°ΡΡΠΈΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ SOLID Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π²ΡΠ΅Π³ΠΎ Π·Π° 4 ΠΌΠ΅ΡΡΡΠ° ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ ΠΎΠΏΡΡΠ½ΡΡ ΡΠΊΡΠΏΠ΅ΡΡΠΎΠ² Π½Π° ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡΠ΅ Β«ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ» ΠΎΡ OTUS.
ΠΠΎΡΠ»Π΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π²Ρ:
β«οΈΠΏΠΎΠΉΠΌΠ΅ΡΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΠΈ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΡΠΈΡΡΡΠΉ ΠΊΠΎΠ΄;
β«οΈΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ΡΡ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ;
β«οΈΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΠΎΠ²Π°ΡΡ Π½Π° ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ Π³ΡΠ΅ΠΉΠ΄Π°, Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠΈ ΠΈ Π΄ΠΎΡ ΠΎΠ΄Π°.
ΠΠ»Ρ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ:
β«οΈΠ·Π½Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ: C++, C#, Java, Kotlin, PHP ΠΈΠ»ΠΈ Python;
β«οΈΠ·Π½Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΠΠΠ
β‘οΈ ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ Π²ΡΡΡΠΏΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΏΠ°ΡΡΡ Π½Π° ΠΊΡΡΡ ΠΏΠΎ ΡΠΏΠ΅Ρ.ΡΠ΅Π½Π΅ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΡΡΡ ΠΏΠΎ Git Π² Π·Π°ΠΏΠΈΡΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ: ΠΏΡΠΎΠΉΡΠΈ ΡΠ΅ΡΡ
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576
ΠΠ°ΡΡΠΈΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ SOLID Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π²ΡΠ΅Π³ΠΎ Π·Π° 4 ΠΌΠ΅ΡΡΡΠ° ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ ΠΎΠΏΡΡΠ½ΡΡ ΡΠΊΡΠΏΠ΅ΡΡΠΎΠ² Π½Π° ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡΠ΅ Β«ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ» ΠΎΡ OTUS.
ΠΠΎΡΠ»Π΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π²Ρ:
β«οΈΠΏΠΎΠΉΠΌΠ΅ΡΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΠΈ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΡΠΈΡΡΡΠΉ ΠΊΠΎΠ΄;
β«οΈΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ΡΡ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ;
β«οΈΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΠΎΠ²Π°ΡΡ Π½Π° ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ Π³ΡΠ΅ΠΉΠ΄Π°, Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠΈ ΠΈ Π΄ΠΎΡ ΠΎΠ΄Π°.
ΠΠ»Ρ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ:
β«οΈΠ·Π½Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ: C++, C#, Java, Kotlin, PHP ΠΈΠ»ΠΈ Python;
β«οΈΠ·Π½Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΠΠΠ
Π Π΅ΠΊΠ»Π°ΠΌΠ°. ΠΠΠ Β«ΠΡΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β», ΠΠΠ Π 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
π4π₯°2π₯1
ΠΠ½ΠΈ ΡΠΆΠ΅ ΡΡΠ΅Π΄ΠΈ Π½Π°Ρ: ΡΠΎΠ±ΠΎΠΏΡΠ΅Π»Ρ, ΡΠΎΠ±ΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΎΠ±ΠΎΡΡΠ±ΠΊΠΈ Π³ΡΠΏΠΏΠΈ.
ΠΠ°ΡΠ΅ΠΌ Π²ΡΡ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΠΆΠΈΠ²ΠΎΡΠ½ΡΠ΅ Π½Π΅ Π·Π°ΠΌΠ΅ΡΠ°ΡΡ ΠΏΠΎΠ΄Π²ΠΎΡ Π°, ΡΠΈΡΠ°ΠΉΡΠ΅ Π² ΠΊΠ°Π½Π°Π»Π΅ Π€ΠΎΠ½ ΠΎΡ ΠΠ΅Π³Π°Π€ΠΎΠ½Π°. Π’Π°ΠΌ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊΡΠ΄Π° Π½Π°Ρ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π° ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ Π΅ΡΠ΅ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΡ Telegram Premium ΡΠ°Π·ΡΠ³ΡΡΠ²Π°ΡΡ.
erid: LjN8JwbUv
ΠΠ°ΡΠ΅ΠΌ Π²ΡΡ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΠΆΠΈΠ²ΠΎΡΠ½ΡΠ΅ Π½Π΅ Π·Π°ΠΌΠ΅ΡΠ°ΡΡ ΠΏΠΎΠ΄Π²ΠΎΡ Π°, ΡΠΈΡΠ°ΠΉΡΠ΅ Π² ΠΊΠ°Π½Π°Π»Π΅ Π€ΠΎΠ½ ΠΎΡ ΠΠ΅Π³Π°Π€ΠΎΠ½Π°. Π’Π°ΠΌ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊΡΠ΄Π° Π½Π°Ρ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π° ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ Π΅ΡΠ΅ ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΡ Telegram Premium ΡΠ°Π·ΡΠ³ΡΡΠ²Π°ΡΡ.
erid: LjN8JwbUv
β€4