πŸ““ Записки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅Ρ€Π°
1.02K subscribers
304 photos
1 video
6 files
599 links
Канал с рСгулярными постами ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… интСрСсных ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°Ρ… (ΡΡ‚Π°Ρ‚ΡŒΠΈ, Π²ΠΈΠ΄Π΅ΠΎ, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ инструмСнты).

https://dotnet.social/@denisio
Download Telegram
ΠžΡ‡Π΅Π½ΡŒ простая ΡΡ‚Π°Ρ‚ΡŒΡ Building Scalable ASP.NET Core Apps with RabbitMQ Message Queues - для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π²ΠΎΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ щас Ρ€Π΅ΡˆΠΈΠ» ΠΏΡ€ΠΈΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ Rabbit для ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвисами - самоС Ρ‚ΠΎ. Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ большС тСорСтичСскому посту.

#dotnet #tutorial
πŸ‘4
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ инстансов классов Π½Π° стСкС? Π”Π°, ΠΌΠΎΠΆΠ½ΠΎ 😁

upd НСкоторыС подробности ΠΏΠΎ layout ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ‚ΡƒΡ‚

Π½Π° x86: mem == 12 Π±Π°ΠΉΡ‚
(SyncBlk + TypeHandle(IntPtr) = 8 Π±Π°ΠΉΡ‚, 4 Π±Π°ΠΉΡ‚Π° ΠΏΠΎΠ»Π΅ класса)

Π½Π° x64: mem == 24 Π±Π°ΠΉΡ‚Π°
(SyncBlk + TypeHandle(IntPtr) = 16 Π±Π°ΠΉΡ‚ (?) + aligned Π½Π° 64 Π±ΠΈΡ‚Π° ΠΏΠΎΠ»Π΅ класса)

#dotnet
😁7
Если ΠΊΡ‚ΠΎ-Ρ‚ΠΎ страдаСт ΠΎΡ‚ отсутствия ΠΈΠ΄Π΅ΠΉ для ΠΏΠ΅Ρ‚-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ/ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… тСстовых Π·Π°Π΄Π°Π½ΠΈΠΉ для ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ² Ρ‚ΠΎ Π²ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 270 Ρ‚Π°ΠΊΠΈΡ… ΠΈΠ΄Π΅ΠΉ Π½Π° Π³ΠΈΡ‚Ρ…Π°Π±Π΅ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ слоТности 0...10

upd с сортировкой ΠΈ поиском Ρ‚ΠΎΡ‚ ΠΆΠ΅ список
πŸ”₯3❀2
NetFabric.Numerics - ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ NetTopologySuite, Π½ΠΎ ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ быстрый Π°Π½Π°Π»ΠΎΠ³ с использованиСм Generic Math #dotnet
Π”Π²Π° вопроса для ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ собСса ΠΏΡ€ΠΎ async/await:

1. ΠŸΠΎΡ‡Π΅ΠΌΡƒ id ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄ΠΎ await ΠΈ послС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ (это Π½Π΅ ΠΏΡ€ΠΎ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚, Π° Π²ΠΎΠΎΠ±Ρ‰Π΅) (Π½Ρƒ это всС Π·Π½Π°ΡŽΡ‚, ΠΊΡ‚ΠΎ Π·Π°Π»Π΅Π·Π°Π» Π² кишки async/await с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ sharplab)? Когда Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ, Π° ΠΊΠΎΠ³Π΄Π° Π½Π΅Ρ‚?

2. ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅ id ΠΏΠΎΡ‚ΠΎΠΊΠ° всСгда Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅, нСзависимо Π½ΠΈ ΠΎΡ‚ Ρ‡Π΅Π³ΠΎ (Π½Ρƒ... ΠΏΠΎΡ‡Ρ‚ΠΈ Π²Ρ‹Ρ‚Π΅ΠΊΠ°Π΅Ρ‚ ΠΈΠ· ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ вопрос)?

#question
πŸ‘3πŸ”₯3
Π‘Π»ΡƒΡ‡Π°ΠΉΠ½ΠΎ Π½Π° Π³Π»Π°Π·Π° попалась опСнсурс DuckDB - SQL OLAP database management system - с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ взглядя выглядит Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ, учитывая Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΈ (Π΄Π°ΠΆΠ΅ быстрСС Clickhouse, Ρ…ΠΌ), Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΈ ΠΊ ΠΊΡƒΡ‡Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ .net. Если Π±ΡƒΠ΄Π΅Ρ‚ врСмя - ΠΏΠΎΠ΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ LINQ-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π° ΠΊ Π½Π΅ΠΌΡƒ.

Π£ΠΌΠ΅Π΅Ρ‚ ΠΊΠ°ΠΊ in-memory Ρ‚Π°ΠΊ ΠΈ persisted Π½Π° диск. НСмного ΠΏΠΎΡ€Ρ‚ΠΈΡ‚ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ€Π°Π·Π½ΠΎΠ³ΠΎ нСстандартного (ΠΊΠ°ΡΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ SQL) - Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ конструкция Ρ‚ΠΈΠΏΠ° select * exclude (field1) from table (Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ всё, ΠΊΡ€ΠΎΠΌΠ΅ поля field1. Ну ΠΈ вСрсия 0.9.1 Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΠΌΠ΅ΠΊΠ°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΠ΄ Π΅ΠΉ ΠΏΠΎΠΊΠ° Ρ€Π°Π½ΠΎΠ²Π°Ρ‚ΠΎ.
https://www.ferretdb.com - интСрСсная ΡˆΡ‚ΡƒΠΊΠ°, которая эмулируСт ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» MongoDB ΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² Postgres ΠΈΠ»ΠΈ SQLite. НавСрноС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚, Ссли Ρ€Π΅ΡˆΠΈΠ» ΡΡŠΠ΅Ρ…Π°Ρ‚ΡŒ с MongoDB, Π½ΠΎ Π½Π΅ прямо сразу Π° постСпСнно. #database
πŸ‘2
Π”Π²Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ code-maze ΠΏΡ€ΠΎ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ синхронизации:

When to Use ReaderWriterLockSlim over lock

Synchronization Mechanisms – Volatile vs Interlocked vs lock

#dotnet
πŸ‘3πŸ”₯1
Π‘Ρ‚Π°Ρ‚ΡŒΡ 2017-Π³ΠΎ Π³ΠΎΠ΄Π°, Π½ΠΎ Π½Π΅ ΠΏΠΎΡ‚Π΅Ρ€ΡΠ²ΡˆΠ°Ρ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠΎ сСй дСнь Redis Pub/Sub under the hood - ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ pub/sub ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ Π² Redis Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ построСния нСслоТного чятика.

ΠŸΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΈ для Π½Π΅ сильно Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΌΠΈ с Redis - достаточно Π»Ρ‘Π³ΠΊΠΈΠΉ ΠΊΠΎΠ΄ ΠΈ большоС количСство ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ! 😁 #redis #tutorial
πŸ‘5
Π•Ρ‰Ρ‘ 5 monospace ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² для IDE
ΠΈ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ Berkely mono
ΠΈ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ PragmataPro
#ui
πŸ‘2πŸ”₯1
Π’ΠΎΡ‚ Π΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. Но Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π°Π²Ρ‚ΠΎΡ€Π° ΡΡ‚Π°Ρ‚ΡŒΠΈ - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ CSharpFunctionalExtensions, Π° Π½Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°ΡŽ вСлосипСдов. Код становица ΠΏΠΎΠΊΠΎΡ€ΠΎΡ‡Π΅ ΠΈ посимпатичнСС. #dotnet
😁1
Π”Π²Π° Π² ΠΎΠ΄Π½ΠΎΠΌ - ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Testcontainers ΠΈ MongoDB ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π° для EF Core.

Надо Π±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° досугС Π²ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² монговский язык ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ выраТСния Where/Include Π² этом ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π΅.

#dotnet #mongodb