За три недели, прошедшие с момент предыдущей публикации про Joker, мы анонсировали несколько новых докладчиков и докладов, о которых я и расскажу в этом посте.
Подробности — как всегда под катом.
Андрей Солнцев известен многим читателям как один из организаторов таллинского Devclub, как отличный спикер и как разработчик фреймворка Selenide для автоматического тестирования UI на вебе. Кроме того, Андрей — разработчик компании Codeborne, в которой они с коллегами за последние 4 года сделали несколько больших проектов на Play Framework (версии 1.2-1.3, на Scala-версию решили не переходить), включая известный интернет-банк. Доклад Андрея — о том, какие плюсы и минусы есть у RoR-подобного Play им с коллегами удалось обнаружить.
Владимир Ситников, опытнейший Performance-инженер из NetCracker, расскажет о том, что делать, если вы наткнулись на нетривиальный OutOfMemoryError. В докладе будут рассмотрены примеры коварных OOM и подходы к анализу причин их возникновения. Полученные знания позволят слушателям научиться уверенно разбирать дампы памяти и избегать шаблонов кода, приводящих к утечкам.
Nicolas Frankel расскажет нам о мутационном тестировании. Обычно, когда говорят о качестве автоматического тестирования в проекте, то речь заходит о метриках типа Code Coverage в самых разных смыслах этого термина. Тем не менее, если и иной подход, основанный на модификации байткода. Условно говоря, давайте возьмем и хакнем пару инструкций в байткоде тестируемого класса: заменим плюс на минус, больше на меньше, 5 на 6 и т.п. Если после этого наши тесты начнут валиться — значит, ок, тесты, вероятно, действительно что-то проверяют. А вот если нет — тогда у нас проблемы. В конце доклада Николас покажет демо на PIT.
Кстати, пару лет назад о PIT на Joker рассказывал Глеб gvsmirnov Смирнов. Будет очень интересно сравнить два этих доклада.
Тагир Валеев, известный на хабре как lany, дебютирует на Joker с рассказом о тестировании производительности. Да-да, бенчмарки, куда ж без них. В качестве подопытных кроликов будут взяты примеры использования новомодного Stream API, которые будут гоняться против аналогичных примеров на классическом API (Collections). Как мы любим, будет много кишочков, оптимизации JIT, инлайнинг и все такое. Доклад научит избегать некоторых ошибок при написании бенчмарков, использовать и интерпретировать диагностические опции HotSpot JVM и лучше понять, как исполняется ваш код.
Антон Кекс и Андрей Солнцев у себя в Codeborne уже много летупарываются как могут практикуют кучу моднейших практик современной разработки: Agile, XP, TDD, Pair Programming и много других баззвордов. Одним забавным приемом является пинг-понг — метод, когда два разработчика (Pair Programming) перекидываются кусками кода. Сначала я пишу новый тест (TDD) и прошу тебя модифицировать наш код так, чтобы этот тест начал проходить. Потом мы меняемся ролями, и ты пишешь для меня новый падающий тест, а моя задача — заставить его работать. В общем, действительно пинг-понг! Естественно, парни будут показывать Live Demo и поговорят о плюсах и минусах такого подхода.
В общем, не хардкором единым. Развлекаться тоже надо!
Вся остальная информация о конференции есть на ее сайте.
Как всегда, жду ваши вопросы в комментариях.
- Андрей Солнцев aka asolntsev расскажет о плюcах и минусах Play Framework (речь пойдет о ветке 1.3);
- Владимир Ситников aka vladimirsitnikov покажет, что делать, если у вас выскочила ошибка типа OutOfMemory;
- Nicolas Frankel к рассказу о Spring Boot for DevOps добавит рассказ о мутационном тестировании;
- Антон Кекс aka antonkeks и Андрей Солнцев aka asolntsev покажут нам технику Ping-pong Programming — гибрид парного програмирования и TDD;
- наконец, наш дебютант Тагир Валеев aka lany покажет некоторые штуки, которые делает HotSpot на примере сравнения производительности Stream API и Collections API.
Подробности — как всегда под катом.
Андрей Солнцев известен многим читателям как один из организаторов таллинского Devclub, как отличный спикер и как разработчик фреймворка Selenide для автоматического тестирования UI на вебе. Кроме того, Андрей — разработчик компании Codeborne, в которой они с коллегами за последние 4 года сделали несколько больших проектов на Play Framework (версии 1.2-1.3, на Scala-версию решили не переходить), включая известный интернет-банк. Доклад Андрея — о том, какие плюсы и минусы есть у RoR-подобного Play им с коллегами удалось обнаружить.
Владимир Ситников, опытнейший Performance-инженер из NetCracker, расскажет о том, что делать, если вы наткнулись на нетривиальный OutOfMemoryError. В докладе будут рассмотрены примеры коварных OOM и подходы к анализу причин их возникновения. Полученные знания позволят слушателям научиться уверенно разбирать дампы памяти и избегать шаблонов кода, приводящих к утечкам.
Nicolas Frankel расскажет нам о мутационном тестировании. Обычно, когда говорят о качестве автоматического тестирования в проекте, то речь заходит о метриках типа Code Coverage в самых разных смыслах этого термина. Тем не менее, если и иной подход, основанный на модификации байткода. Условно говоря, давайте возьмем и хакнем пару инструкций в байткоде тестируемого класса: заменим плюс на минус, больше на меньше, 5 на 6 и т.п. Если после этого наши тесты начнут валиться — значит, ок, тесты, вероятно, действительно что-то проверяют. А вот если нет — тогда у нас проблемы. В конце доклада Николас покажет демо на PIT.
Кстати, пару лет назад о PIT на Joker рассказывал Глеб gvsmirnov Смирнов. Будет очень интересно сравнить два этих доклада.
Тагир Валеев, известный на хабре как lany, дебютирует на Joker с рассказом о тестировании производительности. Да-да, бенчмарки, куда ж без них. В качестве подопытных кроликов будут взяты примеры использования новомодного Stream API, которые будут гоняться против аналогичных примеров на классическом API (Collections). Как мы любим, будет много кишочков, оптимизации JIT, инлайнинг и все такое. Доклад научит избегать некоторых ошибок при написании бенчмарков, использовать и интерпретировать диагностические опции HotSpot JVM и лучше понять, как исполняется ваш код.
Антон Кекс и Андрей Солнцев у себя в Codeborne уже много лет
В общем, не хардкором единым. Развлекаться тоже надо!
Вся остальная информация о конференции есть на ее сайте.
Как всегда, жду ваши вопросы в комментариях.