Backend
Kanalga Telegramβda oβtish
Π‘Π°ΠΉΡ: https://easyoffer.ru/ ΠΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ: t.me/+xGeAw6ckJ4liYzQy ΠΠΎΠ½ΡΠ°ΠΊΡ Π΄Π»Ρ ΡΠ΅ΠΊΠ»Π°ΠΌΡ: @easyoffer_adv
Ko'proq ko'rsatish3 790
Obunachilar
-124 soatlar
-87 kunlar
-2430 kunlar
Ma'lumot yuklanmoqda...
O'xshash kanallar
Taglar buluti
Kirish va chiqish esdaliklari
---
---
---
---
---
---
Obunachilarni jalb qilish
Avgust '26
Avgust '26
+9
0 kanalda
Iyul '26
+16
0 kanalda
Get PRO
Iyun '26
+18
1 kanalda
Get PRO
May '26
+15
0 kanalda
Get PRO
Aprel '26
+27
0 kanalda
Get PRO
Mart '26
+40
0 kanalda
Get PRO
Fevral '26
+29
0 kanalda
Get PRO
Yanvar '26
+44
0 kanalda
Get PRO
Dekabr '25
+30
0 kanalda
Get PRO
Noyabr '25
+55
0 kanalda
Get PRO
Oktabr '25
+35
0 kanalda
Get PRO
Sentabr '25
+35
0 kanalda
Get PRO
Avgust '25
+35
0 kanalda
Get PRO
Iyul '25
+57
1 kanalda
Get PRO
Iyun '25
+30
0 kanalda
Get PRO
May '25
+97
45 kanalda
Get PRO
Aprel '25
+83
0 kanalda
Get PRO
Mart '25
+78
3 kanalda
Get PRO
Fevral '25
+80
0 kanalda
Get PRO
Yanvar '25
+139
53 kanalda
Get PRO
Dekabr '24
+77
0 kanalda
Get PRO
Noyabr '24
+106
0 kanalda
Get PRO
Oktabr '24
+189
1 kanalda
Get PRO
Sentabr '24
+68
25 kanalda
Get PRO
Avgust '24
+94
35 kanalda
Get PRO
Iyul '24
+4 066
0 kanalda
| Sana | Obunachilarni jalb qilish | Esdaliklar | Kanallar | |
| 27 Avgust | 0 | |||
| 26 Avgust | 0 | |||
| 25 Avgust | 0 | |||
| 24 Avgust | +1 | |||
| 23 Avgust | +1 | |||
| 22 Avgust | 0 | |||
| 21 Avgust | 0 | |||
| 20 Avgust | 0 | |||
| 19 Avgust | 0 | |||
| 18 Avgust | 0 | |||
| 17 Avgust | 0 | |||
| 16 Avgust | 0 | |||
| 15 Avgust | 0 | |||
| 14 Avgust | +1 | |||
| 13 Avgust | 0 | |||
| 12 Avgust | +1 | |||
| 11 Avgust | 0 | |||
| 10 Avgust | +1 | |||
| 09 Avgust | +1 | |||
| 08 Avgust | +1 | |||
| 07 Avgust | 0 | |||
| 06 Avgust | 0 | |||
| 05 Avgust | +1 | |||
| 04 Avgust | 0 | |||
| 03 Avgust | +1 | |||
| 02 Avgust | 0 | |||
| 01 Avgust | 0 |
Kanal postlari
π€ Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Docker?
Docker - ΡΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ, ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΡΠ΅Π΄Π°Ρ
, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ
ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ.
π©ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Docker
π Docker Engine
ΠΡΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΠΠ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ. Π‘ΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ
ΡΠ°ΡΡΠ΅ΠΉ:
Docker Daemon: Π‘Π»ΡΠΆΠ±Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅ΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Docker (ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ, ΠΎΠ±ΡΠ°Π·Π°ΠΌΠΈ ΠΈ Ρ.Π΄.).
Docker CLI: ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ°, ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Ρ Docker Daemon.
π ΠΠ±ΡΠ°Π·Ρ (Images)
ΠΡΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². ΠΠ±ΡΠ°Π· Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΠΊΡΠΈΠΏΡΡ ΠΈ ΠΊΠΎΠ΄, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΉ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
π ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ (Containers)
ΠΡΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ
Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π²ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
π Docker Hub
ΠΡΠΎ ΠΎΠ±Π»Π°ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Docker-ΠΎΠ±ΡΠ°Π·ΠΎΠ². Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠ²ΠΎΠΈ ΠΎΠ±ΡΠ°Π·Ρ Π² Docker Hub ΠΈ Π΄Π΅Π»ΠΈΡΡΡΡ ΠΈΠΌΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ.
π Docker Compose
ΠΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΠΌΠΈ Docker-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΉΠ»Π°
docker-compose.yml ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π²ΡΠ΅Ρ
ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΡΠ΅ΡΠ΅ΠΉ ΠΈ ΡΠΎΠΌΠΎΠ², Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
π©ΠΠ»ΡΡΡ
βΠΠ·ΠΎΠ»ΡΡΠΈΡ
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅, ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ.
βΠΠΎΡΡΠ°ΡΠΈΠ²Π½ΠΎΡΡΡ
ΠΠ±ΡΠ°Π·Ρ Docker ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌ Docker, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
βΠΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ
ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ.
βΠΡΡΡΡΠΎΠ΅ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΠ΅
ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ.
βΠ£ΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ CI/CD
Docker ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅ΡΡΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΈ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ, ΡΠΏΡΠΎΡΠ°Ρ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ.
π©ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
docker build: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π·Π° ΠΈΠ· Dockerfile.
docker run: ΠΠ°ΠΏΡΡΠΊ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΈΠ· ΠΎΠ±ΡΠ°Π·Π°.
docker ps: Π‘ΠΏΠΈΡΠΎΠΊ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ
ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ².
docker stop: ΠΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
docker rm: Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
docker pull: ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΎΠ±ΡΠ°Π·Π° ΠΈΠ· Docker Hub.
docker push: ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΎΠ±ΡΠ°Π·Π° Π² Docker Hub.
Π‘ΡΠ°Π²Ρ π ΠΈ Π·Π°Π±ΠΈΡΠ°ΠΉ π ΠΠ°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ| 2 | π€ Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ singleton?
ΠΡΠΎ ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡΠΈΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ Ρ ΠΊΠ»Π°ΡΡΠ° Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ, ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΡΠΎΡΠΊΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΠΎΠΌΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ. ΠΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π³Π΄Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ Π΄ΠΎΡΡΡΠΏ Π±ΡΠ» ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΌ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΡΠΌ.
π©Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
π ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ
ΠΠ»Π°ΡΡ Singleton ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΈΠΏΠ° ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ².
π ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ°
Singleton ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠ΅ΡΠ΅Π· ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ°.
π©Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Python
class Singleton:
_instance = None
def __new__(cls, *args, **kwargs):
if not cls._instance:
cls._instance = super(Singleton, cls).__new__(cls, *args, **kwargs)
return cls._instance
# ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
singleton1 = Singleton()
singleton2 = Singleton()
print(singleton1 is singleton2) # True
π©Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Java
public class Singleton {
private static Singleton instance;
private Singleton() {
// ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π²Π½Π΅ ΠΊΠ»Π°ΡΡΠ°
}
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
// ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
Singleton singleton1 = Singleton.getInstance();
Singleton singleton2 = Singleton.getInstance();
System.out.println(singleton1 == singleton2); // True
Π‘ΡΠ°Π²Ρ π ΠΈ Π·Π°Π±ΠΈΡΠ°ΠΉ π ΠΠ°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ | 114 |
| 3 | ΠΠΎΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΉ PRO Π΄ΠΎΡΡΡΠΏ Π½Π° easyoffer β ΠΏΠΎ ΡΠ΅Π½Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π°!
ΠΠΎ 2 ΡΠ΅Π½ΡΡΠ±ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΡΠΏΠΈΡΡ PRO Π½Π°Π²ΡΠ΅Π³Π΄Π°.
ΠΠΎΠΊΡΠΏΠ°Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· β ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡΡ Π²ΡΡ ΠΆΠΈΠ·Π½Ρ.
β ΠΠ°Π·Π° Π²ΠΎΠΏΡΠΎΡΠΎΠ² ΠΈ Π·Π°Π΄Π°Ρ ΠΈΠ· ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ
β ΠΡΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄Π΅ΠΎ-ΠΎΡΠ²Π΅ΡΠΎΠ² Π½Π° Π²ΠΎΠΏΡΠΎΡΡ
β ΠΠ°ΠΏΠΈΡΠΈ ΡΠ΅Π°Π»ΡΠ½ΡΡ
ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ
β Π’ΡΠ΅Π½Π°ΠΆΠ΅ΡΡ "ΠΡΠΎΡΠ°Π±ΠΎΡΠΊΠ° Π²ΠΎΠΏΡΠΎΡΠΎΠ²" ΠΈ "Π Π΅Π°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅"
β ΠΠ½Π°Π»ΠΈΡΠΈΠΊΠ° ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈΠ· Π²Π°ΠΊΠ°Π½ΡΠΈΠΉ
β ΠΠ²ΡΠΎΠΎΡΠΊΠ»ΠΈΠΊΠΈ Π½Π° Π²Π°ΠΊΠ°Π½ΡΠΈΠΈ
β ΠΠ³ΡΠ΅Π³Π°ΡΠΎΡ Π²Π°ΠΊΠ°Π½ΡΠΈΠΉ (ΡΠΊΠΎΡΠΎ)
π ΠΡΠΏΠΈΡΡ PRO ΡΠΎ ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ 70%: https://easyoffer.ru/pro | 128 |
| 4 | π€ Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ git-flow?
Git-flow β ΡΡΠΎ ΠΌΠΎΠ΄Π΅Π»Ρ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ Π² Git, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ ΠΠΈΠ½ΡΠ΅Π½ΡΠΎΠΌ ΠΡΠΈΡΡΠ΅Π½ΠΎΠΌ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΡΡΠΊΡΡΡΠΈΡΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ, ΡΠΏΡΠΎΡΠ°Π΅Ρ Π²ΡΠΏΡΡΠΊ Π²Π΅ΡΡΠΈΠΉ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
π©ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ git-flow
π ΠΡΠ½ΠΎΠ²Π½ΡΠ΅
master: ΠΡΠ° Π²Π΅ΡΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠ΅ ΠΈ Π³ΠΎΡΠΎΠ²ΡΠ΅ ΠΊ Π²ΡΠΏΡΡΠΊΡ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ Π² master Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠ΅Π»ΠΈΠ·Π½ΡΡ Π²Π΅ΡΡΠΈΡ.
develop: ΠΡΠ° Π²Π΅ΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π²ΡΠ΅Ρ
Π½ΠΎΠ²ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΎΠΊ. ΠΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΊ Π²ΡΠΏΡΡΠΊΡ ΠΊΠΎΠ΄, Π½ΠΎ Π΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ.
π ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅
feature: ΠΡΠΈ Π²Π΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½ΠΎΠ²ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ½ΠΈ ΠΎΡΠ²Π΅ΡΠ²Π»ΡΡΡΡΡ ΠΎΡ develop ΠΈ ΡΠ»ΠΈΠ²Π°ΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² develop ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, feature/Π½ΠΎΠ²Π°Ρ-ΡΡΠ½ΠΊΡΠΈΡ.
release: ΠΡΠΈ Π²Π΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΈΠ·Π°. ΠΠ½ΠΈ ΠΎΡΠ²Π΅ΡΠ²Π»ΡΡΡΡΡ ΠΎΡ develop, ΠΈ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ
Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΈΠ²Π°ΡΡΡΡ Π² master ΠΈ develop. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ release/1.0.0
hotfix: ΠΡΠΈ Π²Π΅ΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΡΠΎΡΠ½ΡΡ
ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ Π² ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. ΠΠ½ΠΈ ΠΎΡΠ²Π΅ΡΠ²Π»ΡΡΡΡΡ ΠΎΡ master ΠΈ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΠ»ΠΈΠ²Π°ΡΡΡΡ Π² master ΠΈ develop. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, hotfix/ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅-ΠΎΡΠΈΠ±ΠΊΠΈ.
π©ΠΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ:
π Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ:
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π²Π΅ΡΠΊΡ feature ΠΎΡ develop.
Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ.
Π‘Π»Π΅ΠΉΡΠ΅ feature Π²Π΅ΡΠΊΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² develop.
π ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ Π½ΠΎΠ²ΠΎΠΌΡ ΡΠ΅Π»ΠΈΠ·Ρ:
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π²Π΅ΡΠΊΡ release ΠΎΡ develop.
ΠΡΠΎΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²Π½Π΅ΡΠΈΡΠ΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
Π‘Π»Π΅ΠΉΡΠ΅ release Π²Π΅ΡΠΊΡ Π² master ΠΈ develop.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ΅Π³ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π½Π° master.
π Π‘ΡΠΎΡΠ½ΡΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ:
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π²Π΅ΡΠΊΡ hotfix ΠΎΡ master.
ΠΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
Π‘Π»Π΅ΠΉΡΠ΅ hotfix Π²Π΅ΡΠΊΡ Π² master ΠΈ develop.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ΅Π³ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π½Π° master.
π©ΠΠ»ΡΡΡ
π ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ: Π§Π΅ΡΠΊΠΎΠ΅ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΠΈ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ.
π ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°: ΠΠ΅Π³ΠΊΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΡ Π²Π΅ΡΠΎΠΊ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Π½Π°Π΄ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ.
π ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅Π»ΠΈΠ·ΠΎΠ²: ΠΠ±ΠΎΡΠΎΠ±Π»Π΅Π½Π½ΡΠ΅ Π²Π΅ΡΠΊΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΡΠ΅Π»ΠΈΠ·ΠΎΠ² ΠΈ ΡΡΠΎΡΠ½ΡΡ
ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΡΠΏΡΠΎΡΠ°ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΎΠ½Π½ΠΎΡΡΡΡ.
π©ΠΠΈΠ½ΡΡΡ:
π Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ: ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΡΠΌ Π΄Π»Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ.
π Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π΅: Π’ΡΠ΅Π±ΡΠ΅Ρ ΡΡΡΠΎΠ³ΠΎΠ³ΠΎ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΠΈ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π‘ΡΠ°Π²Ρ π ΠΈ Π·Π°Π±ΠΈΡΠ°ΠΉ π ΠΠ°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ | 136 |
| 5 | π€ ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π»Π΅Π³Π°ΡΠΈ-ΠΊΠΎΠ΄ΠΎΠΌ?
ΠΡΠΎ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ°ΡΠ΅Π», Π½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ»ΠΎΡ
ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½, ΡΠ»ΠΎΠΆΠ½ΡΠΌ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ, Π½Π΅ ΠΏΠΎΠΊΡΡΡΡΠΌ ΡΠ΅ΡΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π½Π° ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ
ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡ
. Π Π°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΊΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ β ΡΠ°ΡΡΠ°Ρ Π·Π°Π΄Π°ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΡΡΠ΅Π±ΡΡΡΠ°Ρ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π°.
π©ΠΡΠΎΠ±Π»Π΅ΠΌΡ Π»Π΅Π³Π°ΡΠΈ-ΠΊΠΎΠ΄Π°
π ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠ΅ΡΡΠΎΠ²
ΠΠ΅Π· ΡΠ΅ΡΡΠΎΠ² ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ.
π Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ
ΠΠ΅Π³Π°ΡΠΈ-ΠΊΠΎΠ΄ ΡΠ°ΡΡΠΎ ΠΏΠ»ΠΎΡ
ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ Π±Π΅Π· ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ².
π ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΎΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ
ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ
ΠΠ΅Π³Π°ΡΠΈ-ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠ²ΡΠ·Π°Π½ ΠΊ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°ΠΌ ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ.
π Π₯ΡΡΠΏΠΊΠΎΡΡΡ
ΠΠ°ΠΆΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ.
π ΠΠΎΠ»Π³ΠΈΠΉ ΡΠΈΠΊΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
ΠΠ·-Π·Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
π©Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Π»Π΅Π³Π°ΡΠΈ-ΠΊΠΎΠ΄ΠΎΠΌ
π ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΈΠ·ΡΡΠΈΡΠ΅ ΠΊΠΎΠ΄ ΠΈ Π΅Π³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅: ΠΡΠΎΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ "ΠΎΠΊΡΡΠΆΠ°ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°" (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΏΡΠΎΡΡΠΈΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ). ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΄Π΅Π±Π°Π³Π³Π΅ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠΈΠ²Π»Π΅ΠΊΠΈΡΠ΅ ΡΠΊΡΠΏΠ΅ΡΡΠΎΠ², Π·Π½Π°ΠΊΠΎΠΌΡΡ
Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ. ΠΠΎΡΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΡΡΡΡ, ΡΡΠΎΠ±Ρ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° Π½ΠΈΡ
.
π ΠΠΎΠΊΡΡΡΠΈΠ΅ ΡΠ΅ΡΡΠ°ΠΌΠΈ
ΠΠ΅ΡΠ΅Π΄ Π²Π½Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π°ΠΏΠΈΡΠΈΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ unit-ΡΠ΅ΡΡΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ΅ΡΡΡ: ΠΠ°ΡΠ½ΠΈΡΠ΅ Ρ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΎΠ½Π½ΡΡ
ΡΠ΅ΡΡΠΎΠ² Π΄Π»Ρ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ "Characterization Tests", ΡΡΠΎΠ±Ρ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, Π° Π½Π΅ ΠΊΠ°ΠΊ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΠΉΡΠ΅ ΠΏΠΎΠΊΡΡΡΠΈΠ΅ ΡΠ΅ΡΡΠ°ΠΌΠΈ.
π ΠΠΎΠ΄ΡΠ»ΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ°
ΠΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠ·ΠΎΠ»ΠΈΡΡΠΉΡΠ΅ ΡΡΠ°ΡΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΡ ΠΈΡ
Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° Π½ΠΎΠ²ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ "ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΡΠ²Π°" (Seam Technique) Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π»Π΅Π³Π°ΡΠΈ-ΠΊΠΎΠ΄ΠΎΠΌ: ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ ΡΠ»ΠΎΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΎΠ²ΡΠΌ ΠΈ ΡΡΠ°ΡΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΏΠΎΡΡΠ°ΠΏΠ½ΠΎ.
π Π Π΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³
Π Π°Π·Π΄Π΅Π»ΡΠΉΡΠ΅ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΠΊΠ»Π°ΡΡΡ Π½Π° ΠΌΠ΅Π»ΠΊΠΈΠ΅, Ρ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΉ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡΡ. ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎ. ΠΡΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ "Boy Scout Rule": ΠΎΡΡΠ°Π²Π»ΡΠΉΡΠ΅ ΠΊΠΎΠ΄ ΡΡΡΡ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ ΠΎΠ½ Π±ΡΠ».
π ΠΠ΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ
ΠΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π²ΡΠ΄Π΅Π»ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π² Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈΠ»ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ: ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ. Π Π΅Π°Π»ΠΈΠ·ΡΠΉΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π½Π΅ Π»Π΅Π³Π°ΡΠΈ-ΠΊΠΎΠ΄Π°, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΡ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
π ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
ΠΡΠ»ΠΈ Π»Π΅Π³Π°ΡΠΈ-ΠΊΠΎΠ΄ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈΠ»ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ², ΠΏΠΎΡΡΠ°ΠΏΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈΡ
: ΠΠ±Π½ΠΎΠ²Π»ΡΠΉΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΈΡ
Π²Π°ΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΡΡΠΎΠ²Π½Ρ ΡΠΈΡΠΊΠ°. Π’ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΡΡΠΈΡΡΠΉΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅.
π ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠ»ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΅Ρ: ΠΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ°ΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠΎΠ±Π°Π²Π»ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π² ΠΊΠΎΠ΄, ΠΎΠ±ΡΡΡΠ½ΡΡΡΠΈΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠ°.
π ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π°
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΊΠΎΠ΄Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, SonarQube, ReSharper) Π΄Π»Ρ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π°.
π©ΠΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π»Π΅Π³Π°ΡΠΈ-ΠΊΠΎΠ΄ΠΎΠΌ
ΠΠΎΠ»Π½ΡΠΉ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ "Ρ Π½ΡΠ»Ρ" Π±Π΅Π· ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π±ΠΈΠ·Π½Π΅ΡΠ° ΠΈ ΡΠ΅ΠΊΡΡΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΠ½Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π±Π΅Π· ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π»ΠΈΡΠ½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠ΅Π»ΠΎΠΌ.
Π‘ΡΠ°Π²Ρ π ΠΈ Π·Π°Π±ΠΈΡΠ°ΠΉ π ΠΠ°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ | 123 |
| 6 | π€ ΠΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ ΠΊΠΎΠ΄Ρ ΠΎΡΠ²Π΅ΡΠΎΠ² HTTP?
ΠΠΎΠ΄Ρ ΠΎΡΠ²Π΅ΡΠΎΠ² HTTP β ΡΡΠΎ ΡΡΠ΅Ρ
Π·Π½Π°ΡΠ½ΡΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΠΊΠΎΠ΄Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π·Π°ΠΏΡΠΎΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ. ΠΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΡΠ°ΡΠ·Π΅ΡΡ) ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΎΡΠ²Π΅Ρ. ΠΡΠ΅ ΠΊΠΎΠ΄Ρ Π΄Π΅Π»ΡΡΡΡ Π½Π° ΠΏΡΡΡ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ:
π 1xx: ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅
ΠΡΠΈ ΠΊΠΎΠ΄Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΡΡΠΎ Π·Π°ΠΏΡΠΎΡ Π±ΡΠ» ΠΏΠΎΠ»ΡΡΠ΅Π½, ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ.
100 Continue: ΠΠ»ΠΈΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ Π·Π°ΠΏΡΠΎΡ.
101 Switching Protocols: Π‘Π΅ΡΠ²Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
π 2xx: Π£ΡΠΏΠ΅Ρ
ΠΡΠΈ ΠΊΠΎΠ΄Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΡΠΏΠ΅ΡΠ½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠ°.
200 OK: ΠΠ°ΠΏΡΠΎΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½, ΠΈ ΡΠ΅ΡΠ²Π΅Ρ Π²Π΅ΡΠ½ΡΠ» Π½ΡΠΆΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
201 Created: ΠΠ°ΠΏΡΠΎΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½, ΠΈ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΡΡΡ.
202 Accepted: ΠΠ°ΠΏΡΠΎΡ ΠΏΡΠΈΠ½ΡΡ, Π½ΠΎ Π΅ΡΠ΅ Π½Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½.
204 No Content: ΠΠ°ΠΏΡΠΎΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½, Π½ΠΎ Π² ΠΎΡΠ²Π΅ΡΠ΅ Π½Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ.
π 3xx: ΠΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
ΠΡΠΈ ΠΊΠΎΠ΄Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π΄Π»Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ°.
301 Moved Permanently: Π Π΅ΡΡΡΡ Π±ΡΠ» ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ Π½Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΉ Π½ΠΎΠ²ΡΠΉ URL.
302 Found: Π Π΅ΡΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ Π΄ΡΡΠ³ΠΎΠΌΡ URL.
304 Not Modified: Π Π΅ΡΡΡΡ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
π 4xx: ΠΡΠΈΠ±ΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°
ΠΡΠΈ ΠΊΠΎΠ΄Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΎΡΠΈΠ±ΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΏΡΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠ°.
400 Bad Request: ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ ΠΈΠ·-Π·Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ.
401 Unauthorized: ΠΠ°ΠΏΡΠΎΡ ΡΡΠ΅Π±ΡΠ΅Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
403 Forbidden: Π£ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π½Π΅Ρ ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅ΡΡΡΡΡ.
404 Not Found: Π Π΅ΡΡΡΡ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½.
409 Conflict: ΠΠΎΠ½ΡΠ»ΠΈΠΊΡ Π·Π°ΠΏΡΠΎΡΠ° Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ ΡΠ΅ΡΡΡΡΠ°.
π 5xx: ΠΡΠΈΠ±ΠΊΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°
ΠΡΠΈ ΠΊΠΎΠ΄Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
500 Internal Server Error: ΠΠ½ΡΡΡΠ΅Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°.
501 Not Implemented: Π‘Π΅ΡΠ²Π΅Ρ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ°.
502 Bad Gateway: Π‘Π΅ΡΠ²Π΅Ρ ΠΏΠΎΠ»ΡΡΠΈΠ» Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ ΠΎΡ Π²ΡΡΠ΅ΡΡΠΎΡΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°.
503 Service Unavailable: Π‘Π΅ΡΠ²Π΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½.
Π‘ΡΠ°Π²Ρ π ΠΈ Π·Π°Π±ΠΈΡΠ°ΠΉ π ΠΠ°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ | 147 |
| 7 | π€ ΠΡΡΡ Π»ΠΈ Π΄ΠΈΠ°Π»Π΅ΠΊΡΡ Π² SQL?
ΠΠ°, Π² SQL Π΅ΡΡΡ Π΄ΠΈΠ°Π»Π΅ΠΊΡΡ. ΠΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠ·ΡΠΊ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
, Π½ΠΎ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
(Π‘Π£ΠΠ) ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΏΠΎ-ΡΠ²ΠΎΠ΅ΠΌΡ, Π΄ΠΎΠ±Π°Π²Π»ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ. ΠΡΠΈ Π²Π°ΡΠΈΠ°ΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π΄ΠΈΠ°Π»Π΅ΠΊΡΠ°ΠΌΠΈ SQL.
π©ΠΠΎΡΠ΅ΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π΄ΠΈΠ°Π»Π΅ΠΊΡΡ SQL?
π Π Π°Π·Π½ΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΡ SQL
Ρ
ΠΎΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΡ SQL (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, SQL-92, SQL:1999, SQL:2003, SQL:2011 ΠΈ Π΄ΡΡΠ³ΠΈΠ΅), Π½Π΅ Π²ΡΠ΅ Π‘Π£ΠΠ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΡ
ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΊΠ°ΠΆΠ΄Π°Ρ Π‘Π£ΠΠ Π°Π΄Π°ΠΏΡΠΈΡΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡ ΠΏΠΎΠ΄ ΡΠ²ΠΎΠΈ Π½ΡΠΆΠ΄Ρ.
π ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π‘Π£ΠΠ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»ΡΡΡΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅.
π ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ
ΠΊΠ°ΠΆΠ΄Π°Ρ Π‘Π£ΠΠ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
, ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ, ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ ΠΈ Ρ. Π΄.
π©ΠΡΠΈΠΌΠ΅ΡΡ Π΄ΠΈΠ°Π»Π΅ΠΊΡΠΎΠ² SQL
π MySQL SQL
ΠΈΠΌΠ΅Π΅Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ LIMIT Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΡΠΎΠΊ Π² Π·Π°ΠΏΡΠΎΡΠ΅ ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ UPSERT (INSERT ... ON DUPLICATE KEY UPDATE).
π PostgreSQL SQL
ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ JSON ΠΈ ΠΌΠ°ΡΡΠΈΠ²Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ.
π Microsoft SQL Server (T-SQL)
Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ DECLARE, BEGIN ... END, TRY ... CATCH ΠΈ Π΄ΡΡΠ³ΠΈΠ΅.
π Oracle SQL (PL/SQL)
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠΎΡΠ½ΡΠΉ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Ρ
ΡΠ°Π½ΠΈΠΌΡΡ
ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈ ΡΡΠΈΠ³Π³Π΅ΡΠΎΠ².
π SQLite SQL
ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡΠΈΡΠ½ΡΠΉ Π΄ΠΈΠ°Π»Π΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, Π½ΠΎ ΡΠ΄ΠΎΠ±Π΅Π½ Π΄Π»Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ
ΡΠ΅ΡΠ΅Π½ΠΈΠΉ.
π©ΠΠ°ΠΊ ΡΡΠΈΡΡΠ²Π°ΡΡ Π΄ΠΈΠ°Π»Π΅ΠΊΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅?
ΠΡΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΡΠ°Π·Π½ΡΡ
Π‘Π£ΠΠ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ SQL (ANSI SQL) ΠΈΠ»ΠΈ ORM (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, SQLAlchemy, Hibernate), ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΏΠΎΠ΄ Π½ΡΠΆΠ½ΡΠΉ Π΄ΠΈΠ°Π»Π΅ΠΊΡ. ΠΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π‘Π£ΠΠ Π²Π°ΠΆΠ½ΠΎ ΠΈΠ·ΡΡΠΈΡΡ Π΅Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡ SQL-ΠΊΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π΄ΠΈΠ°Π»Π΅ΠΊΡΠ°ΠΌΠΈ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½Π°.
Π‘ΡΠ°Π²Ρ π ΠΈ Π·Π°Π±ΠΈΡΠ°ΠΉ π ΠΠ°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ | 168 |
| 8 | π€ ΠΠ°ΠΊ ΡΠ·Π½Π°ΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Linux?
Π Linux Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ΅.
π `df` β ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π΄ΠΈΡΠΊΠ°Ρ
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΎΠ±ΡΠΈΠΉ ΠΎΠ±ΡΡΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ.
df -h
Π§ΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π½Π° ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΌ (/) ΡΠ°Π·Π΄Π΅Π»Π΅:
df -h /
ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ΠΌΠ΅ΡΡΠΎ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ Π΄ΠΈΡΠΊΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π·Π΄Π΅Π»Π΅:
df -h /dev/sda1
π `du` β ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ΅ΡΡΠ° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ
ΠΠΎΠΌΠ°Π½Π΄Π° du ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΡΠ° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ
du -sh /ΠΏΡΡΡ/ΠΊ/ΠΏΠ°ΠΏΠΊΠ΅
lsblk β ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π΄ΠΈΡΠΊΠ°Ρ
ΠΈ ΡΠ°Π·Π΄Π΅Π»Π°Ρ
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT
π `fdisk` ΠΈ `parted` β Π΄Π΅ΡΠ°Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°Ρ
ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² Π΄ΠΈΡΠΊΠ°
sudo fdisk -l
ΠΈΠ»ΠΈ
sudo parted -l
π `ncdu` β ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΏΡΠΎΡΠΌΠΎΡΡ Π·Π°Π½ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°
ΠΡΠ»ΠΈ du Π½Π΅ΡΠ΄ΠΎΠ±Π΅Π½, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ncdu:
sudo apt install ncdu # ΠΠ»Ρ Debian/Ubuntu
sudo yum install ncdu # ΠΠ»Ρ CentOS/RHEL
ncdu
Π‘ΡΠ°Π²Ρ π ΠΈ Π·Π°Π±ΠΈΡΠ°ΠΉ π ΠΠ°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ | 173 |
| 9 | π€ ΠΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ Π²ΠΈΠ΄Ρ join?
Π ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ
Π±Π°Π·Π°Ρ
Π΄Π°Π½Π½ΡΡ
SQL ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΈΠ΄ΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ JOIN Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊ ΠΈΠ· Π΄Π²ΡΡ
ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π±Π»ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
ΡΡΠΎΠ»Π±ΡΠΎΠ². ΠΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΡΡΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π². ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΈΠ΄Ρ JOIN Π²ΠΊΠ»ΡΡΠ°ΡΡ:
π INNER JOIN
INNER JOIN Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΎΠ±Π΅ΠΈΡ
ΡΠ°Π±Π»ΠΈΡΠ°Ρ
. ΠΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΡΠΈΠΏ JOIN.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: ΠΠ»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΎΠ±Π΅ΠΈΡ
ΡΠ°Π±Π»ΠΈΡΠ°Ρ
.
π LEFT (OUTER) JOIN
LEFT JOIN (ΠΈΠ»ΠΈ LEFT OUTER JOIN) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· Π»Π΅Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ. ΠΡΠ»ΠΈ Π½Π΅Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ, ΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΈΠ· ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ Π±ΡΠ΄ΡΡ NULL. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: ΠΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ.
π RIGHT (OUTER) JOIN
RIGHT JOIN (ΠΈΠ»ΠΈ RIGHT OUTER JOIN) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· Π»Π΅Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ. ΠΡΠ»ΠΈ Π½Π΅Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ, ΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΈΠ· Π»Π΅Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ Π±ΡΠ΄ΡΡ NULL. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: ΠΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π»Π΅Π²ΠΎΠΉ.
π FULL (OUTER) JOIN
FULL JOIN (ΠΈΠ»ΠΈ FULL OUTER JOIN) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° Π΅ΡΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡ. ΠΡΠ»ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ Π½Π΅Ρ, ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ NULL Π΄Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ
Π΄Π°Π½Π½ΡΡ
ΠΈΠ· ΠΎΠ±Π΅ΠΈΡ
ΡΠ°Π±Π»ΠΈΡ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ.
π CROSS JOIN
CROSS JOIN Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π΅ΠΊΠ°ΡΡΠΎΠ²ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π²ΡΡ
ΡΠ°Π±Π»ΠΈΡ, ΡΠΎ Π΅ΡΡΡ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ ΠΈΠ· Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: ΠΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· Π΄Π²ΡΡ
ΡΠ°Π±Π»ΠΈΡ Π±Π΅Π· ΡΡΠ΅ΡΠ° ΡΠ²ΡΠ·ΠΈ.
π SELF JOIN
SELF JOIN ΡΡΠΎ ΠΎΡΠΎΠ±ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ JOIN, Π³Π΄Π΅ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΡΡ ΡΠ°ΠΌΠ° Ρ ΡΠΎΠ±ΠΎΠΉ. ΠΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Ρ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠ°ΠΌΠΈ ΡΠ°Π±Π»ΠΈΡ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΡΠ°Π±Π»ΠΈΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅: ΠΠ»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊ Π²Π½ΡΡΡΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ.
π©ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
π INNER JOIN
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΡΡΡΠ΄Π΅Π½ΡΠΎΠ² ΠΈ ΠΈΡ
ΠΊΡΡΡΠΎΠ².
π LEFT JOIN
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ
ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² ΠΈ ΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Ρ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° Π½Π΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
π RIGHT JOIN
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ², Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π΅Ρ Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°.
π FULL JOIN
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΡΡΠ΄Π΅Π½ΡΠ°Ρ
ΠΈ ΠΊΡΡΡΠ°Ρ
, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ΅Ρ
, ΠΊΡΠΎ Π΅ΡΠ΅ Π½Π΅ Π·Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΠΊΡΡΡ ΠΈΠ»ΠΈ ΠΊΡΡΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΠ΅ Π½ΠΈΠΊΡΠΎ Π½Π΅ Π·Π°ΠΏΠΈΡΠ°Π½.
π CROSS JOIN
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΡΠ΅Ρ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ
ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² ΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ.
π SELF JOIN
ΠΠ»Ρ Π½Π°Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ°Ρ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ°ΠΌΠΈ.
Π‘ΡΠ°Π²Ρ π ΠΈ Π·Π°Π±ΠΈΡΠ°ΠΉ π ΠΠ°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ | 172 |
| 10 | π€ Π§ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎ HTML?
HTML (HyperText Markup Language) β ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ·ΡΠΊ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ. HTML ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ, ΡΠΎΡΠΌΠ°ΠΌΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Ρ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅. ΠΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠΎΠΌ Π²Π΅Π±-ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠ°Π½Π΄Π΅ΠΌΠ΅ Ρ CSS (Cascading Style Sheets) ΠΈ JavaScript Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ
Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
π©ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ HTML:
Π‘ΡΡΡΠΊΡΡΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°: HTML-Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΡΠ΅Π³Π°ΠΌΠΈ. Π’Π΅Π³ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Ρ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅.
π <!DOCTYPE html>: ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠΏ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΈ Π²Π΅ΡΡΠΈΡ HTML.
π <html>: ΠΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°.
π <head>: Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ΅Π³ΠΈ <title>, <meta>, ΡΡΠΈΠ»ΠΈ ΠΈ ΡΠΊΡΠΈΠΏΡΡ.
π <body>: Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΠΈΠ΄ΠΈΠΌΡΡ ΡΠ°ΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ΅ΠΊΡΡ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΡΡΠ»ΠΊΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ.
ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈ ΡΠ΅Π³ΠΈ: HTML ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅Π³ΠΈ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². Π’Π΅Π³ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠ΄ΡΡ Π² ΠΏΠ°ΡΠ°Ρ
: ΠΎΡΠΊΡΡΠ²Π°ΡΡΠΈΠΉ ΡΠ΅Π³ <tag> ΠΈ Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΠΉ ΡΠ΅Π³ </tag>. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π³ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΠΌΠΎΠ·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΠΌΠΈΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, <img /> ΠΈ <br />.
π <h1> - <h6>: ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΡΠΎΠ²Π½Π΅ΠΉ.
π <p>: ΠΠ°ΡΠ°Π³ΡΠ°Ρ ΡΠ΅ΠΊΡΡΠ°.
π <a>: ΠΠΈΠΏΠ΅ΡΡΡΡΠ»ΠΊΠ°.
π <img>: ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
π <ul>, <ol>, <li>: ΠΠ΅Π½ΡΠΌΠ΅ΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈ Π½ΡΠΌΠ΅ΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ°.
π <table>, <tr>, <td>: Π’Π°Π±Π»ΠΈΡΡ ΠΈ ΠΈΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ.
ΠΡΡΠΈΠ±ΡΡΡ: Π’Π΅Π³ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π°ΡΡΠΈΠ±ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅. ΠΡΡΠΈΠ±ΡΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π²Π½ΡΡΡΠΈ ΠΎΡΠΊΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΠ΅Π³Π° ΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠΎΡΠΌΠ°Ρ ΠΈΠΌΡ="Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅".
π href Π΄Π»Ρ <a>: Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ URL, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Π²Π΅Π΄ΡΡ ΡΡΡΠ»ΠΊΠ°.
π src Π΄Π»Ρ <img>: Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΡΡ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
π alt Π΄Π»Ρ <img>: ΠΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΡ
ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ.
Π€ΠΎΡΠΌΡ: HTML ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠΎΡΠΌΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ
ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. Π€ΠΎΡΠΌΡ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΠΏΠΎΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π°, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»Ρ, ΡΠ°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ, ΡΠ΅ΠΊΠ±ΠΎΠΊΡΡ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ.
π <input>: ΠΠ±ΡΠ΅Π΅ ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°. ΠΡΡΠΈΠ±ΡΡ type ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠΏ Π²Π²ΠΎΠ΄Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, text, password, email).
π <textarea>: ΠΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΠΎΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅.
π <select> ΠΈ <option>: ΠΡΠΏΠ°Π΄Π°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ.
π <button>: ΠΠ½ΠΎΠΏΠΊΠ°.
π©ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° HTML:
π ΠΡΠΎΡΡΠΎΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ: HTML Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΡΡΠΈΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠ½ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
π Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ: HTML ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π²ΡΠ΅ΠΌΠΈ Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌΠΈ, ΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΡΡΡ ΠΈ ΡΠΈΡΠΎΠΊΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ.
π Π Π°ΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΡ: HTML ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ CSS ΠΈ JavaScript Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ
Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ.
π Π‘ΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΡ: HTML ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΌ W3C (World Wide Web Consortium), ΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΅Π³ΠΎ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ ΠΈ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΡΡΡ.
π©ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ HTML:
π Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ:
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ HTML β ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ ΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ°ΠΆΠ΄ΡΠΉ Π²Π΅Π±-ΡΠ°ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΏΠΎΡΠ΅ΡΠ°Π΅ΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ HTML Π΄Π»Ρ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°.
π ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠ΅ ΠΏΠΈΡΡΠΌΠ°:
HTML ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ
ΠΏΠΈΡΠ΅ΠΌ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ.
π ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ:
HTML ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ΅ΠΊΡΡ, ΡΡΡΠ»ΠΊΠΈ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ.
Π‘ΡΠ°Π²Ρ π ΠΈ Π·Π°Π±ΠΈΡΠ°ΠΉ π ΠΠ°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ | 135 |
| 11 | π€ ΠΠ°ΠΊΠ°Ρ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
MySQL ΠΈ NoSQL?
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΠΊΠ°ΡΠ°ΡΡΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
, ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ, ΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΎΠ² ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌ.
π©MySQL (Π Π΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
)
π Π‘ΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ
MySQL ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡ
Π΅ΠΌΡ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠ° ΡΠ°Π±Π»ΠΈΡ (ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
) Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π·Π°ΡΠ°Π½Π΅Π΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ. ΠΠ°Π½Π½ΡΠ΅ Ρ
ΡΠ°Π½ΡΡΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ°Ρ
Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠΎΠ².
π ΠΠΎΠ΄Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ
MySQL ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ SQL Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ACID (Atomicity, Consistency, Isolation, Durability) ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π½Π°Π΄Π΅ΠΆΠ½ΡΠ΅ ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
π ΠΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ
ΠΠ΅Π³ΡΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎ (ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΡΠ½ΠΎΡΡΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°), Π½ΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ (ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ²) ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΡΠΈΠ»ΠΈΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΡΠ΄ΠΈΠ½Π³).
π Π‘Π»ΡΡΠ°ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
Π₯ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΡΠ΅ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ CRM, ERP ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ (CMS).
π©NoSQL (ΠΠ΅ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
)
π Π‘ΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ
NoSQL Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡ
Π΅ΠΌΡ Π΄Π°Π½Π½ΡΡ
, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡ
Π΅ΠΌΡ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½ΡΡ
, Π²ΠΊΠ»ΡΡΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ½ΡΠ΅, ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π³ΡΠ°ΡΠΎΠ²ΡΠ΅ ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΎΠ²ΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
.
π ΠΠΎΠ΄Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΡΠ΅Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ SQL. NoSQL Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΡΠ°ΡΡΠΎ ΡΠ»Π΅Π΄ΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ CAP-ΡΠ΅ΠΎΡΠ΅ΠΌΡ (Consistency, Availability, Partition tolerance), Π΄Π΅Π»Π°Ρ Π°ΠΊΡΠ΅Π½Ρ Π½Π° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΠΈ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ ΠΊ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΆΠ΅ΡΡΠ²ΡΡ ΡΡΡΠΎΠ³ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΡΡ.
π ΠΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ
ΠΠ΅Π³ΠΊΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΡΡΡΡ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎ, ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
ΠΈ Π²ΡΡΠΎΠΊΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ.
π Π‘Π»ΡΡΠ°ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
ΠΠΎΠ΄Ρ
ΠΎΠ΄ΡΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ
Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
ΠΈ ΡΡΠ΅Π±ΡΡΡΠΈΡ
Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠΈ, ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°Π³Π°Π·ΠΈΠ½Ρ, ΡΠΈΡΡΠ΅ΠΌΡ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ, IoT ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
π©ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ
π Π‘Ρ
Π΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ
MySQL: Π€ΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡ
Π΅ΠΌΠ°, Π΄Π°Π½Π½ΡΠ΅ Ρ
ΡΠ°Π½ΡΡΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ°Ρ
.
NoSQL: ΠΠΈΠ±ΠΊΠ°Ρ ΡΡ
Π΅ΠΌΠ°, Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ Ρ
ΡΠ°Π½ΠΈΡΡΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°Ρ
, ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π³ΡΠ°ΡΠ°Ρ
ΠΈΠ»ΠΈ ΡΡΠΎΠ»Π±ΡΠ°Ρ
.
π ΠΠ°ΠΏΡΠΎΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΠΌΠΈ
MySQL: SQL Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ.
NoSQL: Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½ΡΡ
ΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ², Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ SQL.
π ΠΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΠΎΡΡΡ ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
MySQL: ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ACID ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
NoSQL: ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π²Π°ΡΡΠΈΡΡΠ΅ΡΡΡ, ΡΠ°ΡΡΠΎ ΡΠ»Π΅Π΄ΡΡΡ CAP-ΡΠ΅ΠΎΡΠ΅ΠΌΠ΅, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΠΈ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ ΠΊ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ.
π ΠΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ:
MySQL: ΠΠ»Ρ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ.
NoSQL: ΠΠ»Ρ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ.
Π‘ΡΠ°Π²Ρ π ΠΈ Π·Π°Π±ΠΈΡΠ°ΠΉ π ΠΠ°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ | 169 |
| 12 | π€ ΠΠΎΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π΅ Π»ΡΠ±ΡΡ Java?
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π½Π΅ Π»ΡΠ±ΠΈΡΡ Java ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ ΡΠ·ΡΠΊΠ°, Π΅Π³ΠΎ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅ΠΏΡΡΠ°ΡΠΈΠ΅ΠΉ.
π©ΠΡΠΈΡΠΈΠ½Ρ
π ΠΠ±ΡΠ΅ΠΌΠ½ΠΎΡΡΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»ΠΎΠ²Π½ΠΎΡΡΡ ΠΊΠΎΠ΄Π°
Java ΡΠ°ΡΡΠΎ ΠΊΡΠΈΡΠΈΠΊΡΡΡ Π·Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π½ΠΎΠ³ΠΎ (boilerplate) ΠΊΠΎΠ΄Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΡΡΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ POJO-ΠΊΠ»Π°ΡΡΠΎΠ² (Plain Old Java Object), ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Ρ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π³Π΅ΡΡΠ΅ΡΡ, ΡΠ΅ΡΡΠ΅ΡΡ, ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ, ΠΌΠ΅ΡΠΎΠ΄Ρ equals ΠΈ hashCode. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ Lombok, Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Π½ΠΎΡΡΠΈ, ΡΡΠΎ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡΠ΅ΡΠ΅Π½Π·ΠΈΠΉ ΠΊ ΡΠ·ΡΠΊΡ.
π Π‘ΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠ΅ ΠΈΠ½Π½ΠΎΠ²Π°ΡΠΈΠΈ
ΠΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ Java ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ»Π°ΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, ΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π»ΠΎ Π½Π΅Π΄ΠΎΠ²ΠΎΠ»ΡΡΡΠ²ΠΎ. ΠΠΎ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° Π½Π° ΠΌΠΎΠ΄Π΅Π»Ρ Π²ΡΠΏΡΡΠΊΠ° Π²Π΅ΡΡΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΡΠ΅ ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΡΡΠ΅Π² (Ρ Java 9), ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π»ΠΈΠ·Π°ΠΌΠΈ Π±ΡΠ»ΠΈ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ. ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ ΠΎΡΡΡΠ°Π²Π°Π½ΠΈΡ ΡΠ·ΡΠΊΠ° ΠΎΡ Π±ΠΎΠ»Π΅Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠΈΡ
ΡΡ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΎΠ², ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ Kotlin, Scala ΠΈΠ»ΠΈ Python.
π ΠΠΎΡΠ°Π»ΡΠ½ΠΎ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Ρ
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΈΡΠ°ΡΡ Java "ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ" ΡΠ·ΡΠΊΠΎΠΌ ΠΈΠ·-Π·Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΡΡΡΠ½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡΡ (Π΄ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ»ΡΡΡΠ΅Π½Π½ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π² Java 8 ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ
Π²Π΅ΡΡΠΈΡΡ
) ΠΈΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ "ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ" ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ var).
π Π£ΡΡΠ°ΡΠ΅Π²ΡΠΈΠΉ ΡΡΠ΅ΡΠ΅ΠΎΡΠΈΠΏ ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
Π Π°Π½ΡΡΠ΅ Java ΡΠ°ΡΡΠΎ Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π»Π°ΡΡ Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠΎΠΉ ΠΈΠ·-Π·Π° ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠΈΡΠΎΠ΄Ρ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π° ΠΈ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΏΠ°ΠΌΡΡΠΈ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° JVM. Π₯ΠΎΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ JVM (HotSpot, GraalVM) ΡΠ΄Π΅Π»Π°Π»ΠΈ Java ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎΠΉ, ΡΡΠΎΡ ΡΡΠ΅ΡΠ΅ΠΎΡΠΈΠΏ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΆΠΈΠ²Π΅Ρ.
π ΠΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ° ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
Π ΠΊΡΡΠΏΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
Π½Π° Java Π²ΡΠ΅ Π΅ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ°ΡΡΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ XML-ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ Spring. Π’Π°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ ΡΡΠ΅Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠΈΠ»ΠΈΠΉ Π΄Π»Ρ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ.
π ΠΠ΅ΡΡΠΊΠΎΡΡΡ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΈ
Java β ΡΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ. ΠΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ ΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ, Π½ΠΎ ΡΠ½ΠΈΠΆΠ°Π΅Ρ Π³ΠΈΠ±ΠΊΠΎΡΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΎΠ² ΠΈΠ»ΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Ρ ΡΠ·ΡΠΊΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Python ΠΈΠ»ΠΈ JavaScript.
π ΠΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΡ Ρ Kotlin
Kotlin, ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡΠΉ JetBrains, ΡΡΠ°Π» ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π»Ρ Android Π² 2017 Π³ΠΎΠ΄Ρ. ΠΠ½ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΠΌΠΎΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Ρ null-Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, ΠΈ Π² ΡΠ΅Π»ΠΎΠΌ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ "ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ" ΡΠ·ΡΠΊ.
π Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ
Java ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠΉ ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠΌ. ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ JVM, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠ±ΠΎΡΠΊΠΈ (Maven, Gradle), ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ.
Π‘ΡΠ°Π²Ρ π ΠΈ Π·Π°Π±ΠΈΡΠ°ΠΉ π ΠΠ°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ | 179 |
| 13 | π€ Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ join'Ρ?
ΠΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² ΡΠ·ΡΠΊΠ΅ SQL, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· Π΄Π²ΡΡ
ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π±Π»ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠ²ΡΠ·Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΠΎΠ² JOIN'ΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
.
π©ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΈΠΏΡ JOIN'ΠΎΠ²
π INNER JOIN
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΎΠ±Π΅ΠΈΡ
ΡΠ°Π±Π»ΠΈΡΠ°Ρ
.
SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments ON employees.department_id = departments.id;
π LEFT JOIN (LEFT OUTER JOIN)
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· Π»Π΅Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ. ΠΡΠ»ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π½Π΅Ρ, ΡΠΎ Π² ΡΡΠΎΠ»Π±ΡΠ°Ρ
ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ Π±ΡΠ΄ΡΡ NULL.
SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments ON employees.department_id = departments.id;
π RIGHT JOIN (RIGHT OUTER JOIN)
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· Π»Π΅Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ. ΠΡΠ»ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π½Π΅Ρ, ΡΠΎ Π² ΡΡΠΎΠ»Π±ΡΠ°Ρ
Π»Π΅Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ Π±ΡΠ΄ΡΡ NULL.
SELECT employees.name, departments.department_name
FROM employees
RIGHT JOIN departments ON employees.department_id = departments.id;
π FULL JOIN (FULL OUTER JOIN)
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° Π΅ΡΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡ. ΠΡΠ»ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π½Π΅Ρ, ΡΠΎ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
ΡΡΠΎΠ»Π±ΡΠ°Ρ
Π±ΡΠ΄ΡΡ NULL.
SELECT employees.name, departments.department_name
FROM employees
FULL JOIN departments ON employees.department_id = departments.id;
π CROSS JOIN
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π΅ΠΊΠ°ΡΡΠΎΠ²ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ ΠΈΠ· Π΄Π²ΡΡ
ΡΠ°Π±Π»ΠΈΡ. ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΈΠ· Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ.
SELECT employees.name, departments.department_name
FROM employees
CROSS JOIN departments;
π SELF JOIN
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ JOIN Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΡΠ°ΠΌΠΎΠΉ ΡΠΎΠ±ΠΎΠΉ. ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ ΡΡΡΠΎΠΊΠΈ Π²Π½ΡΡΡΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ.
SELECT e1.name AS Employee1, e2.name AS Employee2
FROM employees e1
INNER JOIN employees e2 ON e1.manager_id = e2.id;
Π‘ΡΠ°Π²Ρ π ΠΈ Π·Π°Π±ΠΈΡΠ°ΠΉ π ΠΠ°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ | 192 |
| 14 | π€ ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ°ΠΌΠ½ΠΈ ΡΠ΄Π°Π»ΡΠ½Π½ΡΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ²?
ΠΡΠΎ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ, ΡΠ°ΠΊΠ°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ΄ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΡ
ΠΊΠ°ΠΌΠ½Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ.
π Π‘ΠΊΡΡΡΠΈΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΡΡΠΈ
Π£Π΄Π°Π»ΡΠ½Π½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΌΠ°ΡΠΊΠΈΡΡΡΡ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π»ΠΎΠΆΠ½ΠΎΠ΅ ΡΡΠ²ΡΡΠ²ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΡΡΠΈ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΡΠΈΡΡΠ²Π°ΡΡ:
Π‘Π΅ΡΠ΅Π²ΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΡ: Π²ΡΠ·ΠΎΠ²Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΡ
ΡΠ΅ΡΡΡ
. Π‘Π΅ΡΠ΅Π²ΡΠ΅ ΡΠ±ΠΎΠΈ: ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΡΠ΅ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠ°ΠΉΠΌ-Π°ΡΡΠ°ΠΌ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ: Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π²Π°ΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ΅ΡΠ΅Π²ΡΡ
ΡΡΠ»ΠΎΠ²ΠΈΠΉ.
π ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
ΡΠ»ΠΎΠΆΠ½Π΅Π΅, ΡΠ΅ΠΌ ΠΏΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
Π²ΡΠ·ΠΎΠ²Π°Ρ
:
ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΡΠ΅ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΡΠ°ΠΉΠΌ-Π°ΡΡΡ, ΠΎΡΠΊΠ°Π· ΡΠ΅ΡΠ²Π΅ΡΠ°. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ "ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°" (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΏΡΠΎΡ Π±ΡΠ» Π²ΡΠΏΠΎΠ»Π½Π΅Π½, Π½ΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ΅ΡΡΠ»ΠΎΡΡ), ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΈΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ½ΠΎΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
π Π‘Π΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΡ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Ρ Π² ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ:
Π£Π²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΈΠ·-Π·Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π½Π° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘ΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ, Π΅ΡΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ°Π·Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°. Π£ΡΠ»ΠΎΠΆΠ½ΡΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π² Π΄Π°Π½Π½ΡΡ
.
π Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½Π°Ρ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ
ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ
: ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½Π° ΠΏΡΠΈ ΡΠ°ΡΡΠΈΡΠ½ΡΡ
ΠΎΡΠΊΠ°Π·Π°Ρ
ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ
ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, ΡΡΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ.
π ΠΡΠΎΠ±Π»Π΅ΠΌΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
Π£Π΄Π°Π»ΡΠ½Π½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Ρ ΡΠ³ΡΠΎΠ·Π°ΠΌ: ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠ΅ΡΠ΅ΠΊ. ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΈΠ³ΡΠ°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠΎΠ»Ρ Π² Π·Π°ΡΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½Ρ Π°ΡΠ°ΠΊΠΈ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ ΡΠ΅ΡΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π°Π±ΠΎΡΡΠ΅ΠΉ Π² ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°Ρ
ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
.
π ΠΠ°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠ° Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠΈ Π±ΠΎΠ»ΡΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ΡΠ·ΠΊΠΈΠΌ ΠΌΠ΅ΡΡΠΎΠΌ: ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π΄Π΅Π³ΡΠ°Π΄Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈΠ»ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ.
π ΠΡΠ±ΠΎΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ
Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, HTTP, gRPC, Thrift) ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ: ΠΡΠΎΡΠΎΠΊΠΎΠ» ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΡΠΈΠ±ΠΊΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΉ ΠΌΠΎΠ³ΡΡ Π²ΡΠ·Π²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
π©ΠΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
π ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ
ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ. ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ API). Π‘ΠΈΡΡΠ΅ΠΌΡ Ρ ΡΡΠΆΡΠ»ΠΎΠΉ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ.
π Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΡ
ΠΊΠ°ΠΌΠ½Π΅ΠΉ
Π§ΡΡΠΊΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ, ΡΡΠΈΡΡΠ²Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ΅ΡΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ΄Π΅ΠΌΠΏΠΎΡΠ΅Π½ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π½Π°Π΄ΡΠΆΠ½ΡΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, OpenTelemetry) Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ.
Π‘ΡΠ°Π²Ρ π ΠΈ Π·Π°Π±ΠΈΡΠ°ΠΉ π ΠΠ°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ | 189 |
| 15 | π€ ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ
Π΅Ρ ΡΠ°Π±Π»ΠΈΡΠ°?
ΠΡΠΎ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Ρ
ΡΠ°Π½ΠΈΡΡ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ ΠΏΠ°ΡΡ "ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅". ΠΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Ρ
Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ° Π² ΠΈΠ½Π΄Π΅ΠΊΡ ΠΌΠ°ΡΡΠΈΠ²Π°, Π³Π΄Π΅ Ρ
ΡΠ°Π½ΠΈΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
π©ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ
π Π₯Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΡ
ΠΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΊΠ»ΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΌΠ°ΡΡΠΈΠ²Π°, Π³Π΄Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ
ΡΠ°Π½ΠΈΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π₯ΠΎΡΠΎΡΠ°Ρ Ρ
Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΊΠ»ΡΡΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΉ.
π ΠΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ
ΠΡΠΎ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π΄Π²Π° ΡΠ°Π·Π½ΡΡ
ΠΊΠ»ΡΡΠ° Ρ
Π΅ΡΠΈΡΡΡΡΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡ. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΉ:
ΠΠ΅ΡΠΎΠ΄ ΡΠ΅ΠΏΠΎΡΠ΅ΠΊ (chaining): Π ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠ΅ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ
ΡΠ°Π½ΠΈΡΡΡ ΡΠΏΠΈΡΠΎΠΊ (ΠΈΠ»ΠΈ Π΄ΡΡΠ³Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ
), ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠΎΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ.
ΠΡΠΊΡΡΡΠ°Ρ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΡ (open addressing): ΠΡΠΈ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ ΠΈΡΠ΅ΡΡΡ Π΄ΡΡΠ³Π°Ρ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Π°Ρ ΡΡΠ΅ΠΉΠΊΠ° ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΌΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ ΠΏΡΠΎΠ±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠ²Π°Π΄ΡΠ°ΡΠΈΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ Ρ
Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅).
π Π Π°Π·ΠΌΠ΅Ρ Ρ
Π΅Ρ-ΡΠ°Π±Π»ΠΈΡΡ
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ΅Π΅ΠΊ (Π±Π°ΠΊΠ΅ΡΠΎΠ²) Π² ΠΌΠ°ΡΡΠΈΠ²Π΅. ΠΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Ρ
Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ±ΡΡΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΡΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΉ.
π©ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ
Π΅Ρ-ΡΠ°Π±Π»ΠΈΡΠ°
π ΠΡΡΠ°Π²ΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
Π₯Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΠΊΠ»ΡΡΠ°.
ΠΡΠ»ΠΈ ΡΡΠ΅ΠΉΠΊΠ° ΠΏΡΡΡΠ°, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² Π½Π΅Ρ.
ΠΡΠ»ΠΈ ΡΡΠ΅ΠΉΠΊΠ° Π·Π°Π½ΡΡΠ° (ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΡ), ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΉ.
π ΠΠΎΠΈΡΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
Π₯Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΠΊΠ»ΡΡΠ°.
ΠΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΡΡΠ΅ΠΉΠΊΠ° ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ.
ΠΡΠ»ΠΈ ΠΊΠ»ΡΡΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠ»ΠΈ ΠΊΠ»ΡΡΠΈ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ (ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΡ), ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΉ Π΄ΠΎ Π½Π°Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΈΠ»ΠΈ ΠΏΡΡΡΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΈ (ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΊΠ»ΡΡΠ°).
π Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
Π₯Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΠΊΠ»ΡΡΠ°.
ΠΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΡΠ²Π° ΡΠ΅ΠΏΠΎΡΠ΅ΠΊ ΠΈΠ»ΠΈ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π² ΠΎΡΠΊΡΡΡΠΎΠΉ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΠΈ.
Π‘ΡΠ°Π²Ρ π ΠΈ Π·Π°Π±ΠΈΡΠ°ΠΉ π ΠΠ°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ | 202 |
| 16 | π€ Π ΡΡΠΌ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ LeftJoin , RightJoin ΠΈ InnerJoin ?
Π SQL, JOIN ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊ ΠΈΠ· Π΄Π²ΡΡ
ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π±Π»ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. ΠΠΎΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ LEFT JOIN, RIGHT JOIN ΠΈ INNER JOIN:
π `INNER JOIN`
INNER JOIN Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ Π² ΠΎΠ±Π΅ΠΈΡ
ΡΠ°Π±Π»ΠΈΡΠ°Ρ
, ΡΡΠ°ΡΡΠ²ΡΡΡΠΈΡ
Π² ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ.
SELECT A.*, B.*
FROM TableA A
INNER JOIN TableB B ON A.id = B.id;
π `LEFT JOIN` (ΠΈΠ»ΠΈ `LEFT OUTER JOIN`)
LEFT JOIN Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· Π»Π΅Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ. ΠΡΠ»ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π½Π΅Ρ, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡ ΡΠ°Π²Π½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· Π»Π΅Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ Ρ NULL Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π»Ρ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΈΠ· ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ.
SELECT A.*, B.*
FROM TableA A
LEFT JOIN TableB B ON A.id = B.id;
π RIGHT JOIN (ΠΈΠ»ΠΈ RIGHT OUTER JOIN)
RIGHT JOIN Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· Π»Π΅Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ. ΠΡΠ»ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π½Π΅Ρ, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡ ΡΠ°Π²Π½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ Ρ NULL Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π»Ρ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΈΠ· Π»Π΅Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ.
SELECT A.*, B.*
FROM TableA A
RIGHT JOIN TableB B ON A.id = B.id;
INNER JOIN
SELECT Employees.name, Departments.dept_name
FROM Employees
INNER JOIN Departments ON Employees.dept_id = Departments.dept_id;
LEFT JOIN
SELECT Employees.name, Departments.dept_name
FROM Employees
LEFT JOIN Departments ON Employees.dept_id = Departments.dept_id;
RIGHT JOIN
SELECT Employees.name, Departments.dept_name
FROM Employees
RIGHT JOIN Departments ON Employees.dept_id = Departments.dept_id;
Π‘ΡΠ°Π²Ρ π ΠΈ Π·Π°Π±ΠΈΡΠ°ΠΉ π ΠΠ°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ | 222 |
| 17 | π€ ΠΠ°ΠΊΠΈΠ΅ ΠΌΠΈΠ½ΡΡΡ Π΅ΡΡΡ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°?
βΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π½Π° Π΄ΠΈΡΠΊΠ΅
ΠΠ½Π΄Π΅ΠΊΡΡ ΡΡΠ΅Π±ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ΅ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ. Π§Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π΄Π°Π½Π½ΡΡ
Π² ΡΠ°Π±Π»ΠΈΡΠ΅, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΡΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ. ΠΡΠ»ΠΈ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ², ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΌ Ρ
ΡΠ°Π½ΠΈΠΌΡΡ
Π΄Π°Π½Π½ΡΡ
.
βΠΠ°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π·Π°ΠΏΠΈΡΠΈ
ΠΡΡΠ°Π²ΠΊΠ°, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ². ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ
, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΡΠ°Π±Π»ΠΈΡΠ°Ρ
Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ².
βΠ‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΡΠΈΠ»ΠΈΠΉ. ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΡ
ΡΠ΄ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ².
βΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°ΠΌΠΈ
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ
ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΌΠΎΠ³ΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°ΠΌ ΠΈ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ
Π²ΡΡΠΎΠΊΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎΡΡΠΈ.
βΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π²ΡΠ±ΠΎΡΠΎΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ²
ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π΄Π»Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ ΡΠ»ΡΡΡΠΈΡΡ, Π½ΠΎ ΠΈ ΡΡ
ΡΠ΄ΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ½Π΄Π΅ΠΊΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°Π½Ρ ΠΈ Π½Π°ΡΡΡΠΎΠ΅Π½Ρ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΠΈΠΏΠΈΡΠ½ΡΠΌΠΈ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
.
βΠ ΠΈΡΠΊ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΡΡΠΈ
ΠΠ·Π±ΡΡΠΎΡΠ½ΡΠ΅ ΠΈΠ»ΠΈ Π΄ΡΠ±Π»ΠΈΡΡΡΡΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅Π½ΡΠΆΠ½ΠΎΠΌΡ ΡΠ°ΡΡ
ΠΎΠ΄Ρ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ
.
βΠΠ΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π΄Π»Ρ ΠΌΠ°Π»ΡΡ
ΡΠ°Π±Π»ΠΈΡ
Π Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ
ΡΠ°Π±Π»ΠΈΡΠ°Ρ
Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ
ΠΎΠ΄Ρ Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΌΠΎΠ³ΡΡ ΠΏΡΠ΅Π²ΡΡΠ°ΡΡ Π²ΡΠΈΠ³ΡΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ². Π ΡΠ°ΠΊΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ.
βΠ‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ) ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ², ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ.
Π‘ΡΠ°Π²Ρ π ΠΈ Π·Π°Π±ΠΈΡΠ°ΠΉ π ΠΠ°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ | 222 |
| 18 | π€ Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
?
ΠΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
- ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ
Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ
ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΡ
ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ. Π¦Π΅Π»Ρ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ - ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΡΡΡΠ°Π½ΠΈΡΡ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, Π²ΡΡΠ°Π²ΠΊΠΈ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
. ΠΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠΈΡ
ΡΠ°Π±Π»ΠΈΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡΠΌΠΈ, ΡΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ Π΄Π΅Π»Π°Π΅Ρ ΠΈΡ
Π±ΠΎΠ»Π΅Π΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ.
π©ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ½Π° Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
π Π£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ
ΠΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
, ΡΡΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ
.
π ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ
ΠΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ
, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΠ΅ Ρ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
.
π Π£ΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
Π½Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π΄Π΅Π»Π°Π΅Ρ ΡΡΡΡΠΊΡΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΉ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
π ΠΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ Π΄Π°Π½Π½ΡΡ
ΠΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ, Π²ΡΡΠ°Π²ΠΊΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ
.
π©ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΎΡΠΌΡ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ
π ΠΠ΅ΡΠ²Π°Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠΎΡΠΌΠ° (1NF)
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ
ΡΡ Π³ΡΡΠΏΠΏ Π² ΡΠ°Π±Π»ΠΈΡΠ΅. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π°ΡΠΎΠΌΠ°ΡΠ½ΡΠ΅ (Π½Π΅Π΄Π΅Π»ΠΈΠΌΡΠ΅) Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ.
π ΠΡΠΎΡΠ°Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠΎΡΠΌΠ° (2NF)
Π’Π°Π±Π»ΠΈΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π² 1NF. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ: ΠΊΠ°ΠΆΠ΄ΡΠΉ Π½Π΅ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ Π°ΡΡΠΈΠ±ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°Π²ΠΈΡΠΈΠΌ ΠΎΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°.
π Π’ΡΠ΅ΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠΎΡΠΌΠ° (3NF)
Π’Π°Π±Π»ΠΈΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π² 2NF. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°Π½Π·ΠΈΡΠΈΠ²Π½ΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ: Π²ΡΠ΅ Π½Π΅ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΡ ΠΎΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°, Π° Π½Π΅ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ
Π½Π΅ΠΊΠ»ΡΡΠ΅Π²ΡΡ
Π°ΡΡΠΈΠ±ΡΡΠΎΠ².
π ΠΠΎΠΉΡ-ΠΠΎΠ΄Π΄ Π½ΠΎΡΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠΎΡΠΌΠ° (BCNF)
Π£ΡΠΈΠ»Π΅Π½ΠΈΠ΅ 3NF: ΠΊΠ°ΠΆΠ΄Π°Ρ Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½Π°Π½ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΎΠΌ Π½Π° ΠΊΠ»ΡΡ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π² Π»ΡΠ±ΠΎΠΉ Π½Π΅ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ X -> Y, X Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΡΠΏΠ΅ΡΠΊΠ»ΡΡΠΎΠΌ.
π Π§Π΅ΡΠ²Π΅ΡΡΠ°Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠΎΡΠΌΠ° (4NF)
Π’Π°Π±Π»ΠΈΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π² BCNF. Π£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π½Π°ΡΠ½ΡΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ: ΡΠ°Π±Π»ΠΈΡΠ° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π½Π°ΡΠ½ΡΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ Π°ΡΡΠΈΠ±ΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π°ΡΡΠΈΠ±ΡΡΠ°.
π ΠΡΡΠ°Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠΎΡΠΌΠ° (5NF)
Π’Π°Π±Π»ΠΈΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π² 4NF. Π£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ: Π΄Π°Π½Π½ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ°Π·Π±ΠΈΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΆΠ΄Π°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΡΠΎΡ
ΡΠ°Π½ΡΠ»Π°ΡΡ.
π©ΠΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ
π ΠΠ΅ΡΠ²Π°Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠΎΡΠΌΠ°
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ° Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠΌΠΈΡΡ Π³ΡΡΠΏΠΏΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΡ
Π½ΠΎΠΌΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π΄Π»Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² ΠΈ ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ Π΅Π΅ Ρ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ².
π ΠΡΠΎΡΠ°Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠΎΡΠΌΠ°
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ° Π·Π°ΠΊΠ°Π·ΠΎΠ² Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ "Π½ΠΎΠΌΠ΅Ρ Π·Π°ΠΊΠ°Π·Π°", "Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΎΠ²Π°ΡΠ°" ΠΈ "ΡΠ΅Π½Π° ΡΠΎΠ²Π°ΡΠ°", Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π΄Π»Ρ Π·Π°ΠΊΠ°Π·ΠΎΠ² ΠΈ ΡΠΎΠ²Π°ΡΠΎΠ², ΡΡΠΎΠ±Ρ ΡΠ΅Π½Π° ΡΠΎΠ²Π°ΡΠ° Π·Π°Π²ΠΈΡΠ΅Π»Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ ΡΠΎΠ²Π°ΡΠ°, Π° Π½Π΅ ΠΎΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ Π·Π°ΠΊΠ°Π·Π° ΠΈ ΡΠΎΠ²Π°ΡΠ°.
π Π’ΡΠ΅ΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠΎΡΠΌΠ°
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ "ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°", "Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»Π°" ΠΈ "ΠΈΠΌΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΈΠΊΠ° ΠΎΡΠ΄Π΅Π»Π°", Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π΄Π»Ρ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΡΠ΄Π΅Π»ΠΎΠ², ΡΡΠΎΠ±Ρ ΠΈΠΌΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΈΠΊΠ° ΠΎΡΠ΄Π΅Π»Π° Π·Π°Π²ΠΈΡΠ΅Π»ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ ΠΎΡΠ΄Π΅Π»Π°, Π° Π½Π΅ ΠΎΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°.
Π‘ΡΠ°Π²Ρ π ΠΈ Π·Π°Π±ΠΈΡΠ°ΠΉ π ΠΠ°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ | 203 |
| 19 | π€ Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ git ?
ΠΡΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ ΠΠΈΠ½ΡΡΠΎΠΌ Π’ΠΎΡΠ²Π°Π»ΡΠ΄ΡΠΎΠΌ Π² 2005 Π³ΠΎΠ΄Ρ. ΠΠ½Π° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. Git ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π½Π΅ ΠΎΠΏΠ°ΡΠ°ΡΡΡ ΠΏΠΎΡΠ΅ΡΡΡΡ ΡΠ°Π±ΠΎΡΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°.
π©ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ
π Π Π΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ (Repository)
ΠΡΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ
ΡΠ°Π½ΡΡΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΈΡΡΠΎΡΠΈΡ ΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
π ΠΠΎΠΌΠΌΠΈΡ (Commit)
ΠΠ°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΠΎΠΌΠΌΠΈΡΡ ΠΎΠ±ΡΠ°Π·ΡΡΡ ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
π ΠΠ΅ΡΠ²Ρ (Branch)
ΠΡΠ΄Π΅Π»ΡΠ½Π°Ρ Π»ΠΈΠ½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ΅ΡΠ²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ Π±Π΅Π· Π²ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΡΡΠ²Π° Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠΎΠ΄ΠΎΠ²ΡΡ Π±Π°Π·Ρ.
π Π‘Π»ΠΈΡΠ½ΠΈΠ΅ (Merge)
ΠΡΠΎΡΠ΅ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π² Π΄ΡΡΠ³ΡΡ. ΠΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π½ΠΎΠ²ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ»ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
Π²Π΅ΡΠ²Π΅ΠΉ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²Π΅ΡΠ²Ρ.
π ΠΠ»ΠΎΠ½ (Clone)
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΈ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°.
π Π€ΠΎΡΠΊ (Fork)
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΈ ΡΡΠΆΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ (ΠΎΠ±ΡΡΠ½ΠΎ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Π²ΡΠΎΠ΄Π΅ GitHub) Π΄Π»Ρ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π±Π΅Π· Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
π ΠΠ°ΠΏΡΠΎΡ Π½Π° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ (Pull Request ΠΈΠ»ΠΈ Merge Request)
ΠΠ°ΠΏΡΠΎΡ Π½Π° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΠ²ΠΈ Π² Π΄ΡΡΠ³ΡΡ, ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² ΠΊΠΎΠ»Π»Π°Π±ΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, GitHub, GitLab).
π Π Π΅ΠΌΠΎΡ (Remote)
Π£Π΄Π°Π»ΡΠ½Π½ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½ Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅ΠΌ. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Ρ Π½ΠΈΠΌ Π΄Π»Ρ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ
.
π©ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
π git init
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
π git clone [URL]
ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ.
π git add [ΡΠ°ΠΉΠ»/ΠΏΠ°ΠΏΠΊΠ°]
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΈΠ½Π΄Π΅ΠΊΡ (ΡΡΠ°Π΄ΠΈΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΊ ΠΊΠΎΠΌΠΌΠΈΡΡ).
π git commit -m "Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅"
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ.
π git status
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ΅.
π git log
ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
π git branch
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΠ²ΡΠΌΠΈ (ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅, ΠΏΡΠΎΡΠΌΠΎΡΡ, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅).
π git checkout [Π²Π΅ΡΠΊΠ°/ΠΊΠΎΠΌΠΌΠΈΡ]
ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΠ²ΡΠΌΠΈ ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΌΡ ΠΊΠΎΠΌΠΌΠΈΡΡ.
π git merge [Π²Π΅ΡΠΊΠ°]
Π‘Π»ΠΈΡΠ½ΠΈΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠΈ Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ.
π git pull
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΈ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΠΊΠΎΠΉ.
π git push
ΠΡΠΏΡΠ°Π²ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Π² ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ.
Π‘ΡΠ°Π²Ρ π ΠΈ Π·Π°Π±ΠΈΡΠ°ΠΉ π ΠΠ°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ | 197 |
| 20 | π€ Π ΡΡΠΌ ΡΠ°Π·Π½ΠΈΡΠ° InnerJoin ΠΈ RightJoin ?
ΠΡΠΎ Π΄Π²Π° ΡΠΈΠΏΠ° ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡ Π² SQL, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠ°Π±Π»ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠ»ΠΎΠ²ΠΈΠΉ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ. ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ
.
π©`INNER JOIN`
INNER JOIN Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΎΠ±Π΅ΠΈΡ
ΡΠ°Π±Π»ΠΈΡΠ°Ρ
, ΡΡΠ°ΡΡΠ²ΡΡΡΠΈΡ
Π² ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ. ΠΡΠ»ΠΈ Π½Π΅Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ, ΡΡΡΠΎΠΊΠΈ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ
.
SELECT A.*, B.*
FROM TableA A
INNER JOIN TableB B ON A.id = B.id;
π©`RIGHT JOIN` (ΠΈΠ»ΠΈ `RIGHT OUTER JOIN`)
RIGHT JOIN Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ (TableB) ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· Π»Π΅Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ (TableA). ΠΡΠ»ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ Π½Π΅Ρ, ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Ρ NULL Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π»Ρ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΈΠ· Π»Π΅Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ.
SELECT A.*, B.*
FROM TableA A
RIGHT JOIN TableB B ON A.id = B.id;
π©ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ
π INNER JOIN
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊΠΈ Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π² ΠΎΠ±Π΅ΠΈΡ
ΡΠ°Π±Π»ΠΈΡΠ°Ρ
. ΠΡΠΊΠ»ΡΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΠΈ Π±Π΅Π· ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ.
π RIGHT JOIN
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ (TableB) ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· Π»Π΅Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ (TableA). ΠΠΊΠ»ΡΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π½Π΅Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ, Ρ NULL Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π»Ρ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΈΠ· Π»Π΅Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ.
Π‘ΡΠ°Π²Ρ π ΠΈ Π·Π°Π±ΠΈΡΠ°ΠΉ π ΠΠ°Π·Ρ Π·Π½Π°Π½ΠΈΠΉ | 205 |
