ΠΠΎΠΏΡΠΎΡ ΠΎ ΡΠΎΠΌ, Π½Π° ΡΡΠΎ ΠΏΠΎΡ ΠΎΠΆ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ 1Π‘, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠ°ΡΡΡΡ Π² ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΡΠ΅Π΄ΠΈ ΡΠ΅Ρ , ΠΊΡΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ΅ΠΊΠΎΠ². Π§Π°ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ»ΡΡΠ°ΡΡ ΠΌΠ½Π΅Π½ΠΈΡ, ΡΡΠΎ ΡΡΠΎ ΡΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ Pascal ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±Π΅ΡΡΠΊΠ° Π½Π°Π΄ SQL, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΠΊΠ°Ρ ΡΠΎΡΠΊΠ° Π·ΡΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ½ΠΎΠΉ ΠΈ Π½Π΅ ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ Π²ΡΠ΅ΠΉ ΡΡΡΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅. Π―Π·ΡΠΊ 1Π‘ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ Π³ΠΈΠ±ΡΠΈΠ΄, ΡΠΎΡΠ΅ΡΠ°ΡΡΠΈΠΉ Π² ΡΠ΅Π±Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΡΡ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΡ, Π·Π°ΡΠΎΡΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΡΡΠ΅ΡΠ°.
ΠΠ»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΎΠ·Π½Π°ΡΡ, ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ 1Π‘ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ ΠΏΡΠΎΡΡΠΎ Ρ ΠΊΠΎΠ΄ΠΎΠΌ, Π° Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡΡΡ Π² ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ·ΡΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Pascal ΠΈΠ»ΠΈ BASIC, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ² Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΈ ΡΠ²Π½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ ΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΌΠΎΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±Π»ΠΈΠΆΠ΅ ΠΊ ORM-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°ΠΌ Π² Java ΠΈΠ»ΠΈ C#, Π½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΄ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΈ ΡΠ·ΡΠΊΠ° 1Π‘ Π² ΠΌΠΈΡΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²ΡΡΠ²ΠΈΠΌ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅ΠΌ Π²Π°ΠΌ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΡΡΠ»ΠΈΡΡ Π² ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ΅ 1Π‘. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π±ΡΡΡΡΠ΅Π΅ ΠΎΡΠ²ΠΎΠΈΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌ ΠΈΠ· ΡΠΌΠ΅ΠΆΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠΈΠΏΠΈΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ΅ ΠΎΠΏΡΡΠ°.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΠ΄ΡΡΠ²ΠΎ: 1Π‘ ΠΈ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ Pascal/BASIC
ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²Π·Π³Π»ΡΠ΄Π΅ Π½Π° ΠΊΠΎΠ΄ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠΎΡΠΌΡ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠ΅, ΠΎΠΏΡΡΠ½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΡΡΠ°Π·Ρ Π·Π°ΠΌΠ΅ΡΠΈΡ ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠ΅ ΡΡ
ΠΎΠ΄ΡΡΠ²ΠΎ Ρ ΡΠ·ΡΠΊΠ°ΠΌΠΈ Pascal ΠΈ Visual Basic. ΠΡΠΎ Π½Π΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ 1Π‘ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΡΡ Ρ ΡΠΏΠΎΡΠΎΠΌ Π½Π° ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎΡΡΡ Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ², Π½Π΅ ΠΈΠΌΠ΅ΡΡΠΈΡ
Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ Π±ΡΠΊΠ³ΡΠ°ΡΠ½Π΄Π° Π² Computer Science. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΡΠΊΠΈΡ
ΠΊΠ»ΡΡΠ΅Π²ΡΡ
ΡΠ»ΠΎΠ², ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΠΡΠ»ΠΈ, Π’ΠΎΠ³Π΄Π°, ΠΠΎΠ½Π΅ΡΠΡΠ»ΠΈ, Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ΄ ΡΠ°ΠΌΠΎΠ΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌΡΠΌ Π΄Π»Ρ Π½ΠΎΡΠΈΡΠ΅Π»Π΅ΠΉ ΡΠ·ΡΠΊΠ°, Π½ΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΎΡΡΠ°Π΅ΡΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ C++ ΠΈΠ»ΠΈ JavaScript, Π³Π΄Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΠΏΠ΅ΡΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΠ·ΡΠΊ 1Π‘ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ²Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ (Ρ ΠΎΡΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ) ΠΈ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ². ΠΡΠΎ ΡΠΎΠ΄Π½ΠΈΡ Π΅Π³ΠΎ Ρ Delphi ΠΈΠ»ΠΈ ΡΡΠ°ΡΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ VB. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² 1Π‘ Π½Π΅ ΡΡΠ΅Π±ΡΡΡ ΠΆΠ΅ΡΡΠΊΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠΈΠΏΠ° ΠΏΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ, ΡΡΠΎ ΡΠ±Π»ΠΈΠΆΠ°Π΅Ρ ΡΠ·ΡΠΊ Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ, Π½ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΈΠΏΠΎΠ² Π²Π½ΡΡΡΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΡΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π²Π½Π΅ΡΠ½Π΅Π΅ ΡΡ ΠΎΠ΄ΡΡΠ²ΠΎ Ρ Pascal, Π² 1Π‘ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΠΏΡΡΠΌΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠ°ΠΌΡΡΡΡ. ΠΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΡΠ±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΌΡΡΠΎΡΠ°, Π° Π΄ΠΎΡΡΡΠΏ ΠΊ Π΄Π°Π½Π½ΡΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π· ΡΡΡΠ»ΠΊΠΈ ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ΅Π»ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΡΠ΅ΡΠΊΠ°ΠΌΠΈ ΠΏΠ°ΠΌΡΡΠΈ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΡ ΡΡ ΠΎΠΆΠ΅ΡΡΡ Π²ΠΎΠΎΡΠΈΡ. Π‘ΡΡΡΠΊΡΡΡΠ° Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ Π² Pascal, Π½ΠΎ Ρ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²:
ΠΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡΠΠ°Π½Π½ΡΠ΅(ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ1, ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ2 = ΠΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ) ΠΠΊΡΠΏΠΎΡΡ
ΠΡΠ»ΠΈ ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ2 = ΠΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π’ΠΎΠ³Π΄Π°
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ2 = 0;
ΠΠΎΠ½Π΅ΡΠΡΠ»ΠΈ;
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ = ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ1 + ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ2;
ΠΠΎΠ·Π²ΡΠ°Ρ Π Π΅Π·ΡΠ»ΡΡΠ°Ρ;
ΠΠΎΠ½Π΅ΡΠΡΠΎΡΠ΅Π΄ΡΡΡ
Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΠΏΠΈΡΠ°ΡΡ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΡ, Π½Π΅ ΠΎΡΠ²Π»Π΅ΠΊΠ°ΡΡΡ Π½Π° Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ, ΠΏΡΠΈΠ²ΡΠΊΡΠΈΠΌ ΠΊ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΠΎΡΡΠΈ Python ΠΈΠ»ΠΈ Go, ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ 1Π‘ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π½ΡΠΌ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΡΠ° "Π±ΠΎΠ»ΡΠ»ΠΈΠ²ΠΎΡΡΡ" ΠΊΠΎΠ΄Π° ΡΠ°ΡΡΠΎ ΡΠΏΠ°ΡΠ°Π΅Ρ ΠΏΡΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ, Π³Π΄Π΅ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠ»Π³ΠΎΠ΄Π° Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π΅Π»Π°Π»Π° ΡΠ° ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ.
Π Π°Π±ΠΎΡΠ° Ρ Π΄Π°Π½Π½ΡΠΌΠΈ: 1Π‘ ΠΊΠ°ΠΊ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ SQL ΠΈ ORM
ΠΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΎ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, ΡΠΎ ΡΠ·ΡΠΊ 1Π‘ Π±Π»ΠΈΠΆΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΊ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ SQL ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π° (ORM), ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π² ΡΠ°ΠΊΠΈΡ
ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°Ρ
, ΠΊΠ°ΠΊ Entity Framework Π΄Π»Ρ .NET ΠΈΠ»ΠΈ Hibernate Π΄Π»Ρ Java. ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ·ΡΠΊ Π·Π°ΠΏΡΠΎΡΠΎΠ² 1Π‘ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΡΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ΅Π½ ΡΡΠ°Π½Π΄Π°ΡΡΡ SQL-92, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
Π»Π΅Π³ΠΊΠΎ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡΡΡ. ΠΡ ΠΏΠΈΡΠ΅ΡΠ΅ ΠΠ«ΠΠ ΠΠ’Π¬, ΠΠ, ΠΠΠ, Π‘ΠΠΠΠΠΠΠΠΠ, ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΡΡΠ°Π½ΡΠ»ΠΈΡΡΠ΅Ρ ΡΡΠΎ Π² ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π·Π°ΠΏΡΠΎΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π‘Π£ΠΠ.
ΠΠ΄Π½Π°ΠΊΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ 1Π‘ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π·Π°ΠΏΡΠΎΡΠ° β ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ Π½Π°Π±ΠΎΡ ΡΡΡΠΎΠΊ, Π° ΠΎΠ±ΡΠ΅ΠΊΡ Π’Π°Π±Π»ΠΈΡΠ°ΠΠ½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΡΠ±ΠΎΡΠΊΠ°, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΎ ΡΠ½ΠΈΠΌΠ°Π΅Ρ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΠΈΡΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π° ΡΡΡΠΎΠΊ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ ΡΠ΄ΠΎΠ±Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠΎΠ»ΡΠΌ ΡΠ΅ΡΠ΅Π· ΡΠΎΡΠ΅ΡΠ½ΡΡ Π½ΠΎΡΠ°ΡΠΈΡ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π² C# ΠΈΠ»ΠΈ JavaScript.
ΠΠ»Ρ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡΠΈ ΡΡΠ°Π²Π½ΠΈΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ ΠΊ Π²ΡΠ±ΠΎΡΠΊΠ΅ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°Π·Π½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡ . Π ΡΠ°Π±Π»ΠΈΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ:
| ΠΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ | 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ | SQL + ORM (C#/Java) | Π§ΠΈΡΡΡΠΉ SQL |
|---|---|---|---|
| ΠΡΠ±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ | ΠΠ±ΡΠ΅ΠΊΡ "ΠΡΠ±ΠΎΡΠΊΠ°" | IEnumerator / Cursor | Result Set |
| Π‘ΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ | Π’Π°Π±Π»ΠΈΡΠ°ΠΠ½Π°ΡΠ΅Π½ΠΈΠΉ | List<T> / ArrayList | ΠΠ°ΡΡΠΈΠ² ΡΡΡΠΎΠΊ |
| Π€ΠΈΠ»ΡΡΡΠ°ΡΠΈΡ | ΠΠ΅ΡΠΎΠ΄ .Π€ΠΈΠ»ΡΡΡ() ΠΈΠ»ΠΈ ΠΠ°ΠΏΡΠΎΡ | LINQ / Stream API | WHERE clause |
| Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ | ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½ΡΡ | Transaction Scope | BEGIN TRAN / COMMIT |
ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ 1Π‘ Π±Π΅ΡΠ΅Ρ Π½Π° ΡΠ΅Π±Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΠΌΠΈ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠ»Π»ΠΈΠ½Π³ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠ΅Π΄ΠΊΠΎ Π·Π°Π΄ΡΠΌΡΠ²Π°Π΅ΡΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΠ·ΡΠΊ ΠΏΠΎΡ ΠΎΠΆΠΈΠΌ Π½Π° Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ Π² Python Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΠΈΠΏΠ° SQLAlchemy, Π³Π΄Π΅ ΡΠΎΠΊΡΡ ΡΠΌΠ΅ΡΠ΅Π½ Π½Π° Π»ΠΎΠ³ΠΈΠΊΡ, Π° Π½Π΅ Π½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ.
ΠΠ±ΡΠ΅ΠΊΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈ ΡΠΎΠ±ΡΡΠΈΠΉΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°
ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ 1Π‘ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠΎΠ΄ .NET Windows Forms ΠΈΠ»ΠΈ WPF, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ±ΡΡΠΈΡ Π² JavaScript Π΄Π»Ρ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². ΠΡΡ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΡΡΠΎΠΈΡΡΡ Π²ΠΎΠΊΡΡΠ³ ΡΠΎΠ±ΡΡΠΈΠΉ: ΠΡΠΈΠ‘ΠΎΠ·Π΄Π°Π½ΠΈΠΈΠΠ°Π‘Π΅ΡΠ²Π΅ΡΠ΅, ΠΡΠΈΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ, ΠΡΠΈΠΠ°ΠΆΠ°ΡΠΈΠΈ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π΅ ΠΏΠΈΡΠ΅Ρ Π³Π»Π°Π²Π½ΡΠΉ ΡΠΈΠΊΠ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (main loop), Π° ΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ, Π·Π°ΠΏΠΎΠ»Π½ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΊΠΎΠ΄ΠΎΠΌ.
ΠΠ±ΡΠ΅ΠΊΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ 1Π‘ ΡΡΡΠΎΠ³ΠΎ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΠ½Π° ΠΈ ΠΌΠ΅ΡΠ°-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π°. Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΈ, ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ, Π Π΅Π³ΠΈΡΡΡΡ β ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠ°Π±Π»ΠΈΡΡ, Π° ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Ρ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ, ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ . ΠΡΠΎ ΡΡ ΠΎΠ΄Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π² Django (Python) ΠΈΠ»ΠΈ Laravel (PHP) ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½ΡΡ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π½ΠΎ Π² 1Π‘ ΡΡΠ° ΡΠ²ΡΠ·Ρ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΡΠ½Π°Ρ ΠΈ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½Π°Ρ.
- π§© Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ-ΡΠ»ΠΎΠ²Π°ΡΡΠΌ ΠΈΠ»ΠΈ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΡΠΌ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ Π² ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΠ, Π½ΠΎ ΠΈΠΌΠ΅ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΈ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΡ.
- π ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ΅ΠΏΠΎΡΠΊΡ ΡΠΎΠ±ΡΡΠΈΠΉ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΠΌ.
- π Π Π΅Π³ΠΈΡΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ ΠΊΡΠ±Ρ OLAP ΠΈΠ»ΠΈ Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π·Π° Π΄Π°Π½Π½ΡΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π΄Π°ΡΡ.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΡΡ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΡΠ°ΡΡΡ. ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ &ΠΠ°ΠΠ»ΠΈΠ΅Π½ΡΠ΅ ΠΈ &ΠΠ°Π‘Π΅ΡΠ²Π΅ΡΠ΅ ΠΆΠ΅ΡΡΠΊΠΎ ΡΠ΅Π³Π»Π°ΠΌΠ΅Π½ΡΠΈΡΡΡΡ, Π³Π΄Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ΄. ΠΡΠΎ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Frontend ΠΈ Backend Π² Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, Π½ΠΎ Ρ ΡΠΎΠΉ ΡΠ°Π·Π½ΠΈΡΠ΅ΠΉ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°ΠΌΠΈ (ΡΠ΅ΡΠ²Π΅Ρ-ΠΊΠ»ΠΈΠ΅Π½Ρ) Π² 1Π‘ ΡΠ²Π½ΡΠΉ ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²ΡΠ·ΠΎΠ² ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈΠ· ΠΊΠ»ΠΈΠ΅Π½ΡΠ° β ΡΡΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ Π·Π°ΠΏΡΠΎΡ.
ΠΠΏΠ°ΡΠ½ΠΎΡΡΡ Π½Π΅ΡΠ²Π½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΠ΅ΡΠ²Π΅ΡΠ°
ΠΡΠ»ΠΈ Π² ΡΠΈΠΊΠ»Π΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ Π²ΡΠ·Π²Π°ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ N+1 ΡΠ΅ΡΠ΅Π²ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΡΠΎ ΠΊΠ°ΡΠ°ΡΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΠΎΡΠΌΡ. ΠΡΠ΅Π³Π΄Π° ΡΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΌΠ°ΡΡΠΈΠ²Ρ Π΄Π°Π½Π½ΡΡ ΠΎΠ΄Π½ΠΈΠΌ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ.
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΠΌΠΈ ΡΠ·ΡΠΊΠ°ΠΌΠΈ: Python ΠΈ JavaScript
Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΈ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, 1Π‘ ΡΠ°ΡΡΠΎ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ Ρ Python. ΠΠ±Π° ΡΠ·ΡΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π±ΡΡΡΡΠΎ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π½Π΅ ΡΡΠ°ΡΡ Π²ΡΠ΅ΠΌΡ Π½Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΈ ΡΡΡΠΎΠ³ΠΈΡ ΡΠΈΠΏΠΎΠ² (Ρ ΠΎΡΡ Π² 1Π‘ Π΅ΡΡΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ ΡΠΈΠΏΠΎΠ², ΠΎΠ½ΠΈ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ). ΠΠΈΠ±ΠΊΠΎΡΡΡ ΡΠ·ΡΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Ρ ΡΠ°Π·Π½ΠΎΡΠΎΠ΄Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, ΡΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠ΅Π½Π½ΠΎ Π² Π·Π°Π΄Π°ΡΠ°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΡΠ΅ΡΠΎΠ².
Π ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΌΠΈΡΠ΅ 1Π‘ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ, ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ Π½Π° JSON ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ REST API, ΡΡΠΎ ΡΠ±Π»ΠΈΠΆΠ°Π΅Ρ Π΅Ρ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ Ρ Node.js ΠΈΠ»ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ PHP-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°ΠΌΠΈ. ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ°Π±ΠΎΡΡ Ρ HTTP-ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ, ΠΏΠ°ΡΡΠΈΠ½Π³Π° JSON ΠΈ XML Π΄Π΅Π»Π°ΡΡ 1Π‘ ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΠ½, Π²ΡΡΡΡΠΏΠ°Ρ Π² ΡΠΎΠ»ΠΈ "ΠΊΠ»Π΅Ρ" ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΡΠ΅ΡΠ½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ.
ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΡΡ ΠΈ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ JavaScript, Π³Π΄Π΅ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ (Event Loop), Π² 1Π‘ ΠΏΡΠ΅ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. Π₯ΠΎΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΡΠΎΠ½ΠΎΠ²ΡΡ Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ, ΠΎΠ½ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΈΠ½Π°ΡΠ΅ ΠΈ ΡΡΠ΅Π±ΡΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° ΡΠ΅Π³Π»Π°ΠΌΠ΅Π½ΡΠ½ΡΡ Π·Π°Π΄Π°Π½ΠΈΠΉ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΌΡΡΠ»Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° 1Π‘ Π±ΠΎΠ»Π΅Π΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΌ, ΠΏΠΎΡ ΠΎΠΆΠΈΠΌ Π½Π° ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΊΡΠΈΠΏΡΠΈΠ½Π³ Π² Bash ΠΈΠ»ΠΈ PowerShell, Π½ΠΎ Ρ ΠΌΠΎΡΠ½ΠΎΠΉ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Ρ HTTP/JSON ΠΌΠΎΠ³ΡΡ ΡΠ°ΡΡΠΈΡΡΡΡΡΡ Ρ Π²ΡΡ ΠΎΠ΄ΠΎΠΌ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. ΠΡΠ΅Π³Π΄Π° ΡΠ²Π΅ΡΡΠΉΡΠ΅ΡΡ Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ-ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠΎΠΌ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ 1Π‘, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΌΠΎΠ³ΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π² ΡΠ΅Π»ΠΈΠ·Π°Ρ 8.3.10 ΠΈ 8.3.25.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ "JSONWriter" ΠΈ "JSONReader" Π΄Π»Ρ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊ. ΠΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΏΠ΅ΡΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ.
Π‘ΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΉ, ΡΠ·ΡΠΊ 1Π‘ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ, Π½Π΅ ΠΈΠΌΠ΅ΡΡΠΈΠΌΠΈ ΠΏΡΡΠΌΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ² Π² ΠΌΠ°ΡΡΠΎΠ²ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π Π΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ΅ ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ. ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π² 1Π‘ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ Π·Π°ΠΏΠΈΡΠΈ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², ΡΡΠΎ Π² ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΠ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΡΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ΅ΡΡΠΈΠΌΠΈΡΡΠΈΡΠ½ΡΡ ΠΈΠ»ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΡΡΠΈΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ.
ΠΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΡΠ΅Π·Ρ Π΄Π°Π½Π½ΡΡ (ΠΎΡΡΠ°ΡΠΊΠΈ, ΠΎΠ±ΠΎΡΠΎΡΡ) Π½Π° Π»ΡΠ±ΡΡ Π΄Π°ΡΡ ΠΎΠ΄Π½ΠΈΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠΌ, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΈΡΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΡ. ΠΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ (Views) Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , Π½ΠΎ ΡΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ Π΄Π²ΠΈΠΆΠΊΠΎΠΌ 1Π‘ Ρ ΡΡΠ΅ΡΠΎΠΌ Π²ΡΠ΅ΠΉ ΠΈΡΡΠΎΡΠΈΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ. Π’Π°ΠΊΠ°Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ ΠΊΠ°ΡΠ΄ΠΈΠ½Π°Π»ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΡΡΠ΅ΡΠΎΠ².
Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΠ±ΠΌΠ΅Π½ΠΎΠ² Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ»Π°Π½ΠΎΠ² ΠΎΠ±ΠΌΠ΅Π½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ (Π ΠΠ) ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π±Π΅Π· Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΠΏΡΠΎΡΡΠΎ Π½Π°ΡΡΡΠΎΠΈΠ² ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ. Π ΠΌΠΈΡΠ΅ SQL ΠΈΠ»ΠΈ NoSQL ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ°ΡΡΠ΅Ρ-ΠΌΠ°ΡΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΠ΅Ρ-ΡΠ»Π΅ΠΉΠ² ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² β ΡΡΠΎ Π·Π°Π΄Π°ΡΠ° Π΄Π»Ρ Π²ΡΡΠΎΠΊΠΎΠΊΠ²Π°Π»ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ DBA ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΎΡΠΎΠ², ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² 1Π‘ ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π».
- π ΠΠ»Π°Π½Ρ Π²ΠΈΠ΄ΠΎΠ² Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ , ΡΡΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ EAV-ΠΌΠΎΠ΄Π΅Π»ΠΈ (Entity-Attribute-Value) Π² ΠΠ, Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±ΡΡΡΡΠ΅Π΅ ΠΈ ΡΠ΄ΠΎΠ±Π½Π΅Π΅.
- π ΠΠΎΠ»Π½ΠΎΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΠΏΠΎΠΈΡΠΊ Π²ΡΡΡΠΎΠ΅Π½ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΡΠ΅Ρ Π²ΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌ Π΄Π°Π½Π½ΡΡ Π±Π΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ Π΄Π²ΠΈΠΆΠΊΠΎΠ² Π²ΡΠΎΠ΄Π΅ ElasticSearch.
- π‘οΈ RLS (Record Level Security) Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΡΡΠΎΠΊ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΡΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π² PostgreSQL.
ΠΡΠΈΡ ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°: ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΡΡΠ΅Π΄
ΠΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°, ΠΏΡΠΈΡ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΈΠ· ΠΌΠΈΡΠ° C++ ΠΈΠ»ΠΈ System Programming, 1Π‘ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ "ΠΈΠ³ΡΡΡΠ΅ΡΠ½ΠΎΠΉ" ΠΈΠ·-Π·Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ ΠΈ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ 1Π‘ Π»Π΅ΠΆΠΈΡ Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ β Π² ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ (Π±ΡΡ Π³Π°Π»ΡΠ΅ΡΠΈΡ, Π»ΠΎΠ³ΠΈΡΡΠΈΠΊΠ°, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ) ΠΈ Π² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΊΠ°ΠΊ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΡ. ΠΠ΄Π΅ΡΡ Π²Π°ΠΆΠ½Π΅Π΅ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π·Π°ΠΏΠΈΡΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ², ΡΠ΅ΠΌ ΡΠΌΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°ΡΡ Π±ΡΡΡΡΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈΠ· Π²Π΅Π±Π° (PHP, Python, JS) ΡΠ°ΡΡΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²ΡΠΊΠ½ΡΡΡ ΠΊ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΆΠ΅ΡΡΠΊΠΎΠΉ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ 1Π‘. Π Π²Π΅Π±Π΅ Stateless-ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΎΡΠΌΠΎΠΉ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ 1Π‘ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ΅ΡΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΎΡΡΠ΅ΡΠΎΠ² ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎΡΠΌ. ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΡΠΎΡΠΌΡ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ β ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ Π½Π°Π²ΡΠΊ Π΄Π»Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ.
βοΈ ΠΠΎΡΠΎΠ²Π½ΠΎΡΡΡ ΠΊ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ Π½Π° 1Π‘
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π½Π° C# (ΡΠ΅ΡΠ΅Π· COM ΠΈΠ»ΠΈ native API) ΠΈ Π΄Π°ΠΆΠ΅ ΡΠ°ΡΡΠΈΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python-ΡΠΊΡΠΈΠΏΡΠΎΠ² Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ . ΠΡΠΎ ΡΡΠΈΡΠ°Π΅Ρ Π³ΡΠ°Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ 1Π‘ ΠΈ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΌΠΈΡΠΎΠΌ IT, Π΄Π΅Π»Π°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ° ΠΏΠΎ 1Π‘ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΌ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΠΎΡΠΎΠΌ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ.
Π―Π·ΡΠΊ 1Π‘ β ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ, Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ DSL (Domain Specific Language) Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π±ΠΈΠ·Π½Π΅ΡΠ°, ΡΠΎΡΠ΅ΡΠ°ΡΡΠΈΠΉ ΠΌΠΎΡΡ SQL, Π³ΠΈΠ±ΠΊΠΎΡΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈ ΡΡΡΠΎΠ³ΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ 1Π‘ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π΅ ΡΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ³Ρ ΠΈΠ»ΠΈ ΡΠ°ΠΉΡΠΎΠ²?
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈ Π»ΠΎΠ³ΠΈΠΊΡ, Π½ΠΎ ΡΡΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ. 1Π‘ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ ΠΈ ΠΎΡΡΠ΅ΡΠ°ΠΌΠΈ. ΠΠ»Ρ ΠΈΠ³Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Unity/Unreal, Π° Π΄Π»Ρ ΡΠ°ΠΉΡΠΎΠ² β ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ CMS ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π΄ΡΡ Π»ΡΡΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ SEO.
ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠΈΡΡ 1Π‘ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π½Π° Python?
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π·Π°ΠΉΠΌΠ΅Ρ ΠΏΠ°ΡΡ Π΄Π½Π΅ΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΠΎΡ ΠΎΠΆΠ°. ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ (Π±ΡΡ Π³Π°Π»ΡΠ΅ΡΠΈΡ, ΠΊΠ°Π΄ΡΡ) ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Ρ Π² Python.
Π―Π²Π»ΡΠ΅ΡΡΡ Π»ΠΈ 1Π‘ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΠΈΠ»ΠΈ Π΅ΡΡΡ ΠΎΡΠΊΡΡΡΡΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈ?
Π―Π·ΡΠΊ 1Π‘ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΡΠΌ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΡΠ΅Π΄Π΅ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅. ΠΠΎΠ»Π½ΡΡ ΠΎΡΠΊΡΡΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ² Ρ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ Π³ΠΎΡΠΎΠ²ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Π±ΠΈΠ·Π½Π΅ΡΠ° Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Ρ ΠΎΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½Ρ ΠΈΠ· xBase ΠΈ SQL.
ΠΠΎΡΠ΅ΠΌΡ Π² 1Π‘ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΡΡΠΊΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΡΡΠΎ Π½Π΅ ΡΡΡΠ°ΡΠ΅Π»ΠΎ?
Π ΡΡΡΠΊΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Π²Ρ ΠΎΠ΄Π° Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ (Π±ΡΡ Π³Π°Π»ΡΠ΅ΡΠΎΠ², ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡΠΎΠ²), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠΈΡΠ°ΡΡ ΠΈ ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΠΏΠΎΡΠΎΠ³ Π²Ρ ΠΎΠ΄Π° Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΠ° ΡΡΡΠ΄Π°.
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ Π² 1Π‘ ΠΏΠΈΡΠ°ΡΡ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅?
Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π΄Π»Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠ»ΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, If/Then Π²ΠΌΠ΅ΡΡΠΎ ΠΡΠ»ΠΈ/Π’ΠΎΠ³Π΄Π°), ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π²ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Ρ Π½Π° ΡΡΡΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ.