Я на 100% согласен с названием вашего канала. Вы реально джава Гуру😂 даже боюсь представить сколько тысяч строк кода у вас за плечами) рассказываете доступно и довольно сжато, идеальный баланс! Как всегда благодарю за ваш труд! 👏👍
Мне сильно не хватало этого описания в начале видео. Сборка Docker-образа в два этапа выполняется для достижения нескольких важных целей: 1. Уменьшение размера конечного образа - Первая стадия использует тяжелый базовый образ, включающий инструменты сборки (например, Maven и JDK), необходимые для компиляции и сборки приложения. Мы не собираем jar файл с IDEA, он собирается в образе. - Вторая стадия использует более легкий базовый образ, включающий только то, что необходимо для выполнения приложения (например, только JRE). Maven при этом, сыграл свою роль - собрал *.jar файл приложения с необходимыми зависимостями и не будет включен в контейнер. Это позволяет значительно уменьшить размер конечного образа, так как не включаются инструменты сборки и их зависимости. 2. Повышение безопасности - Разделение стадий сборки и выполнения помогает уменьшить поверхность атаки. Инструменты сборки и исходный код не включаются в конечный образ, что делает его более безопасным. 3. Оптимизация кэширования - Docker кэширует каждую инструкцию в Dockerfile. Если вы измените что-то в коде, кэш предыдущих этапов (например, установка зависимостей) останется актуальным, что ускоряет сборку. Использование двух этапов позволяет использовать этот механизм кэширования более эффективно. 4. Разделение ответственности - Разделение процесса на этапы помогает логически разграничить сборку и выполнение. Это упрощает управление и понимание процесса сборки, а также облегчает отладку и тестирование.
все описанное это более углубленная часть и все эти 4 темы стоит рассматривать отдельно, очень много там фишек и ньюсов на этом видео просто показаны основы docker спасибо за дополнения и думаю автор раскроет данные темы позже
@java-guru добрый вечер. А у вас есть понятное объяснение изоляциях в транзакциях, чтобы посмотрел и понял, как их использовать? Снимали уже такое видео?
Есть видео по JDBC там наглядно про уровни изоляции и какие проблемы параллельного доступа решают. Есть по Spring Data JPA там по транзакциям в спринге. Тему которую любят на собесах - какие бывают проблемы с транзакциями в слое сервисов и как решаются еще не снимал
Я на 100% согласен с названием вашего канала. Вы реально джава Гуру😂 даже боюсь представить сколько тысяч строк кода у вас за плечами) рассказываете доступно и довольно сжато, идеальный баланс! Как всегда благодарю за ваш труд! 👏👍
Спасибо, мне важно получать обратную связь!)
Спасибо большое!
С нетерпением ждем продолжения!
Тема очень актуальная
Спасибо, ок)
Сейчас не могу посмотреть, но нравятся прошлые видео, поэтому продолжай.
Если есть возможность, то лучше бы сложные темы/инструменты/проектирование
Отлично! Спасибо!
Ждем продолжения!
Мне сильно не хватало этого описания в начале видео.
Сборка Docker-образа в два этапа выполняется для достижения нескольких важных целей:
1. Уменьшение размера конечного образа
- Первая стадия использует тяжелый базовый образ, включающий инструменты сборки (например, Maven и JDK), необходимые для компиляции и сборки приложения. Мы не собираем jar файл с IDEA, он собирается в образе.
- Вторая стадия использует более легкий базовый образ, включающий только то, что необходимо для выполнения приложения (например, только JRE). Maven при этом, сыграл свою роль - собрал *.jar файл приложения с необходимыми зависимостями и не будет включен в контейнер. Это позволяет значительно уменьшить размер конечного образа, так как не включаются инструменты сборки и их зависимости.
2. Повышение безопасности
- Разделение стадий сборки и выполнения помогает уменьшить поверхность атаки. Инструменты сборки и исходный код не включаются в конечный образ, что делает его более безопасным.
3. Оптимизация кэширования
- Docker кэширует каждую инструкцию в Dockerfile. Если вы измените что-то в коде, кэш предыдущих этапов (например, установка зависимостей) останется актуальным, что ускоряет сборку. Использование двух этапов позволяет использовать этот механизм кэширования более эффективно.
4. Разделение ответственности
- Разделение процесса на этапы помогает логически разграничить сборку и выполнение. Это упрощает управление и понимание процесса сборки, а также облегчает отладку и тестирование.
все описанное это более углубленная часть и все эти 4 темы стоит рассматривать отдельно, очень много там фишек и ньюсов
на этом видео просто показаны основы docker
спасибо за дополнения и думаю автор раскроет данные темы позже
Да, спасибо на курсе Java developer разбираем на практике углубленно докер и кубер, в формате видео еще нет такого
очень жду про k8s. спасибо!!!!!!!!!!
@java-guru добрый вечер. А у вас есть понятное объяснение изоляциях в транзакциях, чтобы посмотрел и понял, как их использовать? Снимали уже такое видео?
th-cam.com/video/sulbrQt9cwc/w-d-xo.html
th-cam.com/video/QZ9rXZT0DlQ/w-d-xo.html
Есть видео по JDBC там наглядно про уровни изоляции и какие проблемы параллельного доступа решают. Есть по Spring Data JPA там по транзакциям в спринге. Тему которую любят на собесах - какие бывают проблемы с транзакциями в слое сервисов и как решаются еще не снимал
@@java-guru спасибо за ответ