Yet another Next, day 1

Хроники dotNext, ещё одной конференции от JUG.ru

Vasiliy Galkin
Nov 13, 2017 · 7 min read

д̶о̶р̶о̶г̶о̶й̶ ̶д̶н̶е̶в̶н̶и̶к̶!̶ ̶и̶з̶в̶е̶н̶и̶ ̶ч̶т̶о̶ ̶т̶а̶к̶ ̶д̶а̶в̶н̶о̶ ̶н̶е̶п̶и̶с̶а̶л̶,̶ ̶ч̶ё̶т̶ ̶н̶е̶ш̶л̶о̶.̶

И в самом деле, после того, как серия постов о весенней конференции jpoint прервалась на самом интересном месте (по всем законам жанра; для тех, кто их не видел, добавил ссылки в конце), как-то не писалось.

Меж тем, наступила осень, а вместе с ней пришло время для ещё одной интересной московской конференции от JUG.ru, под названием dotNext. Для тех, кто не в теме, поясню: это примерно как “Газель Next”, только без “Газели”. Тем, кого такое лаконичное объяснение не удовлетворило, предлагаю листать дальше.

Конференции JUG.ru почти так же круты, как “Газель Бизнес”

Предваряя вопросы типа “да что ж ты, старче, забыл ещё и на конференции по дотнету”, отмечу два факта.

Во-первых, усилиями маркетингового отдела JUG.ru я стал экспертом и по жаве, и по жаваскрипту, и, собственно, по дотнету. Так что не сходить было бы грешновато.

Во-вторых, после того, как я сколько-то лет жил-не тужил, погромировал себе на языке “Сиси плюс плюс” (как его любят называть злые языки) и немного баловался тем же дотнетом, а потом пару раз сходил на jpoint, то в результате докатился до того, что теперь подсаживаюсь н̶а̶ ̶т̶я̶ж̶ё̶л̶ы̶е̶ ̶в̶е̶щ̶е̶с̶т̶в̶а̶ всякие там Спарки-Кассандры-Скалы со всем сопутствующим зоопарком и всеми вытекающими. Одним словом, бигдато. Можно даже сказать, очень бигдато.

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

Что-то более содержательное по существу докладов (краткий пересказ aka “заметки для будущего себя”) появится чуть позже. Может быть, появится. Но вы там не расслабляйтесь и не отключайтесь — я вам пока дам чего-нибудь почитать, см. ссылочки внизу поста.

Люди дня

Мой персональный “чарт”, в хронологическом порядке.

Разумеется, я не избежал кейнота. Если вкратце: Андрей Акиньшин — молодец, и как специалист, и как докладчик. Редкий случай, когда у разработчика-эксперта активирован речевой модуль. Пока ещё не дотягивает до своего “двойника” из мира Java Алексея Шипилёва, но двигается в правильном направлении.

Сам доклад больших откровений не содержал, но был хорошо скомпонован и являл себя очень толковый обзор методик performance-тестирования, равно как и вещей, которые делать не следует (н̶о̶ ̶м̶ы̶,̶ ̶к̶о̶н̶е̶ч̶н̶о̶,̶ ̶н̶е̶ ̶п̶о̶с̶л̶у̶ш̶а̶е̶м̶с̶я̶ ̶и̶ ̶в̶с̶ё̶ ̶р̶а̶в̶н̶о̶ ̶б̶у̶д̶е̶м̶ ̶д̶е̶л̶а̶т̶ь̶). Основная мысль, которую я вынес с доклада: в performance-тестировании важно не столько само по себе тестирование, сколько ваша возможность понимать, как на производительность приложения влияет каждое небольшое изменение и иметь возможность “отыскать концы”. Вроде бы абсолютно аналогично обычному функциональному тестированию, но почему-то я никогда не смотрел на performance-тесты с этой стороны. А вообще, было бы интересно на основе доклада составить чеклист а-ля “список Джоэля Спольски”, но посвящённый именно контролю производительности приложения, с которым можно было бы ходить по командам и организациям.

Также про себя я отметил, что лет эдак N назад, слушая людей вроде Андрея, я им всегда по-хорошему завидовал и думал, что когда-нибудь вырасту и стану таким же большим и сильным. А в последнее время всё больше вспоминаю присказку:

Люди встречаются, люди влюбляются, женятся. А потом удивляются, что плохо разбираются в x86 архитектуре.

Я старею?

На этом месте я вспомнил, как мы переходили на x64 на одной из моих работ

.NET-разработчики в массе своей ещё не знают, кто такой Егор Бугаенко, в то время как Java-сообщество бомбит и клокочет начиная с легендарного выпуска подкаста “Разбор полётов” №105. Ну ничего, во второй день Егор и этих научит Р̶о̶д̶и̶н̶у̶ ООП любить.

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

Мыши плакали, кололись, но не отступались от принципов ООП

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

Вот так у меня бомбило на каждом третьем развороте.

Кстати, если вы знаете о блоге Егора, но не слышали о его подкасте Shift-M, то бегом качать и слушать, вне зависимости от того, нравятся ли вам высказываемые в блоге идеи или вы считаете их бредом городского сумасшедшего. Подкаст клёвый, без всяких оговорок. И гости интересные, и сольные выпуски хорошие, и тема такая, на которую мало чего хорошего записано именно в подобном формате.

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

Так или иначе, самое интересное в нашем общении с Егором произошло позже, когда к нам подошла девушка и выразила желание с нами пообщаться о некоем любопытном проекте. Дальше я лицезрел настоящий мастер-класс: то, как Егор вёл себя в разговоре, какие вопросы задавал и как себя позиционировал с самых первых фраз — я не успевал восхищаться. Не говоря о том, что сам разговор вышел интересным по содержанию, так что было ни капли не жаль пропущенной сессии. Егор, если ты это читаешь: спасибо! :-) Кажется, именно в таких разговорах и состоит главная польза от очного посещения конференций.

Сходил послушать доклад о реализации сетевого стека в .NET Core, дабы получить некоторый “взгляд сверху” и сопоставить его с самописным верхнем уровнем этого стека, с которым доводилось работать в последние месяцы.

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

Соответственно, вводная часть, где рассказывалось о “картине в целом”, а особенно эволюции дизайна сетевого стека между версиями .NET и .NET Core, была мне очень интересна. Остальной доклад содержал слишком много (для меня) .NET’овской специфики, с которой не специализирующийся на .NET человек сталкивается мало.

Эволюция сетевого стека в .NET, от Framework к Core.

(взял на себя смелость предложить свою транслитерацию имени Maarten Balliauw, имея за плечами 5 с лишним лет совместной работы с заказчиками из Нидерландов)

Докладчик был из Бельгии, так что с первых фраз я узнал этот неповторимый бельгийско-голландский акцент и осознал, что успел по нему соскучиться — надо будет съездить проведать старых знакомых при оказии. После доклада даже удалось переброситься с Мартеном десятком голландских фраз — всем тем, что я не успел забыть :)

Если же отвлечься от вопросов языкознания, то следует отметить, что его доклад о подходах к построению ограничителей RPS показался мне наиболее полезным в практическом смысле из всего, что я сегодня слушал. Никаких откровений и срывов покровов, но очень хорошо скомпонованная презентация, без воды, и в то же время без ненужного хардкора и переусложнения простых по сути вещей, с понятными и (о, боги!) работающими демками.

В общем, поберегу пока свои впечатления от этого доклада, ибо хочу описать их отдельно.

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

По-видимому, моему примеру последовали многие, так что зал оказался переполненным. А начало доклада между тем не показалось супер-многообещающим — по крайней мере, на фоне видео доклада Саши Гольдштейна с прошлогоднего петербургского dotNext’а. Так что я удалился восвояси, точнее, в прохладу первого зала послушать дядьку Дино. И решение оказалось очень правильным.

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

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

Лучшие моменты первого дня

Зайдя в туалет на конференции dotNext после доклада Акиньшина, можно мимоходом узнать, что у кого-то есть личные счёты не то с самим Андреем, не то с микробенчмарками:

Б*;?ь, слава Богу, что он про свой микробенчмарк на гитхабе не рассказывал. И как он, б%?;ь, ToString() в Tuple на 40% разогнал…

— такое предположение высказал один мой бывший коллега, увидев значок “Введение в технологию” на программке.

Если так, то и бородатый мужик — это хипстер. А вместо распальцовки надо было нарисовать макбуки.

Зарисовка с обеда.

Чел с полной тарелкой: “Что-то я переборщил. Я столько не съем”.

Его сосед, по-видимому, умудрённый годами опыта и многочисленными походами на различные конференции, у которого на тарелке еды ещё раза в полтора больше: “Чувак, сейчас тебе что-то не понравится, и ты это просто не съешь. И всё!“. Сам всё съел, кстати. Мастер.

То, что осталось в памяти. Кто присутствовал, может, тоже вспомнит и улыбнётся.

  • ЭкспРРэсс!Ррризонабли!
  • лайнэс оф коудэ
  • фромэ эдитэйлз, бат эвРРРи блэкбокс куд би РРРиплэйсэдэ :)
  • фрэд букс…фрэд бРРРукс!!! бук…
  • гРРРаф

Афтар, пешы исчо

Пока я собираюсь с силами, можете почитать, например, заметки о весеннем jpoint:

А если вы зачем-то искали, что бы почитать/послушать об elixir/erlang, то у меня внезапно есть и такое (осторожно, инглешь):

Ретвиты/репосты и особенно комментарии люто-бешено приветствуются.