📓 Записки программера – Telegram
📓 Записки программера
1.03K subscribers
321 photos
1 video
6 files
620 links
Канал с регулярными постами о разных интересных материалах (статьи, видео, фреймворки и полезные инструменты).

https://dotnet.social/@denisio
Download Telegram
.NET (C#) Interview Questions and Answers - перечитал все вопросы, в принципе это всё надо знать прямо-таки безусловно. Ну может быть пара вопросов про паттерн Repository или What is CI/CD and how does it apply to .NET development спорны - тут конечно возможны варианты и шансы обсудить разные подходы #dotnet
5
Wisp - штука для низкоуровневых манипуляций с PDF-файлом #dotnet
1👍1
Интересная статья про то как работает CRDT (Conflict-free Replicated Data Type) (wiki) - та штука, когда с одним документом работает N пользователей одновременно #howto
👍6
Ultimate Guide to Quality Requirements for Software Architects: Meeting Stakeholder Expectations - какой интересный справочник по сбору требований к проекту. Помоему любому стоит туда заглядывать, когда собираешь требования к новому проекту (микросервису и может быть даже отдельной фиче, если она достаточно велика)
2
Удивительный взгляд из прошлого в настоящее - использование named pipes с Kestrel (с Kestrel и HttpClient). Не знаю, зачем это может кому-то понадобица, но вдруг #dotnet
🤔2
This media is not supported in your browser
VIEW IN TELEGRAM
Статья с залипательной анимацией, где можно посмотреть (в т.ч. на графиках) как работают разные алгоритмы балансировки #howto
👍6🔥21
Серия из 4-х статей про формат файла ELF (Executable and Linkable Format)

🔸Sections and Segments
🔸Symbols
🔸Relocations
🔸Dynamic Linking

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

Есть и видео к статьям, но я не очень понимаю этот способ обучения :)) #mongodb #dotnet
🔥4
drawDB - онлайн рисование структуры БД. Технически опенсурс (github), можно развернуть и у себя #tools
🔥8
Свеженький проект nats-viewer - для просмотра JetStream в Nats #tools
👍2
Пара десятков вопросов (статья на 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