Практически всегда читаю Хабр с телефона. Так вот в мобильном Хроме недавно появилась возможность сделать свайпом "назад" и "вперёд" (проведя горизонтально от края экрана на середине высоты). Работает во всём этом интернете, кроме Хабра. Очень неудобно возвращаться из комментариев в статью или из статьи к списку статей обычными кнопками внизу одной рукой (второй качаю дочку в кроватке).
Вот бы найти, если такой существует, список экзаменов и сертификаций по "всему этому IT". В том числе и как эти, CKA и CKS, а также Оракловые по Java и т.п.
C 11-й Java доступен httpClient, который реализует описанный выше неблокирующий подход. А с Spring 5 есть его обёртка — WebClient, которым можно заменить RestTemplate.
Вот нет, не обёртка над ним. Я сам, если честно, их не использую, но имея желание нагуглить подтверждение вашему утверждению, сделать этого, увы, не смог.
Внезапно, начав мердж из сторонней тулзы, не смог найти Resolve conflicts в Идее. Только зная, что они существуют, нашёл через Search everywhere. Верните, плз.
Спасибо за лайфхак!) Сейчас на проекте юзаю lb, но для себя выработал форматирование: каждый атрибут любого тёща, начиная со второго, с новой строки, чтобы преобразовать код из 2мерного в 1мерный по вертикали.
Да, часто видел, что пишут в нём только sql миграции, по-моему это ну такое, местами сомнительное. Почему тогда не flyway?)
Хотелось бы и ложку дёгтя :)
В большой команде, если используется Flyway, приходится придумывать костыли в виде сообщения в чатике "я занял номер миграции 187", либо использовать флаг outOfOrder, и всё равно на ревью могут выскочить одинаковые номера и придется править.
У ликвибейза xml многословен, но у yaml и других вариантов нет автодополнения.
У меня тут свой термин образовался: pet code in production project. Это когда вместо проверенного и знакомого кода суёшь в проект что-то новое и молодежное, потому что "ну а где и когда я это ещё попробую?".
Проекту год с небольшим, постоянно пишут код от 1.5 до 2.5 чел. Ребейзим постоянно, мерджи 99% только FF, история прекрасна и чиста. Вероятно, всё-таки большое значение имеет размер команды — чем меньше, тем проще так делать.
Лично я пользуюсь как IDEA, так и TortoiseGit — часть действий мне в нём делать привычнее.
Из лайфхаков. Если история ветки богатая на MR с базовой веткой и ребейз сложен из-за конфликтов, можно сделать Soft Reset на базовую ветку и закоммитить текущее состояние как единственный засквошенный коммит.
Добавлю, что в ряде случаев, когда объекты запросов / expected ответов большие, удобно их не собирать прямо тут, а всё-таки вынести в какой-нибудь .json в ресурсах, и вспомогательными методами (jackson-ом) читать, когда надо. Это в поддержку того, чтобы не использовать продуктовые мапперы.
Странно такое слышать. Спринг куда более магический, чем Ломбок. Документация небольшая и внятная, может быть просто у вас предвзятое отношение с каких-нибудь старых версий, когда ещё в нём были баги.
Однако, для использование в проекте jackson'а, необходимо дополнить наш клас, чтобы он успешно десериализовывался.
Нет, достаточно в lombok.config указать lombok.anyConstructor.addConstructorProperties (https://projectlombok.org/features/configuration), чтобы ломбок на конструкторы добавлял аннотацию ConstructorProperties, которую Джексон прекрасно понимает.
Мы на текущем проекте используем MySQL. У меня Windows, и поднятие чистого контейнера с docker hub занимает секунд 20, без pull. Миграций тоже около 100+, и, если не использовать tmpfs для data dir, поднятие контекста становится вечным. Ваш вариант (подготовить образ со схемой данных) тоже рассматривал, но сколкнулся с тем, что тесты все равно занимают много времени, если пишут на диск, а не в ОЗУ.
Сколько у вас тестов и как долго они выполняются? Не удалось ли вам с подготовкой образа как-то примонтировать tmpfs (может быть, копированием data dir через init.sh в образе)?
Если что, оставил свой путь в заметке: https://rocketscien.se/testcontainers
Мне кажется, что здесь для ГА слишком "плоское" пространство, простите. Про идею банить и сужать воронку: не сводится ли это всё в каком-то виде к градиентному спуску?
Замечание, не касающееся редактора.
Практически всегда читаю Хабр с телефона. Так вот в мобильном Хроме недавно появилась возможность сделать свайпом "назад" и "вперёд" (проведя горизонтально от края экрана на середине высоты). Работает во всём этом интернете, кроме Хабра. Очень неудобно возвращаться из комментариев в статью или из статьи к списку статей обычными кнопками внизу одной рукой (второй качаю дочку в кроватке).
Как бы, понимаю, что мелочь...
Вот бы найти, если такой существует, список экзаменов и сертификаций по "всему этому IT". В том числе и как эти, CKA и CKS, а также Оракловые по Java и т.п.
Я извиняюсь, но правды ради:
Вот нет, не обёртка над ним. Я сам, если честно, их не использую, но имея желание нагуглить подтверждение вашему утверждению, сделать этого, увы, не смог.
Хм :) Гарантия отчитывается с момента "продажи" (запуска)? :)
Внезапно, начав мердж из сторонней тулзы, не смог найти Resolve conflicts в Идее. Только зная, что они существуют, нашёл через Search everywhere. Верните, плз.
Справедливости ради, Java-имплементации миграций есть у обоих инструментов.
Спасибо за лайфхак!) Сейчас на проекте юзаю lb, но для себя выработал форматирование: каждый атрибут любого тёща, начиная со второго, с новой строки, чтобы преобразовать код из 2мерного в 1мерный по вертикали.
Да, часто видел, что пишут в нём только sql миграции, по-моему это ну такое, местами сомнительное. Почему тогда не flyway?)
Хотелось бы и ложку дёгтя :)
В большой команде, если используется Flyway, приходится придумывать костыли в виде сообщения в чатике "я занял номер миграции 187", либо использовать флаг outOfOrder, и всё равно на ревью могут выскочить одинаковые номера и придется править.
У ликвибейза xml многословен, но у yaml и других вариантов нет автодополнения.
У меня тут свой термин образовался: pet code in production project. Это когда вместо проверенного и знакомого кода суёшь в проект что-то новое и молодежное, потому что "ну а где и когда я это ещё попробую?".
rocketscien.se/testcontainers-2
Проекту год с небольшим, постоянно пишут код от 1.5 до 2.5 чел. Ребейзим постоянно, мерджи 99% только FF, история прекрасна и чиста. Вероятно, всё-таки большое значение имеет размер команды — чем меньше, тем проще так делать.
Лично я пользуюсь как IDEA, так и TortoiseGit — часть действий мне в нём делать привычнее.
Из лайфхаков. Если история ветки богатая на MR с базовой веткой и ребейз сложен из-за конфликтов, можно сделать Soft Reset на базовую ветку и закоммитить текущее состояние как единственный засквошенный коммит.
Добавлю, что в ряде случаев, когда объекты запросов / expected ответов большие, удобно их не собирать прямо тут, а всё-таки вынести в какой-нибудь .json в ресурсах, и вспомогательными методами (jackson-ом) читать, когда надо. Это в поддержку того, чтобы не использовать продуктовые мапперы.
Странно такое слышать. Спринг куда более магический, чем Ломбок. Документация небольшая и внятная, может быть просто у вас предвзятое отношение с каких-нибудь старых версий, когда ещё в нём были баги.
Нет, достаточно в lombok.config указать lombok.anyConstructor.addConstructorProperties (https://projectlombok.org/features/configuration), чтобы ломбок на конструкторы добавлял аннотацию ConstructorProperties, которую Джексон прекрасно понимает.
Мы на текущем проекте используем MySQL. У меня Windows, и поднятие чистого контейнера с docker hub занимает секунд 20, без pull. Миграций тоже около 100+, и, если не использовать tmpfs для data dir, поднятие контекста становится вечным. Ваш вариант (подготовить образ со схемой данных) тоже рассматривал, но сколкнулся с тем, что тесты все равно занимают много времени, если пишут на диск, а не в ОЗУ.
Сколько у вас тестов и как долго они выполняются? Не удалось ли вам с подготовкой образа как-то примонтировать tmpfs (может быть, копированием data dir через init.sh в образе)?
Если что, оставил свой путь в заметке: https://rocketscien.se/testcontainers
Мне кажется, что здесь для ГА слишком "плоское" пространство, простите. Про идею банить и сужать воронку: не сводится ли это всё в каком-то виде к градиентному спуску?
Я бы ещё добавил недавно появившуюся возможность давать доступ в группу проектов другой группе (например, "Developers").