Седьмой ролик цикла посвящён разработке реактивных REST-сервисов на основе Spring WebFlux и Project Reactor.
В цикле роликов "Разработка проектов со Spring" автор рассказывает на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониторинг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
SC24EP07 Разработка реактивных REST-сервисов - Разработка проектов со Spring
Седьмой ролик цикла посвящён разработке реактивных REST-сервисов на основе Spring WebFlux и Project Reactor.
В цикле роликов "Разработка проектов со Spring" я рассказываю на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке …
В цикле роликов "Разработка проектов со Spring" я рассказываю на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке …
🔥12❤4👍3
Присоединяйтесь к открытому уроку «Знакомство с Armeria»
На уроке мы погрузимся в удивительный мир фреймворка Armeria! Узнаем, какие возможности он предоставляет и как эффективно использовать его вместе с SpringBoot.
Урок посвящен курсу «Java Developer. Professional» от OTUS, где вы сможете расширить свои знания и навыки в Java разработке, и в частности, познакомиться с передовыми технологиями, такими как Armeria.
🔥 Не упустите шанс поучаствовать в увлекательном уроке и расширить свои профессиональные горизонты!
👉 Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись:
https://otus.pw/tdwx/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3🔥1
Напишите однопоточную программу, которая заставляет коллекцию выбросить ConcurrentModificationException.
Вопрос с подвохом: ConcurrentModificationException к многопоточности никакого отношения не имеет. Возникает эта штука тогда, когда мы пытаемся модифицировать коллекцию во время итерирования по ней.
Вопрос с подвохом: ConcurrentModificationException к многопоточности никакого отношения не имеет. Возникает эта штука тогда, когда мы пытаемся модифицировать коллекцию во время итерирования по ней.
👍32🔥4❤2
Из джуна в мидла вместе с лидером* российского ИТ-рынка — Холдингом Т1 🚀
Открытые школы Т1 — это уникальная возможность для быстрого роста в ИТ. Внутри два трека: образовательный ИТ-интенсив + карьерный в формате offer weeks в Т1.
🤚 Поможем прокачать скилы для развития внутри профессии, если ты:
- имеешь опыт работы java-разработчиком от года
- хочешь присоединиться к команде Т1.
Лучшим назначим интервью и направим оффер!
В программу интенсива входит:
🔹Spring framework
🔹Docker
🔹Синхронное и асинхронное взаимодействие, брокеры сообщений 🔹Паттерны, SOLID
📚 Формат: онлайн и по вечерам (8 часов в неделю на вебинары и практику).
Длительность — 1 месяц, стартуем в конце марта!
🏳️ Подай заявку до 26 марта.
*По версии CNews Analytics 2022, TAdviser 2021 и RAEX 2023
Реклама. ООО "Т1". ИНН 7720484492.
Открытые школы Т1 — это уникальная возможность для быстрого роста в ИТ. Внутри два трека: образовательный ИТ-интенсив + карьерный в формате offer weeks в Т1.
🤚 Поможем прокачать скилы для развития внутри профессии, если ты:
- имеешь опыт работы java-разработчиком от года
- хочешь присоединиться к команде Т1.
Лучшим назначим интервью и направим оффер!
В программу интенсива входит:
🔹Spring framework
🔹Docker
🔹Синхронное и асинхронное взаимодействие, брокеры сообщений 🔹Паттерны, SOLID
📚 Формат: онлайн и по вечерам (8 часов в неделю на вебинары и практику).
Длительность — 1 месяц, стартуем в конце марта!
🏳️ Подай заявку до 26 марта.
*По версии CNews Analytics 2022, TAdviser 2021 и RAEX 2023
Реклама. ООО "Т1". ИНН 7720484492.
🔥10❤5👍4
Классические задачи Computer Science на языке Java (2021) PDF, EPUB
Cтолкнулись с «неразрешимой» проблемой при разработке программного обеспечения? Скорее всего, кто-то уже справился с этой задачей, и вы можете не ломать голову. Дэвид Копец собрал наиболее полезные готовые решения, принципы и алгоритмы. «Классические задачи Computer Science на языке Java» — это мастер-класс по программированию, содержащий 55 практических примеров, затрагивающих самые актуальные темы: базовые алгоритмы, ограничения, искусственный интеллект и многое другое.
В этой книге:
- Рекурсия, мемоизация и битовые манипуляции.
- Поисковые, графовые и генетические алгоритмы.
- Проблемы ограничений.
- Кластеризация методом k-среднего, нейронные сети и состязательный поиск.
Cтолкнулись с «неразрешимой» проблемой при разработке программного обеспечения? Скорее всего, кто-то уже справился с этой задачей, и вы можете не ломать голову. Дэвид Копец собрал наиболее полезные готовые решения, принципы и алгоритмы. «Классические задачи Computer Science на языке Java» — это мастер-класс по программированию, содержащий 55 практических примеров, затрагивающих самые актуальные темы: базовые алгоритмы, ограничения, искусственный интеллект и многое другое.
В этой книге:
- Рекурсия, мемоизация и битовые манипуляции.
- Поисковые, графовые и генетические алгоритмы.
- Проблемы ограничений.
- Кластеризация методом k-среднего, нейронные сети и состязательный поиск.
👍22🔥5❤3
Как архитектурно правильно подходить к избыточности при проектировании высоконагруженных систем?
Узнайте на бесплатном практическом уроке «Балансировка и отказоустойчивость приложений с HAProxy» от OTUS, где вы вместе с опытным экспертом разберете:
1. Как настраивать TCP / UDP балансировщик
2. Как работает и настраивается haproxy
3. Ответы на все возникающие вопросы по теме
Занятие пройдёт 28 марта в 20:00 мск и будет приурочено к старту курса «Highload Architect». Доступна рассрочка на обучение!
Пройдите короткий тест прямо сейчас, чтобы занять место на открытом уроке и получить запись: https://otus.pw/AmS0d/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Узнайте на бесплатном практическом уроке «Балансировка и отказоустойчивость приложений с HAProxy» от OTUS, где вы вместе с опытным экспертом разберете:
1. Как настраивать TCP / UDP балансировщик
2. Как работает и настраивается haproxy
3. Ответы на все возникающие вопросы по теме
Занятие пройдёт 28 марта в 20:00 мск и будет приурочено к старту курса «Highload Architect». Доступна рассрочка на обучение!
Пройдите короткий тест прямо сейчас, чтобы занять место на открытом уроке и получить запись: https://otus.pw/AmS0d/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
❤6
На что обращают внимание на техническом собеседовании на позицию Senior Java Dev рекрутеры?
🤔 А на чем делают акцент интервьюеры?
С первого взгляда кажется, что пройти такое собеседование – миссия из разряда «невыполнимых». Однако это не так. И это мы докажем тебе на нашем воркшопе.
✅ 26 марта в 19:30 мы проведем онлайн техническое собеседование на позицию Senior Java Developer.
В прямом эфире расскажем о частых ошибках в CV, как их не допустить, и разберем несколько резюме. А ты сможешь пройти реальное собеседование на позицию Senior Java Developer в компанию «Цифровые привычки».
📩 Присылай свое резюме до начала воркшопа к нам на почту: v.isaev@dhabits.ru
👉 И регистрируйся здесь: https://clck.ru/39bomd
Техническое собеседование проведет Роберт Мазитов, Java Architect, преподаватель на курсе Senior Java Developer.
Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2VtzqxUoYzZ
🤔 А на чем делают акцент интервьюеры?
С первого взгляда кажется, что пройти такое собеседование – миссия из разряда «невыполнимых». Однако это не так. И это мы докажем тебе на нашем воркшопе.
✅ 26 марта в 19:30 мы проведем онлайн техническое собеседование на позицию Senior Java Developer.
В прямом эфире расскажем о частых ошибках в CV, как их не допустить, и разберем несколько резюме. А ты сможешь пройти реальное собеседование на позицию Senior Java Developer в компанию «Цифровые привычки».
📩 Присылай свое резюме до начала воркшопа к нам на почту: v.isaev@dhabits.ru
👉 И регистрируйся здесь: https://clck.ru/39bomd
Техническое собеседование проведет Роберт Мазитов, Java Architect, преподаватель на курсе Senior Java Developer.
Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2VtzqxUoYzZ
❤3👍3🔥2
Библиотека Apache Commons BeanUtils
Это набор утилит для работы с Java-бинами в проектах на Java. Java-бин — это простой класс Java, который следует определенным соглашениям:
Он имеет поля (атрибуты) для хранения данных.
Он предоставляет методы доступа (геттеры и сеттеры) для чтения и записи значений этих полей.
Обычно он имеет пустой конструктор по умолчанию.
Библиотека BeanUtils упрощает работу с такими классами, избавляя вас от необходимости вручную вызывать методы доступа.
Это набор утилит для работы с Java-бинами в проектах на Java. Java-бин — это простой класс Java, который следует определенным соглашениям:
Он имеет поля (атрибуты) для хранения данных.
Он предоставляет методы доступа (геттеры и сеттеры) для чтения и записи значений этих полей.
Обычно он имеет пустой конструктор по умолчанию.
Библиотека BeanUtils упрощает работу с такими классами, избавляя вас от необходимости вручную вызывать методы доступа.
👍15❤3🔥2
Ответишь — пройдешь на продвинутый курс "Разработчик на Spring Framework" от OTUS по специальной цене.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3❤2
BrokenBarrierException
Это исключение, которое возникает в Java, когда поток пытается ждать на барьере, который находится в сломанном состоянии или когда пытается войти в барьер, который переходит в сломанное состояние во время ожидания.
Как исправить:
👉 Обработайте исключение BrokenBarrierException в коде.
👉 Убедитесь, что все потоки, которые будут ждать на барьере, завершатся до того, как вы его сломаете.
👉 Используйте CyclicBarrier вместо Barrier, если вам нужно сбросить барьер и запустить его снова.
Это исключение, которое возникает в Java, когда поток пытается ждать на барьере, который находится в сломанном состоянии или когда пытается войти в барьер, который переходит в сломанное состояние во время ожидания.
Как исправить:
👉 Обработайте исключение BrokenBarrierException в коде.
👉 Убедитесь, что все потоки, которые будут ждать на барьере, завершатся до того, как вы его сломаете.
👉 Используйте CyclicBarrier вместо Barrier, если вам нужно сбросить барьер и запустить его снова.
❤5😁4👍2🎉2
Знаешь, что senior от middle отличает не только опыт коммерческой разработки, но и знание более продвинутых концепций Java?
✅ Мы разработали для тебя лучшую программу, чтобы ты стал востребованным senior-специалистом за 4 месяца.
Бронируй место на курсе SENIOR JAVA DEV прямо сейчас.
Курс рассчитан на опытных разработчиков, которые стремятся углубить свои знания и навыки в области Java.
📝 Что тебя ждет:
- погружение в Java Concurrency и Spring,
- изучение работы и создание Java Servlets,
- тестирование с использованием JUnit и Mockito,
- развитие soft skills для позиции Senior-разработчика,
- и многое другое.
👉 Всего: 22 лекции, 18 домашних заданий, поддержка и консультации с ментором и подготовка к техническому собеседованию.
К концу курса ты будешь готов подать заявку на должность основного разработчика, технического руководителя или архитектора Java. А мы проведем с тобой реальное собеседование на позицию Senior Java Dev в «Цифровые Привычки».
🗓 Старт: 2 апреля
Регистрируйся на курс по ссылке.
Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2VtzqvK44C5
✅ Мы разработали для тебя лучшую программу, чтобы ты стал востребованным senior-специалистом за 4 месяца.
Бронируй место на курсе SENIOR JAVA DEV прямо сейчас.
Курс рассчитан на опытных разработчиков, которые стремятся углубить свои знания и навыки в области Java.
📝 Что тебя ждет:
- погружение в Java Concurrency и Spring,
- изучение работы и создание Java Servlets,
- тестирование с использованием JUnit и Mockito,
- развитие soft skills для позиции Senior-разработчика,
- и многое другое.
👉 Всего: 22 лекции, 18 домашних заданий, поддержка и консультации с ментором и подготовка к техническому собеседованию.
К концу курса ты будешь готов подать заявку на должность основного разработчика, технического руководителя или архитектора Java. А мы проведем с тобой реальное собеседование на позицию Senior Java Dev в «Цифровые Привычки».
🗓 Старт: 2 апреля
Регистрируйся на курс по ссылке.
Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2VtzqvK44C5
👍6❤3🔥2
В IDEA появился терминал нового поколения
В IDE от JetBrains появился новый терминал (бета), который можно попробовать, начиная с версии IDE 2024.1. В настоящее время он поддерживает только Bash, Zsh и PowerShell, другие оболочки находятся в разработке.
Из данной статьи вы узнаете обо всех фичах и планах, связанных с новым терминалом.
Читать статью
В IDE от JetBrains появился новый терминал (бета), который можно попробовать, начиная с версии IDE 2024.1. В настоящее время он поддерживает только Bash, Zsh и PowerShell, другие оболочки находятся в разработке.
Из данной статьи вы узнаете обо всех фичах и планах, связанных с новым терминалом.
Читать статью
The JetBrains Blog
The New Terminal (Beta) Is Now in JetBrains IDEs | The IntelliJ IDEA Blog
The new terminal (Beta) is now in JetBrains IDEs and will be available in the new UI starting from the 2024.1 version of the IDEs.
👍20❤4🎉4🔥3❤🔥2
Повышение квалификации для архитекторов, разработчиков и тимлидов
Освойте Software Architect на профессиональном уровне и расширьте свои карьерные возможности
Уникальная программа, топовые преподаватели и огромное количество практики
Стартуем уже 29 марта! Доступна рассрочка на обучение. А еще мы уговорили создателей подарить участникам вебинара скидку на курс 10% по 🎁 промокоду soft10
Пройдите короткий тест и узнайте, готовы ли вы к профессиональному росту: https://vk.cc/cvJ17N
Освойте Software Architect на профессиональном уровне и расширьте свои карьерные возможности
Уникальная программа, топовые преподаватели и огромное количество практики
Стартуем уже 29 марта! Доступна рассрочка на обучение. А еще мы уговорили создателей подарить участникам вебинара скидку на курс 10% по 🎁 промокоду soft10
Пройдите короткий тест и узнайте, готовы ли вы к профессиональному росту: https://vk.cc/cvJ17N
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍10😁5❤3🔥2
В Java 22 есть JEP 447, отменяющий запрет размещать в конструкторах код до вызова this() и super(). В этом видео Nicolai Parlog рассказывает, зачем изначально был введен запрет, какой код мы теперь можем писать благодаря этому JEP, и какую задачу он решает.
YouTube
Java 22 Previews Statements Before `super(...)` and `this(...)` - Inside Java Newscast #62
Whether for validation, preparation, or splitting and sharing arguments, it can be quite annoying that Java doesn't allow statements before the `super(...)` or `this(...)` call in a constructor. Luckily Java 22 is about to change that with JEP 447, which…
❤6👍4
3, 2 … Остановимся здесь.⤵️
Потому что 2 недель достаточно, чтобы познакомиться с основами Java и понять, подходит ли вам это направление.
Не обещаем, что будет легко, но интересно, полезно и недорого (всего 990 рублей!) – гарантируем.
Расклад такой: мы даем вам базу — больше 60 уроков, вебинары, лайвкодинг, а вы пишете собственную программу.
Если переживаете — не переживайте :) Рядом всегда будет наставник, готовый ответить на любой ваш вопрос.
⏰ Старт курса уже 4 апреля, присоединяйтесь!
Потому что 2 недель достаточно, чтобы познакомиться с основами Java и понять, подходит ли вам это направление.
Не обещаем, что будет легко, но интересно, полезно и недорого (всего 990 рублей!) – гарантируем.
Расклад такой: мы даем вам базу — больше 60 уроков, вебинары, лайвкодинг, а вы пишете собственную программу.
Если переживаете — не переживайте :) Рядом всегда будет наставник, готовый ответить на любой ваш вопрос.
⏰ Старт курса уже 4 апреля, присоединяйтесь!
👍3❤2🔥1
Задача с LeetCode (Minimum Path Sum)
Дана двумерная матрица M x N, заполненная неотрицательными числами. Необходимо найти путь из левого верхнего угла в правый нижний, который будет иметь наименьшую сумму чисел на своем пути. Двигаться при этом можно только вниз и вправо.
Для решения воспользуемся динамическим программированием:
⏺ Первые два цикла for обновляют значения в первой строке и первом столбце, добавляя значения ячеек сверху и слева соответственно.
⏺ Последний цикл for обновляет остальные значения внутри массива grid, выбирая минимальное значение из верхней и левой ячейки и добавляя его к текущей ячейке.
⏺ Конечный результат возвращается из последней ячейки массива grid.
Дана двумерная матрица M x N, заполненная неотрицательными числами. Необходимо найти путь из левого верхнего угла в правый нижний, который будет иметь наименьшую сумму чисел на своем пути. Двигаться при этом можно только вниз и вправо.
Для решения воспользуемся динамическим программированием:
⏺ Первые два цикла for обновляют значения в первой строке и первом столбце, добавляя значения ячеек сверху и слева соответственно.
⏺ Последний цикл for обновляет остальные значения внутри массива grid, выбирая минимальное значение из верхней и левой ячейки и добавляя его к текущей ячейке.
⏺ Конечный результат возвращается из последней ячейки массива grid.
👍10🔥5❤4🎅2
❓Как разработчику повысить свой уровень программирования?
Начните с бесплатного практического урока «Создание словаря, 1-3 способ» от OTUS, где вы вместе с опытным экспертом:
- реализуете популярную структуру данных «ассоциативный массив» для хранения пар (ключ, значение);
- рассмотрите три способа решения этой задачи и сравните их эффективность;
- реализуете способы односвязного списка, динамического массива и отсортированного массива методом вставки.
Занятие пройдёт 1 апреля в 20:00 мск в рамках курса «Алгоритмы и структуры данных». Доступна рассрочка на обучение!
👉 Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://otus.pw/25h3/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Начните с бесплатного практического урока «Создание словаря, 1-3 способ» от OTUS, где вы вместе с опытным экспертом:
- реализуете популярную структуру данных «ассоциативный массив» для хранения пар (ключ, значение);
- рассмотрите три способа решения этой задачи и сравните их эффективность;
- реализуете способы односвязного списка, динамического массива и отсортированного массива методом вставки.
Занятие пройдёт 1 апреля в 20:00 мск в рамках курса «Алгоритмы и структуры данных». Доступна рассрочка на обучение!
👉 Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://otus.pw/25h3/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
❤8🔥2👍1
В восьмом ролике цикла о разработке проектов со Spring демонстрируется работа с реактивными API Spring Data на примере взаимодействия с MongoDB.
В цикле роликов "Разработка проектов со Spring" автор рассказывает на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониториг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
SC24EP08 Работа с реактивными базами данных - Разработка проектов со Spring #spring #java #mongodb
В восьмом ролике цикла о разработке проектов со Spring демонстрируется работа с реактивными API Spring Data на примере взаимодействия с MongoDB.
В цикле роликов "Разработка проектов со Spring" я рассказываю на простых примерах о процессе разработки веб-приложений…
В цикле роликов "Разработка проектов со Spring" я рассказываю на простых примерах о процессе разработки веб-приложений…
👍21🔥6❤3