23 шаблона проектирования для 99% разработчиков на Java
В этом исчерпывающем руководстве мы изучим все важные шаблоны ООП для написания кода.
Шаблоны проектирования — это испытанный способ решения проблемы в заданном контексте. Они скорее открыты, нежели придуманы, что очевидно и из применения слова «шаблон». Используя шаблон проектирования, вы получаете знания всех сообществ для безопасного решения этой проблемы.
Иногда требуется небольшая доработка, и при корректном применении шаблонов идеальное решение находится. Объектно-ориентированная разработка часто сопряжена с многочисленными задачами, например созданием объектов, структурированием кода, реализацией поведений на основе различных контекстов.
Читать статью
В этом исчерпывающем руководстве мы изучим все важные шаблоны ООП для написания кода.
Шаблоны проектирования — это испытанный способ решения проблемы в заданном контексте. Они скорее открыты, нежели придуманы, что очевидно и из применения слова «шаблон». Используя шаблон проектирования, вы получаете знания всех сообществ для безопасного решения этой проблемы.
Иногда требуется небольшая доработка, и при корректном применении шаблонов идеальное решение находится. Объектно-ориентированная разработка часто сопряжена с многочисленными задачами, например созданием объектов, структурированием кода, реализацией поведений на основе различных контекстов.
Читать статью
Teletype
23 шаблона проектирования для 99% разработчиков на Java
В этом исчерпывающем руководстве мы изучим все важные шаблоны ООП для написания кода.
👍8🔥5❤1
OOM: direct memory при работе с сетью TCP/IP через NIO в Java
Привет, меня зовут Денис Агапитов, я руководитель группы Platform Core компании Bercut. Работаю в компании без малого 20 лет, из них 18 пишу на Java.
Сегодня я расскажу об опыте увеличения производительности сетевого стэка и проблемах, с которыми можно столкнуться при использовании NIO в Java.
Эта статья основана на реальной практике борьбы с "OutOfMemory: direct memory".
Читать статью
Привет, меня зовут Денис Агапитов, я руководитель группы Platform Core компании Bercut. Работаю в компании без малого 20 лет, из них 18 пишу на Java.
Сегодня я расскажу об опыте увеличения производительности сетевого стэка и проблемах, с которыми можно столкнуться при использовании NIO в Java.
Эта статья основана на реальной практике борьбы с "OutOfMemory: direct memory".
Читать статью
Teletype
OOM: direct memory при работе с сетью TCP/IP через NIO в Java
Привет, меня зовут Денис Агапитов, я руководитель группы Platform Core компании Bercut. Работаю в компании без малого 20 лет, из них...
👍7
Особое мнение: смотрим на нагрузочные тесты как на функциональные
Что делать, если у команды появилась потребность регулярно оценивать производительность приложения и в динамике сравнивать быстродействие с прошлыми прогонами, а внедрять для этого решение enterprise-уровня - это как из пушки по воробьям? Мы решили пойти немного неочевидным, но продуктивным путём, воспользовавшись опытом реализации функциональных тестов и их интеграции в систему CI/CD, ведь, в сущности, почему нужно обязательно смотреть на тестирование производительности, как на что-то особенное? Что из этого получилось, и с какими проблемами при этом пока ещё приходится мириться - читайте в статье.
Читать статью
Что делать, если у команды появилась потребность регулярно оценивать производительность приложения и в динамике сравнивать быстродействие с прошлыми прогонами, а внедрять для этого решение enterprise-уровня - это как из пушки по воробьям? Мы решили пойти немного неочевидным, но продуктивным путём, воспользовавшись опытом реализации функциональных тестов и их интеграции в систему CI/CD, ведь, в сущности, почему нужно обязательно смотреть на тестирование производительности, как на что-то особенное? Что из этого получилось, и с какими проблемами при этом пока ещё приходится мириться - читайте в статье.
Читать статью
Telegraph
Особое мнение: смотрим на нагрузочные тесты как на функциональные
Всем привет! В команде Мир Plat.Form я занимаюсь системами сертификации эмиссии – наш отдел разрабатывает программные продукты для внутренних и внешних пользователей, автоматизирующие сертификацию всего, что в конечном итоге превращается в «кредитку» в вашем…
👍6
Конфигурирование пула соедининений JDBC в Hibernate
Возможно, вы не знаете, но Hibernate поддерживает пул соединений JDBC. 😳
Предложенная сегодня статья расскажет о том, как сконфигурировать пул соединений JDBC в Hibernate-приложении, а также в нативном Hibernate-приложении.
Приятного чтения!
Читать статью
Возможно, вы не знаете, но Hibernate поддерживает пул соединений JDBC. 😳
Предложенная сегодня статья расскажет о том, как сконфигурировать пул соединений JDBC в Hibernate-приложении, а также в нативном Hibernate-приложении.
Приятного чтения!
Читать статью
👍5
Профессия «Java-разработчик». Курс с нуля до трудоустройства за 10 месяцев.
Освойте язык крупного бизнеса и финансовых технологий и научитесь разрабатывать веб-приложения на фреймворке Spring.
Всесторонне подготовим к собеседованиям и поиску первой работы. Предложим вашу кандидатуру в партнерские компании!
Начнем писать код на первом уроке. На курсах вас ждут сотни упражнений в тренажере, задачки-испытания для тех, кто любит посложнее, а также 5 проектов, в рамках которых вы напишете полноценные приложения для портфолио на GitHub
🎁 Пройдите 5 бесплатных уроков из профессии и получите скидку 10% на курс!
Готовы попробовать прямо сейчас? Оставьте заявку, и мы расскажем, как пройти бесплатные курсы профессии!
Освойте язык крупного бизнеса и финансовых технологий и научитесь разрабатывать веб-приложения на фреймворке Spring.
Всесторонне подготовим к собеседованиям и поиску первой работы. Предложим вашу кандидатуру в партнерские компании!
Начнем писать код на первом уроке. На курсах вас ждут сотни упражнений в тренажере, задачки-испытания для тех, кто любит посложнее, а также 5 проектов, в рамках которых вы напишете полноценные приложения для портфолио на GitHub
🎁 Пройдите 5 бесплатных уроков из профессии и получите скидку 10% на курс!
Готовы попробовать прямо сейчас? Оставьте заявку, и мы расскажем, как пройти бесплатные курсы профессии!
👍4
SDKMan! - менеджер управления версиями Java
Каждый Java-разработчик рано или поздно сталкивается с проблемой управления на своем компьютере несколькими версиями Java, когда для одного проекта требуется Java 8, для другого — Java 11, для третьего — Java 17.
Для упрощения процесса переключения между версиями существует менеджер версий SDKMan!
Подробности в статье.
Читать статью
Каждый Java-разработчик рано или поздно сталкивается с проблемой управления на своем компьютере несколькими версиями Java, когда для одного проекта требуется Java 8, для другого — Java 11, для третьего — Java 17.
Для упрощения процесса переключения между версиями существует менеджер версий SDKMan!
Подробности в статье.
Читать статью
👍8
Кэширование контекста Spring между запусками тестов: как ускорить процесс локального тестирования
Тестирование является важным элементом процесса разработки программного обеспечения. При этом работа с тестами может занимать достаточно большое количество времени в сравнении с самой разработкой, в связи с этим возникает необходимость оптимизировать этот процесс. В этой статье рассказывается про плагин Sprinter для IntelliJ IDEA, который может помочь значительно сократить время на локальный запуск тестов.
Читать статью
Тестирование является важным элементом процесса разработки программного обеспечения. При этом работа с тестами может занимать достаточно большое количество времени в сравнении с самой разработкой, в связи с этим возникает необходимость оптимизировать этот процесс. В этой статье рассказывается про плагин Sprinter для IntelliJ IDEA, который может помочь значительно сократить время на локальный запуск тестов.
Читать статью
Teletype
Кэширование контекста Spring между запусками тестов: как ускорить процесс локального тестирования
Тестирование является важным элементом процесса разработки программного обеспечения. При этом работа с тестами может занимать достаточно...
👍6
Трансляция: все о Java 21
Восьми часовая трансляция, посвященная выходу Java 21. Она также включает в себя интервью с главным архитектором Java Mark Reinhold, главным архитектором языка Java Brian Goetz. Трансляцию проводят не безызвестные нам Ana-Maria Mihalceanu, Billy Korando и Nicolai Parlog.
Восьми часовая трансляция, посвященная выходу Java 21. Она также включает в себя интервью с главным архитектором Java Mark Reinhold, главным архитектором языка Java Brian Goetz. Трансляцию проводят не безызвестные нам Ana-Maria Mihalceanu, Billy Korando и Nicolai Parlog.
YouTube
All About Java 21 - Launch Event
The Java 21 Launch Event was a live stream here on YouTube. We went over all features in 21, had Q&As with prominent guests, convened with the Java Panel at Oracle Cloud World, and visited JUGs for their opinion on new features.
~~ Chapters ~~
0:00 Countdown…
~~ Chapters ~~
0:00 Countdown…
👍8❤3🔥2
Ссылки на методы в Java
Лямбды в Java полезны во многих направлениях. Лямбда-выражения можно использовать для более простых задач, а лямбда-утверждения — для более сложных. Лямбды могут вызывать другие методы для текущего объекта (this) и объектов, которые находятся в области видимости, таких как текущий элемент итерации и конечная локальная переменная за пределами лямбды. Лямбду всегда можно упростить, поместив код в другой метод.
Читать статью
Лямбды в Java полезны во многих направлениях. Лямбда-выражения можно использовать для более простых задач, а лямбда-утверждения — для более сложных. Лямбды могут вызывать другие методы для текущего объекта (this) и объектов, которые находятся в области видимости, таких как текущий элемент итерации и конечная локальная переменная за пределами лямбды. Лямбду всегда можно упростить, поместив код в другой метод.
Читать статью
Telegraph
Ссылки на методы в Java
Лямбды — гибкие и анонимные фрагменты кода Лямбды в Java полезны во многих направлениях. Лямбда-выражения можно использовать для более простых задач, а лямбда-утверждения — для более сложных. Лямбды могут вызывать другие методы для текущего объекта (this)…
👍4
Профессия «Java-разработчик». Курс с нуля до трудоустройства за 10 месяцев.
Освойте язык крупного бизнеса и финансовых технологий и научитесь разрабатывать веб-приложения на фреймворке Spring.
Всесторонне подготовим к собеседованиям и поиску первой работы. Предложим вашу кандидатуру в партнерские компании!
Начнем писать код на первом уроке. На курсах вас ждут сотни упражнений в тренажере, задачки-испытания для тех, кто любит посложнее, а также 5 проектов, в рамках которых вы напишете полноценные приложения для портфолио на GitHub
🎁 Пройдите 5 бесплатных уроков из профессии и получите скидку 10% на курс!
Реклама. ООО "ХЕКСЛЕТ РУС". ИНН 7325174845. erid: LjN8KMSti
Освойте язык крупного бизнеса и финансовых технологий и научитесь разрабатывать веб-приложения на фреймворке Spring.
Всесторонне подготовим к собеседованиям и поиску первой работы. Предложим вашу кандидатуру в партнерские компании!
Начнем писать код на первом уроке. На курсах вас ждут сотни упражнений в тренажере, задачки-испытания для тех, кто любит посложнее, а также 5 проектов, в рамках которых вы напишете полноценные приложения для портфолио на GitHub
🎁 Пройдите 5 бесплатных уроков из профессии и получите скидку 10% на курс!
Реклама. ООО "ХЕКСЛЕТ РУС". ИНН 7325174845. erid: LjN8KMSti
👍3
Python и Java: кто заберет золото?
Журнал IEEE Spectrum, издаваемый Институтом инженеров электротехники и электроники, представил свой обзор популярности языков программирования 2023 год, где Java находится в тройке лидеров.
Читать статью
Журнал IEEE Spectrum, издаваемый Институтом инженеров электротехники и электроники, представил свой обзор популярности языков программирования 2023 год, где Java находится в тройке лидеров.
Читать статью
👍7
Не используйте в своем коде паттерн Singleton
Паттерн Singleton популярен среди новичков из-за простоты реализации и возможности глобальной обработки состояний. Но стоит ли его использовать? Из статьи вы узнаете про недостатки Singleton, а также про альтернативу, способную его заменить.
Читать статью
Паттерн Singleton популярен среди новичков из-за простоты реализации и возможности глобальной обработки состояний. Но стоит ли его использовать? Из статьи вы узнаете про недостатки Singleton, а также про альтернативу, способную его заменить.
Читать статью
👍6
Аннотации и рефлексия в Java
Аннотации и рефлексия являются ключевыми концепциями в Java, предоставляя разработчикам мощные инструменты для создания более гибких, адаптивных и понятных приложений. Аннотации предоставляют способ добавить метаданные к классам, методам и полям, что позволяет компилятору и другим инструментам анализировать код более глубоко. Рефлексия, с другой стороны, позволяет программам анализировать и модифицировать свой собственный состав и поведение во время выполнения.
Читать статью
Аннотации и рефлексия являются ключевыми концепциями в Java, предоставляя разработчикам мощные инструменты для создания более гибких, адаптивных и понятных приложений. Аннотации предоставляют способ добавить метаданные к классам, методам и полям, что позволяет компилятору и другим инструментам анализировать код более глубоко. Рефлексия, с другой стороны, позволяет программам анализировать и модифицировать свой собственный состав и поведение во время выполнения.
Читать статью
Teletype
Аннотации и рефлексия в Java
Аннотации и рефлексия являются ключевыми концепциями в Java, предоставляя разработчикам мощные инструменты для создания более гибких...
👍4
Внимание, Backend-разработчики и разработчики мобильных приложений на Java!
Присоединяйтесь к IT_ONE CAREER MEETUP, который состоится 26 октября в 18:00. IT_One – разработчик программного обеспечения для крупных игроков российского бизнеса и государственных органов. Компания реализует крупнейшие проекты цифровой трансформации страны. Спектр задач – от поддержки приложения до разработки концептуальной бизнес-архитектуры уровня корпорации.
IT_ONE CAREER MEETUP #2 - это 2 актуальные темы:
Работа с базами данных: эффективное проектирование и оптимизация запросов для backend-разработчиков
Спикер: Александр Черняев, Старший разработчик, IT_One
Узнаем:
— Зачем нужна оптимизация SQL-запросов;
—Организацию процесса мониторинга и оптимизации SQL-запросов разработчиками;
— Общие рекомендации по проектированию и оптимизация SQL-запросов.
Разработка мобильных приложений на Java: Android-разработка с использованием Java
Спикер: Сергей Мехоношин, Старший Android-разработчик, IT_One
Обсудим:
— Историю Java в Android-разработке;
— Java и 2017 год;
— Какое место занимает Java в мобильной разработке под Android сегодня?
Не упустите возможность узнать о последних тенденциях и лучших практиках в вашей области! Присоединяйтесь к нам и получите ценные знания от опытных специалистов. Ждем вас на IT_ONE CAREER MEETUP!
Дата и время: 26 октября в 18:00
Регистрация и подробности: https://clck.ru/362UBb
Реклама. ООО "Акселератор Возможностей". ИНН 9704005146
Присоединяйтесь к IT_ONE CAREER MEETUP, который состоится 26 октября в 18:00. IT_One – разработчик программного обеспечения для крупных игроков российского бизнеса и государственных органов. Компания реализует крупнейшие проекты цифровой трансформации страны. Спектр задач – от поддержки приложения до разработки концептуальной бизнес-архитектуры уровня корпорации.
IT_ONE CAREER MEETUP #2 - это 2 актуальные темы:
Работа с базами данных: эффективное проектирование и оптимизация запросов для backend-разработчиков
Спикер: Александр Черняев, Старший разработчик, IT_One
Узнаем:
— Зачем нужна оптимизация SQL-запросов;
—Организацию процесса мониторинга и оптимизации SQL-запросов разработчиками;
— Общие рекомендации по проектированию и оптимизация SQL-запросов.
Разработка мобильных приложений на Java: Android-разработка с использованием Java
Спикер: Сергей Мехоношин, Старший Android-разработчик, IT_One
Обсудим:
— Историю Java в Android-разработке;
— Java и 2017 год;
— Какое место занимает Java в мобильной разработке под Android сегодня?
Не упустите возможность узнать о последних тенденциях и лучших практиках в вашей области! Присоединяйтесь к нам и получите ценные знания от опытных специалистов. Ждем вас на IT_ONE CAREER MEETUP!
Дата и время: 26 октября в 18:00
Регистрация и подробности: https://clck.ru/362UBb
Реклама. ООО "Акселератор Возможностей". ИНН 9704005146
👍4
Плейлист с конференции Devoxx Belgium 2023
Плейлист со 189 видео с 20й конференции разработчиков Devoxx Belgium 2023, посвященной новейшим тенденциям в Java-разработке и другим ИТ-областям.
Java 21, Spring Boot 3, Kubernetes, GraalVM, AI и множество других тем докладов, в которых ведущие эксперты делятся информацией о последних разработках в этих направлениях.
Плейлист со 189 видео с 20й конференции разработчиков Devoxx Belgium 2023, посвященной новейшим тенденциям в Java-разработке и другим ИТ-областям.
Java 21, Spring Boot 3, Kubernetes, GraalVM, AI и множество других тем докладов, в которых ведущие эксперты делятся информацией о последних разработках в этих направлениях.
👍7🔥4
Java 21: новый подход к созданию строк
Java 21 предлагает много классных функциональностей, и одна из них — шаблоны строк (англ. String Templates). При том, что их целевое назначение не ограничивается только строковой интерполяцией, для Java-разработчиков они служат еще одним “правильным” способом конкатенации строк.
Что значит “правильный” способ? Поизучав байт-код, я узнала кое-что интересное и удивительное о различных техниках конкатенации и интерполяции строк в современном языке Java.
Читать статью
Java 21 предлагает много классных функциональностей, и одна из них — шаблоны строк (англ. String Templates). При том, что их целевое назначение не ограничивается только строковой интерполяцией, для Java-разработчиков они служат еще одним “правильным” способом конкатенации строк.
Что значит “правильный” способ? Поизучав байт-код, я узнала кое-что интересное и удивительное о различных техниках конкатенации и интерполяции строк в современном языке Java.
Читать статью
Teletype
Java 21: новый подход к созданию строк
Java 21 предлагает много классных функциональностей, и одна из них — шаблоны строк (англ. String Templates). При том, что их целевое...
👍6
Используем Elasticsearch вместе со Spring Boot
Всем привет! В этой статье я хочу рассказать о том, как мы можем интегрировать Elasticsearch в наше приложение на Spring Boot. Этот проект предназначен для ознакомления с технологиями и служит скорее шпаргалкой/пособием или же фундаментом для дальнейшего погружения в тему.
Читать статью
Всем привет! В этой статье я хочу рассказать о том, как мы можем интегрировать Elasticsearch в наше приложение на Spring Boot. Этот проект предназначен для ознакомления с технологиями и служит скорее шпаргалкой/пособием или же фундаментом для дальнейшего погружения в тему.
Читать статью
Teletype
Используем Elasticsearch вместе со Spring Boot
Всем привет! Это моя первая статья, и в ней я хочу рассказать о том, как мы можем интегрировать Elasticsearch в наше приложение...
👍4❤2🔥2
Руководство про Pattern Matching в Java 21
Статья и видео про новые возможности сопоставления с образцом (Pattern Matching) в Java 21
Читать статью
Статья и видео про новые возможности сопоставления с образцом (Pattern Matching) в Java 21
Читать статью
👍8
Как упростить себе жизнь: удобные юнит-тесты с JUnit и AssertJ
Для тестирования Java-приложений создано столько полезных инструментов, что в них немудрено запутаться. Вместе с тем с помощью каждого из них можно решить строго определенный круг прикладных задач. Меня зовут Константин Шибков, я старший Java-разработчик CDEK и программный директор курсов по Java в Skillbox. Сегодня расскажу о практике использования фреймворка для модульного тестирования JUnit 5, а также покажу на конкретных примерах, как проводятся стандартные юнит-тесты и параметризованные тесты. Вы сможете самостоятельно повторить их, воспользовавшись подготовленным репозиторием с готовыми примерами тестов на Java.
Читать статью
Для тестирования Java-приложений создано столько полезных инструментов, что в них немудрено запутаться. Вместе с тем с помощью каждого из них можно решить строго определенный круг прикладных задач. Меня зовут Константин Шибков, я старший Java-разработчик CDEK и программный директор курсов по Java в Skillbox. Сегодня расскажу о практике использования фреймворка для модульного тестирования JUnit 5, а также покажу на конкретных примерах, как проводятся стандартные юнит-тесты и параметризованные тесты. Вы сможете самостоятельно повторить их, воспользовавшись подготовленным репозиторием с готовыми примерами тестов на Java.
Читать статью
Teletype
Как упростить себе жизнь: удобные юнит-тесты с JUnit и AssertJ
Для тестирования Java-приложений создано столько полезных инструментов, что в них немудрено запутаться. Вместе с тем с помощью каждого...
👍7
В России есть множество возможностей для посещения IT-мероприятий, будь то офлайн или онлайн форматы.
Чтобы быть в курсе всех полезных событий, рекомендую подписаться на канал, где собраны все IT-мероприятия России.
Там вы найдете информацию о различных мероприятиях, таких как вебинары, митапы, хакатоны, конференции, мастер-классы и другие события в IT-сфере.
Будут представлены как крупные мероприятия от ведущих компаний, так и мероприятия, проводимые опытными специалистами в области программирования.
Подписывайся на IT-мероприятии России!
Чтобы быть в курсе всех полезных событий, рекомендую подписаться на канал, где собраны все IT-мероприятия России.
Там вы найдете информацию о различных мероприятиях, таких как вебинары, митапы, хакатоны, конференции, мастер-классы и другие события в IT-сфере.
Будут представлены как крупные мероприятия от ведущих компаний, так и мероприятия, проводимые опытными специалистами в области программирования.
Подписывайся на IT-мероприятии России!
👍4
Размещаем Spring Boot приложение в Docker
Предложенная сегодня статья поможет новичкам пошагово разместить в контейнере Docker Spring Boot приложение, а также научит создавать мультиконтейнерное Spring Boot приложение используя Docker Compose. 😃
Хорошей практики!
Читать статью
Предложенная сегодня статья поможет новичкам пошагово разместить в контейнере Docker Spring Boot приложение, а также научит создавать мультиконтейнерное Spring Boot приложение используя Docker Compose. 😃
Хорошей практики!
Читать статью
👍6🔥2