ΠΠΎΠ³Π΄Π° Π²ΡΠ±ΡΠ°ΡΡ ΡΠΎΠ»ΠΎ-ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°?
Π‘ΠΎΠ»ΠΎ-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ Π·Π°Π΄Π°ΡΠ°, ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ Π±ΡΡΡΡΠΎ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
;
- ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΠΏΠ»Π°ΡΠ΅ΠΆΠ½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΡΠ΅ΡΠ΅Π· Π²Π΅Π±Ρ
ΡΠΊΠΈ;
- Π Π΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ ΠΈ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ;
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ
ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΡΠ΅ΡΠ΅Π· API.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΡΠΌ ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ Π³Π»ΡΠ±ΠΆΠ΅:
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΡΠ°ΡΡΠΎ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ EXPLAIN ΠΈ EXPLAIN ANALYZE Π² PostgreSQL ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΡΠ²ΠΈΡΡ ΡΠ·ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠ°: ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠ΅ JOIN-Ρ, ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΈΠ»ΠΈ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ. Π― ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π²Π°ΠΊΡΡΠΌΠ½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ work_mem ΠΈΠ»ΠΈ maintenance_work_mem, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ Π²Π»ΠΈΡΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
Π§Π°ΡΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° β ΡΡΠΎ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ. ΠΠ½ΠΈ Π·Π°ΠΌΠ΅Π΄Π»ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠΈ, Π° ΠΈΡ
Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΎΠΏΡΠ°Π²Π΄Π°Π½ΠΎ. Π― ΠΏΡΠΎΠ²ΠΎΠΆΡ Π°ΡΠ΄ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ², ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΡΡΡ Π·Π°ΠΏΡΠΎΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π² Π·Π°ΠΏΡΠΎΡΠ°Ρ
ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΏΠΎ Π΄Π°ΡΠ΅, Π½ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π° ΡΡΠΎΠΌ ΠΏΠΎΠ»Π΅ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ
Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ.
ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΠΏΠ»Π°ΡΠ΅ΠΆΠ½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΡΠ΅ΡΠ΅Π· Π²Π΅Π±Ρ
ΡΠΊΠΈ
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π²Π΅Π±Ρ
ΡΠΊΠ°ΠΌΠΈ Π²Π°ΠΆΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ²:
- ΠΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ½ΠΎΡΡΡ: ΠΠ΅Π±Ρ
ΡΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΡΡΠΎΠΉΡΠΈΠ²Ρ ΠΊ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΠΎΠ±ΡΡΠΈΡ ΠΈΠ»ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
- ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ: Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Π΅Π±Ρ
ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Ρ, ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠΎΠ΄Π΄Π΅Π»ΡΠ½ΡΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ².
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ: ΠΠ΅Π±Ρ
ΡΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈΠ·-Π·Π° ΡΠ΅ΡΠ΅Π²ΡΡ
ΡΠ±ΠΎΠ΅Π². ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ
ΠΏΠΎΠΏΡΡΠΎΠΊ Ρ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΏΠ΅ΡΠ½ΡΡ Π΄ΠΎΡΡΠ°Π²ΠΊΡ.
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π²ΡΠΎΠ΄Π΅ ngrok Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π΅Π±Ρ
ΡΠΊΠΎΠ², ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅.
Π Π΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°
Π Π΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ β ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°. Π― Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ: ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ, Π³Π΄Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΊΠΎΠ΄Π° Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ ΡΡΡΠ΄Π½ΡΠΌ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ cyclomatic complexity, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ΅Π±ΡΡΡ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Ρ Π²ΠΈΠΆΡ, ΡΡΠΎ Π² ΠΊΠΎΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΠ±Π»ΠΈΡΡΡΡΠΈΡ
ΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ², Ρ Π²ΡΠ΄Π΅Π»ΡΡ ΠΈΡ
Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΊΠ»Π°ΡΡΡ. ΠΡΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»ΡΡΡΠ°Π΅Ρ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ, Π½ΠΎ ΠΈ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ ΠΏΡΠΎΠ²ΠΎΠΆΡ Π°ΡΠ΄ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ: ΡΠ°ΡΡΠΎ ΡΡΠ°ΡΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π°Π½Π°Π»ΠΎΠ³Π°ΠΌΠΈ.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ
ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΡΠ΅ΡΠ΅Π· API
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Π²ΡΡΡΠ½ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ
ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Ρ ΠΌΠΎΠ³Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· ΠΈΡ
API. ΠΡΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ:
- ΠΠ°ΡΡΡΠΎΠΉΠΊΡ ΡΠΎΠΊΠ΅Π½ΠΎΠ² Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΡ
ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ;
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΠ°ΠΉΠΌ-Π°ΡΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠ±ΠΎΠ΅Π² ΠΏΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°;
- ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΠΎΡΠ²Π΅ΡΠΎΠ² Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°;
- ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΡΡΠΎΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΡ Π»ΠΈΠΌΠΈΡΠΎΠ² API.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
, Ρ ΠΌΠΎΠ³Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΊΡΠΎΠ½-Π·Π°Π΄Π°ΡΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π·Π°Π΄Π°Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, RabbitMQ ΠΈΠ»ΠΈ Celery), ΡΡΠΎΠ±Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ°Π·Ρ Π±Π΅ΡΡΡΡΡ Π·Π° Π΄Π΅Π»ΠΎ, Π±Π΅Π· Π΄ΠΎΠ»Π³ΠΈΡ
ΡΠΎΠ·Π²ΠΎΠ½ΠΎΠ², ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ Π±ΡΡΠΎΠΊΡΠ°ΡΠΈΠΈ, ΡΠΎ ΡΠΎΠ»ΠΎ-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ β ΡΡΠΎ Π²Π°Ρ Π²ΡΠ±ΠΎΡ.
ΠΠΎΠ³Π΄Π° Π»ΡΡΡΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ Π² Π°Π³Π΅Π½ΡΡΡΠ²ΠΎ?
ΠΠ³Π΅Π½ΡΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ:
- ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΠΊΡΡΠΏΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, ΡΡΠ΅Π±ΡΡΡΠΈΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ²;
- ΠΡΠΆΠ΄Π°Π΅ΡΠ΅ΡΡ Π² ΠΏΠΎΠΌΠΎΡΠΈ Ρ ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³ΠΎΠΌ, Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ;
- ΠΠ΅ Ρ
ΠΎΡΠΈΡΠ΅ Π²ΠΌΠ΅ΡΠΈΠ²Π°ΡΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ Π³ΠΎΡΠΎΠ²Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π²ΡΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡ.
Π Π°Π³Π΅Π½ΡΡΡΠ²Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ ΡΠ°Π·Π½ΡΡ
ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ, ΠΈ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΡΡ Π½ΡΠ°Π½ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π°Π³Π΅Π½ΡΡΡΠ²Π°Ρ
ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ ΠΈ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ. ΠΡΠ»ΠΈ Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ ΡΡΠ΅Π±ΡΠ΅Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ, Π°Π³Π΅Π½ΡΡΡΠ²ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ. Π’Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ, ΡΡΠΎ Π°Π³Π΅Π½ΡΡΡΠ²Π° ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡ Π΄Π»Ρ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ
Π·Π°Π΄Π°Ρ.
Π§ΡΠΎ Ρ Π΄Π΅Π»Π°Ρ ΠΊΠ°ΠΊ ΡΠΎΠ»ΠΎ-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ
ΠΠ° PlantagoWeb Ρ Π±Π΅ΡΡΡΡ Π·Π° Π·Π°Π΄Π°ΡΠΈ, Π³Π΄Π΅ Π²Π°ΠΆΠ½Π° ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ Π³Π»ΡΠ±ΠΈΠ½Π° ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊ Π΄Π΅ΡΠ°Π»ΡΠΌ. ΠΠΎΡ ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠ΄Ρ
ΠΎΠΆΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅:
- ΠΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ: ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ»ΠΎΠΆΠ½ΡΡ
SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ
EXPLAIN Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ·ΠΊΠΈΡ
ΠΌΠ΅ΡΡ. Π― ΡΠ°ΠΊΠΆΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΡ Π»ΠΎΠ³ΠΈ, ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ, ΡΡΠΎΠ±Ρ ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
- Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ: ΠΠΈΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΡΡ Π·Π°Π΄Π°ΡΡ, Π½ΠΎ ΠΈ ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ API Ρ ΡΡΠ°Π·Ρ Π·Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Ρ Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΡ
.
- Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ TDD (Test-Driven Development), ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄ Π½Π΅ Π»ΠΎΠΌΠ°Π΅Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π». ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Ρ ΠΏΠΈΡΡ ΠΊΠ°ΠΊ ΡΠ½ΠΈΡ-ΡΠ΅ΡΡΡ, ΡΠ°ΠΊ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ΅ΡΡΡ, ΠΏΠΎΠΊΡΡΠ²Π°ΡΡΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
- ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Ρ Π²ΡΠ΅Π³Π΄Π° ΠΎΡΡΠ°Π²Π»ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ: ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π», ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π·Π°Π΄Π°ΡΠ°, ΡΡΠ΅Π±ΡΡΡΠ°Ρ ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π°, Π·Π°ΠΏΠΈΡΠΈΡΠ΅ΡΡ Π½Π° ΠΊΠΎΠ½ΡΡΠ»ΡΡΠ°ΡΠΈΡ, ΠΈ Ρ ΠΏΠΎΠΌΠΎΠ³Ρ Π²Π°ΠΌ Π΅Ρ ΡΠ΅ΡΠΈΡΡ.