AzureDiagrams - ΠΎΡ ΡΠΈΠΌΠΏΠ°ΡΠΈΡΠ½ΡΠ΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ (ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π΄Π°ΠΆΠ΅ Π°Π½ΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅) Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠ°Π·Π½ΡΡ
ΠΎΠ±Π»Π°ΡΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
Π‘ΡΠ΄Ρ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ Π·Π°ΠΏΠΈΠ»Π΅Π½Π° ΠΏΠΎΠ΄ Azure, Π½ΠΎ Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ Π² ΠΎΠ±Π»Π°ΠΊΠ°Ρ Π½Π°Π±ΠΎΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅, ΡΠ°ΠΊ ΡΡΠΎ Π΄ΡΠΌΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ Π΄Π»Ρ Amazon. #tools
Π‘ΡΠ΄Ρ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ Π·Π°ΠΏΠΈΠ»Π΅Π½Π° ΠΏΠΎΠ΄ Azure, Π½ΠΎ Π² ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ Π² ΠΎΠ±Π»Π°ΠΊΠ°Ρ Π½Π°Π±ΠΎΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅, ΡΠ°ΠΊ ΡΡΠΎ Π΄ΡΠΌΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ Π΄Π»Ρ Amazon. #tools
π1
FusionCache - Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π΄Π»Ρ LazyCache (Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡ
ΠΎΠΆΠ΅ ΠΏΠΎΠ΄Π·Π°Π±ΠΈΠ»ΠΈ) ΠΈ ΡΡΠ°ΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ IMemoryCache. ΠΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π½ΡΡ
ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² (Π΄Π»Ρ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΈΠ½Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ ΠΈ ΠΌΠ΅ΡΡΠΈΠΊ) #dotnet
GitHub
GitHub - ZiggyCreatures/FusionCache: FusionCache is an easy to use, fast and robust hybrid cache with advanced resiliency features.
FusionCache is an easy to use, fast and robust hybrid cache with advanced resiliency features. - ZiggyCreatures/FusionCache
π3
DAWG (Directed Acyclic Word Graph) is a data structure for storing and searching large word lists and dictionaries. It can be 40x more efficient than the .NET Dictionary class for certain types of data.
#dotnet
#dotnet
π1
π ΠΠ°ΠΏΠΈΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ΡΠ° pinned Β«Π‘Π»ΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π΄Π»Ρ Π²Π°Ρ, ΡΠ²Π°ΠΆΠ°Π΅ΠΌΡΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΈ. ΠΡ ΠΊΠ°ΠΊ-ΡΠΎ ΡΠΈΠ³Π½Π°Π»ΡΡΠ΅ Π΅ΠΌΠΎΠ΄ΠΆΡΠΌΠΈ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ-ΡΠΎ Π΅ΡΡ, ΡΡΠΎΠ±Ρ ΠΈΡΠΊΠ°Π» Π½ΡΠΆΠ½ΡΠ΅ (ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅) ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ΅ΠΌΡ π ΠΡΠΌΡΡΠ»Π΅ ΡΠΈΠ³Π½Π°Π»ΡΡΠ΅ Π½Π° ΡΠ΅Ρ
ΠΏΠΎΡΡΠ°Ρ
ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Ρ, ΡΡΠΎΠ±Ρ Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π» ΡΠ΅ΠΌΡΒ»
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² Π½Π° Π·Π°ΠΌΠ΅Π½Ρ ΡΡΠ°ΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ IMemoryCache
πΈFastCache (ΡΡΠΏΠΎ ΠΎΠ±Π΅ΡΡΠΊΠ° Π½Π°Π΄ ConcurrentDictionary)
πΈLazyCache (ΠΏΠΎΡ ΠΎΠΆΠ΅ ΠΏΠΎΠ΄Π·Π°Π±ΠΈΠ»ΠΈ Π½Π° Π½Π΅Π³ΠΎ, Ρ ΠΎΡΡ ΠΎΠ½ Ρ ΠΌΠ΅Π½Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ )
πΈFusionCache
πΈintelligentcache
πΈCacheTower (ΠΏΠΎΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ Π½Π° Π½ΡΠΌ)
πΈEasyCaching
ΠΠΎΠΎΠ±ΡΠ΅ ΠΌΠ½Π΅ Π΄Π»Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ Π½Π°Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠ΅ΠΉ ΠΎΡ ΠΊΡΡΠ°:
* ΡΡΠΎΠ±Ρ ΡΠΌΠ΅Π»ΠΎ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ backend Π΄Π»Ρ Redis
* ΡΡΠΎΠ±Ρ GetOrAdd (GetOrSet) ΠΈΠΌΠ΅Π»ΠΎ Π»ΠΎΠΊ Π½Π° cache key - ΡΡΠΎΠ±Ρ Π² ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΡΠ°Π±ΡΠΈΠΊΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠ΅ΠΌΠ° Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π»Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· (ΠΊΠ°ΠΊ ΡΡΠΎ Π² ConcurrentDictionary Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ)
* (ΡΠ΅Π΄ΠΊΠΎ) ΡΠΎΠ±ΡΡΠΈΠ΅ Π½Π° evict ΠΈΡΠ΅ΠΌΠ° ΠΏΠΎ expiration
* (ΡΠ΅Π΄ΠΊΠΎ) sliding expiration
Π Ρ Π΅ΡΡ Π½Π΅ Π²ΡΡΡΠ΅ΡΠ°Π» ΠΊΡΡΠ° (Π΄Π»Ρ Π΄ΠΎΡΠ½Π΅ΡΠ° ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ» Π±Ρ Π΄Π΅ΡΠΆΠ°ΡΡ Π΄Π΅ΡΠ΅Π²ΠΎ/Π³ΡΠ°Ρ ΠΈΡΠ΅ΠΌΠΎΠ² Ρ evict Π²ΡΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΡΠ°ΡΡΠ΅ΠΉ.
Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Ρ Π½Π°Ρ Π΅ΡΡΡ user ΠΈ teams Π² ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ Π²Ρ ΠΎΠ΄ΠΈΡ. ΠΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ/ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·Π΅ΡΠ° Π² team - Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΡΠΈΠΌΡ ΠΏΠΎ id ΡΠ·Π΅ΡΠ° (Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠ½ ΡΠ²ΡΠ·Π°Π½). ΠΡΡΡ ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΡΠ΅ΠΌΠ° Π·Π°Π²ΠΈΡΠΈΡ Π΄Π΅ΡΡΡΠΎΠΊ Π΄ΡΡΠ³ΠΈΡ Π² ΠΊΡΡΠ΅, ΡΠ°ΠΊ Π²ΠΎΡ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΠΈΡ ΡΠΎΠΆΠ΅ Π²ΡΠ΅ evict'Π½ΡΡΡ. #dotnet
πΈFastCache (ΡΡΠΏΠΎ ΠΎΠ±Π΅ΡΡΠΊΠ° Π½Π°Π΄ ConcurrentDictionary)
πΈLazyCache (ΠΏΠΎΡ ΠΎΠΆΠ΅ ΠΏΠΎΠ΄Π·Π°Π±ΠΈΠ»ΠΈ Π½Π° Π½Π΅Π³ΠΎ, Ρ ΠΎΡΡ ΠΎΠ½ Ρ ΠΌΠ΅Π½Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ )
πΈFusionCache
πΈintelligentcache
πΈCacheTower (ΠΏΠΎΠΊΠ° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ Π½Π° Π½ΡΠΌ)
πΈEasyCaching
ΠΠΎΠΎΠ±ΡΠ΅ ΠΌΠ½Π΅ Π΄Π»Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ Π½Π°Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΠ΅ΠΉ ΠΎΡ ΠΊΡΡΠ°:
* ΡΡΠΎΠ±Ρ ΡΠΌΠ΅Π»ΠΎ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ backend Π΄Π»Ρ Redis
* ΡΡΠΎΠ±Ρ GetOrAdd (GetOrSet) ΠΈΠΌΠ΅Π»ΠΎ Π»ΠΎΠΊ Π½Π° cache key - ΡΡΠΎΠ±Ρ Π² ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΡΠ°Π±ΡΠΈΠΊΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠ΅ΠΌΠ° Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π»Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· (ΠΊΠ°ΠΊ ΡΡΠΎ Π² ConcurrentDictionary Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ)
* (ΡΠ΅Π΄ΠΊΠΎ) ΡΠΎΠ±ΡΡΠΈΠ΅ Π½Π° evict ΠΈΡΠ΅ΠΌΠ° ΠΏΠΎ expiration
* (ΡΠ΅Π΄ΠΊΠΎ) sliding expiration
Π Ρ Π΅ΡΡ Π½Π΅ Π²ΡΡΡΠ΅ΡΠ°Π» ΠΊΡΡΠ° (Π΄Π»Ρ Π΄ΠΎΡΠ½Π΅ΡΠ° ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ» Π±Ρ Π΄Π΅ΡΠΆΠ°ΡΡ Π΄Π΅ΡΠ΅Π²ΠΎ/Π³ΡΠ°Ρ ΠΈΡΠ΅ΠΌΠΎΠ² Ρ evict Π²ΡΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΡΠ°ΡΡΠ΅ΠΉ.
Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Ρ Π½Π°Ρ Π΅ΡΡΡ user ΠΈ teams Π² ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ Π²Ρ ΠΎΠ΄ΠΈΡ. ΠΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ/ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·Π΅ΡΠ° Π² team - Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΡΠΈΠΌΡ ΠΏΠΎ id ΡΠ·Π΅ΡΠ° (Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠ½ ΡΠ²ΡΠ·Π°Π½). ΠΡΡΡ ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΡΠ΅ΠΌΠ° Π·Π°Π²ΠΈΡΠΈΡ Π΄Π΅ΡΡΡΠΎΠΊ Π΄ΡΡΠ³ΠΈΡ Π² ΠΊΡΡΠ΅, ΡΠ°ΠΊ Π²ΠΎΡ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΠΈΡ ΡΠΎΠΆΠ΅ Π²ΡΠ΅ evict'Π½ΡΡΡ. #dotnet
β€3π₯3
This media is not supported in your browser
VIEW IN TELEGRAM
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ tldraw.com (ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅ ΡΠ΅Π³Π°ΡΠ°, ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ»ΠΊΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡ Π΄ΡΡΠ³ΠΎΠΌΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ) #tools
π3
Π― Π΄ΡΠΌΠ°Π», ΡΡΠΎ ΠΌΠ΅Π½ΡΡΠ΅ 3-5 Π΅Π²ΡΠΎΠ² Π² ΠΌΠ΅ΡΡΡ Π·Π° VDS ΡΠ»ΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ (Π΄Π»Ρ ΠΏΠ΅Ρ-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ), Π½ΠΎ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π΅ΡΡΡ ΠΈ Π·Π° 0.58-1 Π΄ΠΎΠ»Π»Π°Ρ (7-12 Π΄ΠΎΠ»Π»Π°ΡΠΎΠ² Π ΠΠΠ).
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ - ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΡΠΎΡΡ Π·Π° NAT ΠΈ ΠΎΡΠΊΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΡΠΎΠ² (Π½ΠΎ Π΅ΡΡΡ domain forwarding Π½Π° 80-ΠΉ / 443-ΠΉ ΠΏΠΎΡΡΡ).
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠΌΠ΅Π΅ΡΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ - ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΡΠΎΡΡ Π·Π° NAT ΠΈ ΠΎΡΠΊΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΡΠΎΠ² (Π½ΠΎ Π΅ΡΡΡ domain forwarding Π½Π° 80-ΠΉ / 443-ΠΉ ΠΏΠΎΡΡΡ).
π6
Redacting sensitive data in logs with Microsoft.Extensions.Compliance.Redaction - ΡΠ΅Π΄ΠΊΠ°Ρ, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΊΡΠ°ΠΉΠ½Π΅ Π½ΡΠΆΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎ ΠΎΡΠΏΠΈΠ»ΠΈΠ²Π°ΡΡ sensitive Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ #dotnet
π₯3
DistributedLock - ΡΠΎΠΆΠ΅ ΠΈΠ½ΠΎΠ³Π΄Π° Π½ΡΠΆΠ½Π°Ρ ΡΡΡΠΊΠ° - ΡΠ΄Π΅Π»Π°ΡΡ lock Π½Π° ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΡΠΉ ΡΠ΅ΡΡΡΡ. Π₯ΠΎΡΠΎΡΠΎ, ΠΊΠΎΠ³Π΄Π° Ρ ΡΠ΅Π±Ρ ΠΈΠ½ΡΡΠ°Π½Ρ ΠΎΠ΄ΠΈΠ½ (ΡΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ ΡΡΠ°ΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π°ΠΌΠΈ), Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΈΡ
Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ - Π½ΡΠΆΠ΅Π½ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ (MySql, Postgres, SqlServer, Oracle, Redis, ZooKeeper, ...).
Π Π°Π΄ΡΠ΅Ρ, ΡΡΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΡΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² SqlServer ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ sp_getapplock - ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π»ΠΎΠΊΠ° Π½Π° ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΡΠΉ "application resource") #dotnet
Π Π°Π΄ΡΠ΅Ρ, ΡΡΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΡΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² SqlServer ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ sp_getapplock - ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π»ΠΎΠΊΠ° Π½Π° ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΡΠΉ "application resource") #dotnet
π₯4
How does continuous backup and point-in-time recovery work in databases - Π²ΠΊΡΠ°ΡΡΠ΅ ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΊΠ°ΠΊ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Π΄Π΅Π»Π°ΡΡ Π±Π°ΠΊΠ°ΠΏΡ (Π² ΠΎΠ½Π»Π°ΠΉΠ½Π΅, Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ°) ΠΈ ΡΠ΅ΡΡΠΎΡΡΡ Π΄Π°Π½Π½ΡΠ΅. #database #howto
π₯2
ΠΡΠ»ΠΈΡΠ½Π°Ρ Π½Π΅Π΄Π»ΠΈΠ½Π½Π°Ρ ΡΡΠ°ΡΡΡ ΠΏΡΠΎ ΡΠ»ΠΎΡΡ Π² VueJS ΠΈ ΡΠ°ΠΌ (ΠΎΡΠ΅Π½Ρ ΠΊΡΠ°ΡΠΊΠΎ) ΠΎΠΏΠΈΡΠ°Π½Ρ Π²ΡΠ΅ ΡΠΈΠΏΠΎΠ²ΡΠ΅ ΠΊΠ΅ΠΉΡΡ ΡΠΎ ΡΠ»ΠΎΡΠ°ΠΌΠΈ. Π Π²ΠΎΠΎΠ±ΡΠ΅ ΡΡΠΎ 14-Ρ ΡΠ°ΡΡΡ ΡΠ΅ΡΠΈΠΈ ΡΡΠ°ΡΠ΅ΠΉ ΠΏΡΠΎ #vuejs - ΡΠΎΠ²Π΅ΡΡΡ ΠΏΠΎΡΠΈΡΠ°ΡΡ, ΠΎΠ½ΠΈ Π²ΡΠ΅ ΠΎΡΠ΅Π½Ρ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΠΈ Ρ ΠΎΠ±ΠΈΠ»ΠΈΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ². ΠΠ»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
Π² VueJS ΡΠ°ΠΌΠΎΠ΅ ΡΠΎ. #js
β€1π1
This media is not supported in your browser
VIEW IN TELEGRAM
Brainboard - Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΡΠ°ΡΠΈΠ²ΠΎ. ΠΠΎΠΆΠ½ΠΎ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±Π»Π°ΡΠ½ΡΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ (ΠΈΠ»ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ· ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
) ΠΈ ΠΎΠ½ΠΎ ΡΠ΅Π±Π΅ Π³Π΅Π½Π΅ΡΠΈΡ terraform ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² (GCP, AWS, Azure). #tools
π4
Π‘Π»ΡΡΠ°ΠΉΠ½ΠΎ Π½Π°ΡΠΊΠ½ΡΠ»ΡΡ Π½Π° .net-Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΈ (github) ΠΊ Pinecone, ΠΎΡΠΊΡΠ΄Π° Ρ ΡΠ·Π½Π°Π» ΠΎ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠΈ Pinecone - Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π²Π΅ΠΊΡΠΎΡΠΎΠ², ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, Π½ΠΎ ΠΏΠΎΠΊΠ° Π² ΠΌΠΎΠ΅ΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ Π½Π΅Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΎ.
ΠΠ°Π΄ΠΎ Π±ΡΠ΄Π΅Ρ Ρ ΠΎΡΡ Π±Ρ ΠΏΠΎΡΡΠΊΠ°ΡΡ Π΄Π»Ρ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΡ, ΡΡΠΎ ΡΡΠΎ Π·Π° ΡΡΡΠΊΠ°. ΠΡΠ°ΠΉΡΠΈΠ½Π³ Π½Π΅ ΡΡΠΎΠ±Ρ Π½Π΅ ΡΠ°Π΄ΡΠ΅Ρ, ΠΎΠ½ ΠΎΠ±ΡΡΠ½ΡΠΉ (ΠΏΠ»ΡΡ/ΠΌΠΈΠ½ΡΡ) Π΄Π»Ρ managed Π±Π°Π· Π΄Π°Π½Π½ΡΡ Π² ΠΎΠ±Π»Π°ΠΊΠ΅ (ΡΠΎΡ ΠΆΠ΅ managed Postgres ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΡΠΎΠΈΡ Π΄ΠΎΡΠΎΠΆΠ΅). #database #dotnet
ΠΠ°Π΄ΠΎ Π±ΡΠ΄Π΅Ρ Ρ ΠΎΡΡ Π±Ρ ΠΏΠΎΡΡΠΊΠ°ΡΡ Π΄Π»Ρ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΡ, ΡΡΠΎ ΡΡΠΎ Π·Π° ΡΡΡΠΊΠ°. ΠΡΠ°ΠΉΡΠΈΠ½Π³ Π½Π΅ ΡΡΠΎΠ±Ρ Π½Π΅ ΡΠ°Π΄ΡΠ΅Ρ, ΠΎΠ½ ΠΎΠ±ΡΡΠ½ΡΠΉ (ΠΏΠ»ΡΡ/ΠΌΠΈΠ½ΡΡ) Π΄Π»Ρ managed Π±Π°Π· Π΄Π°Π½Π½ΡΡ Π² ΠΎΠ±Π»Π°ΠΊΠ΅ (ΡΠΎΡ ΠΆΠ΅ managed Postgres ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΡΠΎΠΈΡ Π΄ΠΎΡΠΎΠΆΠ΅). #database #dotnet
The Human Side of Airbnbβs Microservice Architecture
40-ΠΌΠΈΠ½ΡΡΠ½ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΎΡ Airbnb - ΠΏΡΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Ρ ΠΎΠ΄Π½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π½Π° Π΄ΡΡΠ³ΡΡ.
tldr:
* 2008-2017 - ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ
* 2017-2020 - ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ
* 2020 ΠΏΠΎ Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ - ΠΌΠΈΠΊΡΠΎ ΠΈ ΠΌΠ°ΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ
Π Π΅Π·ΡΠΌΠΈΡΡΡ - ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΆΠΈΠ»Π° 9 Π»Π΅Ρ Π½Π° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ΅. Π ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ ΠΎΠ½ΠΈ ΠΌΠΈΠ³ΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠΆΠ΅ Π½Π°Π±ΡΠ°Π² ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΡΡ Π±Π°Π·Ρ, Π½Π°Π³ΡΡΠ·ΠΊΡ ΠΈ ΡΠΈΡΠΈ. ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡΠ½ΠΊΠ°, ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°Π±ΠΎΠ»Π΅Π²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ (Π° ΡΠ°ΡΡΠΎ ΠΈ ΡΡΠ°ΡΡΠ°ΠΏΡ) - ΡΠ°ΡΡΠΎ Π½Π΅ Π½ΡΠΆΠ½Π° ΠΈ Π½Π΅ ΠΎΠΏΡΠ°Π²Π΄Π°Π½Π° Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄. ΠΠΎΠ΄ΡΠ»ΡΠ½ΡΠΉ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΡΡ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ (ΠΌΠΈΠΊΡΠΎ)ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ. #architecture
40-ΠΌΠΈΠ½ΡΡΠ½ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΎΡ Airbnb - ΠΏΡΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Ρ ΠΎΠ΄Π½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π½Π° Π΄ΡΡΠ³ΡΡ.
tldr:
* 2008-2017 - ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ
* 2017-2020 - ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ
* 2020 ΠΏΠΎ Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ - ΠΌΠΈΠΊΡΠΎ ΠΈ ΠΌΠ°ΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡ
Π Π΅Π·ΡΠΌΠΈΡΡΡ - ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΆΠΈΠ»Π° 9 Π»Π΅Ρ Π½Π° ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ΅. Π ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ ΠΎΠ½ΠΈ ΠΌΠΈΠ³ΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠΆΠ΅ Π½Π°Π±ΡΠ°Π² ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΡΡ Π±Π°Π·Ρ, Π½Π°Π³ΡΡΠ·ΠΊΡ ΠΈ ΡΠΈΡΠΈ. ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΡΠ½ΠΊΠ°, ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°Π±ΠΎΠ»Π΅Π²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ (Π° ΡΠ°ΡΡΠΎ ΠΈ ΡΡΠ°ΡΡΠ°ΠΏΡ) - ΡΠ°ΡΡΠΎ Π½Π΅ Π½ΡΠΆΠ½Π° ΠΈ Π½Π΅ ΠΎΠΏΡΠ°Π²Π΄Π°Π½Π° Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄. ΠΠΎΠ΄ΡΠ»ΡΠ½ΡΠΉ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΡΡ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ (ΠΌΠΈΠΊΡΠΎ)ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ. #architecture
π3π1
60 API queries per minute FOR FREE - Google ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» API Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ Π±ΠΎΡΠ° Bard #google #api
π₯4
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ - nuget-ΠΏΠ°ΠΊΠ΅Ρ Ρ embedded Postgres. ΠΠΎ ΡΠ°ΠΊΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ Π½Π°Π±ΠΎΡ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠΎΠ² Π²Π½ΡΡΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°, Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΠΈ ΡΠ»ΡΡΠ°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡΡΠ° Π½Π° localhost. ΠΡΠΌΠ°Ρ ΠΎΡΠ΅Π½Ρ Π΄Π°ΠΆΠ΅ Π·Π°ΠΉΠ΄ΡΡ Π΄Π»Ρ ΡΠ΅ΡΡΠΎΠ². #dotnet
π5π₯1
OpenTelemetry-dotnet Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ ΡΠ΅Π»ΠΈΠ·Π½ΡΠ»ΠΈ (1.7.0 Π²Π΅ΡΡΠΈΡ) ΠΏΠΎΡΠ»Π΅ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ
-beta ΠΈ -rc. #dotnet
π₯5
ΠΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π΅ΠΌΠ°Ρ LLM Ollama Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° ΠΈΠ· Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² (Π²ΠΊΠ»ΡΡΠ°Ρ PDF). ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΎΡΠ»ΠΈΡΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ - Π½Π°Π΄ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ. #llm
π1