Как стать автором
Обновить

4 июля — старт третьего потока «Golang для инженеров»

Блог компании Southbridge

Запускаем новый поток «Golang для инженеров» 4 июля. Будем учиться 8 недель, до 29 августа. Разберём, как создавать API сервера с помощью Go, запускать контейнеры, взаимодействовать с Docker и работать с кастомными операторами.

К концу курса вы создадите сильно упрощённый аналог Prometheus-a. Вы разработаете систему, которая будет собирать состояние других сервисов, сохранять собранное состояние в базу данных и предоставлять WEB API для доступа к сохраненным данным.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 604
Комментарии 0

Компания Ciklum поддержала 11-ю встречу киевского ALT.NET сообщества

Блог компании Ciklum
Наша компания известна многим украинским разрабочикам гостеприимным и уютным офисом и приветливыми людьми, которые готовы помочь.

В этот раз в пятницу, 9 сентября в 18:15 у нас в гостях на 20-м этаже в SkyPoint (БЦ «Горизонт», 2-я башня, ул. Амосова, 12, г. Киев) соберутся разработчики из киевского ALT.NET сообщества и пообщаются на темы Inside ASP.NET MVC framework, REST и WCF Web API.

Подробности под хабра-катом
Всего голосов 8: ↑5 и ↓3 +2
Просмотры 692
Комментарии 0

Непутевые заметки о ASP.NET MVC. Часть 1 (и единственная)

Разработка веб-сайтов *Программирование *.NET *ASP *C# *
В последнее время на Хабре часто начали появляться статьи о ASP.NET MVC. Однако в этой статье я бы хотел сделать несколько заметок по поводу построения приложений на вышеприведенном фреймворке: минимальный набор NuGet-packages (без которых грех начинать работу), логирование, подводные камни при использовании стандартных membership-, profile- провайдеров. И, напоследок, почему Web API из MVC 4 — то, что так долго мы все ждали.
Поехали
Всего голосов 60: ↑48 и ↓12 +36
Просмотры 41K
Комментарии 72

Версионность API в .NET MVC 4

Разработка веб-сайтов *.NET *ASP *
Из песочницы
Tutorial
Доброго времени суток.

С появлением ASP.NET Web API появился удобный и мощный инструмент для создания API для вашего сайта. Но, как известно, с течением времени, ваш API может меняться, дополняться или может быть вовсе переделан с нуля. Для совместимости со старыми клиентами необходимо реализовать версионность.

К сожалению, на данный момент Microsoft не предоставила удобного и простого способа для реализации версионности. В интернете можно найти некоторую информацию на эту тему, но, как правило, большинство найденных мной решений сводятся к добавлению параметра для версии в каждый запрос и его обработке. Мне же хотелось получить более гибкий метод для разделения на версии, который не будет засорять методы контроллера и избавит от множества блоков if else. И самым главным критерием для меня была возможность иметь контроллеры с одинаковыми именами для одних и тех же методов API, но разделенных на версии с помощью пространств имен.

В тоже время, в ASP.NET MVC Web API есть достаточно мощный механизм в виде интерфейса IHttpControllerSelector, с помощью которого можно реализовать версионность, оставив код чистым и понятным.

Давайте посмотрим, что из этого вышло.
Читать дальше →
Всего голосов 17: ↑15 и ↓2 +13
Просмотры 9.6K
Комментарии 3

Немного о Steam Web Api

PHP *HTML *API *
Из песочницы
Tutorial


Сервис цифровой дистрибуции Steam от компании Valve становится всё более популярным среди игроков. По состоянию на январь 2013, через Steam распространяется более трёх тысяч товаров, на которые действуют ежедневные, срединедельные и скидки на выходные дни, а количество зарегистрированных аккаунтов превысило 60 миллионов.

В настоящее время, в рунете очень мало информации об использовании Steam Api (или же Steam Web Api). В данном топике я расскажу о том, как получать нужную вам информацию из сообщества Steam для интеграции её в свои сайты, блоги или же просто получить информацию о пользователе, не заходя в Steam.
Читать дальше →
Всего голосов 21: ↑17 и ↓4 +13
Просмотры 187K
Комментарии 29

ASP.NET MVC, WebApi, SignalR и UnityContainer

.NET *ASP *C# *
Tutorial
Известно, что все хорошие джедаи используют внедрение зависимости (перевод) в своих проектах, это увеличивает концентрацию мидихлориан в крови и тестируемость кода в приложении. В данной статье я хочу рассмотреть некоторые аспекты использования UnityContainer в ASP.NET приложении, а именно, использование инжекции зависимостей через конструкторы контроллеров в ASP.NET MVC и WebApi и хабов в SignalR. Пример приложения присутствует.

Dependency Injection - Golf analogy
Читать дальше →
Всего голосов 19: ↑18 и ↓1 +17
Просмотры 31K
Комментарии 13

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №65 (7 — 13 июля 2013)

Блог компании Zfort Group Разработка веб-сайтов *
Предлагаем вашему вниманию очередную подборку с ссылками на новости, интересные материалы и полезные ресурсы.


Читать дальше →
Всего голосов 45: ↑37 и ↓8 +29
Просмотры 26K
Комментарии 5

DevCon Digest #2. Погружаемся в ASP.NET

Блог компании Microsoft Open source *.NET *ASP *


Приветствую! Мы продолжаем серию тематичных подборок материалов по темам конференции DevCon. Если в прошлый раз мы погружались в материалы, связанные в целом с .NET, то сегодня мы посмотрим глубже в сторону серверных технологий, а точнее – новый ASP.NET.
Читать дальше →
Всего голосов 22: ↑17 и ↓5 +12
Просмотры 12K
Комментарии 3

Я хочу от API строчку, и точка, и точка

.NET *
Здравствуйте.

Многим наверняка приходилось в своей жизни проектировать и разрабатывать RESTful API. С релизом технологии Web API делать это стало гораздо проще, а с выходом Web API 2 еще и куда приятней. Система раутинга, перекочевавшая из ASP.NET MVC, отлично справляется со своей задачей, и позволяет нам не только свободно конструировать пути, но и приправлять их различными параметрами, указывая оные в фигурных скобках. Вряд ли шаблон вида «api/{controller}/{id}» вызывает нынче у кого-то благоговейный ужас. Однако что произойдет, если какой-то из методов нашего API в качестве этого самого {id} будет принимать не число в строковом представлении, не Guid, а, скажем, адрес электронной почты? Ну, например, чтобы проверить наличие этого адреса в базе данных. Работать тогда ничего не будет, а виной всему маленькая и, казалось бы, совсем безобидная точка. Как с этим жить дальше и рассказывается под катом.

Читать дальше →
Всего голосов 28: ↑15 и ↓13 +2
Просмотры 8.1K
Комментарии 6

Проектирование Web API в 7 шагов

Блог компании GeekFamily Разработка веб-сайтов *Анализ и проектирование систем *API *
Перевод
7steps Разработка веб API это нечто большее чем просто URL, HTTP статус-коды, заголовки и содержимое запроса. Процесс проектирования – то, как будет выглядеть и восприниматься ваш API – очень важен и является хорошей инвестицией в успех вашего дела. Эта статья кратко описывает методологию для проектирования API с опорой на преимущества веба и протокола HTTP, в частности. Но не стоит думать, что это применимо только для HTTP. Если по какой-то причине вам необходимо реализовать работу ваших сервисов используя WebSockets, XMPP, MQTT и так далее – применяя большую часть всех рекомендаций вы получите практически тот же API, который будет хорошо работать. К тому же полученный API позволит легче разработать и поддерживать работу поверх нескольких протоколов.

Хороший дизайн затрагивает URL, статус-коды, заголовки и содержимое запроса


Обычно руководства по проектированию Web API фокусируются на общих концепциях: как проектировать URL, как правильно использовать HTTP статус-коды, методы, что передавать в заголовках и как спроектировать дизайн содержимого, которое представлено сериализованными данными или графом объектов. Это всё очень важные детали реализации, но не настолько в смысле общего проектирования API. Проектирование API – это то, как сама суть сервиса будет описана и представлена, то что вносит значительный вклад в успех и удобность использования Web API.

Хороший процесс проектирования или методология предоставляют набор согласованных и воспроизводимых шагов для создания компонентов сервисов, которые будут доступны в виде Web API. Это значит, что такая прозрачная методология может быть использована разработчиками, дизайнерами и архитекторами для координации своих действий по реализации ПО. Использованная методология так же может уточнятся со временем по мере того, как улучшается и автоматизируется процесс без ущерба для деталей методологии. На самом деле, детали реализации могут меняться (например, платформа, ОС, фреймворки и стиль UI) независимо от процесса проектировки, когда эти две активности полностью разделены и задокументированы.
Читать дальше →
Всего голосов 30: ↑28 и ↓2 +26
Просмотры 62K
Комментарии 8

Где формируем модель для UI при Domain Driven Design? Сравнение производительности различных архитектурных решений

Разработка веб-сайтов *Тестирование IT-систем *Анализ и проектирование систем *.NET *

Рассмотрим с точки зрения производительности варианты размещения логики по заполнению модели для трёх-уровневой и четырёх-уровневой архитектур при использовании различных технологий взаимодействия между уровнями на стеке .NET (Web API, Web API OData, WCF net.tcp, WCF Data Services).

Читать дальше →
Всего голосов 11: ↑9 и ↓2 +7
Просмотры 7.5K
Комментарии 8

Номенклатура JavaScript (в контексте Node.js и Web API)

JavaScript *Программирование *Node.JS *API *Браузеры

I. Предыстория


Я много лет использую UltraEdit как редактор на самые разные случаи жизни. Одна из основных причин — быстрая работа с гигабайтными файлами без загрузки их в память. Для программирования на JavaScript он тоже достаточно удобен, вот только с одним существенным недостатком: автодополнение в нём основывается на достаточно бедном, жёстко заданном списке ключевых слов и глобальных переменных, вдобавок отстающем от развития языка. Как-то я задался вопросом, можно ли пополнить этот список полным перечнем всех готовых свойств и методов, какие только можно ввести в контексте Node.js и Web API (браузера). Где бы такой список можно раздобыть? Мне приходили в голову такие варианты:


  1. Готовый перечень, кем-то составляемый и обновляемый для всеобщего пользования, вроде библиотеки globals, но полнее.


  2. Парсинг документации (спецификация ECMAScript, сайты MDN и Node.js и т.п.), вручную или программно.


  3. Получение списка метапрограммированием.

Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 8.4K
Комментарии 18

Создание Web API приложения с использованием .NET Core + MongoDB .NET Driver

Блог компании SimbirSoft Программирование *.NET *MongoDB *API *
Tutorial
Как вы уже знаете, MongoDB — это одно из наиболее развитых, open-source NoSQL решений, которое представляет собой документо-ориентированную базу данных, является кросс-платформенным, а также обеспечивает высокую производительность, доступность и простоту масштабирования.

В современных open-source веб-приложениях использование NoSQL решений получило свою популярность в связи с их нереляционным поведением. В данной статье шаг за шагом мы реализуем простое ASP.NET Core Web API приложение «записной книжки», которое будет поддерживать операции CRUD применимо к коллекции в MongoDB.
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 28K
Комментарии 11

Настройка Azure Application Insights для диагностики ПО с микросервисной архитектурой

Программирование *Анализ и проектирование систем *.NET *Microsoft Azure *

Application Insights — клёвая штука, позволяющяя проводить диагностику, профилирование и анализ использования развернутых систем (в т.ч. в продакшен режиме), и при этом не требующая от разработчика вообще никаких усилий. Конечно, всё это становится возможным ценой мучительной первоначальной настройки.


В рекламных видео конечно никакой особой настройки нет, но жизнь — она сложнее, особенно если ваше ПО микросервисное. Почему? А всё очень просто.


Что в первую очередь должна делать система диагностики в микросервисной архитектуре?
Правильно, коррелировать диагностику от различных микросервисов в рамках одной операции.
Тыркнул пользователь в UI кнопочку — надо увидеть диагностику от всех N микросервисов, которые так или иначе обрабатывали этот тырк. Случился где-нибудь exception — надо увидеть не только в каком микросервисе он произошёл, но и в рамках какой операции это случилось.
Только вот Application Insights с точки зрения конкретного микросервиса — это в первую очередь SDK. И SDK таких есть несколько — есть для JS, есть для .NET Core, .NET (со своими особенностями настройки для MVC, WebAPI, WCF), есть для Java и т.д.


Какие-то из этих SDK — opensource, какие-то — внутренняя разработка MS. И чтобы всё завелось — их надо подружить.


В этом и состоит основная сложность.


Не скажу, что я достиг 100% просветления в этом вопросе.
Но по крайней мере, я уже собрал несколько граблей и у меня есть рабочий семпл с UI на ASP.NET MVC (не Core) + JS и двумя микросервисами (Asp.Net WebApi, WCF)


Кому интересно — прошу под кат.

Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 5.2K
Комментарии 1

Поддержка документации в ASP.NET Web API

.NET *ASP *C# *
Из песочницы
Когда вы предоставляете ваш сервис в виде Web API, встает вопрос о том, как проинформировать пользователя о его возможностях, о синтаксисе его запросов и т.п. Обычно вам приходится создавать отдельные Web-страницы, где вы расскрываете эти темы. Но не было бы лучше, если бы сам ваш Web API обеспечивал доступ к своей документации?
Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 4.1K
Комментарии 9

Используем Web Bluetooth API для подключения пульсометра и разрабатываем приложение используя Vue.js

Разработка веб-сайтов *
Tutorial

Продолжаем обсуждать темы затронутые на You Gonna Love Frontend конференции. Эта статья вдохновлённая докладом Michaela Lehr. Видео с конференции будут доступны уже на этой недели, пока есть слайды. (Видео уже доступно)


Читать дальше →
Всего голосов 34: ↑32 и ↓2 +30
Просмотры 22K
Комментарии 2

Параллельное обновление данных в ASP.NET Web API

.NET *ASP *C# *
Хочу рассказать, как мы организовали фоновое обновление данных во время запроса к REST-сервису.

Задача следующая: система хранит данные о пользователях. Cервис работает изолированно и не имеет прямого доступа к базам с этими данными. Для работы сервису необходимо иметь в своей внутренней базе имена и фамилии пользователей. Их можно получить из Identity текущего пользователя во время запроса. Требуется добавлять или обновлять имена во время каждого запроса. Желательно осуществлять это в отдельном потоке, чтобы эта работа не влияла на время выполнения основного запроса.
Читать дальше →
Всего голосов 20: ↑13 и ↓7 +6
Просмотры 3.9K
Комментарии 13

Что ты такое, Event Loop? Или как устроен цикл событий в браузере Chrome

JavaScript *Браузеры
Как думаете, что произойдет, если запустить в консоли браузера этот фрагмент кода?

function foo() {
  setTimeout(foo, 0);
}

foo();

А этот?

function foo() {
  Promise.resolve().then(foo);
}

foo();

Если вы также, как и я, прочитали кучу статей про Event Loop, Main Thread, таски, микротаски и прочее, но затрудняетесь ответить на вопросы выше — эта статья для вас.
Читать дальше →
Всего голосов 50: ↑47 и ↓3 +44
Просмотры 113K
Комментарии 16

Зачем современную веб-разработку так усложнили? Часть 1

Разработка веб-сайтов *JavaScript *jQuery *HTML *Браузеры
Перевод
Tutorial
Современная фронтенд-разработка оставляет полярные впечатления: одни её любят, другие презирают.

Я большая поклонница современной веб-разработки, хотя она мне напоминает некую «магию», со своими плюсами и минусами:

  • Когда вы поймёте, как использовать волшебные инструменты (babel! бандлеры! вотчеры! и так далее!), ваш рабочий процесс становится быстрым, мощным и восхитительным
  • Если вы не понимаете волшебные инструменты, всё ужасно запутанно
  • …и попытки освоить магию слишком часто неудачны, если вам кто-нибудь не поможет продраться через джунгли жаргона, преувеличений и устаревшей информации в интернете
Читать дальше →
Всего голосов 107: ↑101 и ↓6 +95
Просмотры 70K
Комментарии 320
1