Все потоки
Поиск
Написать публикацию
Обновить
189.36

Java *

Объектно-ориентированный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

HashMap под микроскопом

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров11K

Эта статья будет полезна новичкам в разработке или тем, кому нужно освежить знания перед собеседованиями. Как ни странно, но вопросы о том, как устроен HashMap, всё ещё встречаются среди интервьюеров.

По моему мнению, лучший способ разобраться в теме — это заглянуть в документацию с примерами и изучить исходный код. Но если вы сами пока не готовы копаться в коде, я проведу вас по основным моментам.

Читать далее

RabbitMQ + Java Spring Часть 2

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.7K

Предыдущая часть: RabbitMQ + Java Spring

P. S.: Гит разбит на ветки по частям (part-1, part-2...)

Я продолжаю серию, посвящённую использованию RabbitMQ в связке с Spring.В предыдущей части был реализован простой обмен двух микросервисов посредством очереди в MQ.В этот раз рассмотрим крутые фичи, которые предоставляет RabbitMQ

Читать далее

Отправляем пуш уведомления в телеграм через Spring Boot

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров5.4K

Допустим, вы хотите аутентифицировать пользователей через телеграм и после этого отправлять им уведомления. В Spring Boot приложении это сделать довольно просто ✨

Читать далее

Заговор разработчиков против корпораций

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров53K

Речь пойдет о тайной, сугубо анонимной организации, следы которой начал замечать еще в 2018-ом, работая в Яндексе. О целях и мотивах организации можно только догадываться: некоторые считают это кибер-луддизмом, другие — техно-анархизмом. Ясно одно: организация существует, ее члены уничтожают кодовые базы десятилетиями, и говорить об этом не принято.

Читать далее на свой страх и риск

Event-driven микросервисы с использованием Spring Boot и Kafka

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров7.9K

Event-driven архитектура - один из видов архитектур, который подходит для обеспечения независимости, масштабируемости и устойчивости микросервисов. 

В новом переводе от команды Spring АйО вы в легкодоступной форме узнаете, как построить такую архитектуру, используя Apache Kafka и Spring Boot, а также ознакомитесь с пошаговой настройкой продюсеров, консумеров, решеним задач надежности и управлением схемами.

Читать далее

Не используйте JPA и Hibernate FetchType EAGER

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров4.7K

Разные fetching strategies (стратегии извлечения), могут оказывать сильное влияние на скорость работы приложения, делать его быстрым или наоборот замедлять.

Hibernate определяет четыре стратегии выборки ассоциаций:

Читать далее

Explyt Spring Plugin — наша версия HTTP-клиента для IntelliJ IDEA

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.4K

Всем привет! Как следует из названия статьи, речь пойдет о HTTP-клиентах для IntelliJ IDEA, да, опять). В последнее время было несколько публикаций на эту тему, и мы бы хотели подробно рассказать о нашем взгляде на эту проблему и нашей реализации. А также поговорить о плюсах и минусах текущих решений для IDEA. Ранее мы уже рассказывали о нашем плагине для Spring - о том как у нас реализована поддержка Dependency Injection в частности, теперь настала очередь HTTP client'а.

Читать далее

Властелин финансов. Битва за банкоматы

Время на прочтение12 мин
Количество просмотров1.7K

Проводить платежи без транзакций да ещё и без ограничения по количеству запросов? Разве это возможно? Если желаешь узнать как, то добро пожаловать под кат!

Снять корону

Руководство для начинающих по стратегиям Hibernate fetching (извлечение данных)

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.3K

Когда дело доходит до работы с ORM, все признают важность проектирования базы данных и маппинга сущностей на таблицы. Этим аспектам уделяется много внимания, при этом такие вещи, как стратегии извлечения данных, могут быть просто отложены на потом.

По нашему мнению, стратегия извлечения данных никогда не должна прорабатываться отдельно от непосредственного маппинга сущностей, поскольку отсутствие проработки в этой части, может оказать сильное влияние на скорость работы приложения.

До того, как Hibernate и JPA стали популярны, на разработку каждого запроса тратилось много усилий, потому что вам приходилось явно джойнить (join), таблицы и столбцы, которые вас интересовали. И когда этого было недостаточно, администратор базы данных оптимизировал медленно выполняющиеся запросы.

Во времена JPA запросы JPQL или HQL извлекают сущности вместе с некоторыми связанными с ними отношениями. Это упрощает разработку, поскольку освобождает нас от необходимости вручную выбирать все интересующие нас поля таблицы, кроме того, джойны или другие дополнительные запросы могут генерироваться автоматически. Однако это палка о двух концах. С одной стороны, вы можете реализовывать функционал быстрее, с другой, если ваши автоматически генерируемые SQL-запросы будут неэффективными, общая производительность вашего приложения может значительно снизиться.

Читать далее

SOLID на котиках: коротко и по делу

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров16K

Каждый разработчик знает, каково это — увидеть код, который страшно трогать. В нём всё ломается, стоит добавить пару строк. Чтобы такого не было, мир придумал SOLID — набор из пяти принципов, которые делают ваш код понятным, надёжным и лёгким в поддержке.

В этой статье рассмотрим, как внедрять эти принципы с умом, и да, будет немного котиков — куда без них.

Читать далее

Смотрим «под капот» бэкенда изображений в ОК

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров4.5K

Ни одна современная соцсеть не обходится без картинок и фото. ОК — не исключение. Но чтобы пользователи соцсети могли загружать свои фото, ставить аватарки и иначе использовать свои изображения, нужны отлаженные механизмы и целый стек обработки на стороне бэкенда.

Меня зовут Руслан Измайлов. Я ведущий Java‑разработчик в ОК. В этой статье я хочу показать на конкретном юзкейсе весь путь изображения в соцсети ОК: от его загрузки на портал до скачивания с узлов CDN.

Читать далее

Стала доступна первая EAP-версия IntelliJ IDEA 2025.1

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров7.2K

Команда Spring АйО рада поделиться с вами свежей новостью от JetBrains: стала доступна первая EAP-версия IntelliJ IDEA 2025.1. 

Среди нововведений поддержка Java 24, улучшения отладчика и инструментов сборки.

Читать далее

Как я пишу open source игру на Java

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров14K

Около 10 лет назад у меня возникла идея написать игру именно на Java, поскольку я использую этот язык в работе. Это был своего рода челлендж. Хотел попробовать себя, посмотреть, возможно ли это. И спойлер – возможно. Но проект дал мне больше, чем я мог рассчитывать.

В этой статье я погружусь в детали геймдева и расскажу о том, почему вообще стоит заниматься подобными проектами.

Читать далее

Ближайшие события

Amplicode становится платным (и остается бесплатным)

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров4.8K

Практически год с момента публичного релиза в апреле все возможности Amplicode были доступны любому разработчику абсолютно бесплатно.

При этом с первого дня мы говорили, что продукт будет иметь определенную модель монетизации, чтобы обеспечить устойчивое развитие и финансовую стабильность команды.

В новой статье мы рассказали, какая часть возможностей Amplicode останется бесплатной, что войдет в состав платной версии, сколько будет стоить подписка и кто может рассчитывать на скидки до 100%.

Читать далее

Постквантовая криптография в Java

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.2K

Команда Spring АйО перевела статью про новые возможности грядущей версии Java 24, в которой появятся два JEP — 496 и 497, посвященные алгоритмам, устойчивым к квантовым атакам. 

Эти технологии базируются на решеточной криптографии и помогут защитить данные от возможных угроз будущих квантовых компьютеров. Хотя их создание — дело не ближайших лет, разработчики уже готовятся к изменениям.

Читать далее

Автотесты: что есть 100% покрытие API?

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров9.5K

Ку! Меня зовут Евген, и я Автоматизатор тестирования на Python. В этой статье я расскажу как из вопроса ко мне «на сколько% у нас покрыта API автотестами?» Я выдал базу в виде регламента по автоматизации API.

Читать далее

Spring Security + Telegram Authentication

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров3.7K

Spring Security + Telegram Auth

Добавить Telegram Auth в Spring Boot приложение оказалось сложнее, чем я ожидал — подробных руководств практически нет. После нескольких дней изучений я создал рабочее решение, которое вы легко сможете адаптировать под свои задачи. В этой статье я покажу, как настроить аутентификацию через Telegram в Spring Security и интегрировать ее с БД, а также протестировать как локально, так и на сервере...

Подробнее

Нужна ли программисту математика? Разбираем на примерах

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров23K

Нужна ли программистам математика? Странный вопрос, учитывая, что на самом деле программисты и занимаются математикой в любом случае — даже если предпочитают не замечать этого.

Меня зовут Пётр — я разработчик и автор курса «Java-разработчик» в Яндекс Практикуме. В этом материале я покажу примеры будничного кода программиста, в которых порой математики не меньше, чем разработки, — и вопрос из заголовка отпадёт сам собой.

Читать далее

Как упростить доступ к данным с MySQL и Jakarta Data

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров912

Многие приложения, особенно в сегменте enterprise, сохраняют или получают доступ к данным в какой-либо форме. Реляционные базы данных по-прежнему остаются самым популярным механизмом для управления данными, несмотря на конкуренцию со стороны таких технологий, как NoSQL базы данных. В этой статье рассмотрим некоторые концепции доступа к данным и то, как новая спецификация Jakarta Data упрощает эту задачу для разработчиков приложений.

Читать далее

RabbitMQ + Java Spring

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров6.5K

github

Понять статью не составит труда тем, кто знаком с Spring и Spring Web и хотя бы раз создавал простое приложение с контроллерами, сервисами и моделями (проще говоря - реализовывал паттерн Model View Controller).

Читать далее

Вклад авторов