• Простая реализация Token для взаимодействия мобильного приложения с WebAPI

    С недавнего времени занялся разработкой мобильных приложений с помощью Xamarin.Forms в связи с производственной так сказать необходимостью. Не буду конечно рассказывать про танцы с бубнами чтобы написать и запустить на эмуляторе приложение «Hello, World!», но главное разработка пошла достаточно плавно.

    Благо и понимание задачи было — а именно — взаимодействие мобильного приложения с базой данных внутренней CRM системы в компании, добавить сотрудникам мобильности, но при этом не забывать и о безопасности. Было принято решение создать WebAPI, ибо чтобы работать с уже привычными ASMX веб-сервисами в Xamarin нужно плясать с бубнами.

    Как сказал выше, в том числе хотелось сделать «связующее звено» достаточно безопасным, а значит мобильное приложение должно иметь авторизацию (до кучи и удобства с возможностью сохранения авторизации и автоматического входа.

    Не хотелось глубоко копаться в реализации WebAPI с авторизацией на уровне Token, а хотелось сделать что-то попроще, тем более пока «гуглил» видел что такого желания у людей с избытком, но все отсылы отвечающих были либо к стандартным механизмам, либо использования каких-нибудь пакетов из NuGet, чего хотелось бы по максимуму избежать.

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

    В итоге, после долгих мытарств, поисков и т.п. — думаю у меня получилось достаточно неплохое решение, которым мне и хочется поделится с сообществом.
    Читать дальше →
  • F# на Linux как лекарство для души

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


      Читать дальше →
    • Анализаторы Roslyn: повадки и места обитания

        На днях объяснял одному товарищу что такое анализаторы Roslyn и как их писать. Ответ получился массивным, и я решил вынести его в отдельную публикацию.

        Что такое анализаторы Roslyn? Если коротко — это отличный способ писать рефакторинги вроде Решарперовских. Постоянно встречаете одну и ту же ошибку в процессе ревью? Напишете анализатор с фиксером и забудьте про эту ошибку. Техническая сторона довольно проста, для первоначального знакомства отлично подойдут вот эта статья, вот это видео, вот эта серия постов, и вот этот туториал. Я же попытаюсь описать грабли моменты, которые лично у меня вызывали затруднение.
        Читать дальше →
        • +14
        • 3,2k
        • 4
      • Ключевые анонсы Connect(); 2017

          Привет, Хабр! В Нью-Йорке в эти дни проходит ежегодная конференция Microsoft Connect 2017. На ней уже анонсировали множество обновлений существующих продуктов и большое количество новых инструментов. Под катом читайте о самых интересных из них.


          Читать дальше →
        • Запуск/отладка Python скриптов в контейнерах LXC/LXD из под VS Code

          Привет, Хабр!

          В этой статье хочется поделится с вами настройкой девелоперского окружения под разработку скриптов на Python и запуск их в изолированном окружении, практически за пару кликов в редакторе VS Code.

          В качестве изолированного окружения будет рассмотрена первичная настройка и создание контейнера на базе LXC под управлением ОС Ubuntu 17.10. Почему не Docker? Сложно ответить, выдать какие-то аргументы. От части концепция виртуализации ОС субъективно ближе по духу, чем виртуализация процессов, но принцип который здесь будет изложен, с некоторыми поправками, подойдет к запуску кода в Docker-контейнерах.



          Что вы получите?


          • Научитесь запускать в один клик python-скрипты в контейнере, а также удаленный debug из VS Code
          • Узнаете как установить LXD, настроить сеть и запустить первый контейнер
          • Ознакомитесь с установкой и настройкой редактора исходного кода VS Code, набором расширений которые позволят комфортно писать и отлаживать код.

          Чего здесь не будет?


          • Не будет полного обзора LXC/LXD, вам придется самостоятельно найти дополнительную информацию о Linux-контейнерах.
          • Не будет рассмотрен python модуль virtualenv для создания виртуального окружения на хосте разработчика как альтернатива контейнерам.
          • Не будет сравнения в духе Docker vs LXD, выводы вы сделаете самостоятельно на основании вашего опыта.
          Читать дальше →
        • Знаки табуляции или пробелы: решаем с помощью Visual Studio

          • Перевод
          Привет, Хабр! Культурные воины продолжаются, люди сражаются по разные стороны баррикад, пытаясь решить: tabs or spaces. На эту же тему мы нашли интересную статью Скотта Хансельмана, в которой он рассказывает про инструмент, решающий это спор, EditorConfig в Visual Studio. Всех интересующихся прошу под кат.



          Читать дальше →
        • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

          Подробнее
          Реклама
        • Отладка React-приложений в VS Code

          • Перевод


          Прошли те дни, когда мне, в процессе разработки, приходилось тратить время, переключаясь между терминалом, браузером и редактором. Теперь всё делается иначе — быстрее и удобнее. Сегодня я расскажу об оптимизации повседневных дел React-разработчика. А именно, речь пойдёт о том, как связать Visual Studio Code и Google Chrome. Это даст возможность отлаживать браузерный код в редакторе.


          Средства отладки VS Code и jest от Facebook
          Читать дальше →
        • Настройка папок отображения в табличной модели SSAS 2016

          • Перевод
          • Tutorial

          Задача


          В SSAS 2016 создана крупная табличная модель. В большинстве таблиц есть множество различных мер и полей измерений, в результате пользователям становится сложно ориентироваться в этом изобилии. Есть ли способ объединить объекты в группы?

          Решение


          Многомерная модель SSAS давно имеет соответствующую возможность и называется она папки отображения (display folders). Можно настроить отображение атрибутов измерения в различных папках, что делает работу с ними более удобной для пользователя. Пример тестового куба AdventureWorks.



          Табличная модель SSAS 2012/2014 официально не поддерживает такую функцию. Однако вы можете добавить ее путем непосредственной правки XMLA модели или с помощью BIDSHelper.
          К счастью, SSAS 2016 предоставляет нам данный функционал из коробки и позволяет легко работать с ним с помощью Visual Studio (SQL Server Data Tools). В данной статье мы покажем, как это делается.
          Читать дальше →
        • Расставим точки над .NET Core и .NET Standard

          • Перевод
          .NET Core и .NET Standard — самые новые на сегодняшний день технологии .NET, поэтому совершенно неудивительно, что не только они, но и их отличия от платформы .NET Framework вызывают много вопросов. В этой статье я расскажу, что эти технологии из себя представляют и в каких случаях будет более логично выбрать каждую их.


          Читать дальше →
        • MvvmCross для простого приложения iOS на C#

          Здравствуйте. Разработчики кроссплатформенных приложений под .NET (далее все про C#) наверно знают о существовании MvvmCross. Отличный продукт, главным недостатком которого является весьма скудная документация. А на русском языке и того почти нет. Здесь я хочу в общих чертах рассказать о структуре простого приложения с меню для iOS на базе MvvmCross.
          Читать дальше →
        Самое читаемое