ΠΡΠΈΠ²Π΅Ρ, Π₯Π°Π±Ρ!
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅, Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΊΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°ΠΉΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π―Π½Π΄Π΅ΠΊΡΠ°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Object Storage.
Π ΠΊΠΎΠ½ΡΠ΅ Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΡΠΉ Π² ΡΠ΅ΡΠΈ ΡΠ°ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΡΡΠ»ΠΊΠ΅.
ΠΡΠ° ΡΡΠ°ΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½Π°, Π΅ΡΠ»ΠΈ Π²Ρ
- ΠΠ°ΡΠΈΠ½Π°ΡΡΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ;
- Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΄Π΅Π»Π°Π» ΠΏΠΎΡΡΡΠΎΠ»ΠΈΠΎ ΠΈ Ρ ΠΎΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π΅Π³ΠΎ Π² ΠΎΡΠΊΡΡΡΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π΄ΡΡΠ·ΡΡΠΌ ΠΈ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»ΡΠΌ.
Π ΡΠ΅Π±Π΅
ΠΠ΅Π΄Π°Π²Π½ΠΎ, Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π» SaaS ΡΠ΅ΡΠ²ΠΈΡ, ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ ΠΌΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡΠ°, Π³Π΄Π΅ Π»ΡΠ΄ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡ ΡΠΏΠΎΡΡΠΈΠ²Π½ΡΡ ΡΡΠ΅Π½Π΅ΡΠΎΠ² Π΄Π»Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΠΊ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΡΡΠ΅ΠΊ Amazon Web Services (Π΄Π°Π»Π΅Π΅ AWS). ΠΠΎ ΡΠ΅ΠΌ Π³Π»ΡΠ±ΠΆΠ΅ ΠΏΠΎΠ³ΡΡΠΆΠ°Π»ΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡ β ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½ΡΠ°Π½ΡΠΎΠ² ΡΠ·Π½Π°Π²Π°Π» ΠΎ ΡΠ°Π·Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ°ΡΡΠ°ΠΏΠ°.
Π― ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ:
- AWS ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ» ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π΅Π½Π΅Π³. ΠΠΎΡΠ°Π±ΠΎΡΠ°Π² 3 Π³ΠΎΠ΄Π° Π² Enterprise ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡ
, Ρ ΠΏΡΠΈΠ²ΡΠΊ ΠΊ ΡΠ°ΠΊΠΈΠΌ ΡΠ°Π΄ΠΎΡΡΡΠΌ, ΠΊΠ°ΠΊ Docker, Kubernetes, CI/CD, blue green deployment, ΠΈ, ΠΊΠ°ΠΊ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ-ΡΡΠ°ΡΡΠ°ΠΏΠ΅Ρ, Π·Π°Ρ
ΠΎΡΠ΅Π» ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅. Π ΠΈΡΠΎΠ³Π΅ ΠΏΡΠΈΡΠ΅Π» ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π΅ΠΆΠ΅ΠΌΠ΅ΡΡΡΠ½ΠΎ AWS ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ» ΠΏΠΎ 300-400 Π±Π°ΠΊΡΠΎΠ². Π‘Π°ΠΌΡΠΌ Π΄ΠΎΡΠΎΠ³ΠΈΠΌ ΠΎΠΊΠ°Π·Π°Π»ΡΡ Kubernetes, ΠΎΠΊΠΎΠ»ΠΎ 100 Π±Π°ΠΊΡΠΎΠ², ΠΏΡΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΊΠ΅ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠΌ ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Π½ΠΎΠ΄ΠΎΠΉ.
P.S. ΠΠ° ΡΡΠ°ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ. - ΠΠ°Π»Π΅Π΅, Π·Π°Π΄ΡΠΌΠ°Π²ΡΠΈΡΡ ΠΎ ΡΡΠΈΠ΄ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠΎΡΠΎΠ½Π΅, Ρ ΡΠ·Π½Π°Π» ΠΏΡΠΎ Π·Π°ΠΊΠΎΠ½ 152-Π€Π, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅: "ΠΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π³ΡΠ°ΠΆΠ΄Π°Π½ Π Π€ Π΄ΠΎΠ»ΠΆΠ½Ρ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π½Π° ΡΠ΅ΡΡΠΈΡΠΎΡΠΈΠΈ Π Π€", ΠΈΠ½Π°ΡΠ΅ ΡΡΡΠ°ΡΡ, ΡΠ΅Π³ΠΎ ΠΌΠ½Π΅ Π½Π΅ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ. Π― ΡΠ΅ΡΠΈΠ» Π·Π°Π½ΡΡΡΡΡ ΡΡΠΈΠΌΠΈ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌΠΈ, ΠΏΠΎΠΊΠ° "ΡΠ²Π΅ΡΡ Ρ" ΠΌΠ½Π΅ Π½Π΅ ΠΏΡΠΈΠ»Π΅ΡΠ΅Π»ΠΎ :).
ΠΠ΄ΠΎΡ
Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ
ΠΠ»Ρ ΠΌΠ΅Π½Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ Π―Π½Π΄Π΅ΠΊΡ.ΠΠ±Π»Π°ΠΊΠ° Π±ΡΠ»ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
- ΠΠ΅ΡΠ΅Π²Π»Π΅ Π² 2-3 ΡΠ°Π·Π° (ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΡΠ°ΡΡΠ΅ Π²ΡΡΠ΅ ΠΈ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΌ ΠΏΡΠ°ΠΉΡΠ°ΠΌ)
Π₯ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΠ΅ΡΡΠΈΡΠΎΡΠΈΠΈ Π Π€ , ΡΡΠΎ Π²Π΅Π»ΠΈΠΊΠΈΠΉ ΠΠΌΠ°Π·ΠΎΠ½ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ.
Π― ΠΈΠ·ΡΡΠ°Π» Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΎΠ² ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°, Π½ΠΎ Π½Π° ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π―Π½Π΄Π΅ΠΊΡ Π²ΡΠΈΠ³ΡΡΠ²Π°Π».
Π ΡΠ΅Π±Π΅ ΡΠ°ΡΡΠΊΠ°Π·Π°Π», ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ Π΄Π΅Π»Ρ.
Π¨Π°Π³ 0. ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠΌ ΡΠ°ΠΉΡ
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠ°ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅. Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ Angular ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, Ρ ΡΠ΄Π΅Π»Π°Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΎΠ½ SPA ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π°Π»Π΅Π΅ ΡΠ°Π·ΠΌΠ΅ΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅.
P.S. ΠΡΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΡΡΡ Π² Angular ΠΈΠ»ΠΈ Π·Π½Π°Π΅Ρ ΠΏΡΠΎ Π΅Π³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Angular-CLI ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ SPA-ΡΠ°ΠΉΡΡ Π½Π° ΠΠ½Π³ΡΠ»ΡΡΠ΅:
npm install -g @angular/cli
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Angular ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ng new angular-habr-object-storage
ΠΠ°Π»Π΅Π΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π² ΠΏΠ°ΠΏΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π΅Π³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ:
cd angular-habr-object-storage
ng serve --open
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΎ, Π½ΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ Π³ΠΎΡΠΎΠ²ΠΎ ΠΊ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° Ρ
ΠΎΡΡΠΈΠ½Π³Π΅. Π‘ΠΎΠ±Π΅ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π±ΠΈΠ»Π΄ (Production), ΡΡΠΎΠ±Ρ ΡΠ±ΡΠ°ΡΡ Π²ΡΠ΅ Π»ΠΈΡΠ½Π΅Π΅ ΠΈ ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
Π Π°Π½Π³ΡΠ»ΡΡΠ΅ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
ng build --prod
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΏΠ°ΠΏΠΎΡΠΊΠ° dist
Ρ Π½Π°ΡΠΈΠΌ ΡΠ°ΠΉΡΠΎΠΌ.
Π Π°Π±ΠΎΡΠ°Π΅Ρ. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ Ρ ΠΎΡΡΠΈΠ½Π³Ρ.
Π¨Π°Π³ 1.
ΠΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ Π½Π° ΡΠ°ΠΉΡ
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
- ΠΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ Π―Π½Π΄Π΅ΠΊΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠΎΡΡΠ° Π―Π½Π΄Π΅ΠΊΡΠ° (Π½ΠΎ ΡΡΠΎ Π½Π΅ ΡΠΎΡΠ½ΠΎ)
- ΠΠ»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Π΄Π΅Π½ΡΠ³ΠΈ Π½Π° ΡΡΠ΅Ρ Π² Π»ΠΈΡΠ½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅ (ΠΌΠΈΠ½ΠΈΠΌΡΠΌ 500 ΡΡΠ±Π»Π΅ΠΉ).
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ, ΠΌΡ Π² Π»ΠΈΡΠ½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠ΅.
ΠΠ°Π»Π΅Π΅ ΡΠ»Π΅Π²Π° Π² ΠΌΠ΅Π½Ρ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΡΠ΅ΡΠ²ΠΈΡ "Object Storage", ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΊΠ°ΠΊ ΡΠ°Π· Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Ρ ΠΎΡΡΠΈΠ½Π³Π° ΡΠ°ΠΉΡΠ°.
ΠΠΎΡΠΎΡΠΊΠΎ ΠΏΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°ΠΌ:
- Object Storage β ΡΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠ΅ Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ ΠΠΌΠ°Π·ΠΎΠ½Π° AWS S3, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π΅ΡΡΡ ΡΠ²ΠΎΠΉ API Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ ΠΈΠ· ΠΊΠΎΠ΄Π° ΠΈ Π΅Π³ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ AWS S3 ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ°.
- Π Object Storage ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ "Π±Π°ΠΊΠ΅ΡΡ" (bucket / ΠΠΎΡΠ·ΠΈΠ½Π°), ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΠΌΠΈ Π½Π°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ . ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΆΠΌΠ΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ "Π‘ΠΎΠ·Π΄Π°ΡΡ Π±Π°ΠΊΠ΅Ρ".
Π ΡΠΎΡΠΌΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±Π°ΠΊΠ΅ΡΠ° Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠΎΠ»Ρ, ΠΏΡΠΎΠ±Π΅ΠΆΠΈΠΌΡΡ ΠΏΠΎ Π½ΠΈΠΌ:
- ΠΠΌΡ Π±Π°ΠΊΠ΅ΡΠ°. ΠΠ»Ρ ΠΏΡΠΎΡΡΠΎΡΡ, Π½Π°Π·ΠΎΠ²Π΅ΠΌ ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π°Π½Π³ΡΠ»ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ β
angular-habr-object-storage
- ΠΠ°ΠΊΡ. ΡΠ°Π·ΠΌΠ΅Ρ. Π‘ΡΠ°Π²ΠΈΠΌ ΡΡΠΎΠ»ΡΠΊΠΎ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ Π½Π°Ρ Π²Π΅ΡΠΈΡ ΡΠ°ΠΉΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ°ΠΉΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π½Π΅ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΠΈ Π·Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠ»Π°ΡΠΈΡΡ Π―Π½Π΄Π΅ΠΊΡΡ ΠΊΠΎΠΏΠ΅Π΅ΡΠΊΡ.
- ΠΠΎΡΡΡΠΏ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π‘ΡΠ°Π²ΠΈΠΌ "ΠΡΠ±Π»ΠΈΡΠ½ΡΠΉ", ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠ» Π½Π°ΡΠ΅Π³ΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ°, ΡΡΠΎΠ±Ρ Π½Π° Π½Π΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΡΡΠΈΡΠΎΠ²ΡΠ²Π°Π»Π°ΡΡ Π²Π΅ΡΡΡΠΊΠ°, ΠΎΡΡΠ°Π±Π°ΡΡΠ²Π°Π»ΠΈ ΡΠΊΡΠΈΠΏΡΡ ΠΈ ΡΠ΄.
- ΠΠΎΡΡΡΠΏ ΠΊ ΡΠΏΠΈΡΠΊΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΠΎΡΡΡΠΏ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ. ΠΡΡΠ°Π²Π»ΡΠ΅ΠΌ "ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ". ΠΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π°ΠΊΠ΅Ρ ΠΊΠ°ΠΊ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
- ΠΠ»Π°ΡΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°. ΠΡΡΠ°Π²Π»ΡΠ΅ΠΌ "Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ". ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π½Π°Ρ ΡΠ°ΠΉΡ ΡΠ°ΡΡΠΎ Π±ΡΠ΄ΡΡ ΠΏΠΎΡΠ΅ΡΠ°ΡΡ, Π° Π·Π½Π°ΡΠΈΡ ΠΈ ΡΠ°ΡΡΠΎ ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ, ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠ°ΠΉΡ. ΠΠ»ΡΡ ΠΏΡΠ½ΠΊΡ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΠΎΠΏΠ»Π°ΡΡ (Π²ΡΡΠ°Π²ΠΈΡΡ ΡΡΡΠ»ΠΊΡ).
ΠΠΌΠ΅ΠΌ "Π‘ΠΎΠ·Π΄Π°ΡΡ Π±Π°ΠΊΠ΅Ρ" ΠΈ Π±Π°ΠΊΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½.
Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π½Π°Ρ ΡΠ°ΠΉΡ Π² Π±Π°ΠΊΠ΅Ρ. Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± β ΠΎΡΠΊΡΡΡΡ ΡΡΠ΄ΠΎΠΌ ΠΏΠ°ΠΏΠΎΡΠΊΡ dist
Π½Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ° ΠΈ ΡΡΡΠΊΠ°ΠΌΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΈΡΡ ΠΏΡΡΠΌΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ. ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅, ΡΠ΅ΠΌ ΠΆΠ°ΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ "ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ", ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠ°ΠΏΠΊΠΈ Π½Π΅ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡΡΡΡ ΠΈ ΠΈΡ
ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΡΠΊΠ°ΠΌΠΈ Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΡΠ°ΠΊ, ΡΠ°ΠΉΡ Π·Π°Π³ΡΡΠΆΠ΅Π½ Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΡ, ΠΊΠ°ΠΊ ΠΊ ΡΠ°ΠΉΡΡ.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π²Π° Π² ΠΌΠ΅Π½Ρ ΠΆΠΌΠ΅ΠΌ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ "ΠΠ΅Π±-ΡΠ°ΠΉΡ".
ΠΠ° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π±Π°ΠΊΠ΅ΡΠ° ΠΊΠ°ΠΊ ΡΠ°ΠΉΡΠ°, Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠ°Π± "Π₯ΠΎΡΡΠΈΠ½Π³". ΠΠ΄Π΅ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π³Π»Π°Π²Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΉΡΠ°, ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΠΎ index.html. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ SPA ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎ Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π²ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΊΠ°ΠΆΠ΅ΠΌ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ°ΠΊΠΆΠ΅ index.html.
ΠΡ ΡΡΠ°Π·Ρ Π²ΠΈΠ΄ΠΈΠΌ, ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π½Π°Ρ ΡΠ°ΠΉΡ. ΠΠΌΠ΅ΠΌ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ.
Π§Π΅ΡΠ΅Π· ΠΌΠΈΠ½ΡΡ 5, ΠΏΠ΅ΡΠ΅ΠΉΠ΄Ρ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Π½Π°Ρ ΡΠ°ΠΉΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π²ΡΠ΅ΠΌ ΠΆΠ΅Π»Π°ΡΡΠΈΠΌ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π²ΡΠ΅ΠΌ ΠΊΡΠΎ Π΄ΠΎΡΠΈΡΠ°Π» Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°! ΠΡΠΎ ΠΌΠΎΡ ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΠ°ΡΡΡ, ΠΏΠ»Π°Π½ΠΈΡΡΡ Π΄Π°Π»ΡΡΠ΅ ΠΎΠΏΠΈΡΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ Π―Π½Π΄Π΅ΠΊΡΠ° ΠΈ ΠΈΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ frontend ΠΈ backend ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌΠΈ.
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π²Π°ΠΌ ΡΠ·Π½Π°ΡΡ ΠΏΡΠΎ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ Π―Π½Π΄Π΅ΠΊΡΠ° ΠΈΠ»ΠΈ ΠΏΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Angular Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com