Всем привет. 22-23 ноября проходила конференция .Net разработчиков Dot Next. Расскажу, как все прошло в первый день конференции. Поехали!
С 8:30 утра открылась регистрация. После регистрации каждый участник получит:
- Бейдж участника.
- Печатную версию программы.
- Блокнот и ручку.
- Наклейки конференции.
- Памятный сувенир(утка)
Вокруг много баннеров.
В 10:00 открытие конференции, а затем в 11 часов начало докладов.
Давайте все по порядку.
Доклады
Каждый час иду по 3 доклада одновременно, и приходится выбирать куда пойти. В один из первых трех докладов выступал один из самых известных разработчиков, которого все Net разработчики знают, чью книгу читали практически все C# программисты, Джефри Рихтер. Рассказывал он про Дженерики(Generics). Был аншлаг, весь зал переполнен. Доклад на английском. Я пошел туда, послушал пару минут, и не смог распознать такой быстрый разговорный английский.
Не отсиживаясь, пошел на другой доклад. Доклад с названием Использование Tarantool в .NET-проектах.
Ничего нового не узнал, в основном общие вещи рассказывались. Если кратко, то
После докладов, спикеры переходят в дискуссионные зоны, где им задают вопросы и общаются на интересные темы. Вот так окружили Рихтера участники конференции
После перерыва, начались следующие 3 доклада. Я пошел на доклад, про Оптимизации внутри .NET Core. Егор Богатов из Microsoft говорил про последние нововведения, про новые фичи Net.Core 3.0. Говорил про типы Span<T> и Memory<T>. Про оптимизации JIT.
Например, один из оптимизаций, такой: цикл for по убыванию работает быстрее чем, по возрастанию, так как при возрастании, внутри for-а есть проверка на выход за границы массива. При возрастании он всегда проверяется, а при убывании только один раз в самом начале.
Следом доклад Создание окружения для интеграционных тестов на основе Docker-контейнеров. Эта тема актуальна и для нас в компании. Рассказывал, как создавать контейнеры и запускать контейнеры прямо из кода C#, используя REST API Docker. С помощью контейнеров они поднимали тестовую среду, и прогоняли тесты. Поднятие всех контейнеров длиться примерно 30 секунд, что довольно долго на самом деле. Также рассказывал, как таким же образом писать End To End тесты с помощью Selenium.
Рассказал про in Memory Test Server. Это такая штука, которая поднимает весь стек ASP.NET Core в памяти. Прохождение таких тестов быстрее, а также удобная отладка. При http запросах, все запросы будут приходить сразу в методы контроллера, как будто кто-то с наружи вызвал. Очень крутая вещь, надо будет на работе использовать.
Рассказал, что у них в каждом сервисе по 140-150 таких тестов и проходят все за 40-45 СЕКУНД. Они 1 раз все поднимают в начале, в потом работают все время с этим окружением. Тут надо быть осторожнее, чтобы тесты друг другу не мешали.
Дальше пошел на доклад От монолита к микросервисам: история и практика. Рассказывали про стек технологий, почему решили переходить к микросервисам и какими инструментами пользуются.
Ну и последний доклад, Domain-driven design: рецепт для прагматика. Крутой доклад, очень понравился. Рассматривал подходы к DDD. Привел много примеров. Рассказал про домены, поддомены, bounded context. Рассказал про архитектуры, которые подходят для DDD: луковая (Onion) и гексагональная.
Говорил про единый язык при разработке продуктов. И причем не только у разработчиков, но и менеджеров и заказчиков. Привел такой интересный(смешной) пример
Это код команды, в котором не понимали английский язык, и пришлось писать на русском, чтобы говорить на одном языке и писать на одном языке. Привел пример про 1C.
Доклады закончились. Между докладами, в перерывах, были так называемые демонстрационные выступления (demo stage). Каждая компания-спонсор выступает и рассказывает про компанию, про культуру, про внутренние распорядки, про отношение к коду. Участники задавали вопросы. В общем, тоже очень интересное мероприятие.
Выставки
Компании- спонсоры делали свои выставочные стенды. Придумали много конкурсов, задач, игр. Всем раздавали буклеты, наклейки. За победу в конкурсах раздавали майки, блокноты, носки(программистские), книги, квадрокоптеры, самокаты, лего, кубики рубики и много всего разного. Расскажу в каких конкурсах участвовал.
Первый конкурс от компании лаборатория Касперского. У них был контест на 18 минут с алгоритмическими задачи. Ну как сказать с алгоритмическими. Трудно назвать задачами. Дан классический алгоритм, который был изменен до неузнаваемости. А точнее перемудрен, так что, так никто и никогда не пишет. Внутри алгоритма, были много вызовов функций. Задача найти нужные функции, чтобы алгоритм получился верным. Одним словом, ожидал большего. Решил 1 задачу за 5 минут. Остальное время, я просто смотрел и удивлялся, зачем так делать? Что имели в виду авторы. В раунде занял второе место и дали блокнот. Ну хоть так.
Дальше были логические задачи, где выиграл майку. И кубик рубик, решив задачи на C#.
Дальше один из самых интересных и смешных заданий от Dodo Pizza. Дана задача про правильную скобочную последовательность. Написать наилучшее решение задачи и наихудшее решение. Я долго не хотел писать наихудшее решение. Но мне удалось. Не буду рассказывать) Зато за наихудшее решение дали носки с Tab и Space.
У СКБ КОНТУР были очень интересные и сложные задачи. Раздавали крутые книги по C# и Windows. Рассказали про свои продукты, про свои библиотеки, крутые рассказы. Очень дружелюбные ребята.
Также, на выставке были ребята из Райффайзен банка. Была задача с купюрой в конверте, где нужно было сказать кому адресован конверт. К концу дня задача была разгадана.
Одним словом, выставки были очень интересные и увлекательные. Особенно рассказы про компанию были вообще бомба. Собрал вот столько подарков
Еда
Еда очень вкусная. Еда есть всегда. Выходишь после доклада и много еды. Приходится есть). Причем всякой еды и много.
Общение
Ко всем можно подходить спрашивать про компанию, в которой работают. Все расскажут, разрекламируют и пригласят к ним работать.
Заключение
В общем, мне очень все понравилось. Конференция на очень высоком уровне. Узнал много чего нового. Мотивация учиться и совершенствоваться дальше.