Публикации

Оптимизация производительности в .NET Core 2.1

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

Скоро в свет выйдет .NET Core 2.1. Осталось сделать меньше 1% задач. Конечно, оставшиеся 5% проекта занимают 95% времени, но будем оптимистами :)

Далее будет краткое резюме статьи Performance Improvements in .NET Core 2.1.

Если вы готовы прочитать эту интересную, но огромную статью — прочитайте. Я всё-таки пристрастен и расскажу о том, что интересно лично мне. А если не хотите читать и короткую…

TL&DR; Значительно (в 1.5-2 раза) улучшена производительность многих вещей, в том числе:

  • Структуры (Value types). Это ключевые изменения, многие оптимизации сделаны за счет Span<T> и Memory<T>.
  • Сравнения. Также оптимизированы сравнения внутри Dictionary .
  • Строки — оптимизированы не только сравнения, но и такие штуки как ToLower, Format и Parse.
  • Потоки, блокировки и async/await.
  • Socket, SslStream и HttpClient.

Далее немного про некоторые оптимизации.

Новости для разработчиков сайтов

Новости News  /  JavaScript

HTTPS

Вы ведь уже перевели свои сайты на HTTPS, правда? ;) Если нет, рекомендую не затягивать до июля. Ещё одна хорошая новость на эту тему — Let’s Encrypt начал выдавать wildcard сертификаты.

GitHub обновил шрифты, может, и нам стоит?

Делаем модальные окна правильно

UX UX  /  Usability

В январе писал о пуш-нотификациях. Сегодня, с подачи Жени Кирьянова — о модальных окнах. Конечно, самый простой совет — “не используйте их”. Но иногда всё-таки, приходится.

О том, как их применять в разных ситуациях — далее. А тех, кто прочитает эту короткую статью до конца ждет нематериальный бонус :)

Алиасы для комфортной работы с Git

VCS Git

Думаю, я не типичный пользователь Git. Командную строку и GUI использую одинаково часто. В SourceTree мне удобнее смотреть изменения и ветки, в TortoiseGit — смотреть историю и мёржить, а в консоли — иногда коммитить и делать более сложные операции.

Почему я использую консоль? Есть две причины:

  1. GUI умеет не всё.
  2. В Git есть алиасы…

Алиас — возможность написать в консоли после git свою команду. Пишешь в Git Bash git cp, а выполняется три команды:

Как сделать push-уведомления менее раздражающими

UX  /  Дизайн и юзабилити UX  /  Usability

Вас бесят запросы о подписке на сайтах? Меня бесят. Неважно — это про пуш-уведомления или о добавлении в список рассылки. Сегодня про то, как самим такое не делать.

В чём основная проблема? На многих сайтах запрос на подписку открывается до того, как ты успеваешь хоть что-то сделать. Как исправить? Очевидно, предлагать подписку после совершения какого-то действия. Чтобы была понятна польза от неё. Вот пользователь оформил заказ. Почему бы не предложить ему подписаться на уведомление о доставке или смене статуса?

Meltdown, Spectre и... npm

Безопасность Security

Всех с интересным новым годом! Возможно, вы еще не в курсе уязвимостей Meltdown и Spectre. Поэтому — короткое вступление.

Прошлой осенью исследователи Google опубликовали исследования о нескольких уязвимостях процессоров. В этом году эти исследования стали общедоступными. Если совсем вкратце:

  • Обе уязвимости позволяют тырить данные.
  • Доступ к чужой памяти только на чтение. На случай если вы уже начитались про “ученых и журналистов” :)
  • Meltdown, в отличие от Spectre, позволяет читать не только память других процессов, но и ядра.
  • Уязвимости можно эксплуатировать в браузерах (где-то заплатки уже выпущены, но насколько они защищают, пока не знаю).
  • Для AMD всё относительно хорошо (пока).

Да, это всё не значит, что у вас гарантированно украдут данные. Однако, повышается вероятность утечки информации, например, при заходе на нормальный сайт с вредоносным кодом в рекламном скрипте.

Далее чуть больше подробностей.

Дружим TeamCity, NUnit и .NET Core

dotNET  /  Общее dotNET  /  JetBrains

Недавно я долго и мучительно переходил с .NET Core 1.x на 2.0. Возможно, расскажу об этом позже. Признаться, об этом лучше рассказывать в удобном кресле психоаналитика :)

Сегодня о более прозаичном. В нашей компании мы привыкли использовать TeamCity и NUnit. Для предыдущей версии .NET Core работал пакет “dotnet-test-nunit-teamcity”, для новой аналога не нашлось…

Новости от Microsoft

dotNET  /  Базы данных  /  Новости CSharp  /  Microsoft

Сегодня несколько новостей из мира Microsoft:

Делаем метки и формы лучше

UX  /  Дизайн и юзабилити UX  /  Usability

Больше года назад, я рекомендовал почитать статью Design Better Forms (Common mistakes designers make and how to fix them). От своих слов я не отказываюсь и по-прежнему рекомендую :) Заодно, добавлю ещё пару статей, которые особенно полезны для тех, кого заботит вопрос правильного использования меток.

Почему я выделяю метки? Знаете, у меня есть мечта… что в приложениях, в разработке которых я буду участвовать, инпуты будут расположены одним столбцом а метки — сверху. Максимум — внутри и всплывают наверх. За исключением, может быть, “сурового ынтырпрайза”, хотя и в этом случае что-нибудь можно придумать…