fa
Feedback
📓 Записки программера

📓 Записки программера

رفتن به کانال در Telegram

Канал с регулярными постами о разных интересных материалах (статьи, видео, фреймворки и полезные инструменты). https://dotnet.social/@denisio

نمایش بیشتر
1 078
مشترکین
-124 ساعت
-17 روز
+730 روز
آرشیو پست ها
4️⃣0️⃣0️⃣😁

Monoliths have been problematic, then micro-services turned out to be differently problematic. So let’s swing the pendulum ba
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 #tcpdump

vue-webrtc - компонент для WebRTC коммуникации. За 5 минут можно сделать p2p-видеосвязь #vuejs
vue-webrtc - компонент для WebRTC коммуникации. За 5 минут можно сделать p2p-видеосвязь #vuejs

Пара десятков вопросов (статья на linkedin) для задач на собесах со ссылками на solution #howto #questions
Пара десятков вопросов (статья на linkedin) для задач на собесах со ссылками на solution #howto #questions

SimpleR - выглядит интересно, но пока в версии 1.0.0-alpha.1 :)) рановато использовать в продакшене. #dotnet

Обновление доки по Intel Advanced Performance Extensions (APX) 4.0 (PDF на 294 страницы) #docs

Свеженький проект nats-viewer - для просмотра JetStream в Nats #tools
Свеженький проект nats-viewer - для просмотра JetStream в Nats #tools

drawDB - онлайн рисование структуры БД. Технически опенсурс (github), можно развернуть и у себя #tools
drawDB - онлайн рисование структуры БД. Технически опенсурс (github), можно развернуть и у себя #tools

Серия из коротких статей про MongoDB in C#, подойдёт тем кто не работал с MongoDB. Потому что там в основном базовые кейсы приводяца (вставка/апдейты/удаления/фильтрация-поиск), но с большим количеством кода в качестве примеров. Есть и видео к статьям, но я не очень понимаю этот способ обучения :)) #mongodb #dotnet

Implementing Dijkstra's algorithm for finding the shortest path between two nodes using PriorityQueue in .NET 9 - весьма неож
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 🔸D
Серия из 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 - какой интересный справочни
Ultimate Guide to Quality Requirements for Software Architects: Meeting Stakeholder Expectations - какой интересный справочник по сбору требований к проекту. Помоему любому стоит туда заглядывать, когда собираешь требования к новому проекту (микросервису и может быть даже отдельной фиче, если она достаточно велика)