Обновить
256K+

Java *

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

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

Пишем свой Validation API для Spring Boot приложения

Время на прочтение10 мин
Охват и читатели18K

Добрый день, уважаемый читатель Хабра! Меня зовут Вартанян Артур и я работаю в компании Reksoft Java-разработчиком. В данной статье мы напишем свой собственный вариант реализации валидации для объектов и его полей, используя Java Reflection Api и Spring AOP.

Читать далее

Разработка собственного плагина для сервера Minecraft

Время на прочтение6 мин
Охват и читатели61K

Еще с детства я начал покорять бесконечные просторы Minecraft. Естественно о разработке в то время никакой речи не шло. Но с недавних пор загорелся идеей создать о свой проект серверов.

В данной статье расскажу свой первый опыт написания плагина для сервера Minecraft. На превью можно заметить результат.

Читать далее

Сравнение виртуальных и обычных потоков в Java

Время на прочтение8 мин
Охват и читатели23K

Мы все знаем и ждем Project Loom для виртуальных потоков и надеемся на бесплатное ускорение своих приложений без или почти без изменения их кода.

Примеры с запуском миллиона потоков все уже видели и они скучные. А какое ускорение будет на самом деле в реальных примерах использования многопоточности в нормально написанном проекте? Под катом код и бенчмарки.

Читать далее

Как я реализовывал switch exhaustiveness checker для Java 8

Время на прочтение8 мин
Охват и читатели3.8K
В последние время многие промышленные языки вроде C#, Kotlin и Java стали реализовывать switch exhaustiveness проверки для разных языковых элементов: sealed classes, records и enums. Я могу предположить, что это связано с популяризацией Data Oriented Programming. К сожалению, я пока привязан к Java 11, где эта функциональность компилятором не реализована. Поэтому, я решил сделать что-нибудь, что будет проверять switch exhaustiveness для Enums и будет работать на Java 8 и выше.

Читать дальше →

Обзор Spring-компонентов. Часть 2 – Spring Cloud

Время на прочтение16 мин
Охват и читатели43K

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

Читать далее

Как продавать шкуры и ловить троллей в Telegram с помощью Kafka, Kubernetes, PostgreSQL и Redis

Время на прочтение3 мин
Охват и читатели17K

Работаю в IT больше 15 лет. Чем только не занимался, но всегда следовал правилу - каждые майские праздники я пытаюсь применить на практике что-то новое.

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

Идей было много, но мне хочется проверить все это под реальной нагрузкой, что сразу привело в телеграм боты, где получить +- 1000 пользователей труда не составляет.

Я все детство провозился с ASCII играми в DOS и идея пришла сама собой.

Читать далее

AssertJ как способ значительно улучшить код ваших тестов

Время на прочтение5 мин
Охват и читатели43K

В 2019-2020 годах на одном из проектов я был идейным вдохновителем перехода на JUnit 5. Для проверок мы использовали стандартные ассерты и Hamcrest. Тогда мне казалось, что этого более чем достаточно.

За последние пару лет, несмотря на менеджерскую позицию, я написал свыше пятисот тестов, и мой подход к тестированию претерпел значительные изменения. В этой статье я постараюсь объяснить, почему AssertJ — это лучшее решение для проверок в тестах, существующее сегодня (год 2022 от Р.X.). Разумеется, всё ниже сказанное — это моё субъективное мнение.

Читать далее

Изучаем ResponseEntity<?> и избавляемся от него в контроллерах Spring

Время на прочтение5 мин
Охват и читатели80K

Всем привет! Проверяя задания в учебном центре моей компании, обнаружил, что двумя словами описать то, как можно избавиться от ResponseEntity<?> в контроллерах не получится, и необходимо написать целую статью. Для начала, немного введения.

ВАЖНО! Статья написана для новичков в программировании и Spring в частности, которые знакомы со Spring на базовом уровне.

Читать

Эпизод 1. Скрытая угроза Java Core. Уровень Юнглинг

Время на прочтение12 мин
Охват и читатели18K
image

Мы публикуем серию статей для подготовки к собеседованиям Java-разработчиков. Будем рассказывать о том, как разработчику успешно пройти собеседование и не поседеть во время чтения тонн мануалов. Мы не пытаемся создать энциклопедию, в которой будут отражены тысячи вопросов на интервью, но поможем понять – о чем могут спрашивать и как отвечать на сложные вопросы, чтобы избежать стресса. Итак, первый материал посвящен базовому уровню языка программирования Java Core.

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

Давным-давно,
в далекой-далекой галактике…

Юного Люка Скайуокера мучает разного рода вопросами пытливый мастер Йода. А Йода, как известно, писал код, когда мы еще с вами под стол ходили. Причем кодил он прямо в блокноте без дебаггера, intellij idea и прочей богомерзкой ерунды. Когда же он уставал от нововведений, то просто пихал в дисковод компьютера перфокарты…

Мир тебе, юный Люк. Вопрос мой первый слушай ты.
Читать дальше →

Обзор книги «Изучаем Java», худшая книга для начинающих с нуля

Время на прочтение4 мин
Охват и читатели56K

Всем доброго времени суток!

Публикую обзор книги "Изучаем Java".

Стоит читать? Нет! Почему? Опишу в статье.

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

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

Кто целевая аудитория книги?

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

Хоть книга построена по методу от простого к сложному, ужасный перевод и ошибки в коде всё губят. 

Читать далее

Программирование JavaFX: разработка элементов интерфейса

Время на прочтение10 мин
Охват и читатели18K

Иногда даже программистам на Java необходимо создавать интерфейсы, и для этого им приходится изучать дополнительные инструменты. В этом случае им на помощь приходит инструментарий создания GUI, который избавляет от необходимости подключения дополнительных технологий — JavaFX.

Читать дальше →

Современная серверная разработка на языке Java: 1. Инструменты разработчика

Время на прочтение7 мин
Охват и читатели27K

Приветствую, уважаемый читатель!

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

Такой разброс «предметных областей» мог бы потребовать тысяч уникальных программных продуктов, множество технологий и разновидностей специалистов. Но так не случилось.

Большая часть возможностей, которые предлагает нам Интернет, обеспечена приложениями на основе микросервисной архитектуры. Микросервис – это независимое приложение, которое умеет выполнять несколько взаимосвязанных функций по запросам от других микросервисов, либо от пользовательского интерфейса.

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

Вот так может выглядеть микросервисная архитектура интернет-магазина...

Читать далее

Обзор Spring-компонентов. Часть 1 – Spring Boot и фреймворк интеграции

Время на прочтение18 мин
Охват и читатели61K

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

Читать далее

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

Проксируйте всё

Время на прочтение6 мин
Охват и читатели17K

Читатель, привет!

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

Сама идея проста, как колумбово яйцо (или «проста как валенок», с учётом работающего у нас сейчас импортозамещения).

А именно: все вызовы из системы вовне и все вызовы системы извне должны быть обёрнуты минимум одним слоем прокси методов.

Как видите, очень просто.

Но разберём чуть подробнее.

Читать далее

GitHub Copilot

Время на прочтение6 мин
Охват и читатели113K

В современном компьютерном и интернет-мире всё взаимодействие, не только пользователей, а в общем со структурой выстраивается с помощью различных программ, интерфейсов, и подобных им оптимизированных для простого человека сложных разработках. Но кто же занимается непосредственно разработкой различного вида software? Первый ответ, который придет в голову обывателю – это конечно же ПРОГРАММИСТ. Если обобщить в понятие программист всевозможные виды и подходы к разработке, можно согласиться с ответом обывателя. Давайте рассмотрим всех инженеров, backend, frontend разработчиков как единое понятие – программист.

Читать далее

Микросервисы: плюсы, минусы, когда и зачем внедрять

Время на прочтение6 мин
Охват и читатели52K

Чем быстрее идея воплотится в новый проект, тем больше шансов занять нишу, завоевать лояльность пользователей и, как следствие, стать успешнее конкурентов. Ускорить разработку и сделать её более гибкой и управляемой помогает микросервисная архитектура. Вместе с Дмитрием Горчаковым, руководителем отдела разработки РЕД-СОФТ, мы разобрали плюсы и минусы микросервисов, а ещё рассмотрели сценарии, как компании приходят к их внедрению.  

Читать далее

Астрологи объявили сезон Java на Хабре

Время на прочтение13 мин
Охват и читатели54K

Тернист путь техноавтора: потенциальная аудитория технохардкора никогда не будет такой же широкой, как у научпопа. Но мы попытаемся.

С 1 июля по 15 августа мы объявляем сезон Java (количество джавистов в комментариях увеличилось вдвое). Сезон — это конкурс технических статей, который Хабр проводит вместе с разными компаниями, на этот раз — со Сбером. Там, кстати, работает немало джавистов и открыты вакансии для Java-разработчиков.

Победителя сезона ждут призы, а всех участников — повышенные охваты постов. Судьба Java-хардкора в ваших руках: исход соревнования решат читатели.

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

Узнать про сезоны

Server side Form. Управление веб-формами на стороне сервера

Время на прочтение14 мин
Охват и читатели5.1K

Хабр, привет!

 Как человек, побывавший по ту (фронт) и по эту (бэк) стороны разработки, я хочу рассказать о Server Side Form - «Управлении веб-формой на стороне сервера».

Что это такое и зачем это нужно - читайте под катом!

Читать далее

Re2j вместо стандартного regEx в Java: в каких случаях и как использовать

Время на прочтение6 мин
Охват и читатели4.3K

Всем привет! Я Даниил, java разработчик в Just AI, и в этой статье я расскажу, как мы столкнулись с проблемой backtracking’а в регулярных выражениях и как ее решили с помощью библиотеки re2j.

Читать далее

Статический анализатор, который изменит вашу архитектуру

Время на прочтение17 мин
Охват и читатели12K

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

Читать далее