Главная » Архив меток: .NET

Архив меток: .NET

Domain-driven design: рецепт для прагматика

Почему к DDD обычно подходят не с той стороны? А с какой стороны надо? Какое отношение ко всему этому имеют жирафы и утконосы? Доклад был сделан на . Специально для Хабра — текстовая расшифровка доклада «Domain-driven design: рецепт для прагматика». Видеозапись доклада также прилагается. NET-конференции DotNext, но может пригодиться не только дотнетчикам, а всем интересующимся DDD (мы верим, вы осилите ...

Читать далее »

Работа с сервисом Managed Databases от Digital Ocean в .NET Core

Но 14 февраля, в день всех влюбленных, компания решила сделать подарок своим клиентам и в режиме Limited Availability запустила сервис Managed Databases. В том время, как у других облачных платформ уже давно есть свои решения для баз данных, Digital Ocean в этом сегменте до сегодняшнего дня ничего не предлагал. NET Core, я не мог обойти вниманием это событие. Поскольку Digital ...

Читать далее »

Bonsai: фамильный вики-движок

Лирическое вступление Как-то вечером, наводя порядок в стенном шкафу, я наткнулся на большую картонную коробку. Она пережила два переезда и не открывалась уже столько лет, что я напрочь забыл, что именно в ней хранилось. Оказалось, там лежали фотографии — в альбомах, в конвертах из фотоателье, а часть просто так. На одной был дедушка — в студенческие годы, еще молодой и ...

Читать далее »

Символьный калькулятор на C#

Понадобилась мне как-то библиотека на c#, которая умеет делать символьные вычисления (время от времени дополняю возможностями одну математическую программу). Всякие исходники в сети найти можно и на разных языках, но вот что-то попроще и попонятнее найти не удавалось. Обратил внимание на Jasymca (Java Symbolic Calculator). Задача Для реализации аналога Mathcad'овского блока odesolve в программе SMath Studio понадобилось решать уравнения относительно ...

Читать далее »

Занимательный C#. Пять примеров для кофе-брейка

Написав уже не одну статью про Veeam Academy, мы решили приоткрыть немного внутренней кухни и предлагаем вашему вниманию несколько примеров на C#, которые мы разбираем с нашими студентами. При их составлении мы отталкивались от того, что наша аудитория — это начинающие разработчики, но и опытным программистам тоже может быть интересно заглянуть под кат. Наша цель — показать, насколько глубока кроличья ...

Читать далее »

[Из песочницы] Когда стоит сохранять длину массива в локальную переменную в C#

Читая Хабр, я наткнулся на статью "Стоит ли сохранять длину массива в локальную переменную в C#?" (которая была в разделе «лучшее»). Мне кажется глупый вопрос, не совсем корректные измерения (почему нет измерений для вложенных циклов?) и странный вывод. Длину массива в С# стоит сохранять в отдельную переменную в случае когда у нас несколько вложенных циклов, ниже пример. Вот простой тестовый ...

Читать далее »

Использование DiagnosticSource в .NET Core: практика

В предыдущей статье я рассказал про механизм DiagnosticSource и на простом примере показал, как с его помощью можно перехватывать запросы в базу данных через классы SqlConnection и SqlCommand и измерять время их выполнения. В настоящее время DiagnosticSource уже используется в AspNetCore, EntityFrameworkCore, HttpClient и SqlClient — каждый из них отправляет собственные события, которые могут быть перехвачены и обработаны. NET Core. ...

Читать далее »

Ищем ошибки в исходном коде Amazon Web Services SDK для .NET

Приветствую всех любителей покритиковать чужой код. 🙂 Сегодня в нашей лаборатории новый материал для исследования — исходный код проекта AWS SDK для .NET. В своё время мы писали статью о проверке AWS SDK для C++. Тогда не нашлось ничего особо интересного. Посмотрим, чем нас порадует .NET версия AWS SDK. Хорошая возможность в очередной раз продемонстрировать возможности анализатора PVS-Studio, а также ...

Читать далее »

О сущностях, DTO, ORM и Lazy Load

Объектно-ориентированная парадигма — стандарт для прикладного ПО. Реляционные СУБД — стандарт хранения данных в прикладном ПО. Да, можно писать и на Haskell и хранить данные исключительно в ClickHouse. Но речь о мейнстриме. Остается «маленькая» такая проблемка — эта абстракция, как и многие другие, «течет». ORM позволяет натянуть сову на глобус сделать вид, что RDBMS'а нет и данные хранятся в объектной ...

Читать далее »

Ctrl-Alt-Del: учимся любить легаси-код

Как быть, когда приходишь в большой проект и сталкиваешься с пропастью непонятного старого кода? Какое отношение к легаси-коду имеют «Звёздные войны», группа «Тату» и сочетание «Ctrl-Alt-Del»? И как эффективнее донести до начальства, что трудозатраты на ликвидацию технического долга оправдывают себя? Такое хорошо подходит для завершения конференции: когда зрители уже услышали много хардкора и больше не могут воспринимать слайды с кодом, ...

Читать далее »