Рубрика «dotnext»

Как можно несколькими строками кода распечатать непрерывный поток сообщений из Твиттера, добавив в него данные о погоде в местах проживания их авторов? И как при этом ограничить скорость запросов к провайдеру метеоусловий, чтобы они не внесли нас в черный список?

Расскажем вам сегодня, как это сделать, но сначала познакомимся с технологией Akka Streams, позволяющей работать с потоками данных в реальном времени так же просто, как программисты работают с LINQ-выражениями, не требуя при этом ручной реализации ни отдельных акторов, ни интерфейсов Reactive Streams.

В основе статьи — расшифровка доклада Вагифа Абилова с нашей декабрьской конференции DotNext 2017 Moscow.
Читать полностью »

Привет! В апреле мы официально выложили в открытый доступ лучшие видеозаписи с DotNext 2017 Moscow. В результате получился плейлист из 25 докладов. Просто напомню здесь об этом магическом плейлисте.

Я сейчас отсматриваю самые интересные видео и приглашаю присоединиться! Чтобы было легче влиться в просмотр записей конференции, под катом вас ждут короткие заметки о десяти докладах, которые получили наивысшие оценки от посетителей прошлого DotNext. Если из 25 штук вы чувствуете себя в силах посмотреть всего несколько докладов, смело выбирайте из этого списка.

Формально, чем ниже по списку, тем выше рейтинг. Но тут есть важное уточнение: все доклады из первой десятки имеют очень-очень высокий рейтинг, и их точное положение сильно зависит от нюансов подсчета. Например, если использовать soft quorum, то кейноут Андрея Акиньшина про перформанс-тестирование обгонит доклад Саши Гольдштейна про отладку и профилирование на Linux. Иначе говоря, смотрите всё :-)

Под катом будет оглавление для удобной навигации по содержимому поста.

Топ-10: лучшие доклады DotNext 2017 Moscow - 1Читать полностью »

Задумайтесь на минутку: что за последний год произошло с .NET? Что изменилось, что из этого мы должны использовать? Можно даже отложить эту статью и подумать, ведь вопрос более чем достойный. Мы сами попробовали и потратили на него не один час.

В этом году ответить на него сложней, чем обычно. С одной стороны, есть масса громких, но очень поверхностных или высокоуровневых новостей, например: в Microsoft теперь связывают будущее компании с облаками и искусственным интеллектом, а не платформой Windows. Но что с того толку обычному разработчику? Разве четыре года назад все уже не писали под облака?

В этой реальности нам приходится каждый раз делать совершенно новую программу DotNext. Чтобы сделать новую программу — нам нужны новые люди. Старые и известные люди в .NET, совершенно новые на DotNext. Например, этой осенью к нам приедет автор CQRS — Грег Янг.

Джеффри Рихтер приезжает в Россию: анонс конференции DotNext 2018 Moscow - 1

Узнаете эти книги? «CLR via C#», написанная Джеффри Рихтером — настольная книга многих .NET-разработчиков, а «Windows Internals» Павла Йосифовича — одна из самых известных книг про Windows-разработку вообще. Кстати, в этом году вышло уже 7-е издание! Хотите узнать, как пообщаться с авторами этих книг и побывать на их докладах? Добро пожаловать под кат!
Читать полностью »

Каждая компания, которая посещает IT-конференции, старается приковать внимание гостей к своему стенду. Способов для этого много, здесь срабатывает принцип “Кто во что горазд” — от интересных задачек для программистов и символических призов до розыгрыша какого-то серьезного приза, или просто веселых конкурсов с настолками.

Само собой, мы в Альфе все это время двигались в том же направлении. Но в этом году решили немного поменять стратегию: собрали единую команду из HR-департамента и департамента IT (центры компетенций .NET и Javascript) и совместно выдвинулись на DotNext и HolyJS соответственно.

IT-бренд. О чем говорить с людьми на конференциях - 1

Что из этого вышло — под катом.
Читать полностью »

Открытая трансляция главного зала DotNext 2018 Piter - 1

Уже завтра сотни .NET-специалистов соберутся в Санкт-Петербурге, чтобы два дня подряд слушать доклады и общаться. Но даже если вы в эти дни будете не в Петербурге, многие доклады всё равно сможете послушать. Помимо платной онлайн-трансляции, дающей доступ к происходящему во всех залах, мы делаем ещё и открытую для всех трансляцию первого зала.

Какие доклады попали в открытую трансляцию? Полный список с описаниями — под катом, а перед ним отметим пару вещей. По итогам двух предыдущих DotNext Дилан Битти оказался явным зрительским фаворитом, поэтому откроет DotNext выступлением о том, как работают привычные нам технологии. А буквально вчера, когда доклад уже был полностью готов и согласован, Дилан открыл для себя тонкости кодировки KOI8-R и теперь увлечённо переделывает часть презентации!

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

Читать полностью »

Обзор программы конференции DotNext 2018 Piter - 1

Конференция: DotNext 2018 Piter
Дата: 22-23 апреля 2018 года
Место: Санкт-Петербург, Гостиница «Park Inn by Radisson Пулковская»

Всего пара дней осталась до следующего DotNext. Над программой и докладами была проведена колоссальная работа — ранее мы уже писали об этом в анонсе конференции и отдельной статье.

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

Подробное описание программы — под катом.
Читать полностью »

Генерация кода в рантайме — очень мощная и хорошо изученная техника, но многие разработчики все еще неохотно её используют. Обычно изучение Expression Trees начинают с какого-нибудь простого примера типа создания предиката (фильтра) или математического выражения. Но не Expression Trees единым жив .NET-разработчик. Совсем недавно появилась возможность генерировать код, используя сам компилятор — это делается с помощью API библиотек Roslyn/CodeAnalisys, предоставляющих, кроме всего прочего, еще и парсинг, обход и генерацию исходников.

Эта статья основана на докладе Raffaele Rialdi (Twitter: @raffaeler) на конференции DotNext 2017 Moscow. Вместе с Рафаэлем мы проанализируем реальные способы использования кодогенерации. В отдельных случаях они позволяют очень сильно улучшить производительность приложения, что в свою очередь приводит нас к дилемме — если сгенерированный код так полезен и мы собираемся его часто использовать, то как же отлаживать этот код? Это один из фундаментальных вопросов, возникающих в реальных проектах.

Рафаэль — практикующий архитектор, консультант и спикер, имеющий MVP в категории Developer Security начиная с 2003 года, который прямо сейчас занимается бэкендами enterprise-проектов, специализируясь на генерации кода и кроссплатформенной разработки для C# и C++.

Читать полностью »

Путь к постижению Дзена начинается с разработки приложений, которые могут мониторить сами себя — это позволяет проще и дешевле чинить проблемы на продакшне. В этой статье мы увидим, как современные Windows-приложения могут делать самомониторинг, самодиагностику, и возможно — даже самовосстановление, и всё это — без необходимости иметь внешний агент или тупо перезапускать приложение. Обуздав мощь ETW для точного низкоуровневого мониторинга, счетчики производительности Windows для получения бесплатной по ресурсам статистики и библиотеку CLRMD для анализа собственных потоков, объектов в куче и локов, можно продвинуться по пути достижения самосознания. Всё это будет продемонстрировано на серии демок: автоматический профайлинг CPU, исследование загруженных тредов и стеков, автоматический мониторинг GC (включая выделения объектов), автоматический анализ кучи в целях поиска утечек памяти и многое другое. Дочитав статью до конца, вы получите набор инструментов и техник для реализации самомониторинга в своих собственных приложениях.

Основой статьи является доклад Дины Гольдштейн «Self-aware applications: automatic production monitoring» на DotNext 2017 Moscow. Слайды можно скачать по ссылке.

Читать полностью »

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

В этой статье мы рассмотрим, каким образом можно наблюдать за работой продукта и его боевым окружением, научимся собирать жизненно необходимые метрики и представлять их в удобоваримом виде. Узнаем, что такое Time Series и как они могут помочь нашим и сторонним приложениям в процессе диагностики. Подробно познакомимся с лидерами рынка инструментов для мониторинга, специализированным хранилищем InfluxDB и системой визуализации данных Grafana.

Прототипом статьи является доклад Анатолия Кулакова на DotNext 2017 Moscow. Анатолий получал образование специалиста по информационной безопасности, затем зарабатывал как суровый C++ разработчик под Linux. Когда надоело кодировать и захотелось творить, перешёл на C#. Пишет на .NET с первых его версий. Занимается проектированием и построением бизнес-приложений, распределённых и отказоустойчивых систем. Отдыхает с ES, CQRS и DDD.

Перед просмотром можно загрузить слайды в формате PDF.

Осторожно, трафик! В этом посте присутствует огромное количество картинок — слайдов и скриншотов с видео в формате 720p. На слайдах присутствует важный для понимания статьи код.

Читать полностью »

Сегодня мы поговорим о производительности в C#, о способах прокачать её до неузнаваемости. Задача этой статьи — продемонстрировать такие способы повышения производительности, которые, при необходимости, вы смогли бы использовать самостоятельно. Однако эти методики не являются универсальными — вы не сможете использовать их в качестве общего решения любой задачи. Они хороши при наличии вполне конкретных сценариев использования, о которых пойдет речь ниже.

В качестве прототипа статьи был выбран доклад Федерико Луиса, основателя компании Corvalius (они занимаются R&D). Работая над движком базы данных для одного из клиентов, они посвятили около четырёх лет задачам оптимизации. Такое количество времени требуется для того, чтобы применить разного рода техники и достичь хороших показателей оптимизации. Требуется выявить все проблемы и узкие места, проследить поведение софта в соответствии со всеми имеющимися метриками и так далее. Примеры из этой статьи основаны на работе над RavenDB 4.0 (известная NoSQL база для .NET), которую компания Федерико тюнила до уровня наносекунд во всевозможных сложных кейсах.

Все примеры, которые встретятся вам в ходе рассказа (плюс некоторые дополнительные), доступны в специальном репозитории на GitHub.

Осторожно, трафик! В этом посте присутствует огромное количество картинок — слайдов и скриншотов с видео в формате 720p. На слайдах присутствует важный для понимания статьи код.

Читать полностью »