Рубрика «Visual Studio» - 49

Введение

Linq to Entity позволяет очень выразительно со статической проверкой типов писать сложные запросы. Но иногда надо нужно сделать запросы чуть динамичнее. Например, добавить сортировку, когда имя колонки задано строкой.
Т.е. написать что то вроде:

var query = from customer in context.Customers
    select customer;
//ошибка! не компилируется.
query = query.OrderBy("name");
var data = query.ToList();

На помощь в этом случае придет динамическое построение деревьев выражений (expression trees). Правда одних выражений будет недостаточно, потребуется динамически находить и конструировать шаблонные методы. Но и это не так сложно. Подробности ниже.
Читать полностью »

Введение

После продолжительного перерыва мне пришлось вернуться к программированию на C++. После C# очень не хватало ключевого слова var и возможностей построения запросов linq. Однако как оказалось прогресс не стоит на месте и за время моего отсутствия вышла новая версия С++11, имеющая новые интересные возможности, к тому же реализованная в большинстве компиляторов. Я занимался кросс-платформенным проектом и меня интересовали компиляторы GCC для Linux, Visual Studio и mingw для мира Windows. Попытка найти linq-like библиотеку не увенчались успехом, все, что я находил, было нежизнеспособной поделкой на коленке. Смирившись, я бросил поиски, однако в апреле 2012 вышла обнадеживающая статья LINQ to Objects на языке C++, в которой описывалась библиотека, которая мне подходила. Попробовав ее в деле и разобравшись в ее устройстве, я был разочарован неэффективностью, но некоторые идеи я подчерпнул. Оставалось одно – написать такую же, только с блэк-джеком, что я и сделал github.com/drbasic/CppLinq, заодно разобравшись автоматическим выводом типа (auto) и лямбда выражениями.

Проектировалась библиотека так, что бы с помощью fluent – синтаксиса и лямбда выражений пользователь мог построить граф преобразований. Эти графы можно копировать, достраивать, объединять, т.е. реализовать поведение максимально близкое к прообразу Linq to Objects из мира C#. Функционал библиотеки, недолго думая, я позаимствовал из C#, добавив, явный left join и full join. Важным ограничением библиотеки является перемещение по графу преобразования не копий, а указателей на элементы исходной последовательности. Это позволяет эффективно обходиться со сложными элементами коллекций, ведь теперь не происходит накладных расходов на копирование, но исходная последовательность из-за этого не должна быть «виртуальной». Т.е. к началу работы у каждого элемента исходной последовательности должен быть уникальный адрес и элементы не должны перемещаться в памяти во время работы linq-преобразований. В общем, для этого подходят массивы, контейнеры Qt, все стандартные контейнеры, кроме std::bitset. Сложности возникли лишь с константными последовательностями, которые так и не доделал, так как мне они были не особо нужны. Библиотека проверена и успешно компилируется Visual Studio 2010 и 2012, gcc 4.8, mingw 4.8. Проще всего совладать оказалось с компилятором Microsoft, сделать счастливыми gcc было куда сложнее, причем с внутренней ошибкой бывало падали все компиляторы, порой даже без вразумительных криков.
Читать полностью »

Профильная оптимизация это очень интересный способ оптимизации кода приложения в среде выполнения (в команде разработчиков Visual C этот метод называют POGO или PGO, от английского Profile Guided Optimization). Впервые профильная оптимизация была применена в конце 90-х исследовательскими группами в Visual C и Microsoft. Тогда она была рассчитана для архитектуры Itanium. Затем PGO была включена в состав Visual Studio C/C++ 2005. На сегодня это основной процесс оптимизации, значительно повышающий производительность приложений Microsoft и других разработчиков.
В этом посте будет рассказано, как создавать более быстрые и высокопроизводительные нативные приложения. Для начала, познакомимся ближе с PGO, а затем рассмотрим на примере (симуляция NBody), как с помощью нескольких простых шагов можно применить этот процесс оптимизации в ваших приложениях. Для работы используйте исходный код из примера. Для сборки проекта вам понадобится DirectX SDK.
Читать полностью »

image

Уважаемые разработчики и тестировщики ПО, участники конференции DevCon 2013. От лица организаторов, с удовольствием представляю вам программу двух дней конференции, в которую вошли доклады в шести параллельных треках, шесть эксклюзивных мастер-классов и вечерняя программа с круглыми столами и хакатоном “Ночь кодирования”.

По адресу http://www.msdevcon.ru/schedule вы можете найти актуальное расписание конференции.

Ниже я расскажу о некоторых деталях программы DevCon 2013.

Основная программа

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

Обратите внимание! Вся основная программа конференции будет записываться и транслироваться онлайн в реальном времени! Если вам не повезло и вы не сможете принять участие в DevCon 2013 лично, то посетите официальный сайт http://msdevcon.ru 29 и 30 мая для просмотра сессий онлайн.

В этом году мы приняли решение сделать программу конференции и доклады более глубокими. Поэтому более трети (ближе к половине) докладов DevCon 2013 будут уровня 300 или выше.
Читать полностью »

image

Платформа Windows Azure получила очередное крупное обновление. На прошлой неделе в своем блоге Скотт Гатри анонсировал выпуск новой версии .NET SDK 2.0, включающий новые инструменты c интеграцией Visual Studio для управления компонентами хранилища,  диагностики приложений, публикации веб-сайтов.

В этом обновлении представлены новые функции для работы с сервисной шиной обмена сообщениями (Service Bus). Кроме того, платформа Windows Azure получила большое число новых функций для автоматизирования административных задач с помощью PowerShell. Наконец, был выпущен обновленный обучающий пакет Windows Azure Training Kit, который содержит десятки лабораторных работ для самостоятельного изучения облачной платформы.

Ниже вы найдете краткое описание всех нововведений. Загрузить все новые инструменты вы можете по этой ссылке. Исходные коды SDK доступны на GitHub.
Читать полностью »

Доброго времени суток, уважаемыее!

На Хабре уже был пост о попытке установить Windows Phone 8 SDK на Windows 7, в котором автор произвёл собственное расследование и создал Ruby-скрипт, выполняющий по сути роль установщика компонентов WP8 SDK. В конечном итоге некоторый результат был получен, о чём можно прочитать в указанном посте — пересказывать не стану.

Ребята с форумов MSDN, однако, придумали другой, более хитрый план установки WP8 SDK на Windows 7. Ссылка на исходную тему на форумах MSDN — в конце поста, в «материалах», а дальше — подробное описание способа с картинками.
Читать полностью »

Эта статья описывает, как построить простое приложение для магазина Windows используя Intel® Threading Building Blocks (Intel® TBB).

Мой предыдущий пост Windows 8: Написание многопоточных приложений для магазина Windows с помощью Intel® Threading Building Blocks описывает экспериментальную поддержку для приложений для магазина Windows. Обновление 3 для Intel TBB 4.1, так же как стабильный релиз tbb41_20130314oss содержит динамические библиотеки для таких приложений.
Читать полностью »

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

Речь сегодня пойдет о том, как разрабатывать и отлаживать приложения на всеми уже давно любимом фрэймворке Ruby on Rails. Для всех меня лично с первого дня знакомства с Rails привычно стало использование следующей связки:
— Ubuntu
— Rvm
— Gedit + terminal (в качестве среды разработки)
Но сегодня хотелось бы поговорить о разработке на рельсах именно под виндой Windows в лучшей объективно по-моему мнению среде разработки на сегодняшний день MS Visual Studio. Кому интересно прошу под кат.
Читать полностью »

Для загрузки доступна новая версия инструментов разработки на языке Python в среде Visual Studio. Инструменты Python Tools for Visual Studio распространяются с открытым кодом и предлагают следующие возможности: поддержка CPython, IronPython, функциональный редактор кода, Intellisense, отладка, профилирование, HPC-кластеры, IPython, Django и облачные решения с клиентскими библиотеками для Windows, Linux и MacOS.

Выпущена новая версия Python Tools for Visual Studio 2.0

Python Tools for Visual Studio 2.0 Alpha содержит важные нововведения, такие как: усовершенствованные анализ кода и intellisense для Python, virtualEnviroment for Python, удаленная отладка из Linux/OSX, функция Debug as a Script (для быстрой отладки).
Читать полностью »


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