ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½Π°Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ Π½Π° 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
Build your own X (github) - ΡΠΎΡΠ½Ρ "How to" ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡ/Π±ΠΎΡΠ°/... - ΠΎΡ ΠΏΠ°ΡΡΠ΅ΡΠΎΠ²/ΠΊΡΠ°ΡΠ»Π΅ΡΠΎΠ² Π΄ΠΎ ΠΊΡΠΈΠΏΡΡ. ΠΠ° ΡΠ°Π·Π½ΡΡ
ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
ΠΈ ΡΠ·ΡΠΊΠ°Ρ
#dotnet #js #ts
π4
Public-Apis (github) - ΠΏΡΠΎΠ΅ΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΠ±ΡΠ°Π½ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ
Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ
(Π½ΠΎ Π΅ΡΡΡ ΠΈ ΠΏΠ»Π°ΡΠ½ΡΠ΅) API Ρ ΠΎΡΠ΅Π½Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ. #api
GitHub
GitHub - public-apis/public-apis: A collective list of free APIs
A collective list of free APIs. Contribute to public-apis/public-apis development by creating an account on GitHub.
reveal.js (github) - Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ Π½Π° ΡΠ°ΠΉΡΠ΅ ΡΠΎ ΡΠ΅Π»ΡΠΌ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠΈΡ - Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠ»Π°ΠΉΠ΄Ρ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° markdown, code syntax highlight, Π°Π½ΠΈΠΌΠ°ΡΠΈΡ ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΊΡΠΏΠΎΡΡ Π² PDF #js
BannedApiAnalyzers - Π΅ΡΠ»ΠΈ Π½Π°Π΄ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ API Π² solution wide ΠΌΠ°ΡΡΡΠ°Π±Π°Ρ
- ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ Π°Π½Π°Π»ΠΈΠ·Π΅Ρ ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Π΅ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΡΠ²ΠΎΠΉΡΡΠ² ΠΈ ΠΏΠΎΠ»Π΅ΠΉ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅Π»ΡΠ·Ρ (Π±ΡΠ΄Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ). #dotnet
Using C# to Create PowerShell Cmdlets - ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π² powershell ΠΏΡΡΡΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π° C# ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ
cmdlet'ΠΎΠ² Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ². #dotnet #powershell
Coding interview & system design problems - ΡΠ±ΠΎΡΠ½ΠΈΠΊ ~50 Π²ΠΎΠΏΡΠΎΡΠΎΠ² (Π²ΠΈΠ΄ΠΈΠΌΠΎ Ρ ΡΠΎΠ±Π΅ΡΠΎΠ² :)) ΠΈ Ρ
ΠΎΡΠΎΡΠΈΡ
ΡΠ°Π·Π±ΠΎΡΠΎΠ² ΡΡΠΈΡ
Π²ΠΎΠΏΡΠΎΡΡ Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°ΠΌΠΈ ΠΈ Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅. #interview
π2
RSSDP (github) - Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ Simple Service Discovery Protocol (SSDP). ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄Π΅Π²Π°ΠΉΡΡ (ΡΠ΅Π»Π΅Π²ΠΈΠ·ΠΎΡΡ, ΡΠ΅ΡΠΈΠ²Π΅ΡΡ, ΠΏΡΠΈΡΡΠ°Π²ΠΊΠΈ, ...) ΡΠΌΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΈ Π°Π½ΠΎΠ½ΡΠΈΡΡ Π² ΡΠ΅ΡΡ ΡΠ²ΠΎΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΠ΅ ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΡΠΈ ΠΎ ΡΠ΅Π±Π΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ ΡΠ΅Π±Π΅, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ - Π·Π²ΡΠΊ/Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Ρ.Π΄.) #dotnet
84 ΠΏΡΠΈΠΌΠ΅ΡΠ°-tutorials Π΄Π»Ρ nestjs. ΠΡΠ»ΠΈΡΠ½ΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡΡΠ°ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ - Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΠ, Π΄Π²ΡΡ
ΡΠ°ΠΊΡΠΎΡΠ½ΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, CQRS, Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΡΡΠΊΠΈ #js
YARP - Yet Another Reverse Proxy by Microsoft. Π’.ΠΊ. ProxyKit ΠΏΡΠΈΠΊΠ°Π·Π°Π» Π΄ΠΎΠ»Π³ΠΎ ΠΆΠΈΡΡ (ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ readonly ΠΈ archived) - API ΡΠ»ΡΠ·Ρ ΠΈ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΡΡΡΠΎΠΈΡΡ Π½Π° YARP. ΠΠΎΠΎΠ±ΡΠ΅ ΡΡΡΠΊΠ° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°Ρ - ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΠΈΠ»Π°ΠΌΠΈ ΠΏΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π³ΠΈΠ±ΠΊΠΈΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ Π΄Π΅Π»Π°ΡΡ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΡ Π²Ρ
ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΡΡΠ°ΡΠΈΠΊΠ° (Ρ pre-Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ ΠΈΠ»ΠΈ Π±Π΅Π·, ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ, ΠΏΠΎ ΡΠΎΠΊΠ΅Π½Π°ΠΌ, ΠΏΠΎ ΡΠ·Π΅ΡΠ°ΠΌ, ΠΏΠΎ ΠΊΡΠΊΠ°ΠΌ, Π² ΡΡΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈΠ»ΠΈ ΡΡΠΎ Π΅ΡΡ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π΅ΡΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅) - ΠΈ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ Π±ΡΡΡΡΠΎ, ΡΡΠΎ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ
ΠΎΠ΄Ρ Π½Π° ΠΏΡΠΎΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΠΊΠ° ΡΠ΅ΡΠ΅Π· YARP Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΎΡΡΠΈ. nginx Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΊΠ°Ρ
:) ΠΠ° ΡΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΊΠΎΠ΄Π°. #dotnet
Scalable WebSockets with NestJS and Redis - ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠ΅Π°Π»ΡΠ°ΠΉΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² websocket'Π°ΠΌΠΈ Π² nestjs ΡΠ΅ΡΠ΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Redis pub/sub ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ. ΠΠ°ΠΊΠΎΠΉ-ΡΠΎ SignalR Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΊΠ°Ρ
:))
ΠΠ΅ΡΠ°ΡΡΠΎ ΠΊΡΡΠ°ΡΠΈ Π²ΡΡΡΠ΅ΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ pub/sub Π² Redis Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ , ΠΎΠ½ΠΎ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΏΠΎΡΠ΅ΠΌΡ - Π΅ΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΎΠ² ΠΎ ΡΠΎΠ±ΡΡΠΈΡΡ ΡΠΈΠΏΠ° RabbitMQ ΠΈΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΡΡΠ³ΠΈΡ Π±ΡΠΎΠΊΠ΅ΡΠΎΠ². ΠΠΎ Π²ΠΎΡ Π² ΡΡΠ°ΡΡΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½Ρ Ρ Redis #js #redis #nestjs
ΠΠ΅ΡΠ°ΡΡΠΎ ΠΊΡΡΠ°ΡΠΈ Π²ΡΡΡΠ΅ΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ pub/sub Π² Redis Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ , ΠΎΠ½ΠΎ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΏΠΎΡΠ΅ΠΌΡ - Π΅ΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΎΠ² ΠΎ ΡΠΎΠ±ΡΡΠΈΡΡ ΡΠΈΠΏΠ° RabbitMQ ΠΈΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΡΡΠ³ΠΈΡ Π±ΡΠΎΠΊΠ΅ΡΠΎΠ². ΠΠΎ Π²ΠΎΡ Π² ΡΡΠ°ΡΡΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½Ρ Ρ Redis #js #redis #nestjs
ΠΠ²Π΅ ΡΡΠ°ΡΡΠΈ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠ³Π°:
π Adding validation to strongly typed configuration objects in .NET 6
π The dangers and gotchas of using scoped services in OptionsBuilder
ΠΏΠΎΡΠ²ΡΡΡΠ½Π½ΡΠ΅ IOptions<T>, Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΈΠ· appsettings.json ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΡ Π² scoped ΡΠ΅ΡΠ²ΠΈΡΠ°Ρ #dotnet
ΠΏΠΎΡΠ²ΡΡΡΠ½Π½ΡΠ΅ IOptions<T>, Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΈΠ· appsettings.json ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΡ Π² scoped ΡΠ΅ΡΠ²ΠΈΡΠ°Ρ #dotnet
Please open Telegram to view this post
VIEW IN TELEGRAM
wiki.js - ΡΠ»Π΅ΠΆΡ Π·Π° ΡΡΠΈΠΌ open source Π΄Π²ΠΈΠΆΠΊΠΎΠΌ ΡΠΆΠ΅ Π³ΠΎΠ΄Π° ΠΏΠΎΠ»ΡΠΎΡΠ°, Π·Π° ΡΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ½ ΠΎΡΠ΅Π½Ρ Ρ
ΠΎΡΠΎΡΠΎ Π²ΡΡΠΎΡ ΠΈ Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄ ΡΠΆΠ΅ Π΄Π°Π²Π½ΠΎ Π³ΠΎΡΠΎΠ² Π΄Π»Ρ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½-ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠΏΡΠΎΠ±ΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΠ»ΡΡΡ/ΠΌΠΈΠ½ΡΡΡ :)
β Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΎΡΠ΅Π½Ρ ΡΠΈΠΌΠΏΠ°ΡΠΈΡΠ½ΠΎ ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ
β ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ΄ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π΄Π»Ρ ΡΡΡΠ°Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ API) β ΠΌΡΠ»ΡΡΠΈΡΠ·ΡΡΠ½ΠΎΡΡΡ
β Π΄Π²Π° Π²ΠΈΠ΄Π° ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠ² (markdown / WYSIWYG)
β ΠΏΠΎΠ½ΡΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΡΡΡΠ°Π½ΠΈΡ (Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ XWiki)
β ΠΈΠ·ΠΊΠΎΡΠΎΠ±ΠΎΡΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ°Π½ΠΈΡ
β Π·Π° ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΡΡΡ Π² Π΄ΠΎΠΊΠ΅ΡΠ΅ (ΡΡΠΎΠ±Ρ ΠΏΠΎΡΡΠΊΠ°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ)
β responsive ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ
β ΡΠ΅Π³ΠΈ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΈΡ (Π²ΡΠ³Π»ΡΠ΄ΡΡ ΡΠΎΠΆΠ΅ ΠΊΡΠ°ΡΠΈΠ²ΠΎ)
β Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Π°ΡΡΠ°ΡΠΈ/ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ - Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ wiki-Π΄Π²ΠΈΠΆΠΊΠΎΠ² ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΡΠΌΠΎΡΡΠ΅Π» - ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ Π±ΠΎΠ»Ρ.
β ΡΡΠΎΠ½Ρ Π½Π° vuejs π
ΠΠ· ΠΌΠΈΠ½ΡΡΠΎΠ² ΠΏΠΎΠΊΠ° ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π½Π°ΡΡΠ»ΡΡ:
β ΠΊΠΎΠ΅-Π³Π΄Π΅ transition-ΡΡΡΠ΅ΠΊΡΡ Π² CSS Π΄Π»Ρ ΡΡΡΠ°Π½ΠΈΡ Ρ Π±Ρ ΠΏΠΎΠ΄ΡΠΎΠΊΡΠ°ΡΠΈΠ» Π² Π΄Π²Π° ΡΠ°Π·Π°. ΠΡ ΡΠΎΠ΅ΡΡΡ ΠΎΠ½ΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΏΠ»Π°Π²Π½ΠΎ ΠΈ ΠΊΡΠ°ΡΠΈΠ²ΠΎ... Π΄Π»Ρ end user. ΠΠΈΡΠ½ΠΎ ΠΌΠ½Π΅ ΠΏΡΠΈΠ²ΡΡΠ½Π΅Π΅ transition'Ρ ΠΏΠΎΠ±ΡΡΡΡΠ΅Π΅.
ΠΠΎΠΎΠ±ΡΠ΅ΠΌ Π΅ΡΠ»ΠΈ ΠΌΠ½Π΅ Π½Π°Π΄ΠΎ Π±ΡΠ΄Π΅Ρ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ wiki - ΡΡΠΎ Π±ΡΠ΄Π΅Ρ wiki.js
#js #vuejs
ΠΠ· ΠΌΠΈΠ½ΡΡΠΎΠ² ΠΏΠΎΠΊΠ° ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π½Π°ΡΡΠ»ΡΡ:
ΠΠΎΠΎΠ±ΡΠ΅ΠΌ Π΅ΡΠ»ΠΈ ΠΌΠ½Π΅ Π½Π°Π΄ΠΎ Π±ΡΠ΄Π΅Ρ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ wiki - ΡΡΠΎ Π±ΡΠ΄Π΅Ρ wiki.js
#js #vuejs
Please open Telegram to view this post
VIEW IN TELEGRAM