Обновить
256K+

Java *

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

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

Как запустить защищенные сервисы в Entaxy ION

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

Представьте ситуацию, когда у вас есть файл с описанием сервиса – это может быть json или yaml, описанный по спецификации OpenAPI или xml с WSDL описанием SOAP сервиса. Вам требуется оперативно запустить сервис по этому описанию, чтобы системы-источники могли начать отправлять данные. А ещё этот сервис надо как-то обезопасить. А ещё… Но обо всё по порядку – расскажем и научим в этой статье.

Читать далее

Как за 15 минут превратить таблицы БД в JPA-сущности (и не облажаться)

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели12K

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

За 15 минут вы узнаете, как можно легко преобразовать таблицы базы данных в JPA-сущности, учитывая ограничения, индексы, свойства столбцов, а также ассоциативные связи (1:1, 1:M, M:1, M:M).

Читать далее

Реальный кейс: 22 вопроса на техническом интервью на вакансию Java Lead в JP Morgan в 2025 году

Уровень сложностиСложный
Время на прочтение35 мин
Охват и читатели67K

Аудитории Хабра наверняка интересно, какие вопросы задают на техинтервью в мультинациональных корпорациях. Ведь ИТ-индустрия была и остается глобальной, несмотря на геополитику и разные другие сложности. Как минимум, такая информация об интервью «из первых рук» — это ориентир по уровню сложности собеседования на позицию Java Lead в любых других компаниях, включая крупные российские банковские и промышленные структуры. Именно поэтому эта статья в нашем блоге SSP SOFT.

Читать далее

Практика использования классов Socket и ServerSocket в Java

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

В этой статье будет показан пример создания небольшого многопользовательского чата с помощью сокетов. Для его реализации вам понадобиться Java и Maven.

Читать далее

Мой Maven plugin для IDEA часть 2. Easy Maven — Перезагрузка или импорт проектов в IDEA без ошибок

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

Всем привет. Более года назад я публиковал на Хабр статью, где рассказывал о проблемах IDEA Maven плагина, о том что с этим можно сделать и представил свою версию плагина. Основная проблема которую он решает - это импорт проектов в IDEA. На тот момент это был прототип решения. За это время у меня появилось ~300 активных пользователей, добавлена поддержка MVND и WSL. И спустя год, хотел бы рассказать о изменениях которые произошли в моем плагине более подробно, а ближе к концу статьи о свежих примерах ошибок импорта проектов в IDEA, которые смог решить мой плагин.

Читать далее

Valhalla — эпичный рефакторинг Java. Часть 2: проблемы проекта и их решения

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

Команда Spring АйО перевела и адаптировала доклад Брайана Гоетца «Valhalla — эпичный рефакторинг Java», и сегодня мы публикуем вторую часть из трех. В первой части серии было рассказано об истории и причинах появления проекта Valhalla. Во второй части подробно разбирается вопрос о том, с какими фундаментальными сложности команда столкнулась на пути к решению поставленных задач.

Читать далее

PAL видеоадаптер на FPGA с буфером кадра

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели13K

Наверное, каждый второй разработчик на ПЛИС в начале своего пути пытался визуализировать работу своих схем. Кто-то подключал TFT-дисплей, кто-то — VGA монитор. А у меня под рукой оказался только телевизор с композитным входом. Ну что ж, работаем с тем, что есть!

Читать далее

JPackage в gradle для Java17

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели5.1K

В этой статье я расскажу вам, как создать исполняемое приложение на Java, используя инструмент jpackage и gradle.

Читать далее

Секреты JVM: что происходит с ошибками под капотом

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

Новый перевод от команды Spring АйО расскажет вам (с примерами кода), как JVM обрабатывает исключения на низком уровне, что такое таблица исключений и какие сценарии используются для вариантов try-catch и try-finally.

Читать далее

MongoDB: магия вне Хогвартса в IT

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

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

Меня зовут Алена Метенева, я работаю старшим инженером по обеспечению качества в компании SM Lab в проекте «Кассы». Я тестирую бэкенд и интеграции и там, где это возможно, автоматизирую тесты на Java. Сегодня я хочу рассказать вам о том, как MongoDB помогает мне с этим процессом.

Что такое MongoDb

Думаю, многие работали с MongoDB (Монга) и знают, что это нереляционная СУБД, которая использует для хранения данных JSON-структуру: вместо таблиц и строк, как в реляционных базах данных, в MongoDB есть коллекции (набор документов, эквивалент таблицы реляционной базы данных) и документы (внутри коллекции они могут отличаться друг от друга размером, содержанием и количеством полей), которые состоят из пар «ключ–значение».

Для чего Монга тестировщику 

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

Что я имею в виду?

Представьте, что вы тестируете интеграцию с другой системой. Если все работает стабильно, то пройти позитивные сценарии будет проще всего. А если вы хотите протестировать кейс, в котором смежная система выдает ошибку 503 (Service Unavailable) – это будет уже сложнее. Хорошо, если вы управляете обеими системами и можете просто перезагрузить одно приложение и попытаться достучаться до него через второе. А если система не ваша? В таком случае принято использовать моки. Но есть и третий вариант: если ваше приложение для подключения к другому берет ссылку из MongoDB, то эту ссылку можно просто подменить, добавив в нее лишние символы, чтобы получить ту самую ошибку 503 или 404 (Not Found), например.

Читать далее

Через тернии к рок-звездам: рассказываем, как прошел Java Rock Stars Meetup

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели1.4K

Привет, Хабр! На связи Рустам, Developer Advocate в Axiom JDK.

В сфере зарубежного IT-рекрутинга существует термин “rockstar” и речь здесь не о музыкантах и безумных вечеринках. Это титул для лучших из лучших талантов в разработке.

Мы подготовили обзор первого Java Rock Stars Meetup — эксклюзивной встречи звезд индустрии с сообществом разработчиков, которая прошла в Москве. Под катом — погружение в атмосферу и записи докладов. Смотрим как это было!

Читать далее

Новый формат собеседований в Яндекс

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

Недавно Яндекс изменил процесс отбора кандидатов, теперь перед алгоритмической секцией добавилась секция Advanced Code. Секция заявлена как более близкая к практике, в статье я расскажу правила нового формата.

Читать далее

Как ускорить Maven сборку без переезда на Gradle

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

С ростом размера Maven проекта встает вопрос скорости сборки и выполнения тестов. Один из самых очевидных способов оптимизации - переезд на другую систему сборки (например, Gradle). Однако перед тем как переезжать (что неизбежно создаст новые проблемы - об этом в конце) давайте поговорим о том, что мы можем сделать для ускорения, оставаясь на Maven. Тем более что многие советы нам пригодятся в любом случае, даже если переезд в итоге и состоится.

Мы начнем с простого, поговорим про кеши и build-сканы и затем заглянем под капот Maven, чтобы понять, как найти и устранить узкие места, а также детально сравним с Gradle. Эффект от каждого совета по отдельности может быть и не такой заметный, но в совокупности ускорение может быть в разы!

В рамках этой статьи мы поговорим в основном про оптимизацию компиляции.

Погнали

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

Где я учился, чтобы перейти в it сферу и преуспеть

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

Данная статья является продолжением этой статьи: Инструкция: как перейти в сферу it, но с перечнем курсов, которые я закончил (это тоже часто спрашивают). Можете считать это рекламой пройденных мною курсов, а можете и не считать.

Читать далее

Junie – новый AI-агент от JetBrains. Junior разработчики больше не нужны

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели37K

В новом переводе от команды Spring АйО мы расскажем вам о новом продукте от компании JetBrains, который называется Junie. Новый продукт работает по принципу искусственного интеллекта и способен самостоятельно выполняет задачи по написанию кода.

Читать далее

Вся правда о данных: от примитивов до озера данных в эпоху микросервисов. Гайд для Java-разработчика

Уровень сложностиПростой
Время на прочтение155 мин
Охват и читатели8.7K

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

Цель этой статьи - предоставить полное руководство по структурам, концептам и инструментам для работы с данными в экосистеме Java, с уклоном в микросервисную архитектуру.

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

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

Читать далее

Телеграм-бот с ИИ Jlama: добавляем новые фичи

Уровень сложностиСложный
Время на прочтение6 мин
Охват и читатели2.5K

Привет Хабр! В прошлый раз мы сделали телеграм-бота с полноценным ИИ. Теперь мы продолжим добавлять новые интересные фичи нашему боту, но в этот раз мы начнем с конца и посмотрим на готовый результат, а потом разберем код и детали реализации.

Читать далее

Глубокое погружение в процедуру запуска JVM

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели18K

Новый перевод от команды Spring АйО расскажет вам, что происходит при запуске самого простого приложения на Java, какие шаги выполняет JVM, сколько классов ей необходимо загрузить, чтобы просто написать «Hello World!» и как все это выглядит на уровне byte code.

Читать далее

Сложные «танцы» дилетанта вокруг телеграмм-бота викторины на java

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели1.2K

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

Читать далее

Итоги года вместе с Amplicode

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

Первые публичные демо, ажиотаж на конференциях, поддержка Spring Data JDBC, разработка собственного HTTP-клиент (Connekt), интеграция с Kubernetes, тысячи активных пользователей, сотни тысяч просмотров на YouTube и участие в создании OpenIDE — так можно охарактеризовать 2024 год одним предложением с точки зрения команды Amplicode.

Читать далее