Что такое Deadlock или как намеренно создать взаимную блокировку потоков, а затем исправить алгоритм на языке программирования Java.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Как устроить Deadlock, а затем уйти от взаимной блокировки навсегда
00:00 | Вступление
00:30 | Алгоритм возникновения Deadlock
01:50 | Пример в коде
07:26 | Уходим от блокировки
Что такое Deadlock или как намеренно создать взаимную блокировку потоков, а затем исправить алгоритм на языке программирования Java.
00:30 | Алгоритм возникновения Deadlock
01:50 | Пример в коде
07:26 | Уходим от блокировки
Что такое Deadlock или как намеренно создать взаимную блокировку потоков, а затем исправить алгоритм на языке программирования Java.
❤4🔥1
erid: 2RanyoHigbi
CodeFest — это ежегодная тёплая ламповая айтишная конференция, на которую слетаются русскоговорящие айтишники с разных уголков страны, чтобы встретиться с коллегами, поделиться новостями и обсудить последние тенденции в мире разработки.
Ключевые направления программы: Backend, Frontend, Management, QA, Data Science, Mobile, Design, Web 3, System Аnalysis, а также дискуссионный народный поток Kvartirniki и вдохновляющие Keynote выступления от айти-звёзд.
Изюминка CodeFest — неформальное общение, которого много, которое невероятно дружелюбное, и зачином для которого служат те самые выступления в ключевых секциях. Начали с доклада в зале — закончили спонтанным митапом в холле.
Присоединяйтесь к невероятной атмосфере конференции:
■ 25-26 мая, Новосибирск, Экспоцентр.
■ 1800 участников на одной площадке.
■ Участие офлайн и онлайн.
■ Более 120 докладов.
■ Насыщенная программа от партнёров конференции.
Приезжайте командой, участвуйте лично.
Регистрация 👉 https://l.codefest.ru/javalib
Реклама. АО "Тинькофф Банк", ИНН 7710140679, лицензия ЦБ РФ № 2673
CodeFest — это ежегодная тёплая ламповая айтишная конференция, на которую слетаются русскоговорящие айтишники с разных уголков страны, чтобы встретиться с коллегами, поделиться новостями и обсудить последние тенденции в мире разработки.
Ключевые направления программы: Backend, Frontend, Management, QA, Data Science, Mobile, Design, Web 3, System Аnalysis, а также дискуссионный народный поток Kvartirniki и вдохновляющие Keynote выступления от айти-звёзд.
Изюминка CodeFest — неформальное общение, которого много, которое невероятно дружелюбное, и зачином для которого служат те самые выступления в ключевых секциях. Начали с доклада в зале — закончили спонтанным митапом в холле.
Присоединяйтесь к невероятной атмосфере конференции:
■ 25-26 мая, Новосибирск, Экспоцентр.
■ 1800 участников на одной площадке.
■ Участие офлайн и онлайн.
■ Более 120 докладов.
■ Насыщенная программа от партнёров конференции.
Приезжайте командой, участвуйте лично.
Регистрация 👉 https://l.codefest.ru/javalib
Реклама. АО "Тинькофф Банк", ИНН 7710140679, лицензия ЦБ РФ № 2673
❤5👍3🔥2
Перегрузка — очень мощная техника для случаев, когда нужно одинаковое имя метода с разными параметрами. Вместо того, чтобы дублировать имя метода и добавлять беспорядок в ваш код, вы можете просто перегрузить его. Это позволяет сохранять код чистым, а также снижает риск того, что дублирующие методы сломают часть системы.
Как это провернуть? Расскажет опытный эксперт на открытом практическом уроке от OTUS! Встречаемся 26 апреля в 20:00 мск в преддверии старта курса «Углубленное изучение языка Java».
Все участники вебинара получат специальную цену на обучение и персональную консультацию от менеджеров OTUS!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2🔥1
В некоторых случаях вам может понадобиться реализовать единую точку входа для множества REST API, реализованных в рамках разных сервисов. В экосистеме Spring Cloud для данных целей существует Spring Cloud Gateway, позволяющий реализовать шлюз API (API Gateway) и гибко настраивать маршрутизацию запросов к вашим REST API.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
SC24EP18 Шлюз API Spring Cloud Gateway - Разработка проектов со Spring
В некоторых случаях вам может понадобиться реализовать единую точку входа для множества REST API, реализованных в рамках разных сервисов. В экосистеме Spring Cloud для данных целей существует Spring Cloud Gateway, позволяющий реализовать шлюз API (API Gateway)…
👍14❤3🔥2
Сертификат по кибербезопасности на новом курсе для старших разработчиков Java
🚀 12 мая мы запускаем юбилейный поток курса Senior Java Developer с новой программой.
Что изменилось? Мы усилили курс новым модулем по кибербезопасности.
❓Зачем Java-разработчику разбираться в кибербезопасности? Логичный вопрос. И вот что мы ответим: наши партнеры провели опрос: на что бизнес обращает внимание при выборе платформы корпоративного банкинга. 100% ответов — защищенный доступ к финансам в личном кабинете с использованием двухфакторной аутентификации. Умеешь защищать данные при разработке — продукт еще больше ценят на рынке. Все просто!
✅ Итак, что тебя ждет на курсе:
- Развертывание приложений с помощью DevSecOps
- Моделирование схемы контроля доступа для систем и приложений
- Углубленное изучение Java Concurrency и Spring
- Архитектура — паттерны проектирования, Docker, Kubernetes
- Двойная сертификация по Java и кибербезопасности
💥И это лишь часть программы нового курса. Специально для тебя открыли 5 мест с индивидуальным менторским сопровождением. После прохождения шести образовательных модулей мы поможем тебе с трудоустройством у наших партнеров: Сбера, СДЭК и ЦБ.
➡️ Почитать подробности и оставить заявку можно здесь: https://clck.ru/3AJF4C
Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2VtzqwA4mtc
🚀 12 мая мы запускаем юбилейный поток курса Senior Java Developer с новой программой.
Что изменилось? Мы усилили курс новым модулем по кибербезопасности.
❓Зачем Java-разработчику разбираться в кибербезопасности? Логичный вопрос. И вот что мы ответим: наши партнеры провели опрос: на что бизнес обращает внимание при выборе платформы корпоративного банкинга. 100% ответов — защищенный доступ к финансам в личном кабинете с использованием двухфакторной аутентификации. Умеешь защищать данные при разработке — продукт еще больше ценят на рынке. Все просто!
✅ Итак, что тебя ждет на курсе:
- Развертывание приложений с помощью DevSecOps
- Моделирование схемы контроля доступа для систем и приложений
- Углубленное изучение Java Concurrency и Spring
- Архитектура — паттерны проектирования, Docker, Kubernetes
- Двойная сертификация по Java и кибербезопасности
💥И это лишь часть программы нового курса. Специально для тебя открыли 5 мест с индивидуальным менторским сопровождением. После прохождения шести образовательных модулей мы поможем тебе с трудоустройством у наших партнеров: Сбера, СДЭК и ЦБ.
➡️ Почитать подробности и оставить заявку можно здесь: https://clck.ru/3AJF4C
Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2VtzqwA4mtc
👍3🔥2
При разработке ПО хорошей практикой является описание некоторого контракта, на который будут опираться все компоненты системы при взаимодействии друг с другом.
Для SOAP у вас есть WSDL, а вот для REST-сервисов такого однозначного способа описания контрактов изначально нет. Какое-то время автор для этого использовал связку из Spring RestDocs и Spring Cloud Contract, но со временем и возросшей популярностью Swagger переключился на описание REST-сервисов в формате OpenAPI.
В этом ролике автор постарается наглядно продемонстрировать способ валидации REST-сервисов на Spring при помощи Swagger во время выполнения интеграционных тестов.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Тестирование и валидация REST-сервисов - Spring и Swagger
При разработке ПО хорошей практикой является описание некоторого контракта, на который будут опираться все компоненты системы при взаимодействии друг с другом.
Для SOAP у вас есть WSDL, а вот для REST-сервисов такого однозначного способа описания контрактов…
Для SOAP у вас есть WSDL, а вот для REST-сервисов такого однозначного способа описания контрактов…
👍10🔥7❤4
Forwarded from Яндекс
Подписывайтесь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4🎉3
Автор перечислит и покажет пять способов создать и запустить потоки (thread) в Java
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Как можно создать потоки в Java?
Перечислю и покажу пять способов создать и запустить потоки (thread) в Java
👍11🔥3❤2
❓Как писать автотесты так, чтобы они выполняли свою функцию с вашим минимальным участием?
Об этом рассказываем на онлайн-курсе «Java QA Engineer. Professional» в OTUS.
За 4 месяца обучения вы научитесь организовывать CI-процесс, выполнять тесты в несколько потоков, автоматизировать API/Mobile и разберетесь в различных фреймворках и библиотеках.
Все это позволит вам предвидеть поведение системы и получать понятные отчеты.
В качестве проектной работы вы построите полноценный проект по UI-автоматизации с соответствующей инфраструктурой.
👉🏻 ПРОЙТИ ТЕСТ — https://vk.cc/cwrvBg
Пройдете тест, получите специальные условия для поступления на курс и доступ к 27 открытым урокам курса.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Об этом рассказываем на онлайн-курсе «Java QA Engineer. Professional» в OTUS.
За 4 месяца обучения вы научитесь организовывать CI-процесс, выполнять тесты в несколько потоков, автоматизировать API/Mobile и разберетесь в различных фреймворках и библиотеках.
Все это позволит вам предвидеть поведение системы и получать понятные отчеты.
В качестве проектной работы вы построите полноценный проект по UI-автоматизации с соответствующей инфраструктурой.
👉🏻 ПРОЙТИ ТЕСТ — https://vk.cc/cwrvBg
Пройдете тест, получите специальные условия для поступления на курс и доступ к 27 открытым урокам курса.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
❤5👍4
В девятнадцатом ролике цикла речь пойдёт о развёртывании сервисов в контейнерах Docker, автор расскажет о том, как можно написать универсальный Dockerfile, продемонстрирует запуск сервисов в контейнерах. А затем он перейдёт к Docker Compose, при помощи которого можно управлять развёртыванием не одного контейнера, а набором контейнеров, необходимых для работы проекта. Кроме этого вкратце будут затронуты темы использование механизма поиска сервисов и масштабирования в Docker Compose.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
SC24EP19 Контейнеризация приложений с Docker и Docker Compose - Разработка проектов со Spring
В девятнадцатом ролике цикла речь пойдёт о развёртывании сервисов в контейнерах Docker, я расскажу о том, как можно написать универсальный Dockerfile, продемонстрирую запуск сервисов в контейнерах. А затем я перейду к Docker Compose, при помощи которого можно…
❤15👍8🔥7
Проверь насколько хорошо ты знаешь Java и готов освоить Spring!
Ответишь — пройдешь на продвинутый курс "Разработчик на Spring Framework" от OTUS по специальной цене.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruPlease open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🔥2☃1🎄1
Что такое механизм try-with-resources?
Данная конструкция, которая появилась в Java 7, позволяет использовать блок try-catch не заботясь о закрытии ресурсов, используемых в данном сегменте кода. Ресурсы объявляются в скобках сразу после try, а компилятор уже сам неявно создаёт секцию finally, в которой и происходит освобождение занятых в блоке ресурсов. Под ресурсами подразумеваются сущности, реализующие интерфейс java.lang.Autocloseable.
Стоит заметить, что блоки catch и явный finally выполняются уже после того, как закрываются ресурсы в неявном finally.
Данная конструкция, которая появилась в Java 7, позволяет использовать блок try-catch не заботясь о закрытии ресурсов, используемых в данном сегменте кода. Ресурсы объявляются в скобках сразу после try, а компилятор уже сам неявно создаёт секцию finally, в которой и происходит освобождение занятых в блоке ресурсов. Под ресурсами подразумеваются сущности, реализующие интерфейс java.lang.Autocloseable.
Стоит заметить, что блоки catch и явный finally выполняются уже после того, как закрываются ресурсы в неявном finally.
👍29❤6🔥3
❓ Как наладить взаимодействие Kafka и Clickhouse?
Apache Kafka и ClickHouse — два популярных инструмента обработки и анализа данных, которые так нужны дата-инженерам и разработчикам.
👉 На открытом практическом уроке от OTUS опытный эксперт расскажет, как превратить две этих технологии в эффективный тандем!
— Рассмотрим Apache Kafka. Познакомимся с ClickHouse.
— Узнаем, как организовать загрузку данных из Kafka в ClickHouse.
— Ответим на все возникающие вопросы.
Встречаемся 8 мая в 20:00 мск в преддверии старта курса «Apache Kafka».
⚡️ Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://vk.cc/cwxovA
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Apache Kafka и ClickHouse — два популярных инструмента обработки и анализа данных, которые так нужны дата-инженерам и разработчикам.
👉 На открытом практическом уроке от OTUS опытный эксперт расскажет, как превратить две этих технологии в эффективный тандем!
— Рассмотрим Apache Kafka. Познакомимся с ClickHouse.
— Узнаем, как организовать загрузку данных из Kafka в ClickHouse.
— Ответим на все возникающие вопросы.
Встречаемся 8 мая в 20:00 мск в преддверии старта курса «Apache Kafka».
⚡️ Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://vk.cc/cwxovA
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
❤5👍2🔥1
Платформа приложений для разработки искусственного интеллекта
Язык: Java
💥Stars: 2.0
📝Forks: 447
https://github.com/spring-projects/spring-ai
Язык: Java
💥Stars: 2.0
📝Forks: 447
https://github.com/spring-projects/spring-ai
GitHub
GitHub - spring-projects/spring-ai: An Application Framework for AI Engineering
An Application Framework for AI Engineering. Contribute to spring-projects/spring-ai development by creating an account on GitHub.
👍17❤5🔥1
Worker Thread
Worker Thread (рабочий поток) — это обычный поток, который выполняет задачи в фоновом режиме, отдельно от главного потока приложения.
Использование Worker Thread:
— Worker Threadы отлично подходят для выполнения длительных задач, которые не должны блокировать главный поток.
— Отделение длительных задач от главного потока позволяет сохранить отзывчивость интерфейса пользователя.
— Распределение задач между несколькими Worker Threadами может повысить производительность приложения, особенно на многоядерных процессорах.
Worker Thread (рабочий поток) — это обычный поток, который выполняет задачи в фоновом режиме, отдельно от главного потока приложения.
Использование Worker Thread:
— Worker Threadы отлично подходят для выполнения длительных задач, которые не должны блокировать главный поток.
— Отделение длительных задач от главного потока позволяет сохранить отзывчивость интерфейса пользователя.
— Распределение задач между несколькими Worker Threadами может повысить производительность приложения, особенно на многоядерных процессорах.
👍23❤6🔥3😁2
Что такое «IS-A» отношение?
Такое отношение относится к понятию наследования и полиморфизма в ООП. Оно также называется «является типом» или «является подтипом». Это отношение указывает на то, что один класс является подклассом другого класса.
Наследование позволяет создавать новый класс на основе существующего класса. Подкласс наследует поля и методы суперкласса, что позволяет расширять функциональность и переиспользовать код. «IS-A» отношение означает, что объекты подкласса могут быть рассматриваемыми как объекты суперкласса, так как они наследуют его свойства и методы.
Такое отношение относится к понятию наследования и полиморфизма в ООП. Оно также называется «является типом» или «является подтипом». Это отношение указывает на то, что один класс является подклассом другого класса.
Наследование позволяет создавать новый класс на основе существующего класса. Подкласс наследует поля и методы суперкласса, что позволяет расширять функциональность и переиспользовать код. «IS-A» отношение означает, что объекты подкласса могут быть рассматриваемыми как объекты суперкласса, так как они наследуют его свойства и методы.
🔥16👍11❤3
👨💻 Потренируйтесь проходить собеседования с разработчиками из Яндекса, VK, Ozon, Тинькофф и других ведущих компаний, а также получите подробный отзыв о том, на какую зарплату и грейд вы можете расчитывать, или над чем вам еще стоит поработать.
Потренироваться проходить собеседования
Потренироваться проходить собеседования
👍9❤4
Aegis Authenticator — это бесплатное, безопасное приложение 2FA с открытым исходным кодом для Android.
Язык: Java
💥Stars: 7.8
📝Forks: 336
https://github.com/beemdevelopment/Aegis
Язык: Java
💥Stars: 7.8
📝Forks: 336
https://github.com/beemdevelopment/Aegis
GitHub
GitHub - beemdevelopment/Aegis: A free, secure and open source app for Android to manage your 2-step verification tokens.
A free, secure and open source app for Android to manage your 2-step verification tokens. - beemdevelopment/Aegis
👍12😁3🔥2
В двадцатом ролике цикла речь пойдёт о Kubernetes, инструменте, который в значительной степени упрощает развёртывание и сопровождение проектов с микросервисной архитектурой в облачной инфраструктуре. Оркестраторы, реализующие спецификации k8s, позволяют автоматизировать процессы развёртывания, миграции и масштабирования сервисов. В рамках ролика будет продемонстрировано развёртывание ранее написанных сервисов, а так же используемой инфраструктуры. Примеры в ролике демонстрируются при помощи minikube, минималистичного дистрибутива Kubernetes для локального тестирования.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
SC24EP20 Развёртывание сервисов в Kubernetes - Разработка проектов со Spring
В двадцатом ролике цикла речь пойдёт о Kubernetes, инструменте, который в значительной степени упрощает развёртывание и сопровождение проектов с микросервисной архитектурой в облачной инфраструктуре. Оркестраторы, реализующие спецификации k8s, позволяют …
👍9❤6
Освойте Kotlin DSL, чтобы выгодно отличаться от конкурентов в разработке
Немногие могут похвастаться этим навыком, хотя владение Kotlin DSL является одним из показателей квалификации разработчика💻
Приходите на бесплатный практический урок «Просто и практично о Kotlin DSL» от OTUS. Спикер Сергей Окатов — кандидат физико-математических наук и руководитель управления разработки в БФТ.ЦР. На вебинаре мы:
- обсудим, что такое Kotlin DSL и когда уместно его применять;
- из каких элементов он состоит;
- на практике напишем несложный пример.
Встречаемся 15 мая в 19:00 мск в преддверии старта курса «Kotlin Backend Developer. Professional». Все участники вебинара получат специальную цену на обучение и персональную консультацию от менеджеров OTUS!
Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://vk.cc/cwCGCX
Немногие могут похвастаться этим навыком, хотя владение Kotlin DSL является одним из показателей квалификации разработчика💻
Приходите на бесплатный практический урок «Просто и практично о Kotlin DSL» от OTUS. Спикер Сергей Окатов — кандидат физико-математических наук и руководитель управления разработки в БФТ.ЦР. На вебинаре мы:
- обсудим, что такое Kotlin DSL и когда уместно его применять;
- из каких элементов он состоит;
- на практике напишем несложный пример.
Встречаемся 15 мая в 19:00 мск в преддверии старта курса «Kotlin Backend Developer. Professional». Все участники вебинара получат специальную цену на обучение и персональную консультацию от менеджеров OTUS!
Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://vk.cc/cwCGCX
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru❤8👍3🔥3