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

https://dotnet.social/@denisio
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Π‘Ρ‚Π°Ρ‚ΡŒΡ с Π·Π°Π»ΠΈΠΏΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ (Π² Ρ‚.Ρ‡. Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ…) ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ балансировки #howto
πŸ‘6πŸ”₯2❀1
БСрия ΠΈΠ· 4-Ρ… статСй ΠΏΡ€ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π° ELF (Executable and Linkable Format)

πŸ”ΈSections and Segments
πŸ”ΈSymbols
πŸ”ΈRelocations
πŸ”ΈDynamic Linking

НСкоторыС ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π·Π½Π°Π½ΠΈΠΉ ΠΏΡ€ΠΎ кишки линукса :)) #howto
πŸ‘2
Implementing Dijkstra's algorithm for finding the shortest path between two nodes using PriorityQueue in .NET 9 - вСсьма Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ priority queue :)) #dotnet
πŸ€”3πŸ”₯2
БСрия ΠΈΠ· ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… статСй ΠΏΡ€ΠΎ MongoDB in C#, ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ Ρ‚Π΅ΠΌ ΠΊΡ‚ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π» с MongoDB. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ Π² основном Π±Π°Π·ΠΎΠ²Ρ‹Π΅ кСйсы приводяца (вставка/Π°ΠΏΠ΄Π΅ΠΉΡ‚Ρ‹/удалСния/Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ-поиск), Π½ΠΎ с большим количСством ΠΊΠΎΠ΄Π° Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².

Π•ΡΡ‚ΡŒ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΊ ΡΡ‚Π°Ρ‚ΡŒΡΠΌ, Π½ΠΎ я Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ понимаю этот способ обучСния :)) #mongodb #dotnet
πŸ”₯4
drawDB - ΠΎΠ½Π»Π°ΠΉΠ½ рисованиС структуры Π‘Π”. ВСхничСски опСнсурс (github), ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈ Ρƒ сСбя #tools
πŸ”₯8
БСрия ΠΈΠ· Ρ…Π°Ρ€Π΄ΠΊΠΎΡ€Π½Ρ‹Ρ… (Π½ΠΎ Π½Π΅Π΄Π»ΠΈΠ½Π½Ρ‹Ρ…) 5 статСй ΠΏΡ€ΠΎ кишки ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»ΠΈΠ½Π³Π°

πŸ”ΈStart a journey into the .NET Profiling APIs
πŸ”ΈDealing with Modules, Assemblies and Types with CLR profiling API
πŸ”ΈDecyphering methods signature with .NET Profiling APIs
πŸ”ΈReading parameters value with the .NET Profiling APIs
πŸ”ΈAccessing arrays and class fields with .NET profiling APIs

#dotnet
πŸ‘2πŸ”₯1
БвСТСнький ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ nats-viewer - для просмотра JetStream Π² Nats #tools
πŸ‘2
SimpleR - выглядит интСрСсно, Π½ΠΎ ΠΏΠΎΠΊΠ° Π² вСрсии 1.0.0-alpha.1 :)) Ρ€Π°Π½ΠΎΠ²Π°Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅. #dotnet
❀1πŸ‘1
ΠŸΠ°Ρ€Π° дСсятков вопросов (ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π° linkedin) для Π·Π°Π΄Π°Ρ‡ Π½Π° собСсах со ссылками Π½Π° solution #howto #questions
πŸ‘1
vue-webrtc - ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ для WebRTC ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Π—Π° 5 ΠΌΠΈΠ½ΡƒΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ p2p-видСосвязь #vuejs
🀯3
Бтолкнулся Ρ‚ΡƒΡ‚ с нСобходимости ΠΏΠΎΡΠ½ΠΈΡ„Π°Ρ‚ΡŒ Π½Π° DEV срСдС Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ Π΄ΠΎΠΊΠ΅Ρ€Π°... НСкотороС количСство ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… строк Π½Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ.

Для Π½Π°Ρ‡Π°Π»Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ docker network ls Π½Π°Π΄ΠΎ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ id Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ интСрфСйса (Π΄Π°Π»Π΅Π΅ этот id написан ΠΊΠ°ΠΊ INTERFACE), 8000 - это exposed port ΠΌΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

Π”Π°ΠΌΠΏΡ‹ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² ASCII ( -A ):
tcpdump -i INTERFACE 'tcp dst port 8000' -A


Π’ΠΎΠΆΠ΅ самоС + поиск ΠΏΠΎ подстрокС 'Sec-WebSocket-Key':
tcpdump -i INTERFACE 'tcp dst port 8000' -A | grep 'Sec-WebSocket-Key:'


Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Ρ„Π»Π°Π³ΠΎΠΌ SYN (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ установку входящих соСдинСний):
tcpdump -i INTERFACE 'tcp dst port 8000 and (tcp[tcpflags] & (tcp-syn) != 0)' -A

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ keep-alive ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

tcpdump -i INTERFACE 'tcp dst port 8000 and (tcp[tcpflags] == tcp-ack and less 1)' -A


ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² http-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² GET/POST/HEAD

tcpdump -i INTERFACE 'tcp dst port 8000' -A | egrep --line-buffered "^........(GET |HTTP\/|POST |HEAD )|^[A-Za-z0-9-]+: " | sed -r 's/^........(GET |HTTP\/|POST |HEAD )/\n\1/g'


Ну Π° ΠΏΠΎΡ‚ΠΎΠΌ я вспомнил, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ инструмСнт ΠΊΠ°ΠΊ nast, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π΄Π°ΠΌΠΏΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ простой строкой ΠΊΠ°ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Ρ‚Π°ΠΊ ΠΈ Ρ‚Π΅Π»ΠΎ входящСго запроса:
nast -i INTERFACE -d -f 'tcp dst port 8000'


#tools #docker #tcpdump
πŸ‘8
Π•Ρ‰Ρ‘ ΠΎΠ΄Π½Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ использования ArrayPool<T>. Π­Ρ‚ΠΎ ΠΈ ΠΏΡ€Π°Π²Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π°Π»Π»ΠΎΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ врСмя. ОсобСнно ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ссли Π½Π°Π΄ΠΎ Π°Π»Π»ΠΎΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΡƒΡ„Π΅Ρ€Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. #dotnet
πŸ‘3
ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ свой reverse proxy с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ YARP. Π’Π°ΠΊΠΆΠ΅ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π½Π΅ описано этого, Π½ΠΎ Ρ€ΡƒΠ»ΠΈΡ‚ΡŒ балансировкой ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ· ΠΊΠΎΠ΄Π° - ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… (своих) критСриях (врСмя, адрСс-ΠΏΠΎΠ΄ΡΠ΅Ρ‚ΡŒ источника, ...) #dotnet #architecture
πŸ‘1πŸ”₯1
Monoliths have been problematic, then micro-services turned out to be differently problematic. So let’s swing the pendulum back partway but focus more on making our monoliths modular for easier, more maintainable long term development.

Π•Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ взгляд Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Ρ‹.

Вторая Ρ‡Π°ΡΡ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΠΈ, Π±ΠΎΠ»Π΅Π΅ подробная. #architecture
❀3
4️⃣0️⃣0οΈβƒ£πŸ˜
πŸ”₯20πŸ‘5
Managing 238M Memberships at Netflix - ΡΡ‚Π°Ρ‚ΡŒΡ ΠΈ 50 ΠΌΠΈΠ½ΡƒΡ‚Π½ΠΎΠ΅ Π²ΠΈΠ΄Π΅ΠΎ с Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠΌ ΠΏΡ€ΠΎ это #highload
❀1πŸ‘1
НСкотороС количСство совСтов ΠΏΡ€ΠΈ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Serilog (Π² основном связано с ΠΎΠ±ΠΎΠ³Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ контСкста Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΡˆΡ‚ΡƒΠΊΠ°ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌ Π»Π΅Π³Ρ‡Π΅ Π±Ρ‹Π»ΠΎ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π² Π»ΠΎΠ³Π°Ρ… Π½ΡƒΠΆΠ½ΠΎΠ΅) #dotnet
πŸ”₯2
Π§ΡƒΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ дСсятка ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… запросов для Postgres собрал ΠΈ ΠΎΡ„ΠΎΡ€ΠΌΠΈΠ» с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ. Для ΠΎΠ΄Π½ΠΎΠ³ΠΎ поста Π² Ρ‚Π΅Π»Π΅Π³Ρƒ - это слишком ΠΌΠ½ΠΎΠ³ΠΎ (особСнно с Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π²Ρ‹Π²ΠΎΠ΄Π°). Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΠ» Π² Π²ΠΈΠ΄Π΅ gist Π½Π° github:
πŸ”ΈΠ’Π΅ΠΊΡƒΡ‰ΠΈΠ΅ выполняСмыС запросы
πŸ”ΈΠ—Π°ΠΏΡ€ΠΎΡΡ‹, выполняСмыС Π±ΠΎΠ»Π΅Π΅ 1 сСкунды
πŸ”ΈΠ’Π°Π±Π»ΠΈΡ†Ρ‹ с % попадания Π² кэш ΠΏΡ€ΠΈ ΠΈΡ… использовании
πŸ”ΈΠ Π°Π·ΠΌΠ΅Ρ€Ρ‹ Ρ‚Π°Π±Π»ΠΈΡ† (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ индСксы)
πŸ”ΈΠ Π°Π·ΠΌΠ΅Ρ€Ρ‹ индСксов
πŸ”ΈΠ Π°Π·ΠΌΠ΅Ρ€ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π‘Π”
πŸ”ΈΠ Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²
πŸ”ΈΠ‘Ρ‚Π°Ρ‚ΠΈΡΡ‚ΠΈΠΊΠ° ΠΏΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΡŽ индСксов
πŸ”ΈΠ‘Ρ‚Π°Ρ‚ΠΈΡΡ‚ΠΈΠΊΠ° использования индСксов
πŸ”ΈΠ’ΠΎΠΏ 5 самых Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†
πŸ”ΈΠ’ΠΎΠΏ 5 самых Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… индСксов
πŸ”ΈΠΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ индСксы
#postgres
πŸ‘8πŸ”₯6πŸ€“1