Рубрика «C#» - 114

Процесс сигнатурного анализа кода в нашем проекте PT Application Inspector разбит на следующие этапы:

  1. парсинг в зависимое от языка представление (abstract syntax tree, AST);
  2. преобразование AST в независимый от языка унифицированный формат;
  3. непосредственное сопоставление с шаблонами, описанными на DSL.

О первых двух этапах было рассказано в предыдущих статьях "Теория и практика парсинга исходников с помощью ANTLR и Roslyn" и "Обработка древовидных структур и унифицированное AST". Данная статья посвящена третьему этапу, а именно: различным способам описания шаблонов, разработке специализированного языка (DSL) для их описания, а также примерам шаблонов на этом языке.

Язык шаблонов для универсального сигнатурного анализатора кода - 1

Содержание

Читать полностью »

Видео лучших докладов .NET-конференции DotNext 2015 Moscow - 1

9 декабря в Москве в гостинице «Radisson Славянская» прошла .NET-конференция DotNext 2015 Moscow. В этом посте я, по уже сложившейся традиции, расскажу о лучших докладах этой конференции.

10 место

Александр ControlFlow Шведов, JetBrains — Дизайн и эволюция C# на примере свойств
Средняя оценка: 4.41

Эдакий экскурс в историю построения языка, позволяющий взглянуть на один из элементов современного C# глазами ее разработчиков. В докладе речь идет не только о том, какие свойства сейчас, но и о том, как они эволюционировали от версии к версии.
Читать полностью »

[PF] Векторная печать PDF на C# теория - 1

Продолжаю тему печати PDF документов из под .NET.

В принципе, распечатать документ не трудно, есть даже готовые решения. Сложности возникают, когда нужно управлять некоторыми параметрами печати. В своей практике я столкнулся с задачей по реализации минитипографии — когда при печати документов нужно указывать, из какого лотка брать очередной лист, т.е. печатать документы по шаблонам. Первым делом я попытался найти готовые решения, но не обнаружив ничего подходящего, стал придумывать свое. Читать полностью »

Мы уже рассмотрели две статьи, где функционал C# dynamic мог привести к неожиданному поведению кода.
На этот раз я бы хотел показать позитивную сторону, где динамическая диспетчеризация позволяет упростить код, оставаясь при этом строго-типизированным.

В этом посте мы узнаем:

  • возможные варианты реализации шаблона множественная диспетчеризация (multiple/double dispatch & co.)
  • как избавиться от реализовать Exception Handling Block из Enterprise Library за пару минут. И, конечно же, упростить policy-based модель обработки ошибок
  • dynamic – эффективнее Вашего кода

Читать полностью »

.NET становится по-настоящему кроссплатформенным: после долгого ожидания наконец объявлена дата релиза ASP.NET Core, JetBrains готовит альтернативу Visual Studio на базе ReSharper и IDEA, Microsoft приобрела Xamarin, сделала Xamarin Community бесплатной, а Mono перевела на MIT-лицензию и наконец, Windows Server 2016 получит поддержку Windows-контейнеров в Docker.

С новыми возможностями нас встречают новые вызовы:

  • Как будет работать один и тот-же код под .NET Core и Mono, на Windows и Linux, в docker-контейнере?
  • Стоит ли переходить на .NET Core уже сейчас и как получить максимум от новой платформы?
  • Какие перспективы у Mono и Xamarin?
  • Какие изменения произошли «под капотом» .NET с переходом на Roslyn и .NET Core?

Всего через три недели на конференции DotNext в Питере 20 спикеров выступят с докладами о настоящем и будущем платформы .NET, об оптимизации производительности и многопоточности, о внутреннем устройстве платформы .NET и CLR, о профилировании и отладке .NET-кода.

.NET-разработка: девять вопросов взрослым - 1


А пока мы попросили четырех из них поделиться своим опытом и мнениями о грядущих изменениях в мире .NET. На наши вопросы ответили:

  • Ведущий мировой эксперт по производительности .NET-платформы, восьмикратный Microsoft MVP, автор прекрасной книги по производительности .NET «Pro .NET Performance» Саша Голдштейн;
  • Главный разработчик протокола реактивного многопроцессного взаимодействия в Rider Дмитрий Иванов из JetBrains;
  • Microsoft MVP, к.ф.-м.н., серебряный призёр ACM ICPC, постдок в Вейцмановском институте науки и разработчик JetBrains Андрей Акиньшин;
  • CTO Promarket и эксперт в области Mono и Linux Никита Цуканов.

Читать полностью »

Введение

Пример создания простой 2D игры для Android с использованием игрового движка Unity - 1

Прежде всего, хочу сразу отметить, что я не являюсь профессиональным разработчиком. В этой статье я постараюсь изложить свой опыт создания игры «Feel Speed Racing». Данный материал, скорее всего не будет интересен тем, кто уже имеет большой опыт в разработке игр, но начинающим разработчикам, которые хоть немного работали с Unity думаю, будет интересно.
Читать полностью »

PVS-Studio Demo
У ограничений имеется две цели. Первая — как можно быстрее показать потенциальному пользователю, что статический анализатор может находить ошибки в его коде. Вторая — побудить к общению с нами в почте, чтобы помочь использовать инструмент правильно. Я уверен, что эта взаимосвязь непонятна, поэтому я и решил написать эту маленькую заметку.
Читать полностью »

В процессе работы статического анализатора точные значения или диапазоны значений некоторых переменных и выражений могут быть вычислены на этапе анализа. Это полезная информация, которую можно использовать при поиске ошибок. Мы называем такие значения виртуальными значениями, о них и будет эта статья.

Поиск ошибок с помощью вычисления виртуальных значений - 1
Читать полностью »

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

Баянистая картинка, отражающая суть статьи

Как написать монаду IO на C# (не) без помощи параллельной вселенной и машины времени - 1

Читать полностью »

В июне к нам на конференцию DotNext приедут две звезды .NET-программирования мирового уровня — Dino Esposito и Sasha Goldshtein.

Оба наших супергостя знамениты двумя вещами:

  • они авторы прекрасных книг;
  • они замечательные спикеры.

Про Дино я уже пару раз писал, и наверное напишу и в этот раз. А сегодня я расскажу вам про Сашу.

Саша Голдштейн / Sasha Goldshtein

Саша Голдштейн — ведущий мировой эксперт по производительности .NET-платформы, восьмикратный Microsoft MVP, автор прекрасной (и, наверное, единственной) серьезной книги по производительности .NET «Pro .NET Performance» (eng, rus).

Sasha Goldshtein, гуру .NET Performance, выступит на .NET-конференции в Питере - 1
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js