Публикации

Об исключениях в .NET

dotNET  /  CSharp dotNET

Рекомендую к прочтению статьи об исключениях в .NET. Точно стоит прочитать первую статью — Исключения: архитектура системы типов. В ней много полезного, особенно — для новичков. Остальные тоже можно, если эта тема интересует:

Плагины для отображения размера пакетов

IDE  /  Производительность Node.js  /  Performance  /  Tools

Недавно узнал, что есть плагин import-cost, показывающий размер импортируемого пакета непосредственно в редакторе. Есть вариант для Visual Studio Code, есть для IDE семейства InelliJ.

Авторы — разные люди. Но делают одно полезное дело. Может, кто-то задумается и не будет тянуть модуль из-за одной простецкой функции :)

Pipelines и Channel<T>

dotNET  /  Производительность dotNET  /  Performance

Недавно вышла статья System.IO.Pipelines: High performance IO in .NET. Она про то, как реализовать более наглядную и быструю работу со стримами в .NET Core 2.1.
От слишком краткого пересказа статья многое потеряет — читайте оригинал. Ладно, будем честными — я сегодня подустал, поэтому бегло её прочитал и не очень разбирался :)

Часть кода из статьи:

BindingFlags.DoNotWrapExceptions

dotNET dotNET

В .NET Core 2.1 добавили новый флаг BindingFlags.DoNotWrapExceptions. Странно, что в документации этот флаг не описан. Хотя, чему я удивляюсь, пора бы привыкнуть.

Если вкратце, с этим флагом Reflection не заворачивает исключения в TargetInvocationException. Подробности можно прочитать на GitHub.

CoreRT

dotNET  /  Производительность dotNET  /  Performance  /  Deploy

TL&DR;

CoreRT — поддержка native code для .NET Core. Слишком коротко. Ладно, это проект, который делает из сборок для .NET Core машинный код. И собирает в один файл вместе с рантаймом. Пока альфа.

Если хотите чуть больше подробностей — читайте дальше.

Про баг в MSSQL 2000 и обратную совместимость

Базы данных  /  Внезапно Database  /  Microsoft

Приходит как-то ко мне мой коллега Дима Писаренко и говорит — “есть вопрос по SQL, но это надо видеть”. И таки-да, это стоило увидеть :)

Как думаете, что возвращал подобный запрос (любое сходство с реальными данными случайно)?

SELECT name, B as A FROM (SELECT 'first' as name, 1 as A, 2 as B UNION SELECT 'second', 2, 1) T1 ORDER BY T1.A;

Удобные таблицы с данными

UX  /  Дизайн и юзабилити  /  Визуализация UX+Usability  /  Design

Полтора года назад писал о представлении таблиц и диаграмм. По-прежнему считаю, что ту гифку сложно превзойти (по соотношению объём/полезность).

Прочитал ещё одну статью по теме — более длинную, зато с парой свежих советов.

UX для форм

UX UX+Usability

Сегодня немного про UX:

  • Размещение сообщений об ошибках.
  • Выбор между радио-кнопками и выпадающими списками
  • Покупка в 1 клик