Апрель 14

Суперсилы WinDbg для .NET-разработчиков

Продолжая серию публикаций по докладам на конференциях, мы остановились на лучшем докладе DotNext 2016 Moscow, в которой Саша goldshtn Гольдштейн рассказывает о возможностях WinDbg для отладки .NET приложений. Этот действительно мощный инструмент позволяет решать задачи, с которыми не справляется встроенный отладчик Visual Studio.

Особенно этот материал будет полезен тем, кому сложно смотреть доклады на английском языке, так как расшифровка переведена на великий и могучий!

Читать дальше →

Раздел: Без рубрики | Комментарии к записи Суперсилы WinDbg для .NET-разработчиков отключены
Апрель 13

[Из песочницы] Визуализация простой геометрии в WPF

Что такое геометрия модели

Для работы с 3D моделями мы используем специальные конвейеры обработки — OpenGL и DirectX. Когда конвейеры строят картину, они используют информацию:

  • о модели — её материале, геометрии и текстурах,
  • о сцене — освещении и настройке камеры.

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

Если задать у треугольника направление обхода границы, он станет ориентированным треугольником. У ориентированного треугольника в трехмерном пространстве можно выделить внутреннюю и внешнюю стороны. По направлению обхода границы мы также определяем единственный по направлению вектор нормали для каждого треугольника. Так, в геометрию модели, помимо точек и треугольников, входит набор нормалей к каждому из треугольников. При отображении модели точки модели соответствуют точкам, треугольники модели соответствуют граням.

В примере мы сосредоточимся на геометрии модели, остальное будем использовать по мере необходимости. В качестве примера модели вполне подойдет Дельфин ниже:

image
Читать дальше →

Раздел: Без рубрики | Комментарии к записи [Из песочницы] Визуализация простой геометрии в WPF отключены
Апрель 12

«Да ты же просто робот, имитация. Разве может робот написать симфонию?» — интервью с Дмитрием Сошниковым из Microsoft

Разработка элементов систем искусственного интеллекта активно развивается и становится трендом сегодняшнего времени, а умных ботов сейчас и вовсе не пишет только ленивый. Именно поэтому мы взяли интервью у Дмитрия Сошникова, одного из лучших в стране экспертов по ИИ. Он является технологическим евангелистом Microsoft, автором книг, статей и учебных пособий, а также преподавателем и координатором студенческих программ, специалистом по функциональному программированию, нейросетям и искусственному интеллекту.

Читать дальше →

Раздел: Без рубрики | Комментарии к записи «Да ты же просто робот, имитация. Разве может робот написать симфонию?» — интервью с Дмитрием Сошниковым из Microsoft отключены
Апрель 11

Tarantool как основное хранилище данных для серверных приложений, написанных на .NET

image

Привет, Хабр! Сегодня хочу поделиться с вами текстовой версией доклада, представленного на Tarantool Meetup второго марта 2017-го года в Mail.Ru Group с поправкой на то, что прошёл уже месяц, и кое-что из обещанного уже было реализовано, поэтому текст будет интересен даже тем, кто видел выступление. Я работаю в компании eVote, которая разрабатывает сервис онлайн-опросов. Мы активно применяем Windows и .NET-технологии в наших продуктах, и в этом посте я расскажу про то, как мы добавили к стеку наших технологий СУБД Tarantool.

Большое спасибо коллегам, друзьям и сотрудникам компании Mail.Ru Group, которые помогали написать эту статью.

Читать дальше →

Раздел: Без рубрики | Комментарии к записи Tarantool как основное хранилище данных для серверных приложений, написанных на .NET отключены
Апрель 11

Guard классы — использовать или нет?

На днях мне довелось делать довольно крупные изменения в одном C# проекте — удаление сторонней сборки. Самое "замечательное", что львиную долю времени я потратил на изменение мест, где использовались helper’ы из этой сборки (так сказать бонус к основной функциональности).

Helper’ы такого вида:

Guard.ArgumentNotNull(myobject, "myobject");

Читать дальше →

Раздел: Без рубрики | Комментарии к записи Guard классы — использовать или нет? отключены
Апрель 8

[Из песочницы] Разбираем квалифицированные сертификаты X.509 в поисках ИНН, СНИЛС и ОГРН

Разбираем квалифицированные сертификаты X.509 в поисках ИНН, СНИЛС и ОГРН«Коллеги, нам необходимо вести реестр выданных квалифицированных сертификатов с возможностью поиска по ИНН, СНИЛС и ОГРН. Сколько дней нужно для создания парсера сертификатов и первого макета?» — с такого вопроса начальника началась очередная летучка.

Поскольку написанием парсера было предложено заняться мне, пришлось задуматься и покопаться в памяти, чтобы оценить трудоемкость задачи и примерные сроки на ее выполнение.

Когда-то я участвовал в небольшом проекте по моделированию SSL MITM, где отвечал за генерацию ключей и сертификатов для этого самого «человека посередине». Поэтому представлял, что квалифицированный сертификат ключа проверки электронной подписи (далее — квалифицированный сертификат) — это сертификат X.509, для описания внутренней структуры которого используется всеми любимый ASN.1.

Вот только не помнил я, чтобы тогда на глаза попадались эти ИННы, СНИЛСы и ОГРНы. Поэтому ответил более, чем скромно: «Босс, два дня, не меньше!», надеясь выполнить задачку за несколько часов.

Ниже рассказ о том, насколько сильно я ошибся в расчетах, а также готовое решение для парсинга сертификатов X.509 на C# с возможностью извлечения полей и их атрибутов с заданными объектными идентификаторами (OID). Читать дальше →

Раздел: Информационная безопасность | Комментарии к записи [Из песочницы] Разбираем квалифицированные сертификаты X.509 в поисках ИНН, СНИЛС и ОГРН отключены
Апрель 8

[Из песочницы] Разбираем квалифицированные сертификаты X.509 в поисках ИНН, СНИЛС и ОГРН

Разбираем квалифицированные сертификаты X.509 в поисках ИНН, СНИЛС и ОГРН«Коллеги, нам необходимо вести реестр выданных квалифицированных сертификатов с возможностью поиска по ИНН, СНИЛС и ОГРН. Сколько дней нужно для создания парсера сертификатов и первого макета?» — с такого вопроса начальника началась очередная летучка.

Поскольку написанием парсера было предложено заняться мне, пришлось задуматься и покопаться в памяти, чтобы оценить трудоемкость задачи и примерные сроки на ее выполнение.

Когда-то я участвовал в небольшом проекте по моделированию SSL MITM, где отвечал за генерацию ключей и сертификатов для этого самого «человека посередине». Поэтому представлял, что квалифицированный сертификат ключа проверки электронной подписи (далее — квалифицированный сертификат) — это сертификат X.509, для описания внутренней структуры которого используется всеми любимый ASN.1.

Вот только не помнил я, чтобы тогда на глаза попадались эти ИННы, СНИЛСы и ОГРНы. Поэтому ответил более, чем скромно: «Босс, два дня, не меньше!», надеясь выполнить задачку за несколько часов.

Ниже рассказ о том, насколько сильно я ошибся в расчетах, а также готовое решение для парсинга сертификатов X.509 на C# с возможностью извлечения полей и их атрибутов с заданными объектными идентификаторами (OID). Читать дальше →

Раздел: Информационная безопасность | Комментарии к записи [Из песочницы] Разбираем квалифицированные сертификаты X.509 в поисках ИНН, СНИЛС и ОГРН отключены
Апрель 7

[Из песочницы] .NET Managed + C unmanaged: какова цена?

Программируя на C#, я часто выносил ресурсоемкие задачи в неуправляемый Си код, потому что производительность .NET вызывала вопросы. И вот за чашечкой чая мне в голову начали лезть вопросы: А какой на самом деле выигрыш от такого разделения кода? Действительно ли можно что-то выиграть, а если можно, то сколько? Как лучше строить API при таком подходе?

Спустя некоторое время я все же выделил себе время изучить этот вопрос более детально, а наблюдениями хочу поделиться с вами.
Читать дальше →

Раздел: Без рубрики | Комментарии к записи [Из песочницы] .NET Managed + C unmanaged: какова цена? отключены
Апрель 7

[Из песочницы] .NET Managed + C unmanaged: какова цена?

Программируя на C#, я часто выносил ресурсоемкие задачи в неуправляемый Си код, потому что производительность .NET вызывала вопросы. И вот за чашечкой чая мне в голову начали лезть вопросы: А какой на самом деле выигрыш от такого разделения кода? Действительно ли можно что-то выиграть, а если можно, то сколько? Как лучше строить API при таком подходе?

Спустя некоторое время я все же выделил себе время изучить этот вопрос более детально, а наблюдениями хочу поделиться с вами.
Читать дальше →

Раздел: Без рубрики | Комментарии к записи [Из песочницы] .NET Managed + C unmanaged: какова цена? отключены
Апрель 7

9-я встреча MSK.NET Community

image

Всем привет, MSK.NET говорит. В марте мы встречались на площадке Digital October и обсуждали Internet of Things. Встреча как всегда прошла в тёплой и дружественной атмосфере. Теперь мы знаем как и с чем едят IoT. Очень приятно было видеть множество новых лиц.

Но хватит уже отдыхать, пора браться за работу!
Читать дальше →

Раздел: Без рубрики | Комментарии к записи 9-я встреча MSK.NET Community отключены