К основному контенту

Конференция C++ Russia 2018 Санкт-Петербург - отзыв

20-21 апреля 2018 в Питере прошла очередная конференция C++ Russia.
В прошлый раз я был нахаляву, сейчас, спасибо SEMrush, не страдал от того, что мое участие хоть как-то не возместило трудозатраты Сергея Платонова, бессменного организатора C++ Russia.

Сам С++ я не вижу уже больше года :( , поэтому извините за уход от контента в сторону качества докладов с точки зрения подготовки докладчиков и слайдов, и просто атмосферы, которую попытался передать фоточками.

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

Кейноуты: Jon Kalb и  Daveed Vandevoorde, 2-х часовые доклады про С++ - это тяжело. Но поразило, что аудитория понимала про что речь и даже задавала интересные вопросы после. Это круто :)
Джон попытался рассказать почему опять появился интерес к C++ на фоне десятилетнего "забвения". Начал правда уж очень издалека. Слайды.

Первая половина рассказа Девида в 2х строчках:

твит
Мой мозг сломался. Но я тут совсем не показатель. Народу похоже "зашло".

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

Сергей Васильев "Статический анализ: ищем ошибки... и уязвимости?" про то, как статический анализатор может помогать искать проблемы безопасности в коде. Неплохое наполнение примерами и подготовка докладчика. Но Сергей похоже часто выступает. Проблема в том, что все понимают пользу анализаторов, но в С++ мало их используют: дешевые инструменты мало чего находят, дорогие вроде находят, но видимо поэтому и дорогие :)
Опровергните меня, есть у кого купленный и внедренный в процесс тот же PVS-studio или что-то подобное?

Доклад Ильи Шишкова "Как научить языку C++: опыт создания курсов на Coursera"- отличный пример подготовки доклада! Была даже попытка нанести пользу тем, кто вовсе не планирует писать свой курс или учить кого-нибудь C++. Ну и я все понял :)

Настя Казакова "Отладка кода на C++, без запуска и компиляции" - тоже хороший доклад про то, как тулинг помогает понимать, что и как у нас работает даже без запуска кода.

твит
Финалочка 1-го дня: звезда конфы Андрей Александреску с рассказом про исключения. Понравилось, хотя мне тяжело его было слушать из-за, как он сам сказал, восточноевропейского акцента.
После доклада к нему выстроилась очередь за автографом и селфи. Я лох - не нашел дома его книжку про знаменитую Loki.

Второй день.
Начав смотреть доклад Ивана Пузыревского "Асинхронность в программировании" под углом 5 градусов к экрану в аудиорежиме я скоро сдался. Комната была битком, смотреть неудобно, да еще и уровень "hardcore". Говорят было круто :)
твит

Потом у меня был Андрей Карпов с примерами эффективного С++ и вопросами в стиле Гамлета
твит
Примеры хорошие, слайды надо было править под зал - на многих нижнюю часть было плохо видно и многим приходилось прыгать, верхняя часть слайдов была при этом пустой.

Rainer Grimm "Best Practices for Concurrency in Modern" - интересный доклад, но реакция слушателей была уже не столь быстрой, как ожидал докладчик. Ну и удобнее, когда нужная часть информации на слайде выделяется без необходимости показывать в нее лазерной указкой (или пальцем, как было после того как в кликере села батарейка).

Завершающим был доклад Павла Булатова "Переход на WebAssembly: стоит ли игра свеч?". Решаемые проблемы были понятны, но текущее решение пока сыровато. Во всяком случае желаемого результата "один код на все платформы" достигнуть не удалось, ну и много необъяснимой "магии". Но ребята надеются на лучшее :)

Вот собственно и все доклады, которые удалось послушать. Но самым важным для меня были не доклады, а общение. Удалось пообщаться и со старыми друзьями и с теми, с кем общался онлайн или вообще заочно (читая блог).

Женя Охотников оказался очень приятным и умным, проницательным собеседником. Всем очень рекомендую его блог. Пообщались с ним про прошлое и будущее C++. Спасибо тебе. Кстати, он тоже написал свой отчетик про конфу.

Василий Галкин - удивительный человек, который имхо, не пропускает ни одной конфы :), спасибо, что нашел меня :) Приходи к нам на Heisenbug, а то твой список без нее неполный :).

Твит-обзор от Тимура Сафина (с ним тоже удалось познакомиться).

Ну и старым, добрым друзьям тоже спасибо за атмосферу :)


Комментарии

Популярные сообщения из этого блога

Полезные ресурсы для молодых (и не только) тестировщиков

сперто(с) Уже 3 месяца провожу собеседования тестировщиков (март 2016). Поначалу они просто  веселили - после 15-летнего опыта собеседования С++-разработчиков, общение с тестировщиками (чаще были "-цы") было чем-то экзотическим и забавным. Потом становилось все грустнее и грустнее, мимими закончилось. Началась печаль.

Заметки на коленке - 3. Что еще делать, если ваши тесты уже "зеленые"?

"Lately I find I'm working on automated tests that return non-binary results. Tests that neither pass nor fail" by  @noahsussman Отличная мысль, которую я ретвитил еще в 2016. Но давайте вместе подумаем, что за этим может скрываться? ( кстати, не знаю, что при этом думал Noah ) Ваши тесты прошли и прошли "успешно". Все хорошо или все же есть, куда еще посмотреть? Дальше то, что использовал я лично и то, что еще можно прикрутить дополнительно. Естественно все шаги ниже должны быть автоматизированны. 1. Контролируйте время выполнения тестов. Если набор проверок не меняется (а такое часто бывает, к сожалению), то рост времени выполнения может говорить о проблемах в продакшен коде (чаще всего) или проблемах с окружением. 2. Контроль за количеством выполняемых тестов. "Все зеленое" не значит, что сегодня выполняли те же Х тестов, что и вчера. Смешно(нет), но случается такое, что какие-то проверки "исчезают" из запуска из-за того, что у кого-то ...

Mock vs Stub

Когда мы начали изучать модульное тестирование, то одними из первых терминов, с которыми пришлось познакомиться, стали Mock и Stub. Ниже попробуем порассуждать в чем их сходство и различие, как и для чего они применяются. Проверять работоспособность тестируемого объекта (system under test - SUT) можно двумя способами: оценивая состояние объекта или его поведение. В первом случае проверка правильности работы метода SUT заключается в оценке состояния самого SUT, а также взаимодействующих объектов, после вызова этого метода. Во-втором, мы проверяем набор и порядок действий (вызовов методов взаимодействующих объектов, других методов SUT), которое должен совершить метод SUT. Собственно, если коротко, то в одном случае используется Stub, а в другом Mock. Это объекты, которые создаются и используются взамен реальных объектов, с которым взаимодействует SUT в процессе своей работы. Теперь подробнее. Gerard Meszaros использует термин Test Double (дублер), как обозначение для объе...