Pull to refresh
674
0
Владимир Юнев @XaocCPS

Chief Architect

Send message

Готовим ASP.NET Core: как представить статический контент в виде ресурсов

Reading time4 min
Views9.5K
Мы продолжаем нашу колонку по теме ASP.NET Core очередной публикацией от Дмитрия Сикорского ( DmitrySikorsky) — руководителя компании «Юбрейнианс» из Украины. В своей статье Дмитрий рассказывает об опыте работы со статическим контентом в виде ресурсов вне основной сборки проекта в ASP.NET Core. Предыдущие статьи из колонки всегда можно прочитать по ссылке #aspnetcolumn — Владимир Юнев
Иногда необходимо, чтобы статический контент (вроде JS-, CSS-файлов или картинок) располагался, например, вне основной сборки веб-приложения в виде ресурсов. В этой небольшой статье я расскажу о двух подходах к решению этой задачи.

Подготовка проекта с ресурсами


Во-первых, нам необходим проект с ресурсами. Для примера, добавим в ресурсы один CSS-файл (который будет делать весь текст на странице красным) и одну картинку. Для этого нам понадобятся сами файлы, а также, примерно следующая строка в файле project.json нашего проекта:

"resource": [ "Styles/**", "Images/**" ]

Вот и все, теперь после сборки проекта все содержимое папок Styles и Images превратится в ресурсы (очевидно, что можно указать действительно конкретные файлы, а не целые папки, если в этом есть необходимость).
aspnetcolumngithubСовет! Вы можете попробовать все самостоятельно или загрузив исходный код из GitHub https://github.com/DmitrySikorsky/AspNet5Resources.
Кстати, при добавлении файлов в ресурсы «древовидность» их расположения становится «плоской», и все символы «\» в пути к файлу превращаются в точки. Т. е. информация об исходном расположении утрачивается (учитывая, что имена файлов могут содержать точки). Например, добавленный в ресурсы файл \Styles\test.css в проекте AspNet5Resources.Resources будет иметь следующее имя (регистр имеет значение):

AspNet5Resources.Resources.Styles.test.css

К счастью, нам не понадобится каждый раз писать имя сборки (в данном случае это AspNet5Resources.Resources) при получении контента из ресурсов. Для этого при создании EmbeddedFileProvider оно указывается в качестве базового пространства имен (об этом ниже).
Читать дальше →

Новые бесплатные курсы виртуальной академии Microsoft Virtual Academy, февраль 2016

Reading time5 min
Views22K


Начало года! И мы рады поделиться с вами обзором новых бесплатных курсов виртуальной академии Microsoft MVA. Регулярно эксперты Microsoft продолжают выпускать курсы и готовить материалы специально для вас, чтобы предоставлять актуальную информацию разработчикам и ИТ-профессионалам.

Новинка! Управление жизненным циклом приложений (ALM) для начинающих компаний
Вы собирается выпустить свой первый продукт в качестве предпринимателя? В этом курсе можно ознакомиться с основными принципами инженерного управления жизненным циклом приложений, которые необходимы при реализации вашей мечты. Рассматривается система управления версиями, управление выпусками, автоматизированное тестирование и многое другое. Узнайте, что означают такие термины, как Git, SCRUM и TDD, и выясните, почему они могут обеспечить более высокое качество первого выпуска, чем у конкурентов.
Читать дальше →

Используем VS Code для Веб-разработки

Reading time3 min
Views169K

VS Code (Visual Studio Code) — относительно новый текстовый редактор, выпущенный Microsoft. Он, также как и Atom, основывается на облочке Electron (написанной командой Atom), кардинально отличаясь реализацией самого редактора.


VS Code обладает своими уникальными фичами, такими, как, например, IntelliSense "из-коробки".


В этой статье я бы хотел поделиться тем, что нашел для себя полезным в VS Code для веб-разработки.


Осторожно! Под катом много картинок и гифок.

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

nopCommerce CMS на ASP.NET MVC: обзор функционала новой версии

Reading time3 min
Views15K
nopCommerce – это движок для создания интернет-магазинов с открытым исходным кодом и написанный на ASP.NET MVC. Разрабатывается проект нашими соотечественниками из города Ярославль, и на сегодняйшний день на его основе работает более 20,000 сайтов, включая такие бренды как Volvo, Turkish Airlines, Reebok.


Несколько дней назад вышла новая версия продукта 3.70, в которой разработчики добавли полную поддержку Windows Azure. В предыдущих версий владельцы магазинов могли использовать только один instance в Azure, теперь же была добавлена поддержка нескольких. Следовательно, по сути этот функционал можно использовать на веб фермах. Это открываем нам отличные возможности для масштабирования приложения.

Предположим, что вы уже скачали (http://www.nopcommerce.com/downloads.aspx) и установили (http://docs.nopcommerce.com/display/nc/Installing+nopCommerce) nopCommerce в Azure. Итак, что же было сделано для поддержки Azure, и как все это настроить и включить:
Читать дальше →

Query Performance Insight: кто ест ресурсы вашей базы данных?

Reading time2 min
Views5.1K
Мы рады поделиться с вами очередной статьей из серии статей о облачных сервисах Microsoft Azure. В этот раз Андрей Антюфеев — руководитель программ Microsoft из команды SQL Server и Azure SQL Database, продолжит свой рассказ о работе с инструментами оптимизации и мониторинга при работе с облачной БД Azure SQL Database. — Владимир Юнев
В этой заметке речь пойдёт о Query Performance Insight. Инструменте SQL Azure, который поможет вам идентифицировать наиболее ресурсоемкие запросы вашей базы данных,

Query Performance Insights анонсирован в начале октября и сегодня достиг отметки GA. Для того, чтобы понять, что это такое, давайте представим, что ваша база данных стала тормозить: как вы об этом узнаёте? Возможно, вас начали заваливать письмами клиенты, недельный отчёт стал выполняться час вместо привычных 3 минут, ваше приложение начало выкидывать исключения.

Начало пути – Новый портал Azure


Вы заходите на portal.azure.com и находите свою базу данных в списке ресурсов, разглядываете Monitoring chart:


Да, что-то случилось, DTU подскочил до 90%, что же дальше?

Чтобы заглянуть глубже и найти виновника, давайте загрузим Query Performance Insight.
Читать дальше →

Руководство по миграции сервера Parse для разработчиков

Reading time6 min
Views5.9K
Если вы использовали услуги хостинга Parse в качестве бэкенда для своих мобильных приложений, то сейчас вероятно настал идеальный момент попробовать Azure App Service. В связи с последними новостями, ребята из Parse предложили пути миграции существующих бэкендов с Parse на другие площадки. Мы рассчитываем, что когда вы станете искать такую альтернативную площадку, то попробуете и Azure.

Легкий путь миграции


Как предлагается в руководстве по миграции, вы можете мигрировать бэкенд Parse вашего приложения на другой хост, на котором развернут сервер с Parse API размещенный на базе Express. Azure App Service предлагает замечательную альтернативу для хостинга вашей реализации сервера Parse. В конце концов, Node.js-бэкенд предлагаемый в Mobile App в сервисе Azure App Service – это тоже Express. Для того чтобы еще сильнее упростить первые шаги, команда Azure App Service предложила готовый процесс развертывания, который сильно упрощает для вас запуск первого сервера Parse в App Service.

Перед тем как начать, вам стоит почитать руководство по миграции Parse, для того чтобы понять что поддерживается, а что нет в новом сервере Parse. Одной из основных функций, которые отсутствуют в сервере Parse являются пуш-уведомления, но служба Azure Notification Hubs предложит вам готовую альтернативу.

Когда миграция будет завершена, вы можете продолжить использовать клиентские Parse SDK в своих приложениях для доступа к данным (конечно, клиенты должны будут обновлены для использования новых версий SDK и использовать новое расположение сервиса.).
Читать дальше →

Полное руководство по использованию ASP.NET Core 1.0 (aka ASP.NET 5) Tag Helpers

Reading time22 min
Views37K
Тег-хэлперы (Tag Helpers) – новая функция MVC, которую удобно использовать для генерации HTML кода. Они выглядят как обычные HTML элементы и атрибуты, но обрабатываются движком Razor на стороне сервера. Тег-хэлперы во многом представляют собой альтернативный синтаксис для HTML Helpers, но также они позволяют сделать то, что было трудно или невозможно сделать с помощью HTML Helpers. У каждого тег-хэлпера свое поведение и возможности. Эта статья рассмотрит базовые тег-хэлперы, существующие в MVC 6 (ASP .NET Core 1.0, как стало известно совсем недавно).
Читать дальше →

Typescript 1.8: очень много нового и полезного

Reading time4 min
Views22K
Приветствую, коллеги. В эту пятницу Microsoft выпустила бета-версию Typescript 1.8, в которой на удивление много очень полезных для javascript разработчика штук. Мы в voximplant недавно начали переписывать наш web sdk на typescript, и по моему опыту могу с уверенностью сказать, что польза от компилятора огромная. Он позволяет объединить лучшее, что есть в статически и динамически типизированных языках: в начале вы быстро пишите javascript код, не заботясь о типах и экспериментируя с архитектурой — а когда код «стабилизируется», добавляете типы где считаете нужным и тем самым перекладываете кучу проверок на плечи компилятора. Под катом я кратко пройдусь по ключевым фичам новой версии и поделюсь своими соображениями об их полезности и практической применимости.

что для нас приготовил Хейлсберг?

В студенческом предложении Azure добавилась поддержка SQL Azure и Mobile Apps

Reading time3 min
Views4.3K
Мы уже рассказывали про то, что в рамках программы DreamSpark студентам доступны бесплатные облачные сервисы: хостинг веб-приложений и Web API, набор шаблонов (например, WordPress) и т.д. Однако возможности студенческого бесплатного предложения по сравнению с полноценным Azure пока ещё весьма ограничены.

Сегодня мы хотим поделиться хорошей новостью — теперь студенты могут использовать ещё два важных облачных сервиса: СУБД SQL Azure для хранения реляционных данных в облаке и Mobile Apps, которые позволяют легко создавать бэкенды для мобильных и настольных приложений.



Ниже мы рассмотрим эти сервисы чуть подробнее.
Читать дальше →

Parse.com закрывается

Reading time2 min
Views53K
Привет, друзья!

По информации из официального блога, известный и популярный среди разработчиков мобильных (и не только) приложений сервис Parse.com прекратит свою работу.

Сервис будет полностью отключен 28 января 2017 — у существующих пользователей есть ровно год на миграцию данных и перенос своих приложений в другое место.
Читать дальше →

Готовим ASP.NET Core: поговорим про нестандартные подходы при работе с представлениями

Reading time5 min
Views10K
Мы продолжаем нашу колонку по теме ASP.NET Core публикацией от Дмитрия Сикорского ( DmitrySikorsky) — руководителя компании «Юбрейнианс» из Украины. В своей очередной статье Дмитрий рассказывает об опыте нестандартной работы с представлениями в ASP.NET Core. Предыдущие статьи из колонки всегда можно прочитать по ссылке #aspnetcolumn — Владимир Юнев
В последнее время я много работал над своим модульным фреймворком для ASP.NET 5 (теперь уже ASP.NET Core 1.0). В рамках этого проекта пришлось решать различные задачи, и одной из них была работа с представлениями, которые находятся либо просто в нестандартных местах, либо вообще вне основной сборки веб-приложения. В этой статье я попробую рассказать, какие у вас есть варианты, если вам необходимо нечто подобное.


Представления в нестандартных местах внутри основной сборки веб-приложения


Если вдруг по какой-то причине ваши представления оказались вне положенной им папки Views (но, при этом, все-таки остались внутри основного проекта приложения), вам потребуется сообщить об этом Razor’y. Если раньше для этого пришлось бы написать класс, производный от RazorViewEngine, то сейчас сделать это немного проще.
Читать дальше →

Что нового в Windows Server 2016 RDS. Часть 1

Reading time7 min
Views101K
Автор статьи — Роман Левченко (www.rlevchenko.com), MVP — Cloud and Datacenter Management

Выход Windows Server 2016 всё ближе и ближе, и мы продолжаем рассматривать самые главные нововведения очередного релиза. Речь сегодня пойдет об одной из наиболее востребованных ролей – службы удаленных рабочих столов или RDS (Remote Desktop Services).
Прежде чем погружаться в мир нового, рекомендую ознакомиться со списком тех возможностей, которые предоставляют Windows Server 2012/2012 R2. Если все в теме, то вернемся к главному и подробно рассмотрим непосредственно WS 2016 RDS.
Читать дальше →

Немного халявы в Microsoft Azure или создаем бесплатную SQL Database в облаке

Reading time3 min
Views28K
Всем привет, этот небольшой мануал будет полезен тем, кто хочет пользоваться SQL Database в облаке Azure, но по ряду причин еще это не делает. Как известно, Microsoft Azure — это облачный хостинг, который с недавнего времени является бесплатным для студентов. Сегодня я хочу рассказать про способ, схожий с тем, что был описан в статье моего коллеги MSP (но немного отличающийся), как пользоваться SQL Database в облаке абсолютно бесплатно.



В облаке Microsoft Azure уже давно есть возможность размещать бесплатные Azure Web Sites. Отдельно скажу, что студенты в рамках программы DreamSpark могут получить доступ к Azure Web Sites, MySQL Database (до 32 мб) и некоторые другие возможности облака Azure. С недавнего времени, по подписке DreamSpark для студентов доступна Azure SQL Database, но только объемом до 32 мб. Но, если нельзя бесплатно получить большее, но очень хочется, — то можно.
На помощь нам в деле создания проекта с бесплатной SQL Database в облаке придет SQL Server Compact, но обо всем по порядку.
Читать дальше →

Офис как Платформа: как развивается проект Notegram для OneNote

Reading time5 min
Views5.2K
Перед вами продолжение истории успеха проекта Notegram от первого лица — Дмитрия Конева — разработчика проекта, который создал интересный проект, расширяющий возможности приложения Office OneNote. В продолжении своей истории Дмитрий рассказывает про развитие проекта и применение новых техник при разработке для Office 365. Все статьи колонки «Офис как Платформа» вы всегда можете найти по ссылке #officeplatform — Владимир Юнев.
Недавно я выпустил второе обновление для моего проекта, Notegram. Notegram – это веб-приложение для Microsoft OneNote, позволяющее быстро делиться шаблонами, без каких-либо дополнений.


Самая главная деталь в этом обновлении – новый шаблон календаря, теперь позволяющий выбрать год и месяц. Так же я немного улучшил дизайн, и во время написания этой статьи добавил еще два новых шаблона:
Читать дальше →

Автоматическая миграция контейнеров в ЦОДах: интеграция Microsoft Azure и AWS

Reading time5 min
Views3.3K
Мы продолжаем рассказывать о компаниях-разработчиках решений (ISV), использующих облако Microsoft Azure. В этом выпуске мы продолжим рассказ про платформу компании Jelastic темой автоматической миграции контейнеров между ЦОДами. Предыдущие статьи цикла вы всегда можете найти по ссылке #isvcloudstory. — Владимир Юнев
Умное управление Jelastic позволяет унифицировать и агрегировать различные комплекты оборудования от разных ЦОДов в рамках единой установки облачной платформы. Такие ДЦ, представленные в виде отдельных регионов окружений, могут быть выбраны в качестве местоположения для окружающей среды при его создании.

Такой подход позволяет создавать сложные и многофункциональные объединения облачных сервисов, где основными получаемыми выгодами являются:

Автономия – вы избавитесь от необходимости обслуживания у одного лишь поставщика и повысите эффективность использования ЦОДов, обеспечивая низкую задержка в обработке данных для конечных клиентов через обширную сеть гео-распределения;

Гибридность – унификация частных и общедоступных облаков обеспечивает эффективность нагрузок, позволяя получить более высокую производительность с меньшими затратами;

HA и DR – приобретение повышенной отказоустойчивости и исключение рисков, связанных с простоем сервисов.
Читать дальше →

Готовим ASP.NET Core: поговорим подробнее про OWIN и Katana

Reading time5 min
Views22K
Мы рады поделиться с вами очередной статьей из серии статей о платформе ASP.NET Core (ранее ASP.NET 5). В этот раз Вячеслав Бобик — .NET-разработчика из компании Radario, продолжит свой рассказ о платформе рассказом про применение технологий OWIN, Katana и связанные вопросы. Все статьи цикла вы всегда можете найти тут #aspnetcolumn — Владимир Юнев

Немного истории


В далекие времена, когда только появился ASP.NET MVC версии CTP, никто и не задумывался, о кроссплатформености, о том, что было бы здорово запускать приложения, написаные на этом фрейворке, не только на IIS, но и на другом вэб-сервере, и на другой ОС.
Со временем, богатство фреймворка ASP.NET MVC росло, росла и монолитная библиотека System.Web, от которой зависит фреймфорк и увеличивалась его сложность. В какой-то момент, а именно с четвертой версией, этот фрейворк стал довольно большим, почти прибитым гвоздями к IIS.

С другой стороны, был ASP.NET Web API, который не имел прямых зависимостей на событийную модейль IIS, и мог хостится самостоятельно без IIS(self-hosting). В какой-то момент к ребятам из Microsoft пришло понимание, того, что нужен инстумент позволяющий возможность запускать вэб-приложения написанные на .Net не только на IIS, но и на других вэб-серверах, а так же обеспечивать возможноть гибко встраиваться в процесс обработки запросов. В итогде появилась спецификация OWIN и проект Katana.
Читать дальше →

Эффективное управление индексами в Azure SQL Database с помощью Index Advisor

Reading time4 min
Views3.4K
Мы рады поделиться с вами очередной статьей из серии статей о облачных сервисах Microsoft Azure. В этот раз Андрей Антюфеев — руководитель программ Microsoft из команды SQL Server и Azure SQL Database, продолжит свой рассказ о работе с индексами в облачной БД Azure SQL Database. — Владимир Юнев
Всем привет, эта заметка будет полезна всем, кто пользуется Azure SQL Database.


В прошлой раз, мы обозревали первую версию Index Advisor. C тех пор помощник успел дорасти до GA, повысив стабильность, и обзавестись новым возможностями:

  • возможность автоматически применять рекомендации помощника
  • новые рекомендации (Drop Index)
  • визуализация нагрузки после создания индекса
  • другие улучшения

Забудьте об управлении индексами


Процесс создания новых индексов происходит в несколько этапов:
Читать дальше →

Делаем FTP для Windows Azure Pack

Reading time6 min
Views5.1K
Автор статьи — Сергей Груздов (egel@egel.su), ведущий инженер, Dataline

Windows Azure Pack предоставляет подписчикам возможность использовать собственные ISO- и VHD(X)-файлы, расположенные в выделенной только для подписчика папке библиотеки. На данный момент единственным способом закачки файлов в эту папку является организация FTP с корневой папкой, указывающей на папку библиотеки, выделенной подписчикам. В данной статье я продемонстрирую, как с помощью ранбуков (runbook) Service Manager Automation (SMA) создавать и удалять папки подписчиков при заведении или удалении пользователя, и как с помощью расширения Microsoft FTP собственными провайдерами авторизации и домашних каталогов авторизовывать пользователей непосредственно через Azure Pack, исключая необходимость дублировать учетные записи в Active Directory.
Читать дальше →

ASP.NET 5 мертв — представляем ASP.NET Core 1.0 и .NET Core 1.0

Reading time2 min
Views64K
Выбор названий продуктов – сложное дело.
Существует только две сложные темы в Науке о Компьютерах: cache invalidation и выбор названий. – Фил Карлтон.
Очень просто откинуться на спинку кресла и сказать: “это очень просто, они должны были назвать это Foo”, но зачастую в именование вещей вовлечено множество игроков. ASP.NET – это хороший бренд, который с нами уже около 15 лет. ASP.NET 4.6 – поддерживаемый продукт выпущенный недавно, который доступен для вас здесь http://get.asp.net.

image

Тем не менее, назвать написанный с чистого листа ASP.NET-фреймворк как “ASP.NET 5” было плохой идеей и вот почему: 5 больше, чем 4.6, что выглядит как-будто ASP.NET 5 — большая, лучшая замена ASP.NET 4.6. А это не совсем так.

Так что мы изменили имя и выбрали более подходящий номер версии.
Читать дальше →

Облачный опыт: как мы переводили KPI Suite на платформу Azure

Reading time6 min
Views3.7K
Мы рады поделиться с вами очередной статьей из серии статей от наших партнеров независимых разработчиков ПО. В этот раз свою историю успеха перевода решения на облачные рельсы рассказывает Мгер Парунакян, руководитель компании «KPI Lab». Все истории успеха вы можете найти по ссылке #isvcloudstory — Владимир Юнев
Платформа KPI Suite начала набирать популярность благодаря своей универсальности, удобства использования, популярного языка программирования C#. На платформе можно создавать различные системы оценки, по различным методикам, реализовать возможности форматного сбора данных вручную, экспертных оценок.


Создавалась она группой специалистов, которые имели опыт внедрения систем оценки более 15 лет. Изначально использовали аналоги импортных производителей, но потом было принято решение разрабатывать новую собственную платформу. Причиной послужил тот факт, что многие производители предлагали жестко настроенные системы, расширение которых привлекало ресурсы производителя, что увеличивало стоимость владения системой, а также невозможность создания собственных решений.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity