26-27 сентября выступлю (да простят меня коллеги-джависты и да поддержат меня коллеги-питонисты) на конференции PiterPy c докладом Apache Kafka для Python-разработчиков.
Что будет в докладе:
— Внутреннее устройство и принцип работы основных компонентов Apache Kafka (иными словами: БАЗА).
— Особенности использования Python-клиента к Apache Kafka (есть из чего выбрать и какие ручки покрутить).
— Разбор основных сценариев использования и best practices (пока не решил: это будет либо часть презентации, либо интерактив с коллегой по Контуру, либо часть дискуссионки — по Кафке она довольно часто выходит долгой).
#анонс #kafka #best_practice #python #piterpy
Что будет в докладе:
— Внутреннее устройство и принцип работы основных компонентов Apache Kafka (иными словами: БАЗА).
— Особенности использования Python-клиента к Apache Kafka (есть из чего выбрать и какие ручки покрутить).
— Разбор основных сценариев использования и best practices (пока не решил: это будет либо часть презентации, либо интерактив с коллегой по Контуру, либо часть дискуссионки — по Кафке она довольно часто выходит долгой).
#анонс #kafka #best_practice #python #piterpy
PiterPy 2024. Конференция для тех, кто пишет на Python и использует его в работе
Apache Kafka для Python-разработчиков | Доклад на PiterPy 2024
Погружение в Apache Kafka для Python-разработчиков: внутреннее устройство и принцип работы основных компонентов Apache Kafka; особенности использования Python-клиента к Apache Kafka; разбор основных сценариев использования и best practices.
🔥13👍4
Gregory Koshelev channel
8 июня буду в Челябинске на UWDC с докладом Apache Kafka: погружение на 45 минут. Погружение в Apache Kafka для разработчиков: 1. Внутреннее устройство и принцип работы основных компонентов Apache Kafka. 2. Особенности использования Apache Kafka в различных…
Делюсь видео доклада "Apache Kafka: погружение на 45 минут" на UWDC 2024:
— YouTube: https://youtu.be/V5t_3RxBals
— Презентация на GitHub
— Подборка моих докладов про Кафку (на осень 2022): https://news.1rj.ru/str/chnl_GregoryKoshelev/23. В ленте канала можно найти другие релевантные выступления.
#видеозаписи #материалы #kafka #uwdc
— YouTube: https://youtu.be/V5t_3RxBals
— Презентация на GitHub
— Подборка моих докладов про Кафку (на осень 2022): https://news.1rj.ru/str/chnl_GregoryKoshelev/23. В ленте канала можно найти другие релевантные выступления.
#видеозаписи #материалы #kafka #uwdc
YouTube
Apache Kafka: погружение на 45 минут. Григорий Кошелев, Контур, ведущий разработчик
Уральская конференция веб-разработчиков #UWDC2024
Apache Kafka: погружение на 45 минут.
Григорий Кошелев, Контур, ведущий разработчик
--
Партнеры и спонсоры конференции:
Orion soft - один из лидеров ИТ-индустрии, ведущий производитель платформ виртуализации…
Apache Kafka: погружение на 45 минут.
Григорий Кошелев, Контур, ведущий разработчик
--
Партнеры и спонсоры конференции:
Orion soft - один из лидеров ИТ-индустрии, ведущий производитель платформ виртуализации…
🔥29
Материалы к докладу "Система перевода в ведущие инженеры-программисты с промодоками и комиссарами" на DotNext 2023:
— Презентация доклада.
— Видео на YouTube.
— История проумоушена одного инженера в Google, рассказанная его менеджером. Суть кратко: менеджер помогал инженеру из своей команды подготовить промодок, один из двух инженеров в комиссии при рассмотрении поставил оценку 👎 (это с высокой долей вероятности не позволило бы получить промоушен), менеджер по своей инициативе пошёл общаться с этими комиссаром, и последний в итоге решил поменять решение на 👍, а инженер получил своё повышение.
— История одного инженера, который в итоге уволился из Google после нескольких попыток промоушена. Есть перевод этой статьи на Хабре.
— Подробнее про работу LOH в C# можно почитать в этой статье.
— Вынесу основные тезисы из доклада:
* Оценкой инженера по признаку «ведущий или не ведущий» занимается комиссия из ведущих инженеров (не менеджеров!). Комиссия подбирается таким образом, чтобы не было конфликта интересов и учитывалась специализация (например, стек технологий).
* Мы выделяем 4 трека ведущих: тимлид (ответственность за команду и командные процессы), фичалид (project manager на минималках — ведение крупных технических эпиков), техлид (ответственность за техническую составляющую проекта) и «rocket science» (ответвление от техлида — решатель сложных технических задач).
* Чтобы попасть на оценку в комиссию, необходимо написать промодок (и мы не против, если инженеру с этим кто-то поможет, но ждём от инженера умения рефлексировать и рассказывать о своих результатах) и пройти комиссию.
* До начала работы комиссии собираем обратную связь с коллег по тем проектам, которыми занимался кандидат.
* У нас обязательно общение комиссии и кандидата. Благодаря чему, вся эта система не выглядит как чёрный ящик.
— Ниже 👇 выгрузка из нашего внутреннего роадмапа развития управленческих компетенций. Без комментариев не самая полезная штука, но позволяет верхнеуровнево оценить глубину (вот это каламбур!) и масштаб компетенций. Среди прочего можно выделить те самые инженерные веточки: тимлидерство, фичалидерство и техлидерство.
#видеозаписи #материалы #dotnext #management #lead
— Презентация доклада.
— Видео на YouTube.
— История проумоушена одного инженера в Google, рассказанная его менеджером. Суть кратко: менеджер помогал инженеру из своей команды подготовить промодок, один из двух инженеров в комиссии при рассмотрении поставил оценку 👎 (это с высокой долей вероятности не позволило бы получить промоушен), менеджер по своей инициативе пошёл общаться с этими комиссаром, и последний в итоге решил поменять решение на 👍, а инженер получил своё повышение.
— История одного инженера, который в итоге уволился из Google после нескольких попыток промоушена. Есть перевод этой статьи на Хабре.
— Подробнее про работу LOH в C# можно почитать в этой статье.
— Вынесу основные тезисы из доклада:
* Оценкой инженера по признаку «ведущий или не ведущий» занимается комиссия из ведущих инженеров (не менеджеров!). Комиссия подбирается таким образом, чтобы не было конфликта интересов и учитывалась специализация (например, стек технологий).
* Мы выделяем 4 трека ведущих: тимлид (ответственность за команду и командные процессы), фичалид (project manager на минималках — ведение крупных технических эпиков), техлид (ответственность за техническую составляющую проекта) и «rocket science» (ответвление от техлида — решатель сложных технических задач).
* Чтобы попасть на оценку в комиссию, необходимо написать промодок (и мы не против, если инженеру с этим кто-то поможет, но ждём от инженера умения рефлексировать и рассказывать о своих результатах) и пройти комиссию.
* До начала работы комиссии собираем обратную связь с коллег по тем проектам, которыми занимался кандидат.
* У нас обязательно общение комиссии и кандидата. Благодаря чему, вся эта система не выглядит как чёрный ящик.
— Ниже 👇 выгрузка из нашего внутреннего роадмапа развития управленческих компетенций. Без комментариев не самая полезная штука, но позволяет верхнеуровнево оценить глубину (вот это каламбур!) и масштаб компетенций. Среди прочего можно выделить те самые инженерные веточки: тимлидерство, фичалидерство и техлидерство.
#видеозаписи #материалы #dotnext #management #lead
Telegram
Gregory Koshelev channel
Осенний сезон конференций открывается для меня в сентябре выступлением на Dotnext ("Система перевода в ведущие инженеры-программисты с промокодами промодоками и комиссарами"). Это будет мой первый нетехнический доклад на конференциях (даже когда выступал…
🔥5
Роадмап EngineersManagement.pdf
209.2 KB
Выгрузка из нашего внутреннего роадмапа развития управленческих компетенций. Включает 3 ветки развития "в лида":
— Тимлидерство
— Фичалидерство
— Техлидерство.
Отмечу, что "быть *лидом" не подразумевает наличия у человека всех компетенций из соответствующей ветки. Как и нельзя гарантировать, что будет успешной команда, в которой коллективно закрываются все раскрашенные компетенции
#материалы #management #lead
— Тимлидерство
— Фичалидерство
— Техлидерство.
Отмечу, что "быть *лидом" не подразумевает наличия у человека всех компетенций из соответствующей ветки. Как и нельзя гарантировать, что будет успешной команда, в которой коллективно закрываются все раскрашенные компетенции
#материалы #management #lead
👍9🔥2
Следующая неделя у меня выходит довольно насыщенной на конференции:
— 15 октября открываем offline Джокера с Алексеем Фёдоровым.
— 16 октября провожу круглый стол по теме Concurrency на Joker с Романом Елизаровым, Александром Ланцовым и Александром Нозиком.
— Позднее в этот же день поучаствую в роли эксперта на keynote от Владимира Ситникова про Обратную совместимость в Java.
— 18 октября на Heisenbug буду экспертом на докладе Алексея Морозова "Приключения хакера на сайтах знакомств".
— И наконец, 19 октября на онлайн-конференции Podlodka Techlead Crew 7 проведу публичное интервью техлида по теме "Надёжности".
По какой из тем было бы интересно почитать материалы?
#анонс #joker #пк #heisenbug #techlead #podlodka #собеседование
— 15 октября открываем offline Джокера с Алексеем Фёдоровым.
— 16 октября провожу круглый стол по теме Concurrency на Joker с Романом Елизаровым, Александром Ланцовым и Александром Нозиком.
— Позднее в этот же день поучаствую в роли эксперта на keynote от Владимира Ситникова про Обратную совместимость в Java.
— 18 октября на Heisenbug буду экспертом на докладе Алексея Морозова "Приключения хакера на сайтах знакомств".
— И наконец, 19 октября на онлайн-конференции Podlodka Techlead Crew 7 проведу публичное интервью техлида по теме "Надёжности".
По какой из тем было бы интересно почитать материалы?
#анонс #joker #пк #heisenbug #techlead #podlodka #собеседование
Joker 2024. Java-конференция для опытных разработчиков
Открытие офлайн-части | Доклад на Joker 2024
Joker 2024 — Java-конференция для опытных разработчиков
🔥17👏4👍1🎉1
23 октября провели внутреннюю конференцию инженеров-программистов, где я выступил в роли программного директора. По обратной связи в ТОПе оказалась фейл-секция из 6 выступлений ребят из Контура и Яндекса, заняв второе место в рейтинге, уступив только эпичной истории переезда всей компании из Slack в Mattermost. Впрочем, это не удивительно: хорошо учиться на ошибках, особенно, если это чужие ошибки. 😀
Во время подготовки было некоторое волнение, поскольку фейл-секцию проводили под конец конференции в формате стендапа, а ещё всё это было под пиво и пиццу. В общем, "шалость удалась".
А за организацию фейл-секции я взялся неспроста: на следующей неделе 13 ноября выступаю на DevOops с историей "Комбо-факапы, или Эффект бабочки-факапницы".
#анонс #пк #кип #devoops #факапы
Во время подготовки было некоторое волнение, поскольку фейл-секцию проводили под конец конференции в формате стендапа, а ещё всё это было под пиво и пиццу. В общем, "шалость удалась".
А за организацию фейл-секции я взялся неспроста: на следующей неделе 13 ноября выступаю на DevOops с историей "Комбо-факапы, или Эффект бабочки-факапницы".
#анонс #пк #кип #devoops #факапы
DevOops 2024. Конференция по инженерным решениям и DevOps-культуре
Комбо-факапы, или Эффект бабочки-факапницы | Доклад на DevOops 2024
Истории расследования факапов, вызванных цепочками маловероятных событий помноженных на россыпь безобидных багов.
👍13
Forwarded from Технологии в Контуре
У нас тут прошла внутренняя Конференция инженеров-программистов
Что было: доклады, мастер-классы, фейл-секция и некоторое количество lightning talk в перерывах. Пиво, пицца, веселье и возможность поймать обычно занятого на созвонах коллегу. Ведь вы только что вместе послушали доклад про релизный цикл🤝
Спросили у создателей конференции Гриши Кошелева и Андрея Эйдинова, как и зачем они придумали КИП. И подкрепили отзывами контуровцев.
Фото прилагаются.Ну а то, что было на фейл-секции, остается на фейл-секции 🤐
Что было: доклады, мастер-классы, фейл-секция и некоторое количество lightning talk в перерывах. Пиво, пицца, веселье и возможность поймать обычно занятого на созвонах коллегу. Ведь вы только что вместе послушали доклад про релизный цикл
Спросили у создателей конференции Гриши Кошелева и Андрея Эйдинова, как и зачем они придумали КИП. И подкрепили отзывами контуровцев.
Фото прилагаются.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1
Публичное собеседование техлида на Podlodka Techlead Crew и дополнительные материалы.
— Видео собеседования на YouTube: https://youtu.be/xcR56HPM51w.
— Репозиторий с примерами архитектур распределённых систем: System Design Primer (в частности, для интервью за основу была взята задача Web Crawler).
— 8 заблуждений о распределённых вычислениях:
1. Сеть надёжна;
2. Сетевая задержка равна нулю;
3. Пропускная способность не ограничена;
4. Сеть защищена;
5. Топология сети не меняется;
6. Есть один администратор;
7. Транспортные расходы равны нулю;
8. Сеть (и вычислительные узлы) однородна.
— Архитектурные шаблоны в распределённых системах:
* Большой источник материалов по микросервисной архитектуре — https://microservices.io/,
* Сборник Patterns of Distributed Systems (Unmeshi Joshi и Martin Fowler).
— По теме Non-Functional Requirements (NFR):
* статья «10 nonfunctional requirements to consider in your enterprise architecture» (RedHat) ,
* гайд по сбору нефунциональных требований (Microsoft).
— По теме SLA/SLO:
* видео доклада Даниила Марданова «Как внедрить SLO в продукт и получить от этого пользу» на DevOops 2023,
* видео моего доклада «SLA — друг или враг разработчика» на DevOops 2021.
— Полезные ссылки по использованию PostgreSQL:
* документация по High Availability, в частности сравнение подходов по репликации,
* сравнение способов балансировки запросов в PostgreSQL.
— Полезные ссылки про Redis:
* сравнение Redis Cluster и Sentinel,
* пример использования Redis в качестве очереди.
— Использование GeoDNS для минимизации сетевых задержек в крупной геораспределённой системе (особенно актуально в задаче Web Crawler, где необходимо совершать обход множества сайтов, имеющих непредсказуемое географическое распределение):
* документация на GeoIP и GeoLite 2,
* пример определения локации по IP на Java.
— Комментарий про латентность сети. Скорость света в вакууме в полтора раза выше скорости света в оптическом волокне (~300 000 км / с против ~200 000 км / с). В реальности RTT (Round-Trip Time) выходит значительно выше, т.к. нужно учитывать кривизну проложенных оптических магистралей, задержку передающего и маршрутизирующего оборудования:
* RTT Екатеринбург – Москва — 20-30 мс (теоретический минимум исходя из расстояния «по прямой» в 1 400 км в одну сторону — 14 мс),
* RTT Екатеринбург – Лондон (3900 км в одну сторону) составляет 70-75 мс,
* RTT Екатеринбург – Сан-Франциско (~ 11 000 км) — 180-200 мс.
— Bloom Filter — вероятностная структура данных, которая упрощает поиск данных в крупных системах (позволяет быстро отсекать походы на диск и/или в сеть туда, где этих данных точно нет, т.е. исключает false negative сценарии, но допускает false positive). Примеры использования: Apache Cassandra и PostgreSQL.
#видеозаписи #материалы #собеседование #архитектура #slo #highload #distributed_systems #techlead #podlodka
— Видео собеседования на YouTube: https://youtu.be/xcR56HPM51w.
— Репозиторий с примерами архитектур распределённых систем: System Design Primer (в частности, для интервью за основу была взята задача Web Crawler).
— 8 заблуждений о распределённых вычислениях:
1. Сеть надёжна;
2. Сетевая задержка равна нулю;
3. Пропускная способность не ограничена;
4. Сеть защищена;
5. Топология сети не меняется;
6. Есть один администратор;
7. Транспортные расходы равны нулю;
8. Сеть (и вычислительные узлы) однородна.
— Архитектурные шаблоны в распределённых системах:
* Большой источник материалов по микросервисной архитектуре — https://microservices.io/,
* Сборник Patterns of Distributed Systems (Unmeshi Joshi и Martin Fowler).
— По теме Non-Functional Requirements (NFR):
* статья «10 nonfunctional requirements to consider in your enterprise architecture» (RedHat) ,
* гайд по сбору нефунциональных требований (Microsoft).
— По теме SLA/SLO:
* видео доклада Даниила Марданова «Как внедрить SLO в продукт и получить от этого пользу» на DevOops 2023,
* видео моего доклада «SLA — друг или враг разработчика» на DevOops 2021.
— Полезные ссылки по использованию PostgreSQL:
* документация по High Availability, в частности сравнение подходов по репликации,
* сравнение способов балансировки запросов в PostgreSQL.
— Полезные ссылки про Redis:
* сравнение Redis Cluster и Sentinel,
* пример использования Redis в качестве очереди.
— Использование GeoDNS для минимизации сетевых задержек в крупной геораспределённой системе (особенно актуально в задаче Web Crawler, где необходимо совершать обход множества сайтов, имеющих непредсказуемое географическое распределение):
* документация на GeoIP и GeoLite 2,
* пример определения локации по IP на Java.
— Комментарий про латентность сети. Скорость света в вакууме в полтора раза выше скорости света в оптическом волокне (~300 000 км / с против ~200 000 км / с). В реальности RTT (Round-Trip Time) выходит значительно выше, т.к. нужно учитывать кривизну проложенных оптических магистралей, задержку передающего и маршрутизирующего оборудования:
* RTT Екатеринбург – Москва — 20-30 мс (теоретический минимум исходя из расстояния «по прямой» в 1 400 км в одну сторону — 14 мс),
* RTT Екатеринбург – Лондон (3900 км в одну сторону) составляет 70-75 мс,
* RTT Екатеринбург – Сан-Франциско (~ 11 000 км) — 180-200 мс.
— Bloom Filter — вероятностная структура данных, которая упрощает поиск данных в крупных системах (позволяет быстро отсекать походы на диск и/или в сеть туда, где этих данных точно нет, т.е. исключает false negative сценарии, но допускает false positive). Примеры использования: Apache Cassandra и PostgreSQL.
#видеозаписи #материалы #собеседование #архитектура #slo #highload #distributed_systems #techlead #podlodka
YouTube
Публичное собеседование «Спрашиваем с техлида "за" надежность» / Григорий Кошелев
Понравилось видео и хочешь узнать что-то еще про Podlodka (направление конференции) Crew? Забирай весь плейлист на https://podlodka.io/crew-records или покупай годовой доступ ко всей Библиотеке контента.
🔥21❤4👍3
Завтра я и Андрей Когунь на Podlodka Java Crew выбираем для разработки приложений Spring фреймворк под конкретные задачи:
— Spring (не нуждается в представлении)
— Micronaut
— Quarkus
— Helidon.
По сути в Java-мире две экосистемы для разработки web-сервисов: Spring и Jakarta EE (ex Java EE). И MicroProfile — естественное развитие Jakarta (расширение дополнительными стандартами), нацеленное на разработку микросервисной архитектуры и cloud-native приложений. MicroProfile помимо совместимости с Jakarta EE включает (но не ограничивается) такие компоненты как телеметрия, конфигурирование, JWT, инструменты отказоустойчивости (типа механик повторов запросов, таймаутов, circuit breaker и т.д.) и другие.
Quarkus, Helidon и Micronaut в той или иной степени поддерживают стандарты MicroProfile. Например, Quarkus на 100% совместим с MP 4.1, а Helidon — с MP 5.0, MP 6.0 и MP 6.1.
Таким образом, выбор не Spring, а другого фреймворка может быть обусловлен желанием разрабатывать небольшие легковесные приложения с малым временем на запуск, но со всем необходимым "из коробки" для работы в микросервисной архитектуре и облачных хостингах.
Если говорить не про концептуальные особенности, а архитектурные, то можно обратить внимание на использование HTTP-серверов, основанных на Netty (Quarkus-Vertx, Micronaut и ранее Helidon). Про это имеет смысл написать отдельный пост в контексте моего доклада про Undertow, т.к. доклад уже доступен публично и можно поделиться материалами.
При этом Spring был и остаётся хорошим выбором "по умолчанию" благодаря своей популярности и тому, что внутрь экосистемы затащили практически всё. Любой другой выбор необходимо обосновывать — вот этим и займёмся за круглым столом.
#анонс #java #spring #microprofile #quarkus #helidon #micronaut #netty #vertx
— Spring (не нуждается в представлении)
— Micronaut
— Quarkus
— Helidon.
По сути в Java-мире две экосистемы для разработки web-сервисов: Spring и Jakarta EE (ex Java EE). И MicroProfile — естественное развитие Jakarta (расширение дополнительными стандартами), нацеленное на разработку микросервисной архитектуры и cloud-native приложений. MicroProfile помимо совместимости с Jakarta EE включает (но не ограничивается) такие компоненты как телеметрия, конфигурирование, JWT, инструменты отказоустойчивости (типа механик повторов запросов, таймаутов, circuit breaker и т.д.) и другие.
Quarkus, Helidon и Micronaut в той или иной степени поддерживают стандарты MicroProfile. Например, Quarkus на 100% совместим с MP 4.1, а Helidon — с MP 5.0, MP 6.0 и MP 6.1.
Таким образом, выбор не Spring, а другого фреймворка может быть обусловлен желанием разрабатывать небольшие легковесные приложения с малым временем на запуск, но со всем необходимым "из коробки" для работы в микросервисной архитектуре и облачных хостингах.
Если говорить не про концептуальные особенности, а архитектурные, то можно обратить внимание на использование HTTP-серверов, основанных на Netty (Quarkus-Vertx, Micronaut и ранее Helidon). Про это имеет смысл написать отдельный пост в контексте моего доклада про Undertow, т.к. доклад уже доступен публично и можно поделиться материалами.
При этом Spring был и остаётся хорошим выбором "по умолчанию" благодаря своей популярности и тому, что внутрь экосистемы затащили практически всё. Любой другой выбор необходимо обосновывать — вот этим и займёмся за круглым столом.
#анонс #java #spring #microprofile #quarkus #helidon #micronaut #netty #vertx
👍13🔥4❤1
Forwarded from Gregory Koshelev
Сижу на чьём-то докладе. Название ещё странное: "Кафка. PRO. ", а дальше в названии то ли "Время умирать", то ли "Время убирать" — шрифт и цвета какие-то убогие — не смог разобрать. Ещё подумал, как Володя Ситников такое пропустил? Но спикер бодро начинает, какие-то вопросы в зал задаёт, а я на них отвечаю. А потом мои же ответы дополняет — да всё складно так выходит, словно мы специально всё это готовили, хотя я его впервые в жизни вижу. Но потом докладчик начал какой-то лютый бред нести (уже не могу восстановить детали — какие-то фантастические сценарии для Кафки придумывал). В итоге я Алексею Андрею Кулешову говорю: "я это слушать больше не могу", и вышел из зала. Захожу в главный зал, а там почему-то выставка (!) унитазов (!), а на сцене Алексей Мерсон (я ещё удивился, почему он пришёл на JPoint, но решил, что его ведущим позвали, а я это пропустил вместе с каким-то синком ПК). В общем, я прохожу мимо всех этих унитазов к первому ряду и спрашиваю:
— Почему тут выставка унитазов?
Лёша со сцены отвечает:
— Какое поколение — такая и выставка.
А я ему тут же:
— Молодое поколение или старое?
После моего вопроса зал ржёт (а я ещё думаю, что шутка норм — надо запомнить).
Тут на сцену поднимаются Андрей Когунь, Алексей Фёдоров и ещё кто-то — типа собрались эксперты, чтобы ответить на вопросы из зала, а зал вопросы почему-то не задаёт. Ну, я руку тяну и обращаюсь к Андрею:
— Андрей, нормально ли вместо вызова Thread.yield делать прогрев?
Андрей берёт микрофон в две руки, смотрит на меня и молчит, и в зале тишина. Я уточняю:
— Ну, прогревочные итерации вызывать вместо метода yield.
Вижу, что и Лёша Мерсон на меня смотрит и не понимает, так я ему объясняю:
— В Java у Thread-а есть метод yield, который подсказывает планировщику, что можно тред снять с выполнения. А раз мы так и так готовы снять тред с выполнения, то почему бы не прогреть вместо этого нужный нам код.
И тут... я просыпаюсь... так и не узнав, что @akogun думает о прогреве вместо Thread.yield.
— Почему тут выставка унитазов?
Лёша со сцены отвечает:
— Какое поколение — такая и выставка.
А я ему тут же:
— Молодое поколение или старое?
После моего вопроса зал ржёт (а я ещё думаю, что шутка норм — надо запомнить).
Тут на сцену поднимаются Андрей Когунь, Алексей Фёдоров и ещё кто-то — типа собрались эксперты, чтобы ответить на вопросы из зала, а зал вопросы почему-то не задаёт. Ну, я руку тяну и обращаюсь к Андрею:
— Андрей, нормально ли вместо вызова Thread.yield делать прогрев?
Андрей берёт микрофон в две руки, смотрит на меня и молчит, и в зале тишина. Я уточняю:
— Ну, прогревочные итерации вызывать вместо метода yield.
Вижу, что и Лёша Мерсон на меня смотрит и не понимает, так я ему объясняю:
— В Java у Thread-а есть метод yield, который подсказывает планировщику, что можно тред снять с выполнения. А раз мы так и так готовы снять тред с выполнения, то почему бы не прогреть вместо этого нужный нам код.
И тут... я просыпаюсь... так и не узнав, что @akogun думает о прогреве вместо Thread.yield.
😁38😱5🥱1
На ближайшем JPoint 3 апреля расскажу вводный курс по микробенчмаркам с использованием JMH.
Доклад подойдёт как новичкам в JMH и микробенчмарках в целом, так и будет полезен тем, кто уже ранее пользовался JMH: в докладе познакомимся с базовыми принципами создания микробенчмарков и разберём основные возможности JMH.
#анонс #доклад #jpoint #performance #jmh #best_practice #jvm
Доклад подойдёт как новичкам в JMH и микробенчмарках в целом, так и будет полезен тем, кто уже ранее пользовался JMH: в докладе познакомимся с базовыми принципами создания микробенчмарков и разберём основные возможности JMH.
#анонс #доклад #jpoint #performance #jmh #best_practice #jvm
JPoint 2025. Java-конференция для опытных разработчиков
JMH: вводный курс по микробенчмаркам | Доклад на JPoint 2025
Доклад для тех, кто хочет начать использовать JMH для написания микробенчмарков или углубить свои знания этого инструмента: вы познакомитесь с базовыми принципами создания микробенчмарков и основными возможностями JMH.
🔥20❤4👍4💩1
На этой неделе идёт онлайн-конференция Podlodka Techlead Crew, посвящённая теме межсервисного взаимодействия. В четверг 10 апреля расскажу про Observability распределённых систем.
Расскажу, как обеспечить высокий уровень Observability распределённых систем с использованием существующих инструментов телеметрии, и на примерах разберём, как управлять ростом когнитивной сложности поддержки больших систем в части мониторинга и поиска корневых причин деградаций.
P.S. Есть ещё один бесплатный билет, чтобы залететь на конференцию. Пишите в комментарии — поделюсь.
#анонс #доклад #podlodka #observability #телеметрия #sre #open_telemetry #moira #graphite #grafana #prometheus #sentry #elastic #kibana #techlead
Расскажу, как обеспечить высокий уровень Observability распределённых систем с использованием существующих инструментов телеметрии, и на примерах разберём, как управлять ростом когнитивной сложности поддержки больших систем в части мониторинга и поиска корневых причин деградаций.
P.S. Есть ещё один бесплатный билет, чтобы залететь на конференцию. Пишите в комментарии — поделюсь.
#анонс #доклад #podlodka #observability #телеметрия #sre #open_telemetry #moira #graphite #grafana #prometheus #sentry #elastic #kibana #techlead
podlodka.io
Онлайн-конференция Podlodka Teсhlead Crew #10
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам techlead-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
🔥3🤡3❤2
Материалы по докладу «Observability распределённых систем» на Podlodka Techlead Crew №8:
— Презентация доклада на GitHub
— Книги
* Mastering Distributed Tracing
* Distributed Tracing in Practice
* серия «Site Reliability Engineering»
— Доклад «В чём (ещё) польза распределённых трассировок?» (DevOops 2022)
* запись на YouTube
* ссылка на сообщение с материалами
— Доклад про Sentry «Работа над ошибками» (DevOops 2020)
* запись на YouTube
* ссылка на сообщение с материалами
— Доклад «Vostok Hercules: 3 года доставляем телеметрию — полёт нормальный» (JPoint 2022)
* запись на YouTube
* ссылка на тред с материалами
— Доклад «SRE и перформанс, или Когда производительность имеет значение» (DevOops 2023)
* запись на YouTube
* ссылка на сообщение с материалами
— Доклады про SLO
— Moira — система алертинга по данным из Prometheus / VictoriaMetrics и Graphite
* репозиторий на GitHub
* документация
— Профилирование приложений на JVM
* запись доклада «Профилирование Java в стиле Linux» (Сергей Мельников, Joker 2024) на YouTube
* презентация доклада «Путеводитель по профилированию приложений на JVM» (Владимир Плизга, JPoint 2025)
— Аннотации (Annotations) — расширенный вид телеметрии (например, события жизненного цикла приложения)
* Аннотации в Grafana
* Аннотации в Elastic APM
* Аннотации в Kibana
— OpenTelemetry
* Статья про профили в OTel
* Схема с потоками телеметрии в OTel
* Репозиторий с примерами использования OTel в Java на GitHub
* Инструментация клиентов Apache Kafka при помощи Open Telemetry https://opentelemetry.io/blog/2022/instrument-kafka-clients/
— Методологии проектирования метрик
* 4 Golden Signals (из SRE Book)
* RED method
* USE method
— Экземпляры (Exemplars) — расширенный вид телеметрии, связываемый с метриками
* Описание модели
* Пример использования в Go (Google Cloud Platform)
* Exemplars в Grafana
— Сэмплирование трассировок
* Хвостовое сэмплирование (tail-based sampling) в OTel
* Документация и настройка
* Issue на GitHub про проблему сэмплирования связываемых трассировок (трассировки связываются через Span Link)
— Создание метрик из трассировок
* Статья про использование коннектора SpanMetrics
* Описание коннектора в репозитории на GitHub
— OpenTelemetry Collector — компонент для обработки и передачи телеметрии
* Архитектура
* Масштабирование
#материалы #видеозаписи #книги #moira #distributed_systems #телеметрия #open_telemetry #observability #podlodka #techlead #best_practice
— Презентация доклада на GitHub
— Книги
* Mastering Distributed Tracing
* Distributed Tracing in Practice
* серия «Site Reliability Engineering»
— Доклад «В чём (ещё) польза распределённых трассировок?» (DevOops 2022)
* запись на YouTube
* ссылка на сообщение с материалами
— Доклад про Sentry «Работа над ошибками» (DevOops 2020)
* запись на YouTube
* ссылка на сообщение с материалами
— Доклад «Vostok Hercules: 3 года доставляем телеметрию — полёт нормальный» (JPoint 2022)
* запись на YouTube
* ссылка на тред с материалами
— Доклад «SRE и перформанс, или Когда производительность имеет значение» (DevOops 2023)
* запись на YouTube
* ссылка на сообщение с материалами
— Доклады про SLO
— Moira — система алертинга по данным из Prometheus / VictoriaMetrics и Graphite
* репозиторий на GitHub
* документация
— Профилирование приложений на JVM
* запись доклада «Профилирование Java в стиле Linux» (Сергей Мельников, Joker 2024) на YouTube
* презентация доклада «Путеводитель по профилированию приложений на JVM» (Владимир Плизга, JPoint 2025)
— Аннотации (Annotations) — расширенный вид телеметрии (например, события жизненного цикла приложения)
* Аннотации в Grafana
* Аннотации в Elastic APM
* Аннотации в Kibana
— OpenTelemetry
* Статья про профили в OTel
* Схема с потоками телеметрии в OTel
* Репозиторий с примерами использования OTel в Java на GitHub
* Инструментация клиентов Apache Kafka при помощи Open Telemetry https://opentelemetry.io/blog/2022/instrument-kafka-clients/
— Методологии проектирования метрик
* 4 Golden Signals (из SRE Book)
* RED method
* USE method
— Экземпляры (Exemplars) — расширенный вид телеметрии, связываемый с метриками
* Описание модели
* Пример использования в Go (Google Cloud Platform)
* Exemplars в Grafana
— Сэмплирование трассировок
* Хвостовое сэмплирование (tail-based sampling) в OTel
* Документация и настройка
* Issue на GitHub про проблему сэмплирования связываемых трассировок (трассировки связываются через Span Link)
— Создание метрик из трассировок
* Статья про использование коннектора SpanMetrics
* Описание коннектора в репозитории на GitHub
— OpenTelemetry Collector — компонент для обработки и передачи телеметрии
* Архитектура
* Масштабирование
#материалы #видеозаписи #книги #moira #distributed_systems #телеметрия #open_telemetry #observability #podlodka #techlead #best_practice
🔥18👍7🤡3❤1👎1
На следующей неделе 29 мая на Podlodka Java Crew №6 рассказываю вводный курс по микробенчмаркам с использованием JMH.
Что будет в докладе:
— Разбор базовых правил написания микробенчмарков на Java/JVM
— Крэш-курс по JMH (quick start, основные фичи, best bractice)
— Разбор множества примеров микробенчарков.
#анонс #доклад #podlodka #java #jvm #performance #jmh #best_practice
Что будет в докладе:
— Разбор базовых правил написания микробенчмарков на Java/JVM
— Крэш-курс по JMH (quick start, основные фичи, best bractice)
— Разбор множества примеров микробенчарков.
#анонс #доклад #podlodka #java #jvm #performance #jmh #best_practice
GitHub
GitHub - openjdk/jmh: https://openjdk.org/projects/code-tools/jmh
https://openjdk.org/projects/code-tools/jmh. Contribute to openjdk/jmh development by creating an account on GitHub.
😢190👎159😱156🔥14👍4🤡2❤1
За последние полгода много чего интересного было и есть чем поделиться — постараюсь за октябрь наверстать упущенное.
Ну, а пока анонсы предстоящей недели:
— С 13 по 17 октября пройдёт онлайн-конференция Podlodka Techlead Crew №9, где я и другие коллеги по программному комитету готовим неделю "Архитектурных антипаттернов" (и паттернов тоже). У меня остался один бесплатный билет на конференцию, которым готов поделиться — пишите в комментарии (достанется первому).
— 17-18 октября будет Java-конференция Joker, где я не только в роли ПК, но и в роли эксперта на докладе, где есть Кафка (😅), и спикера на дискуссии про новинки Java ("Горячие JEP'ы 25: юбилейное").
— 19-20 октября будет конференция по тестированию Heisenbug, куда меня позвали экспертом на пару докладов.
#анонс #podlodka #joker #heisenbug #пк
Ну, а пока анонсы предстоящей недели:
— С 13 по 17 октября пройдёт онлайн-конференция Podlodka Techlead Crew №9, где я и другие коллеги по программному комитету готовим неделю "Архитектурных антипаттернов" (и паттернов тоже). У меня остался один бесплатный билет на конференцию, которым готов поделиться — пишите в комментарии (достанется первому).
— 17-18 октября будет Java-конференция Joker, где я не только в роли ПК, но и в роли эксперта на докладе, где есть Кафка (😅), и спикера на дискуссии про новинки Java ("Горячие JEP'ы 25: юбилейное").
— 19-20 октября будет конференция по тестированию Heisenbug, куда меня позвали экспертом на пару докладов.
#анонс #podlodka #joker #heisenbug #пк
😈37🤮36💔35🥱31💩29👎28🍌27🤬25😢24🖕23😡23
Материалы по докладу «JMH: вводный курс по микробенчмаркам» с JPoint 2025:
— Запись доклада на Youtube: https://youtu.be/yjTnuRHtcYw
— Презентация доклада
— Ссылка на примеры микробенчмарков в репозитории JMH
— Репозиторий jmh-crash-course с дополнительными примерами микробенчмарков (из доклада)
— Оригинальная статья (PDF) Дональда Кнута, откуда пошла мода на «Premature optimization is the root of all evil»
— Статья «Java theory and practice: Anatomy of a flawed microbenchmark» от Brian Goetz (Ссылка ведёт на webarchive, потому что IBM сломали все старые статьи)
— Заметка с 8 правилами по написанию микробенчмарков от John Rose
— Статья «Avoiding Benchmarking Pitfalls on the JVM» от Julian Ponge
— Caliper — альтернативный инструмент для написания микробенчмарков на Java, а также пост Алексея Шипилёва, почему не надо его использовать 😅 (ссылка на пост есть прямо в README Caliper)
— Конечно же, блог Алексея Шипилёва — полезно для всех, кто интересуется темой перформанса и внутрянки JVM, в частности статья «Nanotrusting nanotime»
— Запись доклада Алексея Шипилёва «(The Art of) (Java) Benchmarking II»
— Запись доклада Алексея Шипилёва «Java Benchmarking: как два таймстампа прочитать!»
— Гигиенический минимум «6 аннотаций» для вашего микробенчмарка:
— Для дальнейшего изучения:
* Статья про чёрную дыру в JMH от Алексея Шипилёва
* jcstress (Java Concurrency Stress) — инструмент для поиска concurrent-ошибок
* JLBH (Java Latency Benchmark Harness) — инструмент для измерения latency в Java-приложениях.
#доклад #видеозаписи #материалы #jmh #best_practice #jvm #java #performance #тестирование
— Запись доклада на Youtube: https://youtu.be/yjTnuRHtcYw
— Презентация доклада
— Ссылка на примеры микробенчмарков в репозитории JMH
— Репозиторий jmh-crash-course с дополнительными примерами микробенчмарков (из доклада)
— Оригинальная статья (PDF) Дональда Кнута, откуда пошла мода на «Premature optimization is the root of all evil»
— Статья «Java theory and practice: Anatomy of a flawed microbenchmark» от Brian Goetz (Ссылка ведёт на webarchive, потому что IBM сломали все старые статьи)
— Заметка с 8 правилами по написанию микробенчмарков от John Rose
— Статья «Avoiding Benchmarking Pitfalls on the JVM» от Julian Ponge
— Caliper — альтернативный инструмент для написания микробенчмарков на Java, а также пост Алексея Шипилёва, почему не надо его использовать 😅 (ссылка на пост есть прямо в README Caliper)
— Конечно же, блог Алексея Шипилёва — полезно для всех, кто интересуется темой перформанса и внутрянки JVM, в частности статья «Nanotrusting nanotime»
— Запись доклада Алексея Шипилёва «(The Art of) (Java) Benchmarking II»
— Запись доклада Алексея Шипилёва «Java Benchmarking: как два таймстампа прочитать!»
— Гигиенический минимум «6 аннотаций» для вашего микробенчмарка:
@Fork
@Warmup
@BenchmarkMode
@State
@Measurement
@OutputTimeUnit
— Для дальнейшего изучения:
* Статья про чёрную дыру в JMH от Алексея Шипилёва
* jcstress (Java Concurrency Stress) — инструмент для поиска concurrent-ошибок
* JLBH (Java Latency Benchmark Harness) — инструмент для измерения latency в Java-приложениях.
#доклад #видеозаписи #материалы #jmh #best_practice #jvm #java #performance #тестирование
YouTube
Григорий Кошелев — JMH: вводный курс по микробенчмаркам
Подробнее о Java-конференциях:
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
Скачать презентацию с сайта JPoint — https://jrg.su/E2BUrk
Доклад для тех, кто хочет начать использовать JMH для написания микробенчмарков…
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
Скачать презентацию с сайта JPoint — https://jrg.su/E2BUrk
Доклад для тех, кто хочет начать использовать JMH для написания микробенчмарков…
💔131🤬126👎124😢121🔥13❤🔥3👍1😱1🫡1
За последние несколько дней было три атаки ботов на канал. Самая масштабная была позавчера (13 октября): 1к+ ботов подписались, поставили рандомных реакций (особенно любят какашки и слёзы). Вчера исчезли оставшиеся боты (выпилены из телеги?), а какашки реакции остались. На данный момент цель акции не ясна, но мы продолжаем следить за ситуацией. ✍️
На публикацию материалов это никак не повлияет. Из ближайшего планирую написать про:
— Observability распределённых систем (по мотивам доклада с DevOops, сильно переработанная версия с Podlodka Techlead Crew, материалы предыдущей версии тут).
— Заметка про LTS-версии Java (в первую очередь про мотивацию перехода на Java 25 не только для Java-программистов, но и для тех, кто эксплуатирует Кассандры, Кафки, Эластики и другие инструменты, написанные на Java).
— Подборка материалов про Apache Kafka.
— Заметка про Joker 2025 (интересные доклады, инсайты по мотивам предстоящей конференции).
#офтоп #анонс
На публикацию материалов это никак не повлияет. Из ближайшего планирую написать про:
— Observability распределённых систем (по мотивам доклада с DevOops, сильно переработанная версия с Podlodka Techlead Crew, материалы предыдущей версии тут).
— Заметка про LTS-версии Java (в первую очередь про мотивацию перехода на Java 25 не только для Java-программистов, но и для тех, кто эксплуатирует Кассандры, Кафки, Эластики и другие инструменты, написанные на Java).
— Подборка материалов про Apache Kafka.
— Заметка про Joker 2025 (интересные доклады, инсайты по мотивам предстоящей конференции).
#офтоп #анонс
👍25💯5🤝2🤔1
Позвали на ближайшую онлайн-конференцию Podlodka Java Crew рассказать про переход на LTS-версию Java 25.
Своему выступлению дал название "Есть время объяснять, переходим на Java 25". Планирую расскзаать, почему Java 25 — подходящий релиз для миграции* не только для Java-программистов, но и для тех, кто эксплуатируют различные инструменты, написанные на Java (это различные Кассандры, Кафки, Эластики).
В докладе поговорим не только о фичах, которые мне кажутся наиболее интересными в плане миграции, но и о проблемах и сложностях, которые необходимо преодолевать при переходе на новые версии JDK.
*) спойлер: далеко не каждый такой инструмент готов сейчас к миграции. Это тоже обсудим.
#анонс #доклад #java #podlodka
Своему выступлению дал название "Есть время объяснять, переходим на Java 25". Планирую расскзаать, почему Java 25 — подходящий релиз для миграции* не только для Java-программистов, но и для тех, кто эксплуатируют различные инструменты, написанные на Java (это различные Кассандры, Кафки, Эластики).
В докладе поговорим не только о фичах, которые мне кажутся наиболее интересными в плане миграции, но и о проблемах и сложностях, которые необходимо преодолевать при переходе на новые версии JDK.
*) спойлер: далеко не каждый такой инструмент готов сейчас к миграции. Это тоже обсудим.
#анонс #доклад #java #podlodka
podlodka.io
Онлайн-конференция Podlodka Java Crew, сезон #8
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам java-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
🔥22👍2
Небольшая заметка про спортивное программирование.
Завершился финал Северной Евразии по спортивному программированию в рамках ICPC 2026:
— Всего участвовало 318 команд из России, Беларуси, Средней Азии и Закавказья.
— Первые три места заняли команды ВШЭ (Москва).
— Среди российских команд в ТОП-30 попали 4 команды не из Москвы и Санкт-Петербурга: ЧелГУ (Челябинск) — 7 место, НГУ (Новосибирск) — 8 место, УрФУ (Екатеринбург) — 19 и 28 места.
— На финал ICPC 2026 от североевразийского региона поедут 16 команд, среди которых 11 — команды российских вузов (от одного вуза может поехать только одна команда).
Таблица с результатами финала тут: https://nerc.itmo.ru/archive/2025/standings.html
#icpc
Завершился финал Северной Евразии по спортивному программированию в рамках ICPC 2026:
— Всего участвовало 318 команд из России, Беларуси, Средней Азии и Закавказья.
— Первые три места заняли команды ВШЭ (Москва).
— Среди российских команд в ТОП-30 попали 4 команды не из Москвы и Санкт-Петербурга: ЧелГУ (Челябинск) — 7 место, НГУ (Новосибирск) — 8 место, УрФУ (Екатеринбург) — 19 и 28 места.
— На финал ICPC 2026 от североевразийского региона поедут 16 команд, среди которых 11 — команды российских вузов (от одного вуза может поехать только одна команда).
Таблица с результатами финала тут: https://nerc.itmo.ru/archive/2025/standings.html
#icpc
Telegram
NERCNews
Также поздравляем команды, которые будут представлять свои университеты и Северную Евразию на финале ICPC 2026.
🟡HSE: FFTilted (Babin, Kudriashov, Romashov)
🟡SPb ITMO: HFTilted (Gainullin, Konovalov, Matveev)
🟡MIPT: MrZver (Belyaev, Ozhegov, Redko)
🟡Chelyabinsk…
🟡HSE: FFTilted (Babin, Kudriashov, Romashov)
🟡SPb ITMO: HFTilted (Gainullin, Konovalov, Matveev)
🟡MIPT: MrZver (Belyaev, Ozhegov, Redko)
🟡Chelyabinsk…
🔥5😍4👍2