ΠΠ΅ΡΠ½ΡΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΊΡπ§ ΠΡΠ±Π»ΠΈΡΠ½ΠΎΠ΅ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ #11: Backend, Node.js, Nest, Patterns, Prisma, JavaScript, API, Security
ΠΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΡΠ°Π·Π±ΠΎΡ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ Node.js backend-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅: ΠΎΡ runtime ΠΈ ORM Π΄ΠΎ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ, API, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ². Π ΠΊΠΎΠ½ΡΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ Metarhia, ΡΠ°Π±ΠΎΡΠ° Ρ open source ΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ²ΡΡ.
- ΠΠ°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
- Backend
- Π€ΠΎΡΠΌΠ°Ρ
- Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ
- 1 Ρ 23 ΠΌΠΈΠ½
ΠΠΎΡΠΎΡΠΊΠΎ ΠΎ Π²ΠΈΠ΄Π΅ΠΎ
ΠΡΠΎ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ΅ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠ²ΡΡ Ρ ΠΠΈΠΊΠΈΡΠΎΠΉ β Node.js backend-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ Ρ Π·Π°ΡΠ²Π»Π΅Π½Π½ΡΠΌ ΠΎΠΏΡΡΠΎΠΌ ΠΎΠΊΠΎΠ»ΠΎ ΡΠ΅ΡΡΡΡΡ
Π»Π΅Ρ. ΠΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Node.js, ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌ, Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΈ ORM, ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΡΡΡ, DDD, API-ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΎΠ±Π΅ΡΠ΅Π΄Π½ΠΈΠΊΠΈ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Metarhia, ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΡΠ°Π±ΠΎΡΡ Ρ open source ΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΈΠ½ΡΠ΅ΡΠ²ΡΡΠ΅ΡΠ° ΠΊ ΠΎΡΠ΅Π½ΠΊΠ΅ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΎΠ².
ΠΠ°ΡΡΠΎΠ½ΡΡΡΠ΅ ΡΠ΅ΠΌΡ
Π§ΡΠΎ Π²Π·ΡΡΡ Π½Π° Π·Π°ΠΌΠ΅ΡΠΊΡ
- ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΡΡΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ event loop, libuv, worker pool, cluster ΠΈ child_process, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠΊΠ΅ΡΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ worker-ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ.
- Π£ΠΌΠ΅ΠΉΡΠ΅ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°ΡΡ Π²ΡΠ±ΠΎΡ ΠΌΠ΅ΠΆΠ΄Ρ TypeORM, Prisma ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΌ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΊ PostgreSQL; ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΠ°Π·Π±Π΅ΡΠΈΡΠ΅ Redis ΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ JSON-ΠΏΠΎΠ»Π΅ΠΉ.
- ΠΠΎΠ²ΡΠΎΡΠΈΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ CommonJS require, ES modules, ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ
import(), Π° ΡΠ°ΠΊΠΆΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° Π°Π½Π°Π»ΠΈΠ· Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΈ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
- ΠΡΠ΄ΡΡΠ΅ Π³ΠΎΡΠΎΠ²Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎ ΡΠΈΡΠ°ΠΌ, Π° Π½Π΅ ΠΏΠΎ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΠ°ΠΏΠΊΠ°ΠΌ: ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ΅ΡΠ²ΠΈΡ, Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠ° ΠΎΡΠ΄Π΅Π»Π΅Π½Π° ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠ².
- ΠΠ»Ρ API ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΠΌΠ΅ΡΡ ΠΎΠΏΠΈΡΠ°ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Swagger-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈΠ· ΡΠΈΠΏΠΎΠ² ΠΈ DTO, ΠΎΠ±ΡΠΈΠ΅ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ frontend/backend ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠ·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΏΠΎΠ»Ρ.
- ΠΡΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ supply-chain-Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ: ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ
Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π²Π΅ΡΡΠΈΠΉ, ΠΎΡΠΊΠ°Π· ΠΎΡ SDK ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ HTTP-ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΡΠ΅ΡΡΡ ΠΈ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌΠΎΡΡΡ ΡΠ΅ΡΠ΅Π· Prometheus/Kibana.
- ΠΠΎΠ²ΡΠΎΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΈ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΊΠ°ΠΊ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ; Π² Π²ΠΈΠ΄Π΅ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡ Β«ΠΎΡΠΊΡΡΡΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΒ» ΠΈ ΡΠΏΠΎΡ ΠΎ ΠΏΠ°ΡΡΠ΅ΡΠ½Π΅ bridge Π΄Π»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΉ Ρ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°ΠΌΠΈ.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ