• Авторизация в ASP.NET Core MVC


      Logo designed by Pablo Iglesias.


      В статье описаны паттерны и приемы авторизации в ASP.NET Core MVC. Подчеркну, что рассматривается только авторизация (проверка прав пользователя) а не аутентификация, поэтому в статье не будет использования ASP.NET Identity, протоколов аутентификации и т.п. Будет много примеров серверного кода, небольшой экскурс вглубь исходников Core MVC, и тестовый проект (ссылка в конце статьи). Приглашаю интересующихся под кат.


      Содержание:



      Читать дальше →
      • +28
      • 37,8k
      • 5
    • Что разработчики Xamarin должны знать на начало 2017 года

      • Перевод
      Представляем вам пятничную подборку полезных гайдов и шпаргалок от Джеймса Монтемагно для разработчиков разного уровня.


      Читать дальше →
    • А давайте я вам расскажу про градиенты!


        скрин финального результата

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

        Зачем?


        Как-то захотелось мне реализовать программную отрисовку градиентов, максимально похожих на фотошоповские. Никакой конкретной цели у меня не было, так, интересная задачка на вечер. В качестве языка была выбрана Java. Важной идеей было то, что я хотел написать этот алгоритм именно своими силами, не подглядывая в чужие алгоритмы.
        Читать дальше →
      • Как управлять гигантами Vol.2: инструментарий для планирования разработки интернет-проектов

          image

          В предыдущей статье мы внимательно рассмотрели детали организации процессов и построения команды для реализации сложных веб-проектов. Но как контролировать соблюдение процессов и планировать время специалистов? Теоретически можно обойтись блокнотом и ручкой, но это усиливает влияние человеческого фактора, а, значит, появляются дополнительные риски. Для минимизации этих рисков, повышения эффективности и удобства планирования существует множество инструментов. За 10 лет работы AGIMA мы перепробовали великое множество софта для проектного управления, и в этой статье я расскажу об инструментах, которые прошли наш самый суровый отбор и которые наши менеджеры используют ежедневно.

          Читать дальше →
          • +6
          • 14,2k
          • 7
        • Yandex Translate для Visual Studio Code

          Начну с того, что использую vim в качестве редактора файлов. Все удобно и быстро, но есть некоторые проблемы которые выделил при длительном пользовании:

          • Нет асинхронности. Знаю что есть nvim — но он работает не так быстро и не так гладко
          • Сложность написания плагинов. Спорный конечно вопрос для разных гуру — но честно говоря так много «каши», не хватает модульности и какой то структурности из уже реализованных «велосипедов»
          • Когда слишком много плагинов vim стартует — нужно быть честным, довольно долго и это напрягает

          Пользуюсь так же по основному своему хобби — Android Studio. Очень прожорлив этот IDE к ресурсам системы, процессор иногда сходит с ума обрабатывая очередной цикл gradle assembleDebug.

          Visual Studio Code испытывал скептически. Первое что удивило скорость запуска вместе с большой структурой проекта. Моментальный поиск по файлам и множество плагинов, отличный менеджер плагинов похожий на Sublime. Минимальная загрузка процессора.

          Давно в Android Studio не хватало одной полезной штуки — перевод ресурсов strings.xml под другие языки. Делать раньше это было весьма неудобно:

          • Выделить текст
          • Скопировать
          • Перейти в любой онлайн переводчик
          • Вставить текст
          • Выбрать текущий язык перевода
          • Выбрать в какой язык перевести
          • Скопировать перевод
          • Открыть результирующий strings.xml
          • Вставить перевод

          Чего хотелось — одной комбинацией клавиш получить моментальный результат.
          Читать дальше →
        • Доступны Стэнфордские курсы CS193P Весна 2016: Разработка iOS 9 приложений с помощью Swift



            Стэнфордский курс «Developing iOS 9 Apps with Swift» теперь доступен на iTunes. Это долгожданное обновление предыдущего курса по iOS 8 и Swift.
            Для того, чтобы воспользоваться этим контентом, вам нужно иметь только Mac — Macbook Pro, MacBook Air, iMac. Все программное обеспечение — бесплатное.

            Этот курс в течение 10 недель читает профессор Пол Хегэрти. Он не только высвечивает множество нюансов операционной системы iOS и языка программирования Swift, которые не так-то легко найти в документации, но и снабжает вас приемами программирования на iOS, которые вы не найдете ни в одной книге (может быть, на WWDC 2011, 2012, 2013, 2014, 2015). Он многократно сократит ваш путь изучения. Реально, он — гений в преподавании программирования на iOS.
            Читать дальше →
            • +10
            • 20,6k
            • 5
          • WebGL для всех

            • Tutorial


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

            WebGL, в отличие от Javascript, имеет высокий порог вхождения, его до сих пор мало кто использует, а ещё меньше тех, кто об этом пишет. Большинство руководств или статей перепрыгивают сразу на использование какой-нибудь библиотеки. Но мы-то с вами знаем, что большие универсальные инструменты не всегда пригодны для наших задач или, возможно, делают это на неприемлемом уровне: проигрывают в скорости, поставляются с ненужным багажом и т.д.

            Этой статьёй хочется облегчить порог вхождения в чистый WebGL, дать начальное представление и подсказать, куда двигаться дальше.
            Поехали!
          • [Перевод] Введение в Gulp, Grunt, Bower, и поддержка npm в Visual Studio

              Вступление


              Веб разработка, а именно фронт-энд разработка становится, как и традиционная бэк-энд разработка, все комплекснее и мудренее. Множество проектов нуждаются в большем, нежели банальная закачка пары JS и CSS файлов по FTP. Сейчас мы можем наблюдать так называемый процесс сборки фронт-энда, который может включать компиляцию SASS и LESS, сжатие CSS/JS, запуск JSHint или JSLint и многое другое. Эти сборочные задачи и процессы координируются такими инструментами как Gulp или Grunt. Так же клиентскими библиотеками можно управлять используя различные системы управления пакетами как npm или bower.

              Читать далее
              • +17
              • 36,6k
              • 6
            • Обучающее видео и новые подкасты на TechDays.ru

                11 февраля на сайте TechDays.ru стартовала вторая волна онлайн-семинаров. Кроме того, на этом российском форпосте Microsoft выложено более 60 новых онлайн-докладов по разработке приложений и управлению инфраструктурой. Ниже приводим прямые ссылки на некоторые из них.

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

                В разделе «Разработка приложений»:

                * Обзор возможностей Windows 7 для разработки приложений
                * Построение произвольного отчета для руководства из любой базы данных за 15 минут
                * Введение в Azure Services Platform
                * IEAK — создай свой IE8
                * Безопасность в ASP.NET
                * Управление IIS с помощью PowerShell

                В разделе «Управление инфраструктурой»:

                * XP, Vista, Win7 — вчера, сегодня, завтра. Сетевые возможности
                * XP, Vista, Win7 — вчера, сегодня, завтра. Технологии безопасности
                * Exchange Server — Восстановление после аварии
                * Пишем первый сценарий и знакомимся с Windows PowerShell
                * Теория и практика борьбы со спамом и вирусами с помощью технологий Микрософт
                * Причины несовместимости приложений с Windows Vista и их устранение
                Читать дальше →
              • VoytPaint — еще одна рисовалка для Android

                  В один прекрасный день мне понадобилось приложение на Андроид, в котором можно что-нибудь нарисовать, после долгих поисков на маркете нашел ScetchBook, и все… все остальное, что выходило в поисковой выдаче было ужасно: страшный интерфейс, тормоза (кстати к скетчбуку это тоже относится), глюки, рисование только кистью и тд. Так как уже тогда изучал программирование под Андроид решил продумать все что мне нужно и оформить это в виде приложения.

                  И вот что получилось:

                  Voytpaint — приложение в котором можно рисовать!!!
                  (все остальные названия со словом paint и draw уже заняты, поэтому пришлось приделать к нему еще и часть фамилии)
                  Читать дальше →
                • 3-ндфл для источников доходов из-за пределов РФ

                    Привет всем.

                    Сия блогозапись пригодится тем, кто получает доходы не только на основной работе, но и получает деньги из-за рубежа банковскими переводами, а значит, должен с этих доходов заплатить налоги. Рассмотрим здесь случай уплаты налогов физическим лицом по ставке 13%. Вопрос обязательности уплаты налогов не рассматривается, смотрите УК РФ.
                    Читать дальше →
                  • С чего начинается дружба с Active Directory

                      Мне часто приходится сталкиваться с обработкой информации из Active Directory. Так как данная система много где распространена, я решил поделиться своим опытом работы с ней.

                      Началось всё с того, что я раздавал доступ в MS Sharepoint. В заявках от сотрудников, в лучшем случае, приходили учетные записи, в худшем могли написать что-то типа “Мне и моему начальнику”.
                      Читать дальше →
                      • +6
                      • 47,7k
                      • 2
                    • Windows Identity Foundation — для ASP.NET MVC проектов


                        В этой статье, хотелось бы рассказать о том, как можно использовать Windows Identity Foundation в своих ASP.NET MVC проектах, и написать свой Identity Server, на WIF платформе. Во первых, потому что, общей информации, в интернете, достаточно, а вот когда дело касается конкретики, тут возникают проблемы. Так как идеологию и частные случаи можно ещё найти, а вот когда дело касается конкретики, приходится собирать по крупицам. И во вторых, то что сейчас предлагает Microsoft, используя надстройки над Visual Studio, не совсем годится, я бы даже сказал, совсем не годится при разработке решений, сложнее домашней странички или сайта — визитки. Кроме всего прочего, я не очень люблю, когда мифический мастер настройки что сделал с солюшеном, и сказал что «вроде должно работать».
                        Читать дальше →
                        • +17
                        • 21,5k
                        • 7
                      • Откуда «мыло» в WPF и как с ним бороться



                        Это руководство для WPF-разработчиков, стремящихся добиться максимально чёткой картинки в своих приложениях. Графическая система WPF до мозга костей векторная, но конечным результатом её работы по-прежнему является растр. Если не уделить этому факту должного внимания, можно столкнуться с различными сортами «мыла» — паразитными артефактами растеризации. В такой ситуации важно не терять присутствия духа, причины их возникновения вполне рациональны, а методы борьбы достаточно просты и эффективны.
                        Читать дальше →
                      • Основы архитектуры IIS, или запросопровод для ASP.NET

                        • Tutorial



                        В прошлом году мне пришлось отсобеседовать около 10-15 кандидатов на должность веб-программиста на ASP.NET средней квалификации. В качестве вопросов «на засыпку», или «со звёздочкой», я просил рассказать, что происходит с HTTP-запросом от момента его поступления на 80-й порт сервера до передачи управления коду aspx-страницы. Статистика была удручающей: ни один из кандидатов не смог выдать хоть что-нибудь внятное. И этому есть своё объяснение: ни в MSDN с technet, ни на специализированном ресурсе iis.net, ни в книгах a-la «ASP.NET для профессионалов», ни в блогах данной теме не уделяется должного внимания – информацию приходится собирать чуть ли не по крупицам. Я даже знаю людей, которые решили написать свой собственный веб-сервер (Игорь, Георгий, привет!), чтобы не разбираться в работе IIS. Единственная толковая статья – «Introduction to IIS Architectures» Риган Темплин (Reagan Templin). Но и она остаётся на периферии интересов аспнетчиков.

                        Хотя мне лично уже не так интересны чисто технические вопросы, я решил собрать в кучу свой накопленный опыт, раскопать на просторах Сети любопытные детали и передать сие сакральное знание массам, пока оно ещё не устарело. Сразу оговорюсь, что статья ориентирована в большей степени на IIS 7.x, иногда будут ответвления про 6-ку. С 8-й версией в работе не сталкивался, поэтому решил обойти её в этой статье стороной. Но, уверен, читатель без труда разберётся с восьмёркой, освоив изложенный ниже материал.
                        Познать...
                        • +47
                        • 152k
                        • 9
                      • Ускоряем проверку ваших iOS/Mac приложений в iTunesConnect с недели до одного дня


                        Проверка приложения, отправленного разработчиком на рассмотрение Apple Review Team в iTunesConnect в среднем занимает около недели, а если вам «повезло» и вы отправили ваше приложение около выходных или праздников, то процесс проверки и появление заветного «In Review» может затянуться на гораздо больший срок.
                        В данный статье я хочу описать два способа ускорения проверки iOS и Mac приложений в AppStore, работающих на сегодняшний день. Оба способа являются бесплатными.
                        Читать дальше →
                      • Разработка производительных приложений

                        • Перевод

                        Производительные приложения



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

                        Несмотря на то, что здесь будут описаны микрооптимизации, они практически никогда не смогут повредить вашему приложению. Выбор правильных алгоритмов и структур данных всегда должны быть первыми приоритетами, но этот аспект рассматриваться не будет.
                        Читать дальше →
                        • +65
                        • 5,2k
                        • 9
                      • Техническое задание на сайт

                          UPD: Продолжение статьи с примером техзадания

                          Не так давно на хабре были две статьи (Согласно техническому заданию и А зачем мне ТЗ? Я и так знаю!) посвященные техническим заданиям. У меня обе статьи вызвали, мягко говоря, недоумение, в особенности статья «Согласно техническому заданию». На мой взгляд, это вообще вредная статья, которая приводит к неверному понимаю сути ТЗ. В связи с этим хочу выразить свой взгляд на этот вопрос. Не буду говорить обо всех тех. заданиях, слишком широка тема, но думаю смогу рассказать о ТЗ на сайт.

                          То описание технического задания, о котором речь пойдет ниже, не является пересказом ГОСТа, но скорее является его творческой переработкой, хорошо сдобренной горьким опытом. Описанный ниже подход к ТЗ не охватывает все аспекты сайтостроения, но задает общее направление.

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

                          1. Обоснование необходимости ТЗ


                          А зачем вообще нужно ТЗ на сайт? Заказчик говорит: «Нужен следующий сайт: каталог товаров, корзина, форма заказа, доставка, мы на карте, о нас, обратная связь». Что не ясно? Ничего необычного, всё обыденно и рутинно.

                          Разработчик отчетливо представляет, что нужно сделать, а сделать, в его понимании нужно вот так:



                          Далее много букв
                        • Заметки стартапщика (от создателей Wizee Шопинг)

                            Хотим рассказать о собственном опыте построения нашего стартапа. Постараемся, возможно, не в самом структурированном виде изложить наши мысли о том, что делать необходимо, чего делать не стоит и о прочих околостартапных радостях. Некоторые советы могут показаться банальными, но со всем нижеописанным мы столкнулись лично и хотим помочь вам не повторить наши ошибки или взять на вооружение то, что нам удалось сделать хорошо.

                            Читать дальше →