ΠΠ΅ΡΠ½ΡΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΊΡπ§ ΠΡΠ±Π»ΠΈΡΠ½ΠΎΠ΅ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ #5: net, c#, angular, Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΡΡΡ, patterns, db, orm, api, ΡΠ±ΠΎΡ ΠΌΡΡΠΎΡΠ°
ΠΡΠ±Π»ΠΈΡΠ½ΠΎΠ΅ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΠ΅ΠΊΡ .NET: C#, Angular, Entity Framework, SQL, ΠΏΠ°ΡΡΠ΅ΡΠ½Π°ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΡΡΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ. Π€ΠΎΡΠΌΠ°Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ ΠΊΠ°ΠΊ ΡΠ°Π·Π±ΠΎΡ ΠΎΡΠ²Π΅ΡΠΎΠ² ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠ° Ρ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΠ²ΡΡΠ΅ΡΠ°.
- ΠΠ°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
- Π Π°Π·Π½ΠΎΠ΅
- Π€ΠΎΡΠΌΠ°Ρ
- Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ
- 47 ΠΌΠΈΠ½
ΠΠΎΡΠΎΡΠΊΠΎ ΠΎ Π²ΠΈΠ΄Π΅ΠΎ
ΠΡΠΎ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ΅ ΡΡΠ΅Π±Π½ΠΎΠ΅ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌ full-stack-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΌ Ρ C#, JavaScript, Angular, MSSQL ΠΈ Entity Framework Π² ΠΌΠ΅Π΄ΠΈΡΠΈΠ½ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π΄Π»Ρ Π°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΎΠ³ΠΎ ΡΡΠ½ΠΊΠ°. ΠΠ½ΡΠ΅ΡΠ²ΡΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ API ΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, LINQ/IQueryable, ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ, Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΡΡΡ, ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ, ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΡΠ±ΠΎΡΠΊΡ ΠΌΡΡΠΎΡΠ° .NET. Π ΡΠΈΠ½Π°Π»Π΅ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎ Π½Π΅Π΄Π°Π²Π½Π΅ΠΌ Π½Π°ΡΠ°Π»Π΅ ΡΠ°Π±ΠΎΡΡ, Π° ΠΈΠ½ΡΠ΅ΡΠ²ΡΡΠ΅Ρ Π΄Π°ΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅, ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠΎΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ.
ΠΠ°ΡΡΠΎΠ½ΡΡΡΠ΅ ΡΠ΅ΠΌΡ
Π§ΡΠΎ Π²Π·ΡΡΡ Π½Π° Π·Π°ΠΌΠ΅ΡΠΊΡ
- ΠΠ»Ρ API Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΊ ΠΠ: Π² ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ, ΡΠ΅ΡΠ²Π΅ΡΠ½Π°Ρ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠ°, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
ΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π²Π½Π΅ΡΠ½ΠΈΠΌ API.
- ΠΡΠΆΠ½ΠΎ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡ IEnumerable ΠΈ IQueryable Π² Entity Framework: ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΆΠ΅ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ, Π° Π²ΡΠΎΡΠΎΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΡ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ SQL-Π·Π°ΠΏΡΠΎΡ ΠΊ ΠΠ.
- Π’ΡΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π»Ρ ΠΠ, ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΈΡΠΊ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ; ΡΡΠΎΠΈΡ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΈΠ·ΡΡΠΈΡΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΡ, Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΡΡΠ½ΠΎΠ΅ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅.
- ΠΠ»Ρ Π²ΠΎΠΏΡΠΎΡΠΎΠ² ΠΏΠΎ ΠΠΠ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΠΌΠ΅ΡΡ ΠΊΡΠ°ΡΠΊΠΎ ΠΎΠ±ΡΡΡΠ½ΡΡΡ Command, MVVM, ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠ²ΡΠ·Π½ΠΎΡΡΠΈ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΎΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
- Task β Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²Π°Ρ ΠΈ Π»ΡΠ³ΠΊΠ°Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΡΡΠ½ΡΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ Thread; Π² ΡΠ°Π·Π³ΠΎΠ²ΠΎΡΠ΅ Π΅Ρ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡ Ρ Thread Pool ΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ° Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ.
- ΠΡΠΈ ΠΎΠ±ΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π½ΡΠΆΠ½Ρ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ: ΠΈΠ½Π°ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ race condition ΠΈ Π½Π΅ΠΊΠΎΠ½ΡΠΈΡΡΠ΅Π½ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΡΠ²Π»ΡΡΡΡΡ ΡΠ΅Π΄ΠΊΠΎ ΠΈ ΠΏΠ»ΠΎΡ
ΠΎ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΡΡ.
- Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π°ΡΠΎΠΌΠ°ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, Π½ΠΎ ΠΎΡΠΊΠ°Ρ Π½Π΅ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°; Π΄Π»Ρ Π²Π½Π΅ΡΠ½ΠΈΡ
Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ²Π°ΡΠ° ΠΈΠ»ΠΈ Π±ΠΈΠ»Π΅ΡΠ°, Π½ΡΠΆΠ½Π° ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΡΠΈ Π½Π΅ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΠΎΠΏΠ»Π°ΡΠ΅.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ