- PVSM.RU - https://www.pvsm.ru -
В конце июня в Нью-Йорке прошла конференция QCon 2018 на которой мне посчастливилось побывать. За эту возможность хочу поблагодарить своего работодателя. Конфа длилась 3 дня, было порядка 140 спикеров и более 900 участников.
Дисклеймер: конечно же данная статья выражает моё личное мнение.
Так как конференция крупная и проходит уже давно, то организовано всё на высоком уровне. Аудитории, звук, трансляция, запись, презентации — всё отработано, чётко. Хотя нет, в первый день на первом же кейноуте барахлил кликер. :-) Это, пожалуй, было единственной проблемой за 3 дня.
За 3 дня организаторы осветили 15 разных тем. Т.е. каждый день было по 5 основных потоков (+ спонсорские презентации и Ask Me Anything аудитории), каждый день потоки были новые. На мой взгляд, такой широкий охват хорош с точки зрения количества, но от этого страдает качество. Получилось так, что из 6 докладов в день, которые я посещал, действительно полезными и интересными для меня были 1-2. Некоторые доклады просто не соответствовали своему названию, отчего было жаль потраченного времени.
У меня были несколько другие ожидания по количеству новой для меня информации. Чего-то нового, интересного и неизведанного было меньше, чем хотелось бы.
Перед началом каждого дня все собирались в самом большом зале, и какой-нибудь чел из знаменитой компании рассказывал что-то общее, но интересное. Рассказы эти были о разработке программного обеспечения в том или ином виде. Мне понравились все 3 кейноута.
Гай трудится в компании, которая исследует продукты с открытым исходным кодом на уязвимости. Повествовал о том, как уязвимости встраивают в разные средства разработки и как потом это расространяется средиконечных пользователей. Я редко об этом задумывался и, тем более, не думал, что у этого явления большие масштабы. На нескольких интересных примерах Гай показал, как это может быть. Оказывается зловреда можно встроить в IDE (примером служил XСodeGhost), и при сборке инжектировать в исполняемый файл. А ещё можно положить зловреда в подключаемую библиотеку.
Основными мыслями презентации я бы выделил:
Джошуа Блох рассказал, когда и кто впервые придумал API (Application Program Interface) и как этот термин эволюционировал до наших дней.
Оказывается API придумали ещё до построения первого компьютера! Пользы мало, но очень интересно!
Простота использования, отсутствие ошибок и хорошее описание — вот о чём вы должны думать, когда разрабатываете новый API.
Таня рассказала историю возникновения и развития пожарных лестниц в Нью-Йорке начиная с 1838 года. Причиной возникновения и развития этого явления, конечно же, стали пожары. В исторической перспективе она показала, почему они случались и какие шаги предпринимались для борьбы с ними в будущем. "Пожары" в мире программного обеспечения тоже случаются, но на основе уже имеющегося опыта мы можем минимизировать их последствия.
Сведите к минимуму в принципе возможность возникновения пожара. Предусмотрите средства раннего обнаружения пожаров. Изолируйте потенциально опасные области возгорания, чтобы огонь не распространялся. Имейте пожарную команду и актуальные планы эвакуации.
Я, пожалуй, напишу только про те доклады, которые понравились лично мне, из которых я смог узнать что-то новое и извлечь пользу.
Последний раз, когда я погружался в тему serverless, на слуху были Backendless и ныне почивший в бозе Parse. Но прошло несколько лет, и, когда я слушал Джо, я удивлялся, как много сервисов сейчас появилось в этой области и как лихо удаётся их комбинировать для достижения самых разных целей. Джо рассказывал, как на serverless (под serverless здесь понимается набор любых внешних сервисов для достижения цели продукта) они запилили софтину для сбора статистики и контроля качества топлива, а ещё приложение для подбора недвижимости в аренду. Эти приложения умеют делать аутентификацию, производить валидацию данных, модерацию картинок, работать с картой, считать в облаках и многое другое. И всё это посредством внешних сервисов! Основной вашей задачей становится следить за доступностью этих самых внешних сервисов.
Из этого доклада я узнал про много новых сервисов, которые захотелось "пощупать" и узнать поближе. А вот, кстати, и они:
Вот что я вынес для себя из презентации:
Для себя я вынес пару интересных вещей, о которых говорилось в презентации:
А ещё снова убедился, что иногда нужно посмотреть на задачу с самого, казалось бы, неожиданного угла. Катерина рассказывала, как они обрабатывают очень много поисковых запросов, или, точнее сказать, фильтров, к огромному массиву данных. Массив данных также может пополняться достаточно часто. Так вот, в своём решении ребята индексируют не данные, а запросы к ним. Таким образом, при появлении новых данных проверяется, удовлетворяют ли новые данные существующим запросам, и если да, то даные связываются с индексои. Поиск существенно ускоряется. В общем для меня это было в новинку О_о.
Современные enterprise решения для автоматизации бизнес-процессов (workflow engine, state machine) тяжеловесны и унылы. Поэтому использовать их не стоит, но есть достойная легковесная альтернатива. И как-то так вышло, что альтернатива разрабатывается командой спикера и называется Camunda. Но если решение хорошее, то почему бы о нём не рассказать!
Из этой презентации я выудил следующие вещи, которые захотелось "пощупать" и изучить глубже:
Мэт рассказывал про Envoy [17] — продукт, разработку которого он возглавляет. Эдакий service mesh, позволяющий микросервисам взаимодействовать, не задумываясь о топологии сети. Среди других плюшек присутствуют:
Мэтт запомнился ещё одним моментом. После всех презентаций спикеры сели вместе на сцене и стали отвечать на вопросы по общей теме (“Architectures you've always wondered about”). Когда поступил вопрос про наличие интеграционного тестирования и подходы к нему на лицах всех спиекров было видно полуулыбку. Мэтт ответил первым, а все остальные его молча поддержали. Ответ его был в таком духе — “Интеграционное тестирование у нас, конечно, есть, но… Ничто не даёт таких хороших результатов, как тестирование в production”. Автоматизированное тестирование Мэтт предлагает ограничить юнит-тестами, нагрузочными тестами. И в меньшей степени полагаться на результаты именно интеграционного тестирования.
К сожалению, сам доклад мне посетить не удалось, но было много положительных отзывов про презентацию и про докладчика. Так что, думаю, стоит посмотреть.
Ещё был целый трек про блокчейн. Но мне туда попасть не удалось.
Весной я посещал CodeFest 2018 в Новосибирске. И, если быть честным, мне там понравилось больше. Но, как говорится, каждому своё.
Все презентации уже доступны тут [18].
В общем доступе видео появится через 3-4 месяца. Для участников доступ к видео уже открыт. И это видео можно пошарить 30 разным людям по имейлу.
Про еду, проживание и транспорт внутри статьи писать не стал, т.к. вроде к тематике Хабра не относится, но если кому интересно — могу ответить в личке или в комментах.
Автор: solo12zw74
Источник [19]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/konferentsiya/287847
Ссылки в тексте:
[1] Segment: https://segment.com/docs
[2] DocRaptor: https://docraptor.com
[3] Cloudinary: https://cloudinary.com
[4] Auth0: https://auth0.com
[5] Webtask: https://webtask.io
[6] Netlify: https://www.netlify.com/
[7] хостинг: https://www.reg.ru/?rlink=reflink-717
[8] Algolia: https://www.algolia.com
[9] AWS Cognito: https://aws.amazon.com/cognito/
[10] AWS Lambda: https://aws.amazon.com/lambda/
[11] AWS AppSync: https://aws.amazon.com/appsync/
[12] UBER Cadence: https://github.com/uber/cadence
[13] Netflix Conductor: https://netflix.github.io/conductor/
[14] Camunda: https://camunda.com/
[15] Zeebee: https://zeebe.io/
[16] Activiti: https://www.activiti.org/
[17] Envoy: https://www.envoyproxy.io/
[18] тут: https://qconnewyork.com/schedule/ny2018/tabular
[19] Источник: https://habr.com/post/416335/?utm_campaign=416335
Нажмите здесь для печати.