- 1 044
- 9 299 677
JPoint, Joker и JUG ru
Russia
Приєднався 2 чер 2013
Joker и JPoint - две крупнейшие в России Java-конференции. JUG.ru (Java User Group) - сообщество, проводящее Java-митапы. В докладах на этих мероприятиях - всё, что может быть полезно Java-разработчику: от практической информации по использованию Spring Boot до принципов работы JVM «под капотом».
Ближайшая конференция: JPoint 2024, 17 апреля · Online
24-25 апреля · Москва
Подробности и билеты: cutt.ly/ewDhZNNc
Актуальные для конференции темы:
- VM/Runtime (JVM, JDK, Loom, байткод...)
- Тулинг и фреймворки (Spring, Hibernate, IDE, JUnit...)
- Архитектура (distributed, reactive, event-driven...)
- JVM-языки (Java, Kotlin, Scala...)
- Эксплуатация (CI/CD, Kubernetes, cloud, monitoring...)
Ближайшая конференция: JPoint 2024, 17 апреля · Online
24-25 апреля · Москва
Подробности и билеты: cutt.ly/ewDhZNNc
Актуальные для конференции темы:
- VM/Runtime (JVM, JDK, Loom, байткод...)
- Тулинг и фреймворки (Spring, Hibernate, IDE, JUnit...)
- Архитектура (distributed, reactive, event-driven...)
- JVM-языки (Java, Kotlin, Scala...)
- Эксплуатация (CI/CD, Kubernetes, cloud, monitoring...)
Максим Морев, Газпромбанк.Тех — Код, которого не должно быть: Vertical Slice Architecture в Пузырьке
Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября, Санкт-Петербург
- -
Сейчас много задач по рефакторингу или импортозамещению, разработчики собирают информацию по частям из хранимых процедур, описаний. Поделюсь своим опытом рефакторинга и переосмысления легаси-систем.
Как написал Эрик Эванс в своей книге «Предметно-ориентированное программирование (DDD). Структуризация сложных программных систем»: «Привести в соответствие фактическое поведение, смысловое содержание и внешнюю форму кода - все это требует дисциплины и определенного взгляда на архитектурное проектирование программы».
Как это сделать так, чтобы не сломать существующий код и не толкаться с разработчиками в репозитории, если они будут работать над параллельными процессами? Максим рекомендует использовать следующий набор инструментов: Bubble context, Vertical Slice Architecture, Feature toggles. На примерах спикер делится опытом, как можно улучшить легаси, в котором часто идут доработки.
Доклад будет полезен мидлам и старшим разработчикам.
Скачать презентацию с сайта JPoint - jrg.su/UWqbBr
- -
Сейчас много задач по рефакторингу или импортозамещению, разработчики собирают информацию по частям из хранимых процедур, описаний. Поделюсь своим опытом рефакторинга и переосмысления легаси-систем.
Как написал Эрик Эванс в своей книге «Предметно-ориентированное программирование (DDD). Структуризация сложных программных систем»: «Привести в соответствие фактическое поведение, смысловое содержание и внешнюю форму кода - все это требует дисциплины и определенного взгляда на архитектурное проектирование программы».
Как это сделать так, чтобы не сломать существующий код и не толкаться с разработчиками в репозитории, если они будут работать над параллельными процессами? Максим рекомендует использовать следующий набор инструментов: Bubble context, Vertical Slice Architecture, Feature toggles. На примерах спикер делится опытом, как можно улучшить легаси, в котором часто идут доработки.
Доклад будет полезен мидлам и старшим разработчикам.
Скачать презентацию с сайта JPoint - jrg.su/UWqbBr
Переглядів: 1 748
Відео
Владимир Хростицкий, Мир Plat.Form - Cassandra: путь в продакшен
Переглядів 1 тис.21 годину тому
Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября, Санкт-Петербург - - Современная разработка располагает богатым набором инструментов и технологий для решения тех или иных задач. В основном используются популярные и хорошо зарекомендовавшие себя продукты. Но иногда сложные задачи требуют применения новых, не совсем привычных технологических решений. Задача распределенного х...
Николай Комраков и Илья Смирнов, Гринатом - Интеграционная шина вместо SAP - при чем тут Java
Переглядів 61421 годину тому
Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября, Санкт-Петербург - - Как пришли к необходимости внедрения ESB-системы, а потом к ее импортозамещению (спойлер - уход SAP). Как сделали из open source отраслевое решение: оптимизация настройки потоков с помощью low-code решения, снижение стоимости интеграций; бесшовность - за счет готовности конвертеров шины SAP; аспекты безоп...
Сергей Синдеев, Группа «Рексофт» - Hibernate, OOM и ооочень длинные запросы
Переглядів 2,1 тис.21 годину тому
Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября, Санкт-Петербург - - Как бы мы ни хотели, утечки памяти иногда случаются. Рассматриваем, что же такое OOM, как искать его причину и чем могут помочь средства логирования и мониторинга такими средствами, как Kibana и Grafana. Получаем дамп с помощью Spring Actuator и VisualVM. Затем проводим анализ с помощью Eclipse MAT и Inte...
Александр Дроздов, Axiom JDK - Убираем мусор без следов
Переглядів 52021 годину тому
Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября, Санкт-Петербург - - Доклады о сборщиках мусора звучат на Java-конференциях уже более 10 лет. За это время наши коллеги успели рассказать и о способах настройки сборщиков мусора, и о технологиях, которые в них реализованы. Однако в настоящее время появились новые проблемы, требующие решения при выборе конфигурации Java. Техно...
Александр Козлов и Максим Чудновский, СберТех - Java в Service Mesh: Service Discovery для Istio
Переглядів 62321 годину тому
Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября, Санкт-Петербург - - Многие из нас, кто сталкивался с микросервисной архитектурой, знают, что одних маленьких сервисов недостаточно. Необходимо обеспечить их надежной средой обитания и информацией о местах расположения остальных сервисов. В докладе рассматриваем, как это можно сделать, если обычных средств обнаружения сервисо...
Открытие офлайн-части JPoint 2024
Переглядів 45121 день тому
Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября, Санкт-Петербург - - Говорим о расписании, сессиях и делимся информацией. Ведущие: Александр Нозик, Алексей Федоров.
Алексей Чернявский, Платформа Сфера - Как выжать все соки из Jenkins
Переглядів 1,6 тис.Місяць тому
Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября, Санкт-Петербург - - Спикер рассказывает, как построить CI/CD-продукт, перед которым стоит задача выдерживать 160000 сборок в сутки. В качестве базового продукта Алексей с командой взяли Jenkins с его преимуществами и недостатками. Провели анализ основных узких мест производительности в Jenkins и с головой окунулись в их реше...
Александр Казанцев, hh.ru - Scylla vs Cassandra = ?
Переглядів 1,6 тис.Місяць тому
Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября, Санкт-Петербург - - На многих проектах используются key-value хранилища, и hh.ru - не исключение. Однажды команда поняла, что Cassandra больше не укладывается в желанные миллисекунды. Попытались поднастроить, покрутить, но чуда не произошло. Попробовали альтернативные варианты и остановились на Scylla. Из доклада узнаем, как...
Никита Шубин, X5 Tech - Проблемы маленьких приложений при увеличении нагрузки по данным
Переглядів 1,2 тис.Місяць тому
Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября, Санкт-Петербург - - Эволюция приходит в большинство систем. Хорошо, если заранее подготовились к большой пользовательской нагрузке и соответствующему количеству данных: были собраны нефункциональные требования, создано архитектурное решение, проводился контроль над разработкой. Но часто бывают ситуации, когда система изначал...
Андрей Зарубин, Росбанк - Между прожаркой и карго-культом
Переглядів 802Місяць тому
Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября, Санкт-Петербург - - Спикер раскрывает необходимость процесса код-ревью, ловушки, в которые можно попасть при неправильной реализации, и специфику код-ревью в проектах на Java. Посмотрим на доступные всем инструменты, практики и их комбинации. Каждый найдет для себя то, что можно привнести в свой процесс код-ревью, чтобы улуч...
Андрей Околелов, РСХБ-Интех - Средство генерации SQL-запроса для упрощения задач по тестированию
Переглядів 792Місяць тому
Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября, Санкт-Петербург - - SQL-запрос написать просто, когда это обычный Select, но как становится сложно, когда критериев очень много, а вариативности еще больше! А если еще добавить команду разработчиков со своими тараканами, то процесс становится очень трудным. Спикер рассказывает о том, как внимание к деталям и смена фокуса: от...
Антон Ромза, ITFB Group - Работа с jsonb, массивами и комплексными типами PostgreSQL для JPA
Переглядів 2,2 тис.Місяць тому
Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября, Санкт-Петербург - - Один из важных моментов проектирования и разработки приложения - это дизайн хранения данных в БД. Зачастую сущности представлены полями базовых типов и имеют одномерную структуру. В докладе будут представлены шаблоны и паттерны использования нетривиальных типов данных PostgreSQL, которые помогут оптимизир...
Обсуждение от Сбера - Польза и вред Java-сообществ для инженеров
Переглядів 1 тис.Місяць тому
Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября, Санкт-Петербург - - Эксперты из разных сфер делятся опытом. Говорим о том, как возникают сообщества, какие есть риски и чем сообщества полезны инженерам и компании. Обсуждаем роли и как начать проявляться. Спикеры: - Николай Шипяков, Тинькофф. - Арина Штерн, Сбер. - Денис Родин, Сбер. - Петр Белкин, Сбер. - Семен Киреков, МТ...
Закрытие конференции Joker 2023
Переглядів 274Місяць тому
Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября, Санкт-Петербург - - Подводим итоги конференции, вспоминаем яркие моменты и рассказываем о дальнейших планах. Ведущие: Алексей Стукалов, Алексей Федоров.
Станислав Страупе - Квантовые вычисления: основные идеи и современное состояние технологии
Переглядів 1,6 тис.Місяць тому
Станислав Страупе - Квантовые вычисления: основные идеи и современное состояние технологии
Владимир Красильщик - The show must go on: нагрузка и оптимизация онлайн-конференции
Переглядів 525Місяць тому
Владимир Красильщик - The show must go on: нагрузка и оптимизация онлайн-конференции
Евгений Ненахов - Потоковая обработка с Kafka в условиях Big Data
Переглядів 2,5 тис.Місяць тому
Евгений Ненахов - Потоковая обработка с Kafka в условиях Big Data
Александр Нозик - Карты, схемы и Compose
Переглядів 731Місяць тому
Александр Нозик - Карты, схемы и Compose
Антон Котов - Reactive для CRUD: фантазии и реальность
Переглядів 3,2 тис.Місяць тому
Антон Котов - Reactive для CRUD: фантазии и реальность
Дмитрий Стогов - IR JIT Framework: база для следующего поколения JIT в PHP
Переглядів 316Місяць тому
Дмитрий Стогов - IR JIT Framework: база для следующего поколения JIT в PHP
Александра Волушкова - OpenAPI и как его можно применить для Kafka
Переглядів 698Місяць тому
Александра Волушкова - OpenAPI и как его можно применить для Kafka
Павел Кислов - Spring Security: повседневное и неочевидное
Переглядів 3 тис.Місяць тому
Павел Кислов - Spring Security: повседневное и неочевидное
Александр Козлов, Максим Чудновский - Правда ли, что Dubbo - это как gRPC, но из Китая?
Переглядів 264Місяць тому
Александр Козлов, Максим Чудновский - Правда ли, что Dubbo - это как gRPC, но из Китая?
Денис Габайдулин - Индексация в поисковой платформе Ozon
Переглядів 634Місяць тому
Денис Габайдулин - Индексация в поисковой платформе Ozon
Игорь Исаев - Запредельный язык: нелитературный русский, акустика речи и фонетика рэпа
Переглядів 286Місяць тому
Игорь Исаев - Запредельный язык: нелитературный русский, акустика речи и фонетика рэпа
Александр Пащенко - С SQL на Cassandra
Переглядів 576Місяць тому
Александр Пащенко - С SQL на Cassandra
Андрей Зубков - Утилита стратегического мониторинга PostgreSQL - pg_profile
Переглядів 394Місяць тому
Андрей Зубков - Утилита стратегического мониторинга PostgreSQL - pg_profile
Дмитрий Некрылов - Отказоустойчивый конечный автомат на Java и SQL
Переглядів 678Місяць тому
Дмитрий Некрылов - Отказоустойчивый конечный автомат на Java и SQL
Сергей Васильев - Как обработка XML приводит к проблемам с безопасностью? Разбираемся с XXE
Переглядів 302Місяць тому
Сергей Васильев - Как обработка XML приводит к проблемам с безопасностью? Разбираемся с XXE
Есть подозрение, что такой подход может заметно поднять сложность в персистентном слое. Если модели в слайсах будут ссылаться на общее состояние в БД, то придется поддерживать N мапперов. Плюс изобретать отдельные практики по миграциям схемы БД.
Это просто охуенно
А как потом новому в проекте человеку разобраться в этом зоопарке классов?
Ужас
Многоступенчатые собеседования - это крайне интересный ритуал вхождения в компанию, когда каждый, включая всех директоров, через этот ритуал когда-то проходил, мучился, готовился. Но есть нюанс - большинство высших технических руководителей в компаниях, практикующих подобное, либо вообще не проходят многоступенчатые собеседования, либо идут по другому треку, где нет языка и архитектуры, только менеджмент.
Еретик
По kjs и jt compose web доки голяк, туториалов практически нет. Особенно как tailwindcss завести в проект (это не сложно). Но большинство новичков, что ещё не выгорели от программирования как раз это и останавливает. А на подобных людях обычно и строится всё коммюнити. Попробую разные варианты запилить, если получится хорошо, попробую в прод затащить. Эта идея мне очень нравится (прям сильно). Хоть и не нравится идея кодить на реакте. Хочу vuejs на kotlin. Хочу VueKt.
Андрюша складно рассказывает, но грубиян неотёсанный.
Звук просто ужасный :( Ни громкости, ни качества
Спасибо за доклад! Очень неплохо)
Подскажите, проблема с backpressure решилась за 4 года? Неужели без RSocket это не решается? Спасибо!
Доклад хороший, спасибо!
Вот бы по названию доклада было понятно что внутри
Следующий шаг - отказ от ООП в пользу процедурного стиля. А там и до go to не далеко.
Очень похож на Александра Якушева из команды КВН Прима
Thanks, очень хороший доклад.
throughput [ˈθruːpʊt] пропускная способность, производительность, пропускной
schedule [ˈʃedjuːl] планировать, намечать, назначить
generate [ˈʤenəreɪt] порождать, производить, вырабатывать, создавать, породить, [вы]давать
Задача функции yield - передать значение повторителю и приостановить его до тех пор, пока не будет запрошено следующее значение.
yield [jiːld] дать, уступить, принести, произвести; урожай, доход, отдача, надой
Как может быть бедный Hikari при R2DBC, если там используется специальный реактивный пул? То есть автор указал причину бессмысленности реактивного стека из-за HikariCP, хотя сам и не использовал реактивный пул. К тому же данный пул уже автоматически идет со стартером spring-data-reactive
Я внимательно прослушала эту лекцию насчёт Hibernate. И всё прекрасно, всё объяснил очень хорошо. Остаётся только один вопрос - а на хрена козе баян???? То есть какая вообще польза от этого Hibernate??? Оказывается, что этот умный помощник очень старается помочь, и очень хорошо помогает, но делает это так, как он хочет. Не так, как хотите вы - а так, как он сам это понимает. То есть вместо того, чтобы тупо писать на Java и SQL, оптимизировать и организовывать код и писать подробные комментарии, вместо этого простого и тупого решения - мы используем передовые технологии, которые все сами сделают за нас. И они делают. Только опять таки, они это делают так, как им хочется. А программисты потом радостно и много работают, пытаясь догадаться, что именно этот прекрасный помощник опять вытворил, следуя своей странной логике.
24я минута «Событие знает как себя применить к агрегату». Кажется все должно быть наоборот - Агрегат слушает события и решает что из них к себе применить.
Уровень "экспертов" впечатляет. За такие доклады кто-то ещё деньги платит?
Данный метод гарантирует снижение производительности и не гарантирует отсутствие утечек данных. Есть множество мест, помимо кучи джавы, где эта утечка возможна: многочисленные системные кэши и буферы, оффхип память джавы, память выделяемая нативными методами и тд и тп. Потом есть системный менеджер памяти который может делать с памятью какие угодно оптимизации невидимые jvm. Данная проблема может быть решена только на системном уровне, например тотальным сквозным шифрованием памяти.
Очень рваная подача материала и очень однобокая точка зрения. Тяжело слушать и неявно появляются вопросики к эксертности докладчика. Представленный подход не про упрощение, он про примитивные проекты, где такие трюки действительно могут ускорить разработку без шанса поломать общие инварианты, например какой нить тупой CRUD.
Очень классный доклад, спасибо!
Вопрос по горизонтальной доработке - очень в тему. Как раз такие "непредвиденные" сценарии очень часто и встречаются на долгоживущих проектах. Т.е. долгое время и бизнес и разработка и аналитики живут в той парадигме, допустим, что сервис может предоставляться только "клиенту банка", а потом приходит новый бизнес со светлой идеей, что можно предоставлять какие-то услуги "не клиентам" и тут же начинаются "чудеса на виражах", как эту доработку воткнуть в существующий ландшафт (уже немаленький и в котором уже нет никого, кто знал бы все процессы от и до) и ничего нигде и ни у кого не сломать. Также не до конца понятно про хранение данных и его оптимизацию. То, что код дублируется - это понятно. Но судя по тому, что и репозитории внутри пакетов дублируются и сущности, то скорее всего и все данные в БД тоже начинают жить в разных таблицах / схемах / базах. Про фиче-тоглы, т.е. про "флажки", тоже очень вскользь пробежались, как будто это тривиальная проблема и никаких подводных камней там не бывает. Хотя на практике зачастую ПО начинает обрастать этими флажками и ветвистым кодом. Старое по какой-то причине не удаляется и оно продолжает жить в этой парадигме и распухает и становится слабо поддерживаемым и слабо тестируемым.
Вопросы совершенно валидные и злободневные! Каждый из них - тема как минимум для статьи. Про фича-флаги: действительно всё не так тривиально, особенно про их жизненный цикл. Про всё за 15 минут не рассказать, увы. Думаю, что тему как раз можно хорошенько прокачать ответами на ваши вопросы.
this is the reason we stopped using hibernate a long time ago, and just use plain jdbc. Things are much simpler and far more predictable
same, we are using sql with jooq, hibernate is a garbage
instead of MAT, you can use JOL, command line utility that does needs only a fraction of memory to tell you main things about your heapdump. Imagine a dump of 22GB, well you need at least that memory for even open MAT; jol can save you here big time
По факту все 30 минут это рассказ о проблеме, а на решение 1 минута. Лучше поподробнее бы рассказали про этот clause parameter padding и какие у него подводные камни. Он по умолчанию выключен и я очень сомневаюсь, что разработчики хибера решили, чтобы каждый сам натолкнулся на OutOfMemory, чтобы его включить
На прошлой работе при IN с uuid больше 1000 штук - постгрес кидал исключение. И мы били на батчи. Вот так как у тебя в примере кода. Правда там postgres pro был, и компетентные дба. Может что-то докрутили. А на другом проекте был оракл. У вас какая тут бд была? - Услышал ответ. Обычный постгрес? А что за ентити вы тянете? Простые из одной таблицы? Upd. Полагаю, дба у вас нет?
На простом постгресе делал батчи по несколько тысяч айдишек в IN. Тут скорее проблема в том, что размер батча изначально пустили на самотёк.
Про MAT + работу с хипом, конечно, спасибо, но так и осталось за кадром, что это за чудесные такие запросы с 1кк/2кк параметров в условии IN. Нарезка на батчи, конечно, тут спасла в какой-то мере, но может стоит глянуть в саму логику запроса, почему и зачем он вообще такой нужен? Как будто какой-то JOIN применили. На позапрошлом проекте были DBA и они очень люто и нещадно карали, вот за такие вот IN. Даже какая-то инструкция была, на эту тему, что так делать запрещено. Ну, там и монолит до кучи был... и весьма нагруженный.
Прекрасный доклад. Отчитан грамотно
А есть пример реального применения данного вектора атаки? Очень сомнительно выглядит такая защита памяти, если у злоумышленника есть возможность запускать произвольный код на Си на той же машине. Что ему мешает читать всю память, снимать дампы и делать что угодно ещё?
Да jpoint нынче не тот
Я не понял, как запрос слали в базу? Без препаред стейтмента? Почему там сто тыщ миллионов параметров, а не один параметр типа лист?
лист в качестве параметра (jpql, hql) в конечном запросе (sql) разбивается отдельным параметром для каждого элемента рассказчику на 32:47 предложили передавать массивом, но он сослался на громоздкую реализацию и допиливание диалекта
То есть в препаред стейтменте на коннекшене было сто тыщ миллионов аргументов, а не один типа массив?
@@anton-tkachenko да. притом рассказчик посчитал миллион аргументов нормой, а два миллиона уже нарушением логики т.к. данных в бд меньше)
@@tonytissot9372 кстати, интересно было бы понять, почему там этих значений было больше чем записей в БД, вполне возможно там какое-то декартово произведение случилось, обычно в таких случаях DISTINCT применяют, чтобы от дублей избавляться
Зачем оптимизировать код если можно масштабировать ресурсы :)
Причина и ваша основная ошибка -- это включенный своп! На серверах он не только бесполезен, но и вреден. Когда и так нагруженное приложение начинает свопится, все встаёт колом без возможности что-либо разобрать. А вот без свопа Линукс бы быстро прибил сервис по причине OOM и написал бы об этом в syslog, что сразу бы положило конец вашей эпопее.
Докладчик сильно нервничал, также приводит примеры кода который должен что то пояснить, но 50% примеров не усппваешь досмотреть его до середины, для ютубчика ок, можно паузу нажать, в лайве думаю была боль, оставалось только этот код рабочий.
Евгений, подскажите пожалуйста, как мы можем загрузить свои базы в MTS BigData? Как можно совершать массовые действия для всех объявлений сразу? и как подключить рублёвый биллинг? заранее спасибо!
1:00 что такое стратегический мониторинг? 2:30 задачи стратегического мониторинга 3:50 доступные средства 4:58 The Cumulative statistic system и перечень представлений 8:30 Архитектура решения 9:45 процедура установки 10:20 первый снимок и что происходит 14:10 сбор снимков с серверов 19:00 построение отчёта 20:25 содержание отчёта 25:10 пример инцидента 28:30 смотрим таблицы 29:47 построение сравнительного отчёта 33:52 расширенные возможности pgpro_pwr 35:00 распределение нагрузки 36:20 vacuum 39:00 расширенные статистики очистки 39:10 где взять zubkov-andrei/pg_profile 39:15 смотрим отчёт 41:11 ответы на вопросы 41:35 можно ли настроить формат вывода 42:00 можно ли сравнивать 3 отчёта? 42:30 можно ли доверять цифрам? 43:30 любимая секция 44:40 следующее добавление в отчёт
Егор - мозг!
Жесть конечно как тяжко всё это воспринимать человеку недавно зашедшему в спринг, по 20 раз пересматриваю каждый момент, чтобы понять что он там пытался осветить.
Погодите, это rxJava?
Дайте Оскар 32му дереву)))
Если уж такую телегу и разгонять, то уже лучше про шарпы рассказывать, а не джаву. При сильном желании и сову на глобус натянуть можно. В принципе как развлечение может и ок, но смысла перегонять такие проекты именно на жава ваще смысла не вижу. Не зря тот же юнити с шарпами, а анриал с плюсами. Имхо...
40:46 вот может тогда не писать логику в сервисах, чтобы для её тестирования нужно было поднимать контекст? Плюс вопросец, а разве если у тебя будут разные конфигурации для тестов, то это будет плохо, потому что будут для тестов разные контексты подниматься. Вроде же контекст кешируется для тестов нет? А если это так и есть разные конфигурации контекстов, то это будет медленнее работать.
Мдаааа...