Метка «.net»

Долго ли, коротко ли, вместе с новой Visual Studio 2017 в релиз вышел ASP.NET Core. Тулинг лишился приставки preview, как и все инфраструктурные сборки, поставляемые Microsoft'ом. На мой взгляд, фреймворк получился отличным, а история с cjproj=>xproj=>project.json=>csproj и поломанная совместимость при переходе с RC1 на RC2 — это всё же разумная плата за скорость развития. Ну да ладно, опустим дела минувших дней, и вернёмся к текущим реалиям.

А реалии таковы, что есть задачи, и есть инструменты которые их решают. В частности, передо мной встала задача генерирования PDF-документов средствами ASP.NET Core. «Хмм… Наверняка уже есть что-то готовое...», — подумал я. Как бы не так. Вернее готовые библиотеки для этого есть, но платные, а вот чего-то OpenSource'ного нет. «А как же iText?», — спросите вы. «AGPL», — ответит вам страничка с лицензией на гитхабе. Для OpenSource проектов бесплатно, а для коммерческого использования, извольте заплатить. Ну что ж, раз нет инструмента, решающего мою задачу, значит я сделаю его сам.
Читать полностью »

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

Goldfish.cs

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

Зачем

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

Была поставлена задача создать выборку из чисел в определённом промежутке и определённого диапазона. Выбрать промежуточные значения и вычислить их с помощью spline-интерполяции.
Читать полностью »

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

Внедрение кода с пользой

В статье описан способ построения моста между неуправляемым и управляемым кодом на примере математического пакета Mathcad. На картинке показан пример, как бурундук Тот собирается обрабатывать своё изображение средствами математического пакета. Для этого он «использовал» пользовательскую функцию, написанную на VB.Net, в которой реализована возможность подключения к веб-камере и создания снимка. Результат работы функции сразу доступен в рабочем документе.
Читать полностью »

image

Наверное, каждый .NET разработчик, знакомясь с monodroid и monotouch, хочет узнать, что его ждет. Стоит ли тратить свои силы и время на изучение, какой потенциал платформы, не превратится ли разработка в тестирование фреймворка?

Уже больше года моей основной задачей является разработка на C# под Android и IOS, и я постараюсь ответить на основные вопросы, возникающие при выборе monotouch и monodroid. В статье будет много личного мнения и описания костылей, так как ответы по техническим вопросам можно легко найти на официальном сайте Xamarin: docs.xamarin.com

Поскольку Xamarin 3 вышел только недавно, мне не удалось полностью прощупать новые возможности и изменения в платформе. Тем не менее, почти все «особенности» разработки в monotouch и monodroid по-прежнему актуальны.
Читать полностью »

Снова приветствую всех читателей данного ресурса! В данный момент разработано множество решений для обеспечения кросс-платформенности GUI-приложений Microsoft .NET/Mono. В этой статье я ознакомлю читателей с одним из них, официальным проектом от разработчиков Mono — XWT Widget Toolkit (Xwt). Скачать его можно на данный момент только в виде исходников из репозитория github.com/mono/xwt/. К сожалению, грамотных и полных статей об этом тулките в Интернете найти не удалось, поэтому пришлось разнюхивать всё самому. Т.к. эта статья не рекламная и не обзорная, я не буду объяснять, чем XWT лучше или хуже того же Eto Forms или System.Windows.Forms (последнее на Mono работает вполне сносно). В этой статье будет рассказано о принципе работы XWT и азах работы с ним.
Читать полностью »

image

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

На сегодняшний день существует ряд традиционных способов решения задачи: это добавление XData к элементам чертежа, использование XRecord и создание собственных неграфических объектов.

По сравнению с традиционными, механизм создания и хранения неграфической информации в MultiCAD.NET API гораздо компактней и удобней в использовании. Кроме того, он универсален и может быть одинаково применен для различных типов данных в чертеже: графических элементов, листов или самого чертежа. В качестве дополнительной информации могут использоваться данные различных типов.

Как это работает и как применяется на практике, смотрите под катом.
Читать полностью »

Привет!

В начале июня этого года мы анонсировали выход новой версии наших продуктов для .NET и фреймворка для мобильных и клиентских HTML5 приложений DevExtreme.

Посетителям нашего стенда на DevCon’e 2014 уже были приоткрыты некоторые возможности новой версии. Для тех, кто хочет сэкономить своё время, мы приготовили небольшой ролик про то, что нового и интересного появилось в DevExpress Universal 14.1:

Полный список обновлений и улучшений .NET и DevExtreme продуктов доступен на сайте DevExpress.

Под катом – обзор некоторых масштабных нововведений.
Читать полностью »