Создание бота для Skype и его публикация

Я давно хотел попробовать написать какого-нибудь простого бота, чтобы разобраться в этом процессе. Сейчас я в отпуске и у меня есть достаточно свободного времени, чтобы начать писать в своё удовольствие в этом направлении…

Я решил начать с простого бота, который может работать только с текстом. Бот будет на недавно анонсированной платформе для ботов от Microsoft (Microsoft Bot Framework). Мне она приглянулась тем, что теоретически, один реализованный бот может работать и для Skype и для Telegram и для веба и еще много всяких вариантов... [Ещё]

LinqPad — незаменимый инструмент .NET разработчика

Сегодня мне хочется рассказать про один очень интересный инструмент, а именно «LinqPad». Наверняка, многие с ним работают, но многие из моих знакомых не слышали о нём или не пытались его использовать. Если вы давно используете LinqPad, то в данной статье вы не найдёте ничего нового, а вот для тех, кто еще его не использует, она обязательна к прочтению. [Ещё]

Ката программирования на C# — "Крестики-нолики"

Вот очередная ката программирования, на языке C#. В этот раз, в необычном для меня формате. Я решил записать видео самого процесса создания, исходный код, как всегда, можно увидеть на GitHub. Видео получилось длиной почти 23 минуты, кому интересно, читайте дальше… [Ещё]

Ката программирования на C# — "Палиндром"

Сегодня рассмотрим первую ката «Палиндром». Напомню, что ката в программировании, это упражнение, которое должно занимать не более 10 минут, которое выполняется снова и снова, для совершенствования скорости и качества написания кода. Определение, является ли слово палиндром в качестве первого ката выбрано по 2 причинам, во-первых, задача поиска палиндрома достаточно проста и её написание займет точно не более 10 минут, во-вторых она не столь тривиальна, как кажется на первый взгляд и в сети очень легко найти примеры достаточно сложных палиндромов для тестов. [Ещё]

О книге «Идеальный программист. Как стать профессионалом разработки ПО.»

Очень давно я ничего не писал. А материала, которым хотелось бы поделиться, накопилось очень много. Данным небольшим обзором я надеюсь начать регулярно публиковать материал.
Сегодня хочу рассказать про одну интересную книгу, которую я прочитал на днях «Идеальный программист. Как стать профессионалом разработки ПО.» [Ещё]

Класс Path в C# — работа с путями и именами файлов

Работая с директориями и файлами, приходится выполнять такие операции как составление пути к файлу, получение расширения файла, получение абсолютного пути к файлу и много других операций. В C# для этих и подобных операций существует класс System.IO.Path… [Ещё]

Использование UnicodeCategory в C#

Сегодня я бы хотел рассказать о категориях Unicode-символов в C#. Наверняка все использовали такие функции как char.IsLower(c), char.IsDigit(c) и подобные. Это определённо лучший способ получить информацию о символе, но мы можем получить гораздо больше информации о Unicode символах, если воспользуемся функцией char.GetUnicodeCategory(c)… [Ещё]

Использование атрибута DebuggerDisplay в C# — настройка отображаемой в отладчике информации

Отладка кода на крупных проектах занимает огромное количество времени. На дебагинг, обычно, тратится от 10 до 15 процентов времени работы над проектом, и даже если вы пишете чистый и качественный код, все равно вы будете использовать отладчик… [Ещё]

Загрузка музыки из vk.com на компьютер используя C#

Сегодня будет достаточно длинная, но полезная статья о том, как реализовать загрузчик музыки из vk.com (вконтакте) на C#. Зачем это нужно, ведь существует огромное количество сервисов, которые могут это сделать? Как минимум, уметь работать с API VK это хорошо, а уметь делать это на C# — еще лучше). Да и использовать свой «велосипед» порой намного приятнее… [Ещё]

Начало работы с MongoDB

NoSQL базы данных продолжают набирать популярность. Если еще пару лет назад их особо всерьёз никто не воспринимал, то сейчас ситуация кардинально поменялась. NoSQL базы данных становятся не просто конкурентоспособны, они уже являются лидерами в проектах, требующих высокой производительности… [Ещё]