13 Mar 2026, 10:27 UTC≈1,560 views22 reactionsread 7 August 2026 Forwarded from @ozon_techPhoto
Ozon Tech Community .NET Meetup
24 марта, лофт Casa Picassa, 19:00
Ищем способы бороться с primitive obsession, отличать OrderID от ItemID, переживать нагрузку без каскадных отказов с load shedding и спасаться от аллокаций с помощью JIT-оптимизатора ❕
➡И находим: вас ждут три доклада — немного про runtime-внутрянку, немного про хайлоад-сервисы, много-много кейсов из нашей .NET-практики.
Когда трансляция подойдёт к…
🔥8❤6👀4👎3👍1
20 Jan 2026, 15:27 UTC≈2,290 views17 reactionsread 7 August 2026 Ещё одна история про память #отдых
Судя по комментариям специалистов и ценам на RAM в магазинах, историю про память я буду рассказывать снова и снова. Это, конечно, не смищно.
Но есть новая история.
Недавно сосед предложил прийти к нему и посмотреть, а что ж у него с новым компом. Он прям вот вчера его купил. Не включается, не пищит, вообще не подаёт признаков жизни.
Ну да, я же программист, я понимаю в компах. Д…
🤯10👍6👏1
25 Nov 2025, 06:31 UTC≈2,820 views33 reactionsread 7 August 2026 FastEnum #скорость
Иногда нам нужно не просто быстро, а очень быстро. В этот момент в дело вступают самые необычные оптимизации. Например, оптимизация работы с enum. Типичный сценарий - получить строку из enum'a или, наоборот, enum из строки.
Многие знают, что получение строкового представления enum'a лучше делать через Enum.GetName(MyEnum.Value), а вариант MyEnum.Value.ToString() аллоцирует новую строку и несколь…
🔥20👍10🐳2🥱1
20 Nov 2025, 06:58 UTC≈2,340 views45 reactions1 Starread 7 August 2026 UnsafeAccessor #скорость
Иногда возникает странное желание изменять приватные поля в классах, код которых нам не доступен. Например, внутренний массив коллекции или настройку, которая почему-то и, по нашей логике, возмутительно не выставлена наружу.
В этом, не самом здоровом желании, нам, конечно, поможет reflection. Код будет тривиальный, что-то вроде typeof(Entry).GetField(...) . Этот код найдёт поле в типе и вер…
🔥30👍10❤5
17 Nov 2025, 13:23 UTC≈2,000 views32 reactionsread 7 August 2026 Photo
Latency numbers every programmer should know
Я всё время теряю эти циферки, особенно когда они нужны в процессе ожесточённой беседы про производительность. Забываю ключевые слова для поиска, нахожу не те картинки.
А ведь эти циферки очень полезны для всех, кто так или иначе интересуется производительностью. Эти цифры и картинка иллюстрируют, что, например, поход в БД значительно более приоритетная цель для оптимиза…
🔥29❤3
29 Oct 2025, 08:33 UTC≈2,430 views43 reactionsread 7 August 2026 Photo
Dictionary.TryGetValue #скорость
Уж сколько лет прошло и, вроде, все это знают. Но, тем не менее, периодически на собеседование приходит человек, который пишет не оптимальный код извлечения значения из словаря. Я увидел, что я про это не писал, поэтому напомню ещё раз это элементарное правило.
Коллеги, если у нас есть сценарий: проверить существование ключа в Dictionary и извлечь соответствующее ему значение, то не…
👍42❤1
27 Oct 2025, 13:45 UTC≈1,920 views30 reactionsread 7 August 2026 Video
Надо тренироваться #отдых
Приехали фото с конференции. Я что-то толстоват. Поэтому понял, что надо усилить тренировки. Я хожу на спорт уже полгода и мне очень нравится: чистит мозги, рабочий перформанс лучше.
Это перекликается с песней моего детства о пиратах из "Остров сокровищ", где говорилось, что в здоровом теле - здоровее дух. Ну и вообще, Джим молодец, потому что утром делает зарядку.
Так вот. Тренер, которо…
❤11👍11🔥5😁2💊1
20 Oct 2025, 06:37 UTC≈2,200 views30 reactionsread 7 August 2026 Photo
Function pointer #скорость
Представим, что у нас есть подсистема вычисления. Один класс отвечает за выбор операции над значениями, а другой производит магию вычисления с использованием выбранной операции. В каждом из классов какая-то сложная логика, поэтому объединить их нельзя или сложно.
Пример: операции над формулами в Excel - до того как мы прочитаем формулу, мы не знаем, какая операция будет произведена над яч…
🔥15👍12❤1👀1😁1
13 Oct 2025, 15:03 UTC≈2,200 views21 reactionsread 7 August 2026 Photo
Unsafe.SkipInit для структур #скорость
Как раз на конференции, в кулуарах, спрашивали про Unsafe.SkipInit. Набросал бенчмарк, который будет в комментариях.
Как я уже говорил, это решение следующей проблемы:
1. Выделяется память.
2. Эта память заполняется дефолтными значениями (чтобы программист не получил в значениях полей структуры явную тарабарщину от предыдущих пользователей памяти). Условно 0000000000.
3. Памят…
🔥18👍3
13 Oct 2025, 14:02 UTC≈2,090 views25 reactionsread 7 August 2026 Photo
Сезон кода в Нижнем Новгороде
Отвыступал на "Сезоне кода" (организатор Т-Банк). Я давно не ходил на конференции, давно не выступал. Мне очень понравилось. Хорошие темы, интересные спикеры.
Участники конференции задавали много вопросов, затем обсуждение переместилось в кулуары. Это всегда очень здорово и приятно - побеседовать с коллегами, которые давно в теме доклада, которые смотрят на твои проблемы под другим угл…
🔥14👍6❤3🎉2
7 Jul 2025, 19:33 UTC≈3,150 views56 reactionsread 7 August 2026 Forwarded from @are_you_teamleadPhoto
Photo, posted without a caption
😁44🔥8🐳2🥰2
27 Jun 2025, 11:34 UTC≈3,800 views27 reactionsread 7 August 2026 Photo
Маленький словарь #скорость #память
Часто бывает, что мы получаем данные из внешнего источника или БД, создаём временный словарь, ищем по нему, а потом про него забываем. Часто бывает, что приходящих данных мало, например, 10-15 элементов.
При этом, многие помнят, что поиск по словарю при небольшом количестве элементов не всегда эффективен (поиск по массиву будет быстрее). Также, те коллеги, которые помнят устройст…
👍21❤6
Showing the 12 most recent of 19 posts we hold for @csharp_gepard. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.