📓 Записки программера
Ir al canal en Telegram
Канал с регулярными постами о разных интересных материалах (статьи, видео, фреймворки и полезные инструменты). https://dotnet.social/@denisio
Mostrar más1 078
Suscriptores
-124 horas
-17 días
+730 días
Archivo de publicaciones
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
Простой вариант сделать свой reverse proxy с помощью YARP. Также в статье не описано этого, но рулить балансировкой можно из кода - основываясь на каких-то других (своих) критериях (время, адрес-подсеть источника, ...) #dotnet #architecture
Ещё одна статья по поводу использования ArrayPool<T>. Это и правда помогает, когда надо много аллоцировать на короткое время. Особенно помогает если надо аллоцировать буферы примерно одинакового размера. #dotnet
Столкнулся тут с необходимости поснифать на 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 #tcpdumpvue-webrtc - компонент для WebRTC коммуникации. За 5 минут можно сделать p2p-видеосвязь #vuejs
Пара десятков вопросов (статья на linkedin) для задач на собесах со ссылками на solution #howto #questions
SimpleR - выглядит интересно, но пока в версии 1.0.0-alpha.1 :)) рановато использовать в продакшене. #dotnet
Обновление доки по Intel Advanced Performance Extensions (APX) 4.0 (PDF на 294 страницы) #docs
Серия из хардкорных (но недлинных) 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
Серия из коротких статей про MongoDB in C#, подойдёт тем кто не работал с MongoDB. Потому что там в основном базовые кейсы приводяца (вставка/апдейты/удаления/фильтрация-поиск), но с большим количеством кода в качестве примеров.
Есть и видео к статьям, но я не очень понимаю этот способ обучения :)) #mongodb #dotnet
Implementing Dijkstra's algorithm for finding the shortest path between two nodes using PriorityQueue in .NET 9 - весьма неожиданное применение priority queue :)) #dotnet
How we Built a 19 PiB Logging Platform with ClickHouse and Saved Millions - интересная статья из блога #clickhouse
Серия из 4-х статей про формат файла ELF (Executable and Linkable Format)
🔸Sections and Segments
🔸Symbols
🔸Relocations
🔸Dynamic Linking
Некоторые момент требуют знаний про кишки линукса :)) #howto
Статья с залипательной анимацией, где можно посмотреть (в т.ч. на графиках) как работают разные алгоритмы балансировки #howto
Удивительный взгляд из прошлого в настоящее - использование named pipes с Kestrel (с Kestrel и HttpClient). Не знаю, зачем это может кому-то понадобица, но вдруг #dotnet
Ultimate Guide to Quality Requirements for Software Architects: Meeting Stakeholder Expectations - какой интересный справочник по сбору требований к проекту. Помоему любому стоит туда заглядывать, когда собираешь требования к новому проекту (микросервису и может быть даже отдельной фиче, если она достаточно велика)
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
