Готовы улучшить свое владение Java?
Присоединяйся к нашему каналу - https://t.iss.one/java_secrets 📲
Свежие советы, лучшие практики, примеры кода и обсуждения, чтобы стать настоящим профессионалом в программировании на Java.
Повышай свой уровень!
Присоединяйся к нашему каналу - https://t.iss.one/java_secrets 📲
Свежие советы, лучшие практики, примеры кода и обсуждения, чтобы стать настоящим профессионалом в программировании на Java.
Повышай свой уровень!
❤5👍2🔥1
Во втором ролике цикла автор рассказывает об особенностях разработки REST-сервисов с помощью Spring WebMVC.
В цикле роликов "Разработка проектов со Spring" автор рассказывает на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониторинг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
SC24EP02 Разработка REST-сервиса - Разработка проектов со Spring #java #spring #rest
Во втором ролике цикла я рассказываю об особенностях разработки REST-сервисов с помощью Spring WebMVC.
В цикле роликов "Разработка проектов со Spring" я рассказываю на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования…
В цикле роликов "Разработка проектов со Spring" я рассказываю на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования…
👍16🔥4❤3
Хочешь сделать свое приложение на Java более производительным и улучшить конкурентный доступ к данным? Присоединяйся к интенсиву по многопоточному программированию от HeadBridge!
С 11 по 25 марта ты узнаешь о процессах и потоках, о синхронизации и проблемах многопоточных приложений. Мы расскажем о неизменяемых объектах, блокировках, пулах потоков и исполнительных службах. Как результат, ты научишься применять полученные знания на практике, решив типовую многопоточную задачу с реального проекта.
Преподаватель:
Александр Громов – Senior Java developer в Сбере, опыт программирования на Java - 5 лет.
Ты с нами? Тогда отправляй «хочу в интенсив» сюда 👉 @DVHeadBridge и следуй дальнейшим инструкциям от нашего менеджера.
Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2Vtzqw9awCe
С 11 по 25 марта ты узнаешь о процессах и потоках, о синхронизации и проблемах многопоточных приложений. Мы расскажем о неизменяемых объектах, блокировках, пулах потоков и исполнительных службах. Как результат, ты научишься применять полученные знания на практике, решив типовую многопоточную задачу с реального проекта.
Преподаватель:
Александр Громов – Senior Java developer в Сбере, опыт программирования на Java - 5 лет.
Ты с нами? Тогда отправляй «хочу в интенсив» сюда 👉 @DVHeadBridge и следуй дальнейшим инструкциям от нашего менеджера.
Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2Vtzqw9awCe
👍7❤2🔥2😁2
StringBuilder
StringBuilder — это класс для работы с изменяемыми строками, аналогичный StringBuffer. API класса StringBuilder такой же, как у StringBuffer, он также хранит строку в виде модифицируемого массива символов.
Но, в отличие от StringBuffer, StringBuilder не является потокобезопасным. Он работает быстрее за счет отсутствия синхронизации.
Поэтому его рекомендуется использовать в однопоточных приложениях для работы со строками, когда нет необходимости в синхронизации.
При создании можно задать начальную емкость buffer'а в виде размера массива символов.
Если строка превышает текущую емкость, она автоматически расширяется с сохранением содержимого.
StringBuilder — это класс для работы с изменяемыми строками, аналогичный StringBuffer. API класса StringBuilder такой же, как у StringBuffer, он также хранит строку в виде модифицируемого массива символов.
Но, в отличие от StringBuffer, StringBuilder не является потокобезопасным. Он работает быстрее за счет отсутствия синхронизации.
Поэтому его рекомендуется использовать в однопоточных приложениях для работы со строками, когда нет необходимости в синхронизации.
При создании можно задать начальную емкость buffer'а в виде размера массива символов.
Если строка превышает текущую емкость, она автоматически расширяется с сохранением содержимого.
👍21❤5🔥3
Пройди тест по Java от OTUS
Проверь насколько хорошо ты знаешь Java и готов к прокачке!
Ответишь — пройдешь на продвинутый курс "Java Developer. Advanced" от OTUS по специальной цене, а также получишь доступ к записям открытых уроков курса.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3
Какой результат выведет следующая программа?
Anonymous Quiz
21%
static1A
16%
static123A
22%
1
12%
123staticA
8%
1staticA
21%
staticA
👍19🔥3❤1
Смартфон за ваш ответ!
Исследовательская компания OMI проводит опрос среди IT-специалистов.
Пройдите по ссылке, ответьте на несколько вопросов и получите шанс выиграть последнюю модель передового смартфона!
Примите участие в опросе прямо сейчас — это займет минимум времени.
Исследовательская компания OMI проводит опрос среди IT-специалистов.
Пройдите по ссылке, ответьте на несколько вопросов и получите шанс выиграть последнюю модель передового смартфона!
Примите участие в опросе прямо сейчас — это займет минимум времени.
👍5🔥4❤2
Selector
Класс Selector используется для организации многоканального неблокирующего ввода-вывода.
Основная идея в том, что Selector позволяет одному потоку следить за состоянием множества каналов (сокетов, файловых каналов) и обрабатывать их события (готовность к чтению/записи).
Возможности Selector:
— Регистрация множества каналов в Selector для мониторинга.
— Проверка готовности зарегистрированных каналов к операциям чтения, записи.
— Извлечение готовых каналов и выполнение операций с ними.
— Отмена регистрации каналов в Selector.
Использование Selector позволяет избежать блокировки на операциях чтения/записи по каналам и эффективно масштабировать приложение для одновременной работы с большим количеством соединений.
Класс часто применяется в сетевых серверах для неблокирующей обработки большого числа клиентских соединений в одном потоке.
Класс Selector используется для организации многоканального неблокирующего ввода-вывода.
Основная идея в том, что Selector позволяет одному потоку следить за состоянием множества каналов (сокетов, файловых каналов) и обрабатывать их события (готовность к чтению/записи).
Возможности Selector:
— Регистрация множества каналов в Selector для мониторинга.
— Проверка готовности зарегистрированных каналов к операциям чтения, записи.
— Извлечение готовых каналов и выполнение операций с ними.
— Отмена регистрации каналов в Selector.
Использование Selector позволяет избежать блокировки на операциях чтения/записи по каналам и эффективно масштабировать приложение для одновременной работы с большим количеством соединений.
Класс часто применяется в сетевых серверах для неблокирующей обработки большого числа клиентских соединений в одном потоке.
👍17❤2🔥2
Акция в Ситилинк! Успейте приобрести ноутбук OSiO FocusLine 15.6” со скидкой 4000 рублей! Это идеальный выбор для работы, учебы или развлечений. Не упустите шанс получить качественный ноутбук по выгодной цене. Акция ограничена по времени и распространяется на выделенный ассортимент.
😁8👍5❤2☃1
CompletableFuture
CompletableFuture в пакете java.util.concurrent является классом, который предоставляет мощный и гибкий подход к асинхронному программированию. Он позволяет выполнять асинхронные операции и обрабатывать их результаты, комбинировать несколько операций и управлять зависимостями между ними.
Помимо операций, представленных на изображении, CompletableFuture также предоставляет множество других методов для работы с асинхронными операциями, таких как thenApply(), thenCompose(), thenCombine(), exceptionally() и другие, которые позволяют обрабатывать результаты, комбинировать операции, обрабатывать исключения и многое другое. Это делает CompletableFuture мощным инструментом для асинхронного программирования.
CompletableFuture в пакете java.util.concurrent является классом, который предоставляет мощный и гибкий подход к асинхронному программированию. Он позволяет выполнять асинхронные операции и обрабатывать их результаты, комбинировать несколько операций и управлять зависимостями между ними.
Помимо операций, представленных на изображении, CompletableFuture также предоставляет множество других методов для работы с асинхронными операциями, таких как thenApply(), thenCompose(), thenCombine(), exceptionally() и другие, которые позволяют обрабатывать результаты, комбинировать операции, обрабатывать исключения и многое другое. Это делает CompletableFuture мощным инструментом для асинхронного программирования.
👍22🔥4❤3🎉2
Какие знания и навыки проверяют на техническом собеседовании на позицию Java Middle Developer?
Кроме знаний Git, Maven и Jenkis смотрят, есть ли опыт многопоточного программирования, работы с Hibernate, Oracle/Postgres, Spring Framework (Spring Boot).
💥И это только начало! Полный список must have навыков middle-специалиста обсудим на нашем вебинаре 12 марта в 19:00 МСК. А ты сможешь проверить свои силы и пройти техническое собеседование в «Цифровые Привычки» на позицию Java Middle Developer.
👉Зарегистрироваться на вебинар здесь: https://clck.ru/39G4ay
Техническое собеседование проведет Егор Шохалевич, senior java-разработчик в РОСБАНК, преподаватель курса SENIOR JAVA DEVELOPER в HeadBridge .
🔥Но и это еще не все! Присылай свое резюме до начала вебинара, а в прямом эфире 12 марта Егор разберет его и даст рекомендации по улучшению. Это поможет тебе сделать еще один шаг в карьере middle-специалиста.
Отправляй свое резюме на почту [email protected] и не забудь зарегистрироваться на вебинар здесь: https://clck.ru/39G4ay
🗓До встречи 12 марта!
Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2VtzquvYrmZ
Кроме знаний Git, Maven и Jenkis смотрят, есть ли опыт многопоточного программирования, работы с Hibernate, Oracle/Postgres, Spring Framework (Spring Boot).
💥И это только начало! Полный список must have навыков middle-специалиста обсудим на нашем вебинаре 12 марта в 19:00 МСК. А ты сможешь проверить свои силы и пройти техническое собеседование в «Цифровые Привычки» на позицию Java Middle Developer.
👉Зарегистрироваться на вебинар здесь: https://clck.ru/39G4ay
Техническое собеседование проведет Егор Шохалевич, senior java-разработчик в РОСБАНК, преподаватель курса SENIOR JAVA DEVELOPER в HeadBridge .
🔥Но и это еще не все! Присылай свое резюме до начала вебинара, а в прямом эфире 12 марта Егор разберет его и даст рекомендации по улучшению. Это поможет тебе сделать еще один шаг в карьере middle-специалиста.
Отправляй свое резюме на почту [email protected] и не забудь зарегистрироваться на вебинар здесь: https://clck.ru/39G4ay
🗓До встречи 12 марта!
Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2VtzquvYrmZ
👍6❤2🔥1
PathIterator
PathIterator — это интерфейс в Java, который позволяет объектам, реализующим интерфейс Shape, возвращать геометрию своей границы, позволяя вызывающему объекту получать путь этой границы по одному сегменту за раз.
Основные возможности PathIterator:
— PathIterator позволяет перебирать сегменты пути объекта Shape по одному.
— Для каждого сегмента PathIterator может предоставить информацию о его типе (например, линия, кривая Безье), координатах и других атрибутах.
— PathIterator может использоваться для преобразования пути объекта Shape, например, для его масштабирования, поворота или перемещения.
PathIterator — это интерфейс в Java, который позволяет объектам, реализующим интерфейс Shape, возвращать геометрию своей границы, позволяя вызывающему объекту получать путь этой границы по одному сегменту за раз.
Основные возможности PathIterator:
— PathIterator позволяет перебирать сегменты пути объекта Shape по одному.
— Для каждого сегмента PathIterator может предоставить информацию о его типе (например, линия, кривая Безье), координатах и других атрибутах.
— PathIterator может использоваться для преобразования пути объекта Shape, например, для его масштабирования, поворота или перемещения.
👍8❤3🔥3
Какие знания и навыки проверяют на техническом собеседовании на позицию Java Middle Developer?
Кроме знаний Git, Maven и Jenkis смотрят, есть ли опыт многопоточного программирования, работы с Hibernate, Oracle/Postgres, Spring Framework (Spring Boot).
💥И это только начало! Полный список must have навыков middle-специалиста обсудим на нашем вебинаре 12 марта в 19:00 МСК. А ты сможешь проверить свои силы и пройти техническое собеседование в «Цифровые Привычки» на позицию Java Middle Developer.
👉Зарегистрироваться на вебинар здесь: https://clck.ru/39G5Cb
Техническое собеседование проведет Егор Шохалевич, senior java-разработчик в РОСБАНК, преподаватель курса SENIOR JAVA DEVELOPER в HeadBridge .
🔥Но и это еще не все! Присылай свое резюме до начала вебинара, а в прямом эфире 12 марта Егор разберет его и даст рекомендации по улучшению. Это поможет тебе сделать еще один шаг в карьере middle-специалиста.
Отправляй свое резюме на почту [email protected] и не забудь зарегистрироваться на вебинар здесь: https://clck.ru/39G5Cb
🗓До встречи 12 марта!
Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2VtzqwEDvSP
Кроме знаний Git, Maven и Jenkis смотрят, есть ли опыт многопоточного программирования, работы с Hibernate, Oracle/Postgres, Spring Framework (Spring Boot).
💥И это только начало! Полный список must have навыков middle-специалиста обсудим на нашем вебинаре 12 марта в 19:00 МСК. А ты сможешь проверить свои силы и пройти техническое собеседование в «Цифровые Привычки» на позицию Java Middle Developer.
👉Зарегистрироваться на вебинар здесь: https://clck.ru/39G5Cb
Техническое собеседование проведет Егор Шохалевич, senior java-разработчик в РОСБАНК, преподаватель курса SENIOR JAVA DEVELOPER в HeadBridge .
🔥Но и это еще не все! Присылай свое резюме до начала вебинара, а в прямом эфире 12 марта Егор разберет его и даст рекомендации по улучшению. Это поможет тебе сделать еще один шаг в карьере middle-специалиста.
Отправляй свое резюме на почту [email protected] и не забудь зарегистрироваться на вебинар здесь: https://clck.ru/39G5Cb
🗓До встречи 12 марта!
Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2VtzqwEDvSP
👍5❤2🔥1
Третий ролик цикла посвящён работе с реляционными СУБД с применением Spring Data JPA. Кроме этого вкратце демонстрируется версионирование баз данных при помощи FlywayDB.
В цикле роликов "Разработка проектов со Spring" автор рассказывает на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониториг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
SC24EP03 Работа с базами данных - Разработка проектов со Spring #java #spring #data #jpa #sql
Третий ролик цикла посвящён работе с реляционными СУБД с применением Spring Data JPA. Кроме этого вкратце демонстрируется версионирование баз данных при помощи FlywayDB.
В цикле роликов "Разработка проектов со Spring" я рассказываю на простых примерах о…
В цикле роликов "Разработка проектов со Spring" я рассказываю на простых примерах о…
👍20🔥5❤4🎉1
Бесплатный интенсив для тех, кто хочет работать фронтенд-разработчиком
В сфере IT сейчас кадровый голод и компании очень нуждаются в хороших спецах.
Мы знаем это наверняка, потому что сами постоянно проводим стажировки и пополняем команду новыми разработчиками.
Поэтому мы решили, что пора делиться нашим 10-летним опытом, помогать начинающим айтишникам быстрее и проще входить в IT.
А лучших — забирать в свою команду 😉
Как стать одним из них?
➡️ Все подробности ты узнаешь на бесплатном интенсиве 14-15 марта «ТОП профессия 2024 — Frontend-разработчик».
За 2 дня поймёшь:
➤ какие навыки помогают легко трудоустраиваться и быстро расти в IT карьере
➤ как можно за год выйти из позиции Junior в Middle и расти в доходе х3-х5
➤ где и как получить нужный опыт, чтобы компании сами предлагали тебе работу
✅ И всё это тебе расскажет технический директор Purrweb, спикер YaTalks Сергей Пономарев.
Регистрируйся и узнай больше о программе и бонусах за участие 👉Зарегистрироваться
В сфере IT сейчас кадровый голод и компании очень нуждаются в хороших спецах.
Мы знаем это наверняка, потому что сами постоянно проводим стажировки и пополняем команду новыми разработчиками.
Поэтому мы решили, что пора делиться нашим 10-летним опытом, помогать начинающим айтишникам быстрее и проще входить в IT.
А лучших — забирать в свою команду 😉
Как стать одним из них?
➡️ Все подробности ты узнаешь на бесплатном интенсиве 14-15 марта «ТОП профессия 2024 — Frontend-разработчик».
За 2 дня поймёшь:
➤ какие навыки помогают легко трудоустраиваться и быстро расти в IT карьере
➤ как можно за год выйти из позиции Junior в Middle и расти в доходе х3-х5
➤ где и как получить нужный опыт, чтобы компании сами предлагали тебе работу
✅ И всё это тебе расскажет технический директор Purrweb, спикер YaTalks Сергей Пономарев.
Регистрируйся и узнай больше о программе и бонусах за участие 👉Зарегистрироваться
👍3❤2🔥2
Sorted set
SortedSet — это интерфейс в Java Collection Framework, который предоставляет упорядочение элементов в множестве. Элементы упорядочиваются с помощью их естественного порядка или с помощью компаратора, который обычно предоставляется при создании отсортированного множества.
SortedSet имеет несколько дополнительных операций, которые позволяют использовать упорядочение элементов:
— first() и last() возвращают первый и последний элементы в множестве соответственно.
— headSet(), tailSet() и subSet() возвращают подмножества элементов, которые находятся до, после или между заданными элементами соответственно.
В этом примере мы создаем TreeSet (класс, который реализует SortedSet) и добавляем в него несколько строк. Поскольку строки реализуют интерфейс Comparable, они упорядочиваются в алфавитном порядке. Затем мы используем различные методы SortedSet для получения первого и последнего элементов, а также подмножеств элементов.
SortedSet — это интерфейс в Java Collection Framework, который предоставляет упорядочение элементов в множестве. Элементы упорядочиваются с помощью их естественного порядка или с помощью компаратора, который обычно предоставляется при создании отсортированного множества.
SortedSet имеет несколько дополнительных операций, которые позволяют использовать упорядочение элементов:
— first() и last() возвращают первый и последний элементы в множестве соответственно.
— headSet(), tailSet() и subSet() возвращают подмножества элементов, которые находятся до, после или между заданными элементами соответственно.
В этом примере мы создаем TreeSet (класс, который реализует SortedSet) и добавляем в него несколько строк. Поскольку строки реализуют интерфейс Comparable, они упорядочиваются в алфавитном порядке. Затем мы используем различные методы SortedSet для получения первого и последнего элементов, а также подмножеств элементов.
👍17🔥3❤2
Проверь насколько хорошо ты знаешь Java и готов освоить Spring!
Ответишь — пройдешь на продвинутый курс "Разработчик на Spring Framework" от OTUS по специальной цене.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruPlease open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2🔥2
Информационную систему сложно представить себе без аутентификации и авторизации - так или иначе нужно управлять доступом пользователя к тем или иным ресурсам. В четвёртом ролике серии речь пойдёт об обеспечении безопасности веб-приложения при помощи Spring Security и будет продемонстрирована настройка цепочки фильтров безопасности. В рамках ролика демонстрируется использование формы входа, Basic-аутентификации и применение OAuth 2.0/OpenID Connect.
В цикле роликов "Разработка проектов со Spring" автор рассказывает на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониториг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
SC24EP04 Безопасность веб-приложений - Разработка проектов со Spring #java #spring #security
Информационную систему сложно представить себе без аутентификации и авторизации - так или иначе нужно управлять доступом пользователя к тем или иным ресурсам. В четвёртом ролике серии речь пойдёт об обеспечении безопасности веб-приложения при помощи Spring…
👍15❤5
Как архитектору эффективно работать с принципом инверсии зависимостей?
Узнайте на бесплатном практическом уроке от OTUS, где вы вместе с опытным экспертом разберете:
▫️определение и обоснование принципа инверсии зависимостей;
▫️примеры использования принципа в различных паттернах проектирования;
▫️связь принципа инверсии зависимостей с остальными принципами SOLID;
▫️связь паттерна Адаптер, луковичной архитектуры и принципа инверсии зависимостей.
Занятие пройдёт 13 марта в 20:00 мск в рамках курса «Архитектура и шаблоны проектирования». После урока у вас будет возможность стать студентом программы по специальной цене и даже в рассрочку!
👉🏻 Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: пройти тест
Узнайте на бесплатном практическом уроке от OTUS, где вы вместе с опытным экспертом разберете:
▫️определение и обоснование принципа инверсии зависимостей;
▫️примеры использования принципа в различных паттернах проектирования;
▫️связь принципа инверсии зависимостей с остальными принципами SOLID;
▫️связь паттерна Адаптер, луковичной архитектуры и принципа инверсии зависимостей.
Занятие пройдёт 13 марта в 20:00 мск в рамках курса «Архитектура и шаблоны проектирования». После урока у вас будет возможность стать студентом программы по специальной цене и даже в рассрочку!
👉🏻 Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: пройти тест
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru❤3👍1🔥1
Абстракция в Java
Абстракция — это способность выделять существенные характеристики объекта и упускать несущественные.
Абстракция позволяет сосредоточиться на важных свойствах и поведении объекта, скрыв детали реализации.
В Java абстракция реализуется с помощью абстрактных классов и интерфейсов.
Абстрактный класс содержит абстрактные методы без реализации. Подклассы обязаны реализовать эти методы.
Интерфейс задает «контракт», описывая поведение классов без деталей реализации. Классы реализуют интерфейс.
Реализация абстракции требует тщательного анализа предметной области и выделения общих свойств объектов.
Абстракция — это способность выделять существенные характеристики объекта и упускать несущественные.
Абстракция позволяет сосредоточиться на важных свойствах и поведении объекта, скрыв детали реализации.
В Java абстракция реализуется с помощью абстрактных классов и интерфейсов.
Абстрактный класс содержит абстрактные методы без реализации. Подклассы обязаны реализовать эти методы.
Интерфейс задает «контракт», описывая поведение классов без деталей реализации. Классы реализуют интерфейс.
Реализация абстракции требует тщательного анализа предметной области и выделения общих свойств объектов.
🔥11❤4👍2