ΠΠΎΡΡ high level design ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ π ΠΠ»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΊΡΡΠ³ΠΎΠ·ΠΎΡΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ
ΡΡΡΠ»ΠΎΠΊ. ΠΠ°, ΡΡΠΎ ΡΠ΅Π°Π»ΡΠ½ΠΎ Π²ΡΡ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π½Π° ΡΠΎΠ±Π΅ΡΠ°Ρ
ΠΎΡ senior ΠΈ Π²ΡΡΠ΅ (ΠΈΠ½ΡΠ° 100%):
Microsoft - Drone Delivery system - Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠΎ ΡΠ°Π·Π΄Π΅Π» ΠΏΡΠΎ Azure - ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅, ΡΠ΅ΠΎΡΠΈΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°Π»ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΠΊ Azure, ΠΎΠ½ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ Π² Π»ΡΠ±ΠΎΠΉ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠΉ ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅Π΄Π΅.
ΠΠ° medium - ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΎΡΠΈΡ ΠΈ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
30 Π²ΠΎΠΏΡΠΎΡΠΎΠ² ΠΏΠΎ System Design Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°ΠΌΠΈ π
System Design Patterns (github)
Backend best practices (github)
Domain-Driven Hexagon (github) - ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° #typescript
Domain-Driven Design and Messaging Architectures
#books #education #ddd
Microsoft - Drone Delivery system - Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠΎ ΡΠ°Π·Π΄Π΅Π» ΠΏΡΠΎ Azure - ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅, ΡΠ΅ΠΎΡΠΈΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°Π»ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΠΊ Azure, ΠΎΠ½ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ Π² Π»ΡΠ±ΠΎΠΉ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠΉ ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅Π΄Π΅.
ΠΠ° medium - ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΎΡΠΈΡ ΠΈ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
30 Π²ΠΎΠΏΡΠΎΡΠΎΠ² ΠΏΠΎ System Design Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°ΠΌΠΈ π
System Design Patterns (github)
Backend best practices (github)
Domain-Driven Hexagon (github) - ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° #typescript
Domain-Driven Design and Messaging Architectures
#books #education #ddd
π1
Π ΡΡΠΎ, ΡΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ? π΅βπ« #css #ui
ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈΡ cheat sheet Π΄Π»Ρ CSS
ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈΡ cheat sheet Π΄Π»Ρ CSS
π2
DotNetBook - ΠΊΠ½ΠΈΠ³Π° Π‘ΡΠ°Π½ΠΈΡΠ»Π°Π²Π° Π‘ΠΈΠ΄ΡΠΈΡΡΠΎΠ³ΠΎ (ru) ΠΏΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌΡ ΡΡΡΡΠΎΠΉΡΡΠ²Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² #dotnet, disposable-ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ, memory management'Ρ, ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌ, ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎΠΌΡ Π΄ΠΎΡΡΡΠΏΡ, ΠΈ Ρ.Π΄. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π²ΡΠ΅ΠΌ, ΠΊΡΠΎ ΠΏΠΈΡΠ΅Ρ Π΄Π»Ρ dotnet. #education
Dapr - Distributed Application Runtime - Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘Π°ΠΌ Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π», Π½ΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ. Π§ΡΠΎ Π½Π΅ΠΌΠ°Π»ΠΎΠ²Π°ΠΆΠ½ΠΎ - ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄Π΅ΡΠΆΠ°ΡΡ Π³Π΅ΡΠ΅ΡΠΎΠ³Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠ°Π·Π½ΡΡ
ΡΠ°Π½ΡΠ°ΠΉΠΌΠ°Ρ
ΠΈ ΡΠ·ΡΠΊΠ°Ρ
. ΠΠΎΠΏΡΠΎΠ±ΡΡ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΡΠΊΠ°ΡΡ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π² ΡΠ°Π±ΠΎΡΠ΅. Scott Hanselman Π΄Π°ΠΆΠ΅ ΠΊΠ½ΠΈΠ³Ρ ΠΏΠΎ Π½Π΅ΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π» Π΄Π²Π° Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ (ΠΊΠ½ΠΈΠ³Π° Π±Π΅ΡΠΏΠ»Π°ΡΠ½Π°Ρ).
C# functional extensions - ΡΠ΄Π°ΡΠ½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ Ρ Π·Π°ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ
ΡΡΡΠΊ Π² C# - ΠΌΠΎΠ½Π°Π΄Ρ Maybe/Optional/Chain/Tap/Result/Match. Π ΠΏΠ΅Ρ-ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
- ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ. ΠΠ»ΡΡ ΠΊ ΡΠΈΡΡΠΎΡΠ΅ ΠΈ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ΄Π°. #dotnet
ΠΠ²Π° ΠΏΠ»Π°Π³ΠΈΠ½Π° Π΄Π»Ρ Riderπ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² IDE ΡΠΈΠΊΠ»ΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΈ ΠΊΠΎΠ³Π½ΠΈΡΠΈΠ²Π½ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΊΠΎΡΠΎΡΡΡ
ΡΡΠΈΡΠ°ΡΡΡΡ ΠΏΠΎ Π²ΠΎΡ ΡΡΠΎΠΌΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ (G. Ann Campbell, ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠΎΠ½ΡΡΠΈΠ±ΡΡΠΎΡΠΎΠ² SonarQube)
ΠΡΠ°ΡΠΈΠ²ΡΠΉ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ
Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ (timelines) #tools
Manage your terraform like a container (en) - Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ°Ρ ΡΡΠ°ΡΡΡ ΠΏΡΠΎ #terraform ΠΈ #aws Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°ΠΌΠΈ
FluentValidation - ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ Π΄Π»Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ
π Π²ΡΠ½Π΅ΡΡΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ
π ΡΠ΄Π΅Π»Π°ΡΡ chaining-Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ
π ΠΏΠΎΠ»ΡΡΠΈΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ (Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π½Π° ΡΡΠΎΠ½Ρ)
π ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ DI
π ΠΏΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ (ΡΡΠ°ΡΠ½ΠΎ ΡΡΠΎΠ³ΠΎ Π½Π΅Ρ) - ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΡΡ middleware ΠΈ Π²ΠΎΡΠΊΠ½ΡΡΡ Π² pipeline ASP.NET Core Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ Π²ΡΠ΅Ρ
Π²Ρ
ΠΎΠ΄ΡΡΠΈΡ
ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Ρ ΡΡΠΎΠ½ΡΠ° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ http 400, Π΅ΡΠ»ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ.
β Π ΡΠΈΡΡΠΎΡΠ΅ ΠΈ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ΄Π° #dotnet
Please open Telegram to view this post
VIEW IN TELEGRAM
π5
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ TLS Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ (ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠ°Π½ΠΈΡΠ½Π°Ρ ΡΡΠ°ΡΡΡ). ΠΠΈΠ½ΠΈΠΌΡΠΌ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ, ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ Π΄Π°ΠΌΠΏΠΎΠ² ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² #education
Building a Scalable Event-Driven Search Architecture With Postgresβ Full-Text Search - ΡΡΠ°ΡΡΡ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° Π½Π° Postgres - Ρ Π±Π»ΡΠΊΠ΄ΠΆΠ΅ΠΊΠΎΠΌ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ, ΠΎΡΠ΅ΡΠ΅Π΄ΡΠΌΠΈ ΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°ΠΌΠΈ. #books #education
Fody - Π°Π½Π°Π»ΠΎΠ³ PostSharp Π² ΠΊΠ°ΠΊΠΎΠΌ-ΡΠΎ ΡΠΎΠ΄Π΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π² post build Π·Π°Π»Π΅Π·ΡΡ Π² IL Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΠΉ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ (ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π½ΠΎΠΉ Π΄ΠΈΡΠΈ):
π Π² ΡΠ΅Π»ΠΈΠ·Π½ΠΎΠΌ Π±ΠΈΠ»Π΄Π΅ ΠΎΡΠΎΡΠ²Π°ΡΡ override ToString Ρ Π²ΡΠ΅Ρ
ΠΊΠ»Π°ΡΡΠΎΠ²
π ΠΈΠ½ΠΆΠ΅ΠΊΡΠ½ΡΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ ΠΈ Π²ΡΠ΄Π°Π²Π°ΡΡ ΡΡΠΎ Π² Trace
π Π²ΠΎΡΠΊΠ½ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π½Π° null Π²ΡΠ΅Ρ
nullable string ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² Π½Π°ΡΠ°Π»ΠΎ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
π Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ConfigureAwait(false) Π²ΠΎ Π²ΡΠ΅ async ΠΌΠ΅ΡΠΎΠ΄Ρ
π Π²ΠΎΡΠΊΠ½ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² Trace Π²ΠΎ Π²ΡΠ΅ [Obsolete] ΠΌΠ΅ΡΠΎΠ΄Ρ
ΠΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΡΠ°ΠΌ ΡΡΠ°ΡΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎ ΠΈ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π΄Π΅Π»Π°ΡΡΡΠ°Π·Π½ΡΡ Π΄ΠΈΡΡ Π²ΡΡ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ Ρ Π²Π°ΡΠ΅ΠΉ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΠΉ ΠΏΠΎΡΠ»Π΅ Π±ΠΈΠ»Π΄Π°. #dotnet
ΠΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΡΠ°ΠΌ ΡΡΠ°ΡΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎ ΠΈ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π΄Π΅Π»Π°ΡΡ
Please open Telegram to view this post
VIEW IN TELEGRAM
ΠΠ»ΠΈΠ½Π½Π°Ρ ΡΡΠ°ΡΡΡ ΠΏΠΎ Π°Π½Π°Π»ΠΈΠ·Ρ ΡΡΠ°ΡΠΈΠΊΠ° Π² #kubernetes Π² ΡΠ°Π·Π½ΡΡ
ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡ
ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½Π°Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ Π½Π° rule-based ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π΅ - Ρ
ΠΎΡΠΎΡΠ°Ρ ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΡΡΠ°ΡΡΡ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎ ΡΡΡ ΡΠ΅ΠΌΡ #typescript #js
bespoyasov.ru
ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½Π°Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ rule-based ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π°
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ Π·Π°Π΄Π°ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠ΅ ΠΈ ΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΈ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ΄.
β€1
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² best practices Ρ github ΠΏΠΎ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π»ΡΠ±ΠΈΠΌ (ΠΏΠΎΡΡΠΈ):
NET Core
Entity Framework Core
Angular
MediatR
AutoMapper
FluentValidation
NUnit, FluentAssertions, Moq & Respawn
π CleanArchitecture
π CleanArchitecture (Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π°Π²ΡΠΎΡΠ°)
π EquinoxProject
π Dotnet-Template-Onion
π NetCore-Clean-Architecture
π CleanAspNetCoreWebApi
π CQRS-Clean-Eventual-Consistency
π Clean-Architecture-ASP.NET-Core
#dotnet
NET Core
Entity Framework Core
Angular
MediatR
AutoMapper
FluentValidation
NUnit, FluentAssertions, Moq & Respawn
#dotnet
Please open Telegram to view this post
VIEW IN TELEGRAM
π2
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΎΠ½Π»Π°ΠΉΠ½-ΡΠ΅ΡΠ²ΠΈΡ-Π°Π½Π°Π»ΠΈΠ·Π΅Ρ asm-ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ΄Π°ΡΡ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΠΈΠ½ΡΡ (ΡΠ°ΠΊΡΡ, ΠΏΡΠΎΠΌΠ°Ρ
ΠΈ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π½ΠΈΡ, ...). ΠΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ². Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ ΠΈΠ· ΡΠΎΠ³ΠΎ ΠΆΠ΅ SharpLab ΠΊΠΎΠ΄ ΠΏΠΎΡΠ»Π΅ JIT, ΡΠΊΠΎΠΏΠΈΠΏΠ°ΡΡΠΈΡΡ ΡΡΠ΄Π° ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΠ²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Π΅ΠΉ Π½Π° ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌΡΠΉ ΠΏΠ΅ΡΡ. #tools
FluentAssertions - Π΅ΡΡ ΠΎΠ΄Π½Π° ΡΡΡΠΊΠ° ΠΈΠ· Ρ fluent-ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΏΠΎΠ½ΡΡΠ½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ Π²Π°Π»ΠΈΠ΄ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈ Π±ΡΠΎΡΠ°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ. ΠΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ ΠΊΠ°ΠΊ Π² ΡΠ½ΠΈΡ-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (ΡΠΎΡ ΠΆΠ΅ MSUnit Π½ΠΈΡΠ΅Π²Π°Ρ Π½Π° assert'Ρ), ΡΠ°ΠΊ ΠΈ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Ρ FluentValidation ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ Π΄Π»Ρ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΠΉ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ. Π Ρ.Ρ. Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΡΡΡΠΊ (ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ) - Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Ρ Ρ
ΠΈΡΡΡΠΌΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌΠΈ - Ρ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³ΠΎΠΌ, Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ, ΠΊΠΎΠ½Π²Π΅ΡΡΠ°ΡΠΈΠ΅ΠΉ ΠΈ Ρ.Π΄. #dotnet
π2
Building ASP.NET Core and EF Core multi-tenant apps - ΡΠΈΠΊΠ» ΠΈΠ· 6 ΡΡΠ°ΡΠ΅ΠΉ ΠΏΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ multi-tenant ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π΄ΡΡΠ³ΠΈΡ
ΡΡΠ°ΡΠ΅ΠΉ - Π·Π΄Π΅ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΡ
Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ², Ρ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°ΠΌΠΈ/Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°ΠΌΠΈ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΡΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠΏΠΎΡΠΎΠ±Ρ.
Global Filters in Entity Framework - Π²ΡΠΎΡΠ°Ρ ΡΡΠ°ΡΡΡ (Π½Π΅ ΠΈΠΌΠ΅ΡΡΠ°Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΠΏΠ΅ΡΠ²ΠΎΠΉ, Π½ΠΎ ΠΈΠΌΠ΅ΡΡΠ°Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ multi-tenancy) - ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΡΠΈΠ»ΡΡΡΠΎΠ² Π² EF Π΄Π»Ρ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ EF
#dotnet #ef
Global Filters in Entity Framework - Π²ΡΠΎΡΠ°Ρ ΡΡΠ°ΡΡΡ (Π½Π΅ ΠΈΠΌΠ΅ΡΡΠ°Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΠΏΠ΅ΡΠ²ΠΎΠΉ, Π½ΠΎ ΠΈΠΌΠ΅ΡΡΠ°Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ multi-tenancy) - ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ ΡΠΈΠ»ΡΡΡΠΎΠ² Π² EF Π΄Π»Ρ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ EF
#dotnet #ef
Use Expression Trees to Build Dynamic Queries - ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ Ρ ΡΡΠΎΠ½ΡΠ° ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΠΏΠΎΠ»ΡΠΌ. Π’ΠΈΠΏΠΈΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ - ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°Π³Π°Π·ΠΈΠ½ Ρ ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ ΠΏΠΎ ΠΏΠΎΠ»ΡΠΌ/ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ/ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠΌ ΡΠΎΠ²Π°ΡΠ°. Π ΡΡΠ°ΡΡΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Expression<T> Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ
LINQ-Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ°ΠΏΠΏΠΈΡΡ ΠΈΠ· DTO-ΠΌΠΎΠ΄Π΅Π»ΠΈ. #dotnet #ef
awesome-dotnet-core - Π±ΠΎΠ»ΡΡΠ°Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΡΡΠ»ΠΎΠΊ Π½Π° ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ Π½Π° ΡΠ°ΠΌΡΠ΅ ΡΠ°Π·Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ (ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎΡΡΠΈ ΡΠ°Π΄ΠΈ - Π½Π΅ Π²ΡΠ΅ ΠΈΠ· Π½ΠΈΡ
Π½ΠΎΡΠΌ, ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ) #dotnet
This media is not supported in your browser
VIEW IN TELEGRAM
C# 10 interpolated string handlers: scanf-like parsing! - Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΡΠ°ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ interpolated strings. sscanf Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΊΠ°Ρ
π
gist Π½Π° github #dotnet
gist Π½Π° github #dotnet
π1