📓 Записки программера
前往频道在 Telegram
Канал с регулярными постами о разных интересных материалах (статьи, видео, фреймворки и полезные инструменты). https://dotnet.social/@denisio
显示更多1 078
订阅者
-124 小时
-17 天
+730 天
帖子存档
Если кто-то хочет поковырять кишочки хранения данных (int/long/float/double/decimal) и операции с ними (округления, отсечения, аримфетика ...)
step-by-step туториал реализации event sourcing архитектуры #dotnet #tutorial
Создание инстансов классов на стеке? Да, можно 😁
upd Некоторые подробности по layout объектов можно найти тут
на x86: mem == 12 байт
(SyncBlk + TypeHandle(IntPtr) = 8 байт, 4 байта поле класса)
на x64: mem == 24 байта
(SyncBlk + TypeHandle(IntPtr) = 16 байт (?) + aligned на 64 бита поле класса)
#dotnet
Очень простая статья Building Scalable ASP.NET Core Apps with RabbitMQ Message Queues - для тех, кто вот только щас решил прикрутить Rabbit для коммуникации между сервисами - самое то. В дополнение к больше теоретическому посту.
#dotnet #tutorial
Google Cloud Developer Cheat sheet - каждый тайл ведёт на соответствующую документацию #docs
Сложно понимать, что интересно для вас, уважаемые подписчики. Вы как-то сигнальте емоджями или как-то ещё, чтобы искал нужные (интересные) соответствующие темы 😁
Всмысле сигнальте на тех постах которые вам интересны, чтобы я отслеживал темы
Интересный способ в .net 8 обойтись без классической рефлексии и получить ref на backing field (+стопицот перфа на работе с этим полем). Не понял правда насколько это будет хорошо работать с AOT.
И ещё одна статья с примерами на эту же тему
#dotnet
Достаточно простая статья про configuration & secret management в .NET #dotnet
Интересное чтиво нашлось про Signal Structure of the Starlink Ku-Band Downlink. 14 страниц с разными терминами OFDMA, 16QAM и другими техническими подробностями.
Недавно на собесе меня озадачили вопросом про GC regions, на который я не смог внятно ответить. Посему решил почитать поподробнее про них оригинальные статьи Maoni Stephens
🔸How segments and regions differ in decommitting memory in the .NET 7 GC
🔸Put a DPAD (Dynamic Promotion And Demotion) on that GC
🔸.NET Memory Performance Analysis (здоровенная статья, но с картинками 😁 в середине которой тоже есть про Physical representation of the GC heap)
upd как оказалось то, что я не ответил на вопрос не было критичным
#dotnet
Как использовать Keycloak вместе с ASP.NET Core Authentication
включая авторизацию с помощью ролей.
С недавних мне очень нравится Keycloak, подумываю его начать использовать в вебпроектах везде, где требуется аутентификации и авторизация
#dotnet
Решил снова поиграться с SSE/AVX на примере FFT преобразования с помощью алгоритма Cooley-Tukey. В отличие от классического FFT он рекурсивный и работает за O(N*logN). Но опять же отличие от классического - на каждую рекурсию приходится выделять память под чётные/нечетные элементы. Это может быть не очень хорошо, но позволяет удобно оптимизировать расчёты.
Изначальный вариант работает с комплексными числами, которые определены как класс
ComplexNumber с Real/Imag свойствами.
Оптимизированный вариант использует Vector128 в 0-м элементе которого храница реальная часть, в 1-м - мнимая, и это позволяет чпокать числа побыстрее. Надо ещё подумать переделать new Vector128<double> на stackalloс конечно, но потом.
Результат: выигрыш х6.5 к перфу и х3.4 к аллокациям. #simd #dotnetСерия их 4 недлинных статей Stephen Cleary про Cancellation
🔸Overview
🔸Requesting cancellation
🔸Detecting cancellation
🔸Polling
#dotnet
Немного свежего Performance Improvements in ASP.NET Core 8 - в целом почти все тесты 7.0 vs 8.0 выглядят очень неплохо #dotnet
Интересная напоминалка, когда использование GROUP BY вместо DISTINCT приводит к более лучшему результату :) И более свежая статья Don’t use DISTINCT as a “join-fixer” - почему может быть не надо использовать DISTINCT для удаления дубликатов записей (это может быть дорого).
Ключевая фраза во всей статье: This is one reason it always bugs me when people say they need to "fix" the operator in the plan with the highest cost. Some operator in the plan will always be the most expensive one; that doesn't mean it needs to be fixed.
Не надо стараца фиксить самый дорогой оператор в плане запроса, всегда вылезет какой-то другой на его место. Надо смотреть что он делает.
Да, и если кто-то собирается повторять запросы из статьи - не скупитесь на тестовые данные (десятки тысяч записей будут в самый раз) . Напоминаю, что если данных будет мало - оптимизатор может тупо забить на index seek и сделать table scan потому что выгоднее :)
#sql
7 минутное видео How Discord Stores TRILLIONS of Messages
tldr: была Cassandra, мигрировали на ScyllaDB, стало всё более хорошо. #howto
System design - the big archive - легко читаемый и написанный простым языком (для новичков в т.ч.) how to мануал как строятся популярные распределенные сервисы - с большим количество картинок, диаграмм, описаний паттернов и других приёмов.
Не претендует на глубину изложения, но по названиям и ключевым словам можно найти материалы для углубленного изучения конкретного сервиса. Пролистав побыстрому - думаю просто must read для всех
Похоже, что они выложили то же самое ещё и на гитхабе
#books
Извиняюсь за хабр, но нет сил держать в себе - уже ставлю чтобы посмотреть
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
