• Битовые маски и флаги в .NET C#

    22 октября, 2020 DEV

    Сегодня хочу поднять очень полезную, но не самую популярную в последнее время тему — использование поразрядных операций над двоичными числами, работа с битовыми масками и, соответственно, флагами. По сути всё вышеперечисленное — это звенья одной цепи и истории: как прятать хранить несколько значений (т.н. флагов) в одной численной переменной, а также как именно и где…

    Read more
  • Теория о бесконечных обезьянах

    7 марта, 2019 DEV

    Страшно люблю разного рода абстрактные теории и мысленные эксперименты, существующие исключительно в гипотетическом поле и слабопроверяемые в реальной жизни. Одной из таких теорий является теория о бесконечных обезьянах, предполагающая ситуацию, в которой бесконечное количество обезьян с печатными машинками за бесконечное количество времени — рано или поздно могут напечатать любой заданный наперёд текст. К примеру, «Войну…

    Read more
  • gRPC Часть №2 — .NET C# и Google Protobuff. Пишем свой proto-файл.

    2 июня, 2018 DEV

    Несколько дней назад я написал вводную статью, открывающую небольшой сборник записей про связь между вселенной .NET и фреймворком Google Protobuff gRPC. Это вторая часть цикла, по сути также являющаяся вступительной. Сегодня мы научимся создавать свои собственные протофайлы (обычные текстовые файлы с расширением .proto) и изучим синтаксис proto3 (думаю, что версии ниже можно уже не рассматривать).…

    Read more
  • gRPC Часть №1 — .NET C# и Google Protobuff. Знакомство.

    23 апреля, 2018 DEV

    Так исторически сложилось, что на текущей моей работе весь стек бекенда состоял изначально из GoLang и .NET. Так начинался наш проект, к  слову, абсолютно для меня экспериментальный — новый виток карьеры (в профессиональном плане). До этого момента я был полностью и целиком desktop-разработчиком под Windows (а ещё до этого десктоп QT и Linux). Я не…

    Read more
  • Интеграция GIT и Visual Studio

    6 декабря, 2017 DEV

    Не представляю, как мы когда-то все жили без GIT. Подобный интерфейс взаимодействия с кодом рано или поздно должен был произойти и, нам повезло, эволюционно у нас появился GIT. Инструмент, который полностью поменял и перевернул мир разработки, вынесший написание кода и работу с листингом на кардинально новый, более высокий уровень. Разработка вышла из локальных групп и…

    Read more
  • Реализация очереди при помощи массива на языке C#

    26 октября, 2017 DEV

    Совсем недавно я рассказывал про базовую структуру данных очередь. И, как обещал, от теории переходим к практике. Сегодня хочу показать как реализовать алгоритм очереди нативными средствами языка C#. Замечу, что собственная реализация подобных базовых структур, как правило, избыточный овер инжиниринг и не нужный велосипед. Всё уже давно реализовано, наверное, для всех платформ и на всех…

    Read more