Подводные камни HttpClient в .NET

Автор: admin от 1-10-2018, 08:45, посмотрело: 33

Продолжая серию статей о «подводных камнях» не могу обойти стороной System.Net.HttpClient, который очень часто используется на практике, но при этом имеет несколько серьезных проблем, которые могут быть сразу не видны.



Достаточно частая проблема в программировании — то, что разработчики сфокусированы только на функциональных возможностях того или иного компонента, при этом совершенно не учитывают очень важную нефункциональную составляющую, которая может влиять на производительность, масштабируемость, легкость восстановления в случае сбоев, безопасность и т.д. Например, тот же HttpClient — вроде бы и элементарный компонент, но есть несколько вопросов: сколько он создает параллельных соединений к серверу, как долго они живут, как он себя поведет, если DNS имя, к которому обращался ранее, будет переключено на другой IP адрес? Попробуем ответить на эти вопросы в статье.

Категория: Программирование

 

Распознавание экомаркировок с использованием Azure Custom Vision из мобильного приложения

Автор: admin от 25-09-2018, 23:30, посмотрело: 26

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



Сервис CustomVision является частью облачного Cognitive Services на платформе Azure.

О том, какие технологии пришлось изучить, как работать с CustomVision, что он из себя представляет и что позволяет достичь — далее.



Распознавание экомаркировок с использованием Azure Custom Vision из мобильного приложения

Категория: Программирование

 

Kivy. Xamarin. React Native. Три фреймворка — один эксперимент (часть 2)

Автор: admin от 28-08-2018, 09:55, посмотрело: 38

Kivy. Xamarin. React Native. Три фреймворка — один эксперимент (часть 2)



Это вторая статья из цикла, где мы проводим сравнение Kivy, Xamarin.Forms и React Native. В ней я постараюсь написать такой же планировщик задач, но с использованием Xamarin.Forms. Посмотрю, как у меня это получится, и с чем мне придется столкнуться.



Повторять ТЗ я не буду, его можно посмотреть в первой статье: Kivy. Xamarin. React Native. Три фреймворка — один эксперемент

Категория: Программирование

 

Сегментация спутниковых снимков на примере распознавания деревьев

Автор: admin от 26-08-2018, 11:45, посмотрело: 35

Сегментация спутниковых снимков на примере распознавания деревьев



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



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

Категория: Программирование

 

Полуляризация науки

Автор: admin от 24-08-2018, 11:20, посмотрело: 28

Полуляризация науки


Здравствуйте!



Меня зовут Вячеслав Голованов, и уже больше четырёх лет я регулярно публикуюсь на Хабре.



Я начал писать статьи, потому что решил, что мне есть, чем поделиться с людьми. Затем я присоединился к программе поощрения авторов, а потом мне предложили место штатного редактора. Вот так, практически незаметно для себя, я и попал сюда.



Сначала я делал переводы статей на разные темы, часто о разработке — например, оформил перевод целой веб-книги "Выразительный javascript". Потом постепенно увлёкся научно-популярной тематикой, стал делать новостные статьи. В итоге я нашёл себя в переводах лонгридов – длинных статей на научно-популярные темы. Я составил себе определённый набор сайтов-источников с качественными материалами, познакомил пользователей «Хабра» с блогами космолога Итана Сигеля, специалиста по физике частиц Мэтта Страсслера, создателя системы Wolfram Language Стивена Вольфрама.

Категория: Программирование

 

Создание приложения на .NET Core и Kubernetes: наш опыт

Автор: admin от 20-08-2018, 14:30, посмотрело: 54

Всем привет!



Сегодня расскажем об опыте одного из наших DevOps проектов. Мы решили реализовать новое приложение под Linux с использованием .Net Core на микросервисной архитектуре.



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



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



Поэтому использовали такие технологии:




  • .Net Core для реализации микросервисов. В нашем проекте использовалась версия 2.0,

  • Kubernetes для оркестрации микросервисов,

  • Docker для создания образов микросервисов,

  • шина интеграции Rabbit MQ,

  • EK для логирования,

  • TFS для реализации конвейера CI/CD.



В этой статье поделимся подробностями нашего решения.



Создание приложения на .NET Core и Kubernetes: наш опыт


Это расшифровка нашего выступления на .NET-митапе, вот ссылка на видео выступления.

Категория: Программирование, Linux

 

«Я бесполезный дурак и хочу уволиться» — 10 вопросов программисту, пилотный выпуск

Автор: admin от 15-08-2018, 20:05, посмотрело: 151

«Я бесполезный дурак и хочу уволиться» — 10 вопросов программисту, пилотный выпуск


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



Помните историю про Стива Джобса и Денниса Ритчи? Не хотим снова устраивать споры и читать морали, но правда остается правдой — тысячи крутых технарей сидят в тени, а их истории запрятаны в чулан.



Мы в редакции Хабра намерены это исправлять. Отныне будем регулярно брать интервью у людей, про которых не пишут в СМИ и за которыми не гоняются в соцсетях. Так что если вам есть что о себе рассказать — готовьтесь.



Чтобы вы поняли, как оно будет выглядеть, начнем со своего примера. Под катом 10 общих вопросов, которые мы будем задавать всем. Для пилота на них ответил fillpackart. (В этом месяце я брал вместе с ним несколько, кажется, неплохих интервью: раз, два, три). Почитайте, и если хотите рассказать о себе таким же образом, пишите сообщения мне или baragol.

Категория: Программирование

 

EPAM Software Engineering Conference: Make it Real

Автор: admin от 9-08-2018, 10:50, посмотрело: 96

EPAM Software Engineering Conference: Make it Real


22 сентября взрывные технологические тренды и реальные кейсы, представленные экспертами EPAM, участниками технологических сообществ и партнерами компании растопят лед Чижовка-Арены. Более 3000 участников и 90 докладчиков соберутся вместе на 11й традиционной EPAM Software Engineering Conference – SEC.

Категория: Программирование, Веб-разработка, Microsoft

 

typeof(T) vs. TypeOf?T?

Автор: admin от 7-08-2018, 13:05, посмотрело: 50

Иногда рефлексивные вызовы дороги в терминах производительности и не могут быть опущены.



В этой статье представлены паттерны, позволяющие существенно повысить производительность множественных рефлексивных вызовов посредством техники виртуализации (кэширования) результатов.



typeof(T) vs. TypeOf?T?

Категория: Программирование

 

Создаем простой API-шлюз в ASP.NET Core

Автор: admin от 6-08-2018, 21:25, посмотрело: 60

Привет, Хабр! Представляю вашему вниманию перевод статьи "Creating a simple API Gateway in ASP.NET Core".



Время чтения: ~10 минут



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



Создаем простой API-шлюз в ASP.NET Core



Другой жизненно необходимый компонент для работы продукта это API-шлюз — система между приложением и бэкэндом, которая, во-первых, маршрутизирует входящие запросы на соответствующий микросервис, и во-вторых, авторизует пользователя.



Существует много фреймворков которые могут быть использованы для создания API-шлюза, например, Ocelot в .NET core или Netflix Zuul в Java. Тем не менее, в этой статье я опишу процесс создания простого API-шлюза с нуля в .NET Core.

Категория: Программирование

 
Назад Вперед