Рубрика «.net» - 122

Новость дополняется.

Xamarin теперь бесплатен. «В отладчик мне исключение (воскл. знак)» - 1

На конференции Microsoft Build 2016 было объявлено, что все ограничения на разработку приложений сняты.

На втором дне конференции вице-президент Скотт Гутри сообщил: кроссплатформенные решения Xamarin будут интегрированы в Visual Studio и станут бесплатными, даже в Community Edition.

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

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

С нашей точки зрения этот материал будет интересен прежде всего тем, кто занимается разработкой и развитием внутренних порталов, и думает что-же полезного можно сделать кроме всеми любимых справочников сотрудников, новостей, дней рождений и мать их курсов валют.
Портал на службе бухгалтерии или автоматизация авансовых отчетов - 1
Итак, представим средних размеров организацию, которая разбросана по территории нашей большой страны, а именно такие компании выбирают SharePoint в качестве корпоративного портала. Самый обычный сотрудник собирается поехать в командировку и вот тут начинается самое интересное: заполни заявку, согласуй у руководителя, передай в службу персонала, получи аванс на расходы, съезди в командировку, заполни отчет, сдай его в бухгалтерию.
Читать полностью »

QA: Conference. Множество новостей, новые доклады, прямой эфир - 1

Наша конференция по тестированию программных систем начнется совсем скоро и, как известно, пройдет в пяти городах России, а сетка докладов по всем городам практически готова. Самое главное из новостей:

  • Мы делаем онлайн-трансляции с Москвы и Санкт-Петербурга. Всех докладов. По одному билету. С записью мероприятий. Трансляцию могут смотреть посетители любых городов. Главное — наличие билета на свое мероприятие
  • Макс Шоничев . Центр Сетевых Технологий. Расскажет про автоматизацию тестирования серверной части и UI в ОС Linux в условиях жестких рамок настроек безопасности системы. Много хардкора.
  • Артур Орлов и Анастасия Леншмидт. АвтоТрансИнфо. Поговорят про проблемы взаимодействия между отделами QA и Dev и пути их решений
  • Мы с Яном Алексеенко проведем три мастер-класса
  • Алексей Виноградов — наш специальный гость из Германии (он — один из ведущих Radio QA и разработчиков Selenide). Алексей познакомит нас с тремя простыми и практичными видами PageObject архитектуры — Static, Void и Fluent и продемонстрирует использование кодом, сравнит плюсы и минусы подходов
  • Также из Германии — наш гость Slava Schmidt — консультант по Scala. Он нам поведует про Property-Based Testing with API-First Approach
  • Дарья Ефремова из Performance Lab расскажет про методологию Failure Modes & Effects Analysis — подход к тестированию с ретроспективой
  • И многие-многие другие доклады. Зачем мне переписывать их все? Заходите к нам на сайт конференции QAC

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

Введение

Вы наверное уже слышали много хорошего о языке F#, и даже наверное успели его опробовать на небольших личных проектах. Но как быть если речь идет о чем-то немного большем чем просто запуск и отладка простого консольного приложения или скрипта? В этой статье я поведаю вам о моем личном опыте работы с тестами в F#. Кому интересно, прошу в подкат.Читать полностью »

В этом посте я бы хотел поговорить о временами неправильном понимания концепции тасков. Также попытаюсь показать несколько неочевидностей при работе с TaskCompletionSource и просто выполненными (completed) тасками, их решение и истоки.

Проблема

Пусть у нас есть некий код:

static Task<TResult> ComputeAsync<TResult>(Func<TResult> highCpuFunc)
{
    var tcs = new TaskCompletionSource<TResult>();

    try
    {
        TResult result = highCpuFunc();
        tcs.SetResult(result);

        // some evil code
    }
    catch (Exception exc)
    {
        tcs.SetException(exc);
    }

    return tcs.Task;
}

И пример использования:

try
{
    Task.WaitAll(ComputeAsync(() =>
    {
        // do work
    }));
}
catch (AggregateException)
{
    
}
Console.WriteLine("Everything is gonna be ok");

Есть ли проблемы у кода выше вместе с примером? Если да, то какие? Вроде бы AggregateException ловим. Everything is gonna be ok?
Читать полностью »

Визуализируем данные тренировок с DevExpress Dashboard - 1

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

Лирическое отступление

Если ты не занимался в детстве никаким циклическим видом спорта, то увлечение спортом может начаться покупкой велосипеда. Велосипед, конечно же, выбирается после изучения множества отзывов и рекомендаций и чтения веломании, и обязательно не «ашанбайк» (см. недавно пролетавшую по интернету шутку про то, как бесит во всем разбираться). Потом получается, что на купленном крутом горном велосипеде кататься по парку и по городу не очень-то интересно, и ты ищешь единомышленников, начинаешь регулярно участвовать в покатушках местного велоклуба и возможно попадаешь на свою первую в жизни любительскую КК гонку. Там вдруг оказывается, что твоя физическая форма позволяет занять почетное место только где-то в конце списка. После этого, если ты не скажешь «ну их, эти гонки», а начнешь изучать ту же веломанию, но уже на предмет тренировок, читать «Библию велосипедиста», зарегистрируешься на страве (http//strava.com), начнешь регулярно тренироваться и вести дневник тренировок — вот тогда начнется спорт, пусть и любительский.

Другая вещь, которую любят айтишники, это разнообразная статистика и цифры. Обычные спортивные сервисы не позволяют как-то играться со статистикой, предоставляя лишь стандартные виды отчетов, вроде счетчиков пробега или времени по неделям и дням недели и видам активности. Так уж получилось, что автор этих строк одновременно и тренируется, и участвует в разработке DevExpress Dashboard. И конечно же мне захотелось самому сделать дэшборд (и показать всем, как это легко) по данным из своего дневника тренировок.
Читать полностью »

С момента появления тасков в .NET прошло почти 6 лет. Однако я до сих пор вижу некоторую путаницу при использовании Task.Run() и Task.Factory.StartNew() в коде проектов. Если это можно списать на их схожесть, то некоторые проблемы могут возникнуть из-за dynamic в C#.

В этом посте я попытаюсь показать проблему, решение и истоки.

Проблема

Пусть у нас есть код, который выглядит так:

static async Task<dynamic> Compute(Task<dynamic> inner)
{
    return await Task.Factory.StartNew(async () => await inner);
}

Вопрос знатокам: есть ли в данном примере проблема? Если да, то какая? Код компилируется, возвращаемый тип Task на месте, модификатор async при использовании await — тоже.

Думаете, речь идет о пропущенном ConfigureAwait? Хаха!
Читать полностью »

Сегодня мы выпускаем первую, экспериментальную и ознакомительную версию отладчика для набора инструментов ASP.NET Core CLI в составе редактора Visual Studio Code. Вначале я должен упомянуть несколько вещей:

Этот первый выпуск поддерживает точки останова, пошаговое выполнение, отслеживание переменных и стеки вызовов.

Экспериментальная функция отладки .NET Core в Visual Studio Code - 1

Однако, .NET Core и функции отладки находятся на ранних этапах разработки, поэтому в VS Code отсутствует ряд возможностей, привычных для пользователей IDE Visual Studio. Вот некоторые особенности редактора:
Читать полностью »

Анонс встречи Sync.NET #2 - 1

Мы продолжаем развивать наше .NET-комьюнити, и приглашаем всех желающих на вторую встречу Sync.NET. Гостей ждут интересные доклады, горячие обсуждения, вкусные кофе-брейки, последние новости из мира .NET-разработки и масса ярких впечатлений.

В этот раз на миниконференции выступят три спикера с актуальными докладами.
Читать полностью »

Решил написать свой язык аппаратного синтеза, для Minecraft и что из этого вышло - 1

Мне всегда было интересно, как люди делают в играх сложные инженерные конструкции, и всегда хотелось попробовать повторить. Очень давно я увидел ролик на YouTube о том, как один человек построил процессор на редстоуне. И решил попробовать: чем я хуже? Тогда я собрал несколько прототипов отдельных элементов и понял, что эта задача мне не по плечу. К этому времени я немного освоил Verilog. Родилась мысль: почему никто не пытался использовать языки аппаратного синтеза для построения сложных логических схем в minecraft? Чуть углубившись в различные форумы, я не нашел ни одной похожей утилиты, а свой процессор на редстоуне очень хотелось. Пришлось взяться за написание компилятора самому. Что из этого получилось, читайте под катом.
Читать полностью »


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