ΠΡΠ³ΠΎΠ½ΠΎΠΌΠΈΡΠ½ΡΠΉ ΠΊΠΎΠ΄
Kanalga Telegramβda oβtish
ΠΠ°Π½Π°Π» ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ
Ko'proq ko'rsatish451
Obunachilar
Ma'lumot yo'q24 soatlar
Ma'lumot yo'q7 kun
Ma'lumot yo'q30 kun
Postlar arxiv
Π’Π°ΠΊ, Π½Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π²ΡΠΎΠ΄Π΅ Π·Π°, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°ΡΠ½Ρ:)
ΠΡΠΎ ΠΏΡΠΎΡΠΈΠ² - ΠΌΡΡΡΡΡΠ΅ΡΡ, Π½ΠΎ Π½Π΅ ΠΎΡΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ΡΡ, ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ Π½Π° ΠΏΠ°ΡΡ Π΄Π½Π΅ΠΉ:)
ΠΡΠΈΠ²Π΅Ρ!
Π₯ΠΎΡΠΈΡΠ΅ ΡΠ΅ΠΏΠΎΡΡΠ°ΠΆ Ρ JPoint?
ΠΡΠΈΠ²Π΅Ρ!
ΠΡΠΎΡΡ ΠΏΡΠΎΡΠ΅Π½ΠΈΡ - Ρ Π½Π° ΡΠ°Π΄ΠΎΡΡΡΡ
ΠΏΠΎΠ±Π΅ΠΆΠ°Π» Π²ΠΏΠ΅ΡΠ΅Π΄ΠΈ ΠΏΠ°ΡΠ°Π²ΠΎΠ·Π° ΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Π½Π΅ ΡΠ°Π±ΠΎΡΡΡ ΡΡΡΠ»ΠΊΡ.
ΠΡΠ»ΠΈ ΠΊΡΠΎ-ΡΠΎ ΡΠΆΠ΅ Π·Π°ΡΠ΅Π³Π΅ΡΡΡΠΈΡΠΎΠ²Π°Π»ΡΡ - ΠΏΠΎΠ²ΡΠΎΡΠΈΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΏΠΎ Π½ΠΎΠ²ΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°. ΠΠ»ΠΈ, ΠΊΠ°ΠΊ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ΄ ΡΡΠΈΠΌ ΠΏΠΎΡΡΠΎΠΌ ΠΎΡΡΠ°Π²ΡΡΠ΅ Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡΠΈΠ²Π΅Ρ!
Π ΠΡΠΎΠ΅ΠΊΡΠ΅ Π ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΏΡΠΈΠ±ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π²Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ° Π½Π° Π΄Π΅Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΈ Π² ΠΏΠ½ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌ Π΄ΠΎΠΊΠ°ΡΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΊΡΡΠΊΠΈ Π΄ΠΎ ΠΏΡΠΎΠ΄Π°.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ:
1) 23,944 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°
2) 730 ΠΊΠ»Π°ΡΡΠΎΠ²
3) 234 ΡΠ΅ΡΡΠ° (ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
)
4) 100% ΠΏΠΎΠΊΡΡΡΠΈΠ΅ ΡΠ½Π΄ΠΏΠΎΠΈΠ½ΡΠΎΠ² ΡΠ΅ΡΡΠ°ΠΌΠΈ
5) 93.2% ΠΏΠΎΠΊΡΡΡΠΈΡ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΡΠ΅ΡΡΠ°ΠΌΠΈ
6) 1:30 ΠΌΠΈΠ½ΡΡ ΠΏΠΎΠ»Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ Π²ΡΠ΅ ΡΠ΅ΡΡΡ, ΡΠ΅ΡΡΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ, detekt, ΡΠ±ΠΎΡΠΊΡ ΠΈ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΠΎΠΊΡΡΡΠΈΡ ΠΊΠΎΠ΄Π°
7) 10 ΡΠΏΡΠΈΠ½ΡΠΎΠ²
8) 154 ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΠ½ΡΡ
Π΄Π½Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
9) ~1446.55 ΡΠ°ΡΠΎΠ² Π΄ΠΆΡΠ½ΠΎΠ²
10) 590.75 ΡΠ°ΡΠΎΠ² Π»ΠΈΠ΄Π° (ΠΌΠ΅Π½Ρ)
11) 55 Π±Π°Π³ΠΎΠ²:) Π²ΡΠ΅Π³ΠΎ - Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ΅, ΡΡΠΎ Π½Π°ΡΠ»ΠΈ ΡΠ°ΠΌΠΈ ΠΈ QA
ΠΡΠΈΠ²Π΅Ρ!
Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΆΠΈΡΠ΅Π»Π΅ΠΉ ΠΈ Π³ΠΎΡΡΠ΅ΠΉ Π³ΠΎΡΠΎΠ΄Π° ΠΠΎΠ²ΠΎΡΠΈΠ±ΠΈΡΡΠΊ!
Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ Π‘ΠΈΠ±Π΅ΡΠΈΠ°Π½.ΠΡΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ΠΎΡΡΠ»Π°ΠΉΠ½ ΠΌΠΈΡΠ°ΠΏ Ρ ΡΠ΅ΡΡΠΎΠ²ΡΠΌ (ΡΠΆΠ΅ ΡΡΠ΅ΡΡΠΈΠΌ) ΠΏΡΠΎΠ³ΠΎΠ½ΠΎΠΌ ΠΌΠΎΠ΅Π³ΠΎ Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° JPoint. ΠΡΠ»ΠΈ Π½Π΅ Π΅Π΄Π΅ΡΠ΅ Π² ΠΠΎΡΠΊΠ²Ρ, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΡΡΠΎΡΠ΅ΠΊ JPoint-Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΡΡ
ΠΎΠ΄Ρ Ρ ΠΌΠ΅ΡΡΠ°:)
ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΠ³ΠΎΠ½Π°, Π±ΡΠ΄Π΅Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΡΡΡΠΎΠ²ΠΊΠ°, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ΄ΠΈΡΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΠΌΡ:)
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ (ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΎΡΠΈΡΠ°), ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π°:)
ΠΡΠΈΡ
ΠΎΠ΄ΠΈΡΠ΅, Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ:)
ΠΡ ΠΈ Π·Π°ΠΎΠ΄Π½ΠΎ Π²Π΅ΡΡΠΈ Ρ ΠΏΠΎΠ»Π΅ΠΉ ΠΡΠΎΠ΅ΠΊΡΠ° Π.
ΠΠ° ΡΠΊΡΠΈΠ½Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΊΡΡΠΎΡΠΊΠ΅ ΠΈ Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ Π΄ΡΠ°ΠΌΠ°ΡΠΈΠ·ΠΈΡΡΠ΅Ρ Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, Π½ΠΎ Π² ΡΠ΅Π»ΠΎΠΌ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ (ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ΠΈΠ½ΠΆΠΈΠ½ΠΈΡΠΈΠ½Π³Π°) ΡΠΈΡΡΠ°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊΠ°Ρ - ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π±ΡΠ»ΠΎ Π½Π΅ΠΏΡΠΎΡΡΠΎ, Π½ΠΎ ΡΡΠ΄Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ Π² ΡΡΠΎΡ (10ΡΠΉ) ΡΠΏΡΠΈΠ½Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΠΌ.
ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΡ ΠΏΠΎΡΡ Ρ ΡΠ΅ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π΄Π°ΠΆΠ΅ ΡΠ΄Π°ΡΡΡΡ ΡΡΠΎ Π΄ΠΎ JPoint-Π° ΠΎΡΠΈΠ»ΠΈΡΡ
ΠΡΠΈΠ²Π΅Ρ!
ΠΠ½Π΅ ΡΡΡ ΠΏΡΠΈΡΠ»Π° ΡΠ°ΡΡΡΠ»ΠΊΠ° ΠΎΡ CodeFest (ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ Π² ΠΠΎΠ²ΠΎΡΠΈΠ±ΠΈΡΡΠΊΠ΅). ΠΠΎΠ²ΠΎΡΡΡ ΠΌΠ΅ΡΡΠ° Π½Π° ΠΊΠ²Π°ΡΡΠΈΡΠ½ΠΈΠΊΠΈ ΠΎΡΡΠ°Π»ΠΈΡΡ, Π·Π°Π·ΡΠ²Π°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ, Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ Π±ΠΈΠ»Π΅ΡΠΈΠΊΠΈ (Π²ΡΠ΅ΠΌ) ΠΎΠ±Π΅ΡΠ°ΡΡ. ΠΠΎ Π½ΡΠΆΠ½Π° ΡΠΊΡΠΏΠ΅ΡΡΠ½Π°Ρ Π³ΡΡΠΏΠΏΠ°:) ΠΠΉΠ΄Π° ΠΏΠΎΡ
ΠΎΠ»ΠΈΠ²Π°ΡΠΈΠΌ?
ΠΠΎΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠ΅ΠΌΠ°ΠΌ:
1) ΠΠ· ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΠ³ΠΎ - ΠΊΠ°ΠΊ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ?
2) Π’Ρ ΠΆΡΠΏΡΠ° ΠΎΡ Π½ΠΎΡ ΡΡ ΠΆΡΠΏΡΠ°?
3) Π‘Π΅ΡΡΠ΅ΡΡ - ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ ΠΈΠ»ΠΈ ΡΠΈΠΊΡΠΈΡ? ΠΠ»ΠΈ ΡΡΠΎ ΠΈΠΌΠ΅Π» Π²Π²ΠΈΠ΄Ρ ΠΠ»Π°Π½ ΠΠ΅ΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠ΄ΡΠΌΡΠ²Π°Π» ΠΠΠ?
4) ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅/ΡΠ½ΠΈΡ ΡΠ΅ΡΡΡ ΡΡΠΎ ΡΠΊΠ°ΠΌ (Π½ΡΠΆΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΡΡ)
ΠΠΎ Π΅ΡΠ»ΠΈ ΠΌΠ½Π΅ Π±ΡΠ΄Π΅Ρ ΡΡΠΎ ΡΠΊΠ°Π·Π°ΡΡ - Π³ΠΎΡΠΎΠ² ΠΈ ΠΊ Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΠΌΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ:) ΠΠ° ΠΈ ΠΊ Π²Π°ΡΠ΅ΠΉ Π·Π°ΡΠ²ΠΊΠ΅:)
ΠΡΠΈΠ²Π΅Ρ!
ΠΠ½Π΅ Π²ΡΠ΄Π°Π»ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠΌΠΎΠΊΠΎΠ΄ Π½Π° ΡΠΊΠΈΠ΄ΠΊΡ 20% Π½Π° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π±ΠΈΠ»Π΅ΡΡ Π½Π° JPoint: AZhidkov2023JRGpc:)
ΠΡΠΈΡ
ΠΎΠ΄ΠΈΡΠ΅, ΡΠ°Π·Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΡΡ:)
ΠΡΠΈΠ²Π΅Ρ!
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΡΡΠ±ΡΠΈΠΊΠ° ΠΈ ΡΠΌΠ΅Ρ
ΠΈ Π³ΡΠ΅Ρ
.
ΠΠΈΠ°Π»ΠΎΠ³ ΡΠΎ ΡΡΡΠ΄Π΅Π½ΡΠΎΠΌ (ΠΏΡΠΈΠΌΠ΅ΡΠ½ΡΠΉ):
Π‘ - Π° ΠΊΠ°ΠΊ Π²Ρ ΡΠ°Π½ΡΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΏΠΈΡΠ°Π»ΠΈ?
Π― - Π_Π
Π‘ - Π½Ρ ΡΠ°ΠΌ ΠΈΠ΅ΡΠ°ΡΡ
ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ, ΡΠ΅ΡΠ΅Π²Π°Ρ, Π²ΡΡ ΡΠ°ΠΊΠΎΠ΅
Π― - Π_Π
ΠΠ°ΠΆΠ΅ΡΡΡ ΠΌΠ½Π΅ ΠΏΠΎΡΠ° Π½Π°ΡΠ°ΡΡ ΠΏΠΎΠ΄ΠΊΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ΅Π΄ΠΈΠ½Ρ π
ΠΡΠΈΠ²Π΅Ρ!
ΠΠ°ΡΡΠ» Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄, ΠΊ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ. ΠΠΎΡΠΎΡΡΠΉ, ΡΡΠ΄Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Π΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π½Π° Π±Π°Π·Π΅ ΡΡΡΠ΅ΠΊΡΠΎΠ².
Π£ Π½ΠΈΡ
ΡΠ°ΠΌ ΡΠΎΠΆΠ΅ Π³ΡΠ°Ρ, Π½ΠΎ ΠΎΠ΄Π½ΠΎΡΠΎΠ΄Π½ΡΠΉ - ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠ΅ΡΡΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ, ΠΏΠ»ΡΡ Π΅ΡΡ Π΅ΡΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠ° (Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅). Π Π²ΠΎΡ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΡΡΡΡ 16-Ρ Π°ΡΠΏΠ΅ΠΊΡΠ°ΠΌΠΈ.
Π Π²ΠΎΡ Π΅ΡΠ»ΠΈ ΠΈΠΌ ΡΡΠΎΡ Π³ΡΠ°Ρ Π·Π°Π³ΡΡΠ·ΠΈΡΡ - ΠΎΠ½ΠΈ ΠΌΠΎΠ³Ρ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ»Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π°ΡΠ΅Π·Π°ΡΡ.
Π’ΠΎΠ»ΡΠΊΠΎ Ρ ΡΡΠΈΠΌ ΡΡΠ»ΠΎΠΌ Π΅ΡΡΡ Π΄Π²Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:
1) ΠΎΠ½ Π½Π°ΡΠ°Π» Π³Π½ΠΈΡΡ
2) ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Π³ΡΠ°Ρ, ΠΈ ΠΏΡΠΎΡΡΠ°Π²ΠΈΡΡ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΠ²ΡΠ·Π΅ΠΉ Π½Π°Π΄ΠΎ ΡΡΠΊΠ°ΠΌΠΈ:)
ΠΡΠΈΠ²Π΅Ρ!
ΠΠΎ ΠΏΠΎΡΡΡ Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠ΅ΠΉ ΠΏΠΎΠΊΠ° ΠΎΡΠΎΠ±ΡΡ
Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ Π½Π΅Ρ ΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎ JPoint-Π°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠΊΠ° Π½Π°ΠΊΠ°ΡΠ°Π» ΠΌΠΈΠΊΡΠΎΠΏΠΎΡΡ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΡΡΠ° Π²Π½Π΅Π΄Π΅ΡΠ½ΠΈΡ ΡΡΠ»ΠΎΠ² ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° (Detekt, Kover, ArchUnit) Π² ΠΡΠΎΠ΅ΠΊΡ Π.
ΠΡΠΈΠ²Π΅Ρ!
Π‘ΡΡΠ΄Π΅Π½Ρ ΠΏΡΠΈΡΠ»Π°Π» Π΅ΠΆΠ΅Π½Π΅Π΄Π΅Π»ΡΠ½ΡΠΉ ΠΎΡΡΡΡ:)
Π― ΡΡΠΈΡΠ°Ρ ΡΡΠΎ ΡΡΠΏΠ΅Ρ
ΠΡΠΈΠ²Π΅Ρ!
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΌΠ΅ΡΡΡ Ρ Π·Π°Π½ΠΈΠΌΠ°Π»ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π½Π° Π±Π°Π·Π΅ ΡΡΡΠ΅ΠΊΡΠΎΠ². Π― Ρ
ΠΎΡΠ΅Π» ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π°Π²Π°Π» Π±Ρ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΡΠΎ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ. ΠΠΈΠΈΠΈΠΈ Ρ ΡΡΠΎ Π½Π΅ ΠΎΡΠΈΠ»ΠΈΠ». Π ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΎΡΡΠ°ΡΠ»ΡΡ ΠΎΡΠΎΡΠΌΠΈΡΡ ΡΡΠΎ Π² Π²ΠΈΠ΄Π΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈ ΡΠΎΠ±ΡΠ°Π»ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌΠΈ ΠΎΡΠ΅Π½ΠΊΠΈ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ.
ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ JPoint, Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ (ΠΎΡΠΊΠ°Π· ΠΎΡ ΠΏΠΎΠ»Π½ΠΎΠΉ Π΄Π΅ΡΠ΅ΡΠΌΠ΅Π½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ) ΠΈ Π΅ΡΡ ΠΎΠ΄Π½Π° Π±Π΅ΡΡΠΎΠ½Π½Π°Ρ Π½ΠΎΡΡ ΠΈ Ρ ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΅-ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ.
Π’Π΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΈΠ·Π΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ:
fun clusterize(diagram: Diagram) {
var proceed = true
while (diagram.hasFreeElements() && proceed) {
proceed = false
for (r in diagram.freeResources) {
val tightlyCoupledOperations = r.operations
.filter { o -> o.resources.size == 1 ||
(o.writtenResources.size == 1 && o.writtenResources[0] == r) ||
(o.isReadOnly && God.isPrimaryResource(o, r)) }
diagram.makeCluster(r, tightlyCoupledOperations)
proceed = tightlyCoupledOperations.isNotEmpty()
}
for (e in diagram.freeElements) {
val adjaΡentClusters = e.elements.map { it.cluster }.toSet()
if (adjecentClusters.size == 1) {
diagram.extendCluster( adjacentClusters.first(), e)
proceed = true
}
}
for (r in diagram.freeResources) {
val possiblePairs = r.operations.flatMap { it.resources }
val bestMatch = God.findBestMatch(r, possiblePairs)
if (bestMatch != null) {
diagram.aggregate(r, bestMatch)
proceed = true
}
}
}
if (diagram.hasFreeElements) {
diagram.finalyzeClusterization()
}
diagram.nameClusters()
diagram.hideSubmodules()
diagram.groupModules()
}
ΠΠ°ΠΆΠ΅ΡΡΡ, ΠΎΠ±ΡΠΈΠΉ Ρ
ΠΎΠ΄ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΠΎΠΏΠΈΡΠ°ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΡΠΊΠΎ:) Π Π΅ΡΠ»ΠΈ ΡΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΡΠ΅ΠΉΡΠ°Ρ ΠΌΠΎΠ³ΡΡ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΠ΅ ΡΠ΅ΡΠΈ, ΡΠΎ, ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΠΎΠ½ΠΈ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΠΏΡΠ°Π²ΠΈΡΡΡΡ Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΉ isPrimaryResource ΠΈ findBestMatch Π½Π΅ ΠΊΠ°ΠΊ Π±ΠΎΠΆΠ΅Π½ΡΠΊΠ°, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½ΠΎ Π½Π΅ Ρ
ΡΠΆΠ΅ Π΄ΠΆΡΠ½Π° ΡΠΆ ΡΠΎΡΠ½ΠΎ.
Π’.Π΅. Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ, Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ. ΠΠΎΠ΄Π°ΡΡΡ Π½Π° Π²Ρ
ΠΎΠ΄ .drawio ΡΠ°ΠΉΠ» Ρ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠΎΠΉ ΡΡΡΠ΅ΠΊΡΠΎΠ² ΠΈ Π½Π° Π²ΡΡ
ΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡ .drawio ΡΠ°ΠΉΠ», Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΡ Π½Π°Π΄ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ. ΠΡ Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠΊΠ΅Π»Π΅ΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎ drawio ΡΠ°ΠΉΠ»Ρ Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠ΅ΠΉ Ρ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ Π±Π΅Π· Π²ΡΡΠΊΠΈΡ
Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ
ΡΠ΅ΡΠ΅ΠΉ Π·Π° Π²Π΅ΡΠ΅ΡΠΎΠΊ Π½Π°ΠΏΠΈΡΡ.
Π Ρ ΡΡΡΡΠΎΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π΅ΠΉΡΠΎΠ½Π½ΡΠ΅ ΡΠ΅ΡΠΈ ΡΠΆΠ΅ ΡΠΌΠ΅ΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ ΠΈ ΠΌΠΎΠΈΡ
ΡΠΊΠ»ΠΎΠ½Π½ΠΎΡΡΠ΅ΠΉ ΠΊ ΠΌΠ°Π½ΠΈΠΈ Π²Π΅Π»ΠΈΡΠΈΡ ΠΈ Π½Π°ΡΡΠΈΡΡΠΈΠ·ΠΌΡ, Ρ ΠΌΠ΅Π½Ρ Π² ΠΌΠ΅ΡΡΠ°Ρ
Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΡΡΡΠ΅ΠΊΡΠΎΠ² ΡΠΆΠ΅ ΡΡΠ°Π»Π° ΡΠ°ΠΌΡΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ 5-ΠΎΠ³ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ:) Π? ΠΠΎΡΠ½ΠΎ Π·Π°Π΄Π²ΠΈΠ½ΡΠ»?:)
ΠΡΡΠ°Π»Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌΠ°Ρ ΠΌΠ΅Π»ΠΎΡΡ - Π·Π°Π±ΡΡΡΡΡΠ°ΠΏΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ ΡΡΡΠ΅ΠΊΡΠΎΠ², ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ GitHub copilot ΡΠΌΠΎΠΆΠ΅Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΏΠΎ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅ ΡΡΡΠ΅ΠΊΡΠΎΠ²:)ΠΡΠΈΠ²Π΅Ρ!
Π§ΡΡΡΠ²ΡΡ ΡΠ΅Π±Ρ ΡΠ΅ΠΌ ΠΌΠ°Π»ΡΡΠΈΠΊΠΎΠΌ ΠΈΠ· ΠΏΡΠΈΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΡΠΈΡΠ°Π» Π²ΠΎΠ»ΠΊΠΈ.
Π‘Π΅Π³ΠΎΠ΄Π½Ρ Ρ ΠΌΠ΅Π½Ρ Π½Π°ΡΡΠΎΡΡΠ°Ρ ΠΌΠΎΠ»Π½ΠΈΡ, Π½ΠΎ Ρ, ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΠΎΠ±Π΅ΡΡΠ΅Π½ΠΈΠ» ΡΡΠΎ ΡΠ»ΠΎΠ²ΠΎ Π² ΡΡΠΎΠΌ ΠΊΠ°Π½Π°Π»Π΅.
ΠΠ΅Π½Ρ Ρ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠΌ ΠΏΡΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π° Π±Π°Π·Π΅ ΡΡΡΠ΅ΠΊΡΠΎΠ² Π²Π·ΡΠ»ΠΈ Π½Π° JPoint!
ΠΡΠΈΠ²Π΅Ρ!
ΠΠ°ΠΊΠΎΠΏΠ°Π» Π»ΡΠ±ΠΎΠΏΡΡΠ½ΡΠΉ ΠΏΠΎΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π°Π²ΡΠΎΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡ Π²ΠΈΠ΄Ρ ΡΡΠ΅ΠΏΠ»Π΅Π½Π½ΠΎΡΡΠΈ ΠΈΠ· ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π°, Π½Π° ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ.
ΠΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠΎΠ³Π»Π°ΡΠ΅Π½, Π½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ.
ΠΡΠΈΠ²Π΅Ρ!
Π£ ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ ΠΌΠ°Π½ΠΈΠ°ΠΊΠ°Π»ΡΠ½Π°Ρ ΡΡΠ°Π΄ΠΈΡ "ΠΌΠ½Π΅ Π½ΡΠΆΠ΅Π½ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΉ ΠΠ Π" ΠΈ Ρ Π½Π°ΠΊΠΎΠΏΠ°Π» Π΅ΡΡ ΠΏΠ°ΡΡ Π»ΡΠ±ΠΎΠΏΡΡΠ½ΡΡ
Π»ΠΈΠ½ΠΎΠΊ.
ΠΠΈΠ±Π° ΠΏΠ΅ΡΡΠΈΡΡΠ΅Π½ΡΠ½ΡΡ
(Π² ΡΠΌΡΡΠ»Π΅ ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ²Π°ΡΡΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡ) ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ Π΄Π»Ρ Kotlin/Java. ΠΠ½Π°, ΠΊΠ°ΠΆΠ΅ΡΡΡ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΏΠΎΠ΄Π³Π½ΠΈΠ²Π°ΡΡ, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ Π² Π½Π΅ΠΊΡΠΈΡΠΈΡΠ½ΡΡ
Π·Π°Π΄Π°ΡΠ°Ρ
ΠΡ Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅ Π² ΠΠ ΠΠ°Ρ
ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π³ΠΈΠΈ? Π ΠΊΠ°ΠΊ Π½Π°ΡΡΡΡ ΠΠ΅ΡΠ°ΠΠ ΠΠ°?
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π½Π° ΠΎΠ±Π΅ ΡΡΡΠΊΠΈ Ρ ΡΠΆΠ΅ Π΄Π°Π²Π°Π» ΡΡΡΠ»ΠΊΠΈ, Π½ΠΎ ΠΈ ΡΠ΅Π±Π΅ ΠΈ Π²Π°ΠΌ Π½Π°ΠΏΠΎΠΌΠ½Ρ, ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Ρ ΡΡΠΈΡΠ°Ρ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎΠΉ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ ΠΏΠ΅ΡΡΠΈΡΡΠ°Π½ΡΠ°: MicroStream ΠΈ Erlang Mnesia
ΠΡΠΈΠ²Π΅Ρ!
Π― ΠΌΠΎΠ»Π½ΠΈΡ! ΠΎΠΏΠ΅ΡΠ°ΡΠΊΠ° ΠΏΠΎ ΡΡΠ΅ΠΉΠ΄Ρ
ΠΠΎΠ»Π½ΠΈΡ! Π― ΡΠ°Π·ΠΎΡΠ°ΡΠΎΠ²Π°Π»ΡΡ Π² Spring Data JDBC. ΠΠΊΡΠ°ΡΡΠ΅, ΠΏΠΎ ΡΡΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ: ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ, ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΡΡΠ½ΡΡΡ ΡΠΈΠ΄ΠΎΠ½Π»ΠΈ Π°Π³ΡΠ΅Π³Π°Ρ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅. ΠΠΎΡΠΎΠΌ, ΠΌΠΎΠΆΠ΅Ρ, ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠ°ΡΠΏΠΈΡΡ.
ΠΠΎΡΡΠΎΠΌΡ Ρ ΡΠ½ΠΎΠ²Π° ΠΏΠΎΠ»Π΅Π· Π³ΡΠ³Π»ΠΈΡΡ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΉ ΠΎΡΠΌ ΠΈ ΠΎΡΠΊΠΎΠΏΠ°Π» Π»ΡΠ±ΠΎΠΏΡΡΠ½ΡΡ ΡΡΡΠΊΡ. ΠΠ½ ΠΏΠΎΠΊΠ° Ρ ΠΌΠ΅Π½Ρ ΠΎΡΠΎΠ±ΠΎ Π΄ΠΎΠ²Π΅ΡΠΈΡ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΈ Π½Π° ΠΌΠΎΠΉ Ρ Π½Π΅Π³ΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π½ΠΎΠ΅ ΠΠΠ, Π½ΠΎ ΠΈΠ΄Π΅Ρ ΠΏΡΠΈΠΊΠΎΠ»ΡΠ½Π°Ρ.
ΠΡΠΈΠ²Π΅Ρ!
Π§ΡΠΎ-ΡΠΎ Ρ ΠΏΡΠΎΠΊΡΠ°ΡΡΠΈΠ½ΠΈΡΡΡ ΠΏΠΎΡΡ ΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ. Π‘Π°ΠΌΠΎΠ΅ ΠΌΡΡΠΎ Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠ΅ΠΉ Π½Π°ΠΏΠΈΡΠ°Π», Π° Π²ΠΎΡ ΠΏΠΎΠ»ΠΈΡΠΎΠ²ΠΊΠ° Π±ΡΠΊΡΡΠ΅Ρ - ΡΠΎ ΠΏΠΎΠΉΠ΄Ρ ΠΏΠΈΡΠ°ΡΡ ΡΠΏΠΈΠ½ΠΎΡΡ ΠΏΡΠΎ ΡΡΡΠ΅ΠΊΡΡ, ΡΠΎ Π΄ΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΡ ΡΠΏΠΈΠ½ΠΎΡΡ "ΠΏΠΎΡΠ΅ΠΌΡ Π²ΡΡ-ΡΠ°ΠΊΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ?", ΡΠΎ ΠΏΠΈΠ½Π°ΡΡ Spring Data Jdbc, ΡΠΎ Π±ΠΎΠ»Π΅ΡΡ.
ΠΠΎ Ρ Π΅Π³ΠΎ ΡΠΎΡΠ½ΠΎ Π΄ΠΎΠΏΠΈΡΡ.
Π ΠΏΠΎΠΊΠ° Π²ΠΎΡ Π΅ΡΡ ΠΎΠ΄Π½Π° Π»ΡΠ±ΠΎΠΏΡΡΠ½Π°Ρ Π»ΠΈΠ½ΠΊΠ° - Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΏΡΠ΅Π΄ΡΡΠ²Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ.
ΠΡΠΈΠ²Π΅Ρ!
Π ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΌΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ
Π΄Π°Π½Π½ΡΡ
: ΠΠΎΡΠ΅ΠΌΡ Java Π΄Π΅Π»Π°Π΅Ρ ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠΊ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌ?
Π’Π/ΠΠ - ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ ΡΡΡΠΊΠΈ ΠΏΠΎΡΠΎΠΊΠΎ-Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Ρ ΠΈ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡΠΌ JVM ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π·Π°ΡΠ°ΡΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΡΡΡΡΠ΅Π΅ ΠΌΡΡΠ°ΡΠΈΠΈ ΡΡΠ°ΡΠΎΠ³ΠΎ
ΠΡΠΈΠ²Π΅Ρ!
ΠΠΎΡΡ ΠΏΡΠΎ ΠΠ-Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΡΠ°ΡΡ Π²ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ Π²ΠΈΠ΄ - Π½Π°Π΄Π΅ΡΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΏΠ°ΡΡ Π½Π΅Π΄Π΅Π»Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡ:)
Π ΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ, Π±ΡΠ΄Ρ ΡΠ°Π΄ΠΎΠ²Π°ΡΡ Π²Π°Ρ Π»ΠΈΠ½ΠΊΠΎΠΏΠΎΡΡΠ°ΠΌΠΈ:)
ΠΠΎΡ ΠΎΡΠ΅Π½Ρ ΠΊΡΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΠΏΠ΅ΠΊΡ/Π»Π΅ΠΊΡΠΈΡ (?) ΠΈΠ· MIT-Π° ΠΏΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡΡ/Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡΡ, Ρ Ρ
ΠΎΡΠΎΡΠΈΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΡΠΈΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡΡ. ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎ Π΄Π΅ΡΠΎΠ»ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ - ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ΡΠΌΠ°Π΅ΡΠ΅:)
Π Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ ΠΠΎΡΠ»ΠΈΠ½ - ΡΠΎ Π²ΠΎΡ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΆΠΈΠ·Π½ΠΈ. Π‘Π°ΠΌ Π΅ΡΡ Π½Π΅ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» Π΅Ρ
