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

https://dotnet.social/@denisio
Download Telegram
Интересный способ в .net 8 обойтись без классической рефлексии и получить ref на backing field (+стопицот перфа на работе с этим полем). Не понял правда насколько это будет хорошо работать с AOT.

И ещё одна статья с примерами на эту же тему

#dotnet
👍3
Сложно понимать, что интересно для вас, уважаемые подписчики. Вы как-то сигнальте емоджями или как-то ещё, чтобы искал нужные (интересные) соответствующие темы 😁

Всмысле сигнальте на тех постах которые вам интересны, чтобы я отслеживал темы
👍7🥰6🔥2
Создание инстансов классов на стеке? Да, можно 😁

upd Некоторые подробности по layout объектов можно найти тут

на x86: mem == 12 байт
(SyncBlk + TypeHandle(IntPtr) = 8 байт, 4 байта поле класса)

на x64: mem == 24 байта
(SyncBlk + TypeHandle(IntPtr) = 16 байт (?) + aligned на 64 бита поле класса)

#dotnet
😁7
Если кто-то страдает от отсутствия идей для пет-проектов и/или возможных тестовых заданий для кандидатов то вот примерно 270 таких идей на гитхабе с указанием сложности 0...10

upd с сортировкой и поиском тот же список
🔥32
NetFabric.Numerics - пакет, который чем-то напоминает NetTopologySuite, но как более быстрый аналог с использованием Generic Math #dotnet
Два вопроса для потенциального собеса про async/await:

1. Почему id потока до await и после может отличаться (это не про скриншот, а вообще) (ну это все знают, кто залезал в кишки async/await с помощью того же sharplab)? Когда будет отличаться, а когда нет?

2. Почему на скриншоте id потока всегда будет один и тот же, независимо ни от чего (ну... почти вытекает из ответа на первый вопрос)?

#question
👍3🔥3
Случайно на глаза попалась опенсурс DuckDB - SQL OLAP database management system - с первого взглядя выглядит неплохо, учитывая бенчмарки (даже быстрее Clickhouse, хм), биндинги к куче платформ, включая .net. Если будет время - подумаю, чтобы написать LINQ-провайдера к нему.

Умеет как in-memory так и persisted на диск. Немного портит конечно же как обычно наличие разного нестандартного (касательно SQL) - типы данных или конструкция типа select * exclude (field1) from table (чтобы выбрать всё, кроме поля field1. Ну и версия 0.9.1 также намекает, что в прод ей пока рановато.
https://www.ferretdb.com - интересная штука, которая эмулирует протокол MongoDB и хранит данные в Postgres или SQLite. Наверное подходит, если решил съехать с MongoDB, но не прямо сразу а постепенно. #database
👍2
Две статьи code-maze про примитивы синхронизации:

When to Use ReaderWriterLockSlim over lock

Synchronization Mechanisms – Volatile vs Interlocked vs lock

#dotnet
👍3🔥1
Статья 2017-го года, но не потерявшая актуальность и по сей день Redis Pub/Sub under the hood - как использовать pub/sub очереди в Redis на примере построения несложного чятика.

Подойдёт и для не сильно знакомыми с Redis - достаточно лёгкий код и большое количество картинок! 😁 #redis #tutorial
👍5
Ещё 5 monospace шрифтов для IDE
и ещё один Berkely mono
и ещё один PragmataPro
#ui
👍2🔥1
Вот да, использую такой подход. Но в отличие от автора статьи - использую CSharpFunctionalExtensions, а не изобретаю велосипедов. Код становица покороче и посимпатичнее. #dotnet
😁1