Как стать автором
Обновить
217.33

Java *

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

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

Metatron — Open Source библиотека для генерации отчетов на языке Rust

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

Год назад возникла идея переписать весь Java-бекенд на Rust, который я уже несколько лет разрабатываю и поддерживаю. Я нашёл все аналоги библиотек и фреймворков из мира Java в экосистеме Rust:

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии8

Новости

Java для домохозяек: логика разбора сообщений внутри Telegram бота

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

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

Telegran bot (long polling) Avandy News, обзор статья, open source GitHub

Основная идея: Avandy News Analysis (включена в Реестр российского ПО, разраб - я)

Реестр российского ПО: Как попал в него

Читать далее
Всего голосов 2: ↑1 и ↓10
Комментарии0

Настройка сервиса аутентификации OpenAM и шлюза авторизации OpenIG для защиты приложений

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

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

В этой статье мы настроим централизованную аутентификацию через сервис аутентификации на Open Access Manager (OpenAM) и настроим доступ к приложению через шлюз авторизации Open Identity Gateway (OpenIG), который будет использовать сессию аутентификации OpenAM. В качестве защищаемого приложения будем использовать приложение, разработанное с использованием Spring Boot и Spring Security.

Читать далее
Рейтинг0
Комментарии0

Безопасный Continuous Deployment БД по принципам DB-First

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

В статье рассматривается Continuous Deployment для БД с бесшовными релизами за счёт обратно-совместимых обновлений и автоматизации проверок совместимости с помощью подхода DB-First.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии8

Истории

Java в облаках

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

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

Читать далее
Всего голосов 2: ↑1 и ↓10
Комментарии3

Еще раз о перформансе стримов в Java

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

Перевод статьи, где автор замеряет перформанс Stream API в Java на около-реалистичных (и не очень) задачах. Как и автору, мне нередко на глаза попадаются заявления что мол вся эта функциональщина в джаве - баловство и скорее вредный сахар. И что старовер с джавы 1.6 напишет на циклах заведомо более быстрый код, чем хипстер на стримах. Также в статье наглядно демонстрируется, в каких именно условиях параллельные стримы могут начать приносить пользу.

Читать далее
Всего голосов 8: ↑9 и ↓-1+10
Комментарии13

Старт разработки с применением GraphQL / DGS Framework

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

Привет! Мы – Екатерина и Виктория, middle-разработчик и старший разработчик в БФТ-Холдинге. В статье кратко расскажем об основах DGS фреймворка, его преимуществах, проблемах, с которыми мы столкнулись при работе с ним, а также покажем создание простого сервиса с поддержкой WebFlux.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии1

Shenandoah GC в JDK

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

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

Shenandoah GC — это сборщик мусора для OpenJDK, целью которого является минимизация времени пауз, возникающих в результате сборки мусора, путем выполнения процессов эвакуации памяти параллельно с работающими Java‑потоками. Фичей Shenandoah является то, что время пауз GC не зависит от размера кучи, что означает одинаково короткие времена пауз как для кучи размером в 200 МБ, так и для 200 ГБ. Это достигается за счет использования дополнительного указателя косвенности для каждого Java‑объекта, что позволяет потокам GC компактизировать кучу, пока Java‑потоки продолжают выполняться.

Разработка Shenandoah началась с экспериментального проекта, целью которого было предоставление альтернативы другим сборщикам мусора, которые приоритизируют пропускную способность или размер памяти над отзывчивостью. Уже к 12-й версии JDK Shenandoah был готов к использованию, хотя и оставался помеченным как экспериментальная функция. Это состояние сохранялось, чтобы соответствовать статусу других сборщиков мусора, таких как Epsilon GC и ZGC.

Основное событие в истории Shenandoah — включение его в состав продуктовых функций начиная с 15-й версии JDK. Т.е для его использования больше не требовалось разблокировать экспериментальные опции VM. Такое изменение было в основном косметическим и касалось классификации настроек Shenandoah. Тем не менее, это был значительный шаг вперед, подтверждающий зрелость этого сборщика мусора.

Читать далее
Всего голосов 8: ↑6 и ↓2+4
Комментарии1

ChatGPT Глубокая интеграция

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

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

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии8

«Михалыч, где заказ?» или как мы автоматизировали процесс заказа лома и отслеживали его по RFID

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

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

Привет, Habr! На связи Александр Тамразов и Дмитрий Кривенко, разработчики из Аxenix.

Читать далее
Всего голосов 10: ↑9.5 и ↓0.5+9
Комментарии2

Зонтичный мониторинг на коленке

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

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

Читать далее
Всего голосов 3: ↑3.5 и ↓-0.5+4
Комментарии0

Контроллеры на дженериках: пишем кода в 3 раза меньше

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

В рамках наших Java курсов "Из Middle в Senior" (предыдущие посты Миграция Java Spring Boot на Kotlin и «Работа с документами в Java») недавно вышел новый курс Startup: Spring Boot веб-приложение с хостингом и инфраструктурой на основе эволюции нашей платформы онлайн-обучения с 2016г.

В рамках курса есть много подходов, сокращающих количество кода/усилий разработчиков. Один из них: сквозная параметризация от сервисов до репозиториев, позволяющая сокращать количество кода ~3х. Код приведен на Java, но общий подход может быть использован в любом языке с параметризацией. Кому интересно:

Добро пожаловать
Всего голосов 9: ↑6 и ↓3+3
Комментарии22

Настройка аутентификации в приложении через Active Directory с использованием OpenAM

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

Почти каждая организация использует Active Directory для управления учетными записями сотрудников. И использование существующих учетных записей для доступа к корпоративным приложениям является хорошей практикой. В данной статье мы настроим аутентификацию в демонстрационном Spring Boot приложении через существующий сервер Active Directory в OpenAM.

Читать далее
Рейтинг0
Комментарии0

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

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн

Как я написал клиент электронного дневника своей области

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

Сейчас я учусь в 8 классе. Где-то с октября (сейчас апрель) я изучаю разработку мобильных приложения для андроид. И как это бывает у каждого - я столкнулся с проблемой: а какое приложение мне сделать? И мне крайне повезло. Я не стал делать какой-нибудь фейковый магазин, калькулятор, блокнот, туду лист и всякую подобную заезженную тему.

Читать далее
Всего голосов 94: ↑102 и ↓-8+110
Комментарии28

Настройка HTTPS для контейнеризированных Java-сервисов

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

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

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

Для создания приложения мы будем использовать фреймворк Jmix, который основан на Spring Boot и Vaadin, поэтому описанные подходы будут работать также для широкого класса веб-приложений на Spring Boot. 

Мы предполагаем, что вы установили Docker актуальной версии для своей ОС, используя brew, chocolately или deb/rpm.

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии2

Что скрывается в коде игрового движка, написанного на Java?

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

Вы когда-нибудь интересовались игровыми движками, написанными на Java? В этой статье мы рассмотрим и проверим на наличие ошибок в исходном коде один из популярных игровых движков — jMonkeyEngine. Возможно, мы даже узнаем, почему игры пишутся на C# и C++, а не на Java.

Читать далее
Всего голосов 12: ↑14.5 и ↓-2.5+17
Комментарии8

Как создать свой Spring Boot 3 — стартер?

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

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

Spring Boot starter'ы - отличный способ управлять созданием, развитием и поставкой общей кодовой базы. О том как создать свой Spring Boot 3 стартер и поговорим в этой статье.

Читать далее
Всего голосов 12: ↑11.5 и ↓0.5+11
Комментарии7

Java Digest #11

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

Всем привет! 👋 👋 👋👋

Мы — Java-разработчики Тинькофф: Андрей, Арсений, Константин и Константин — наша команда выросла на целого Костю. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки теперь на 25% больше и делимся этим со всем сообществом.

Главная новость прошедшего месяца: вышла Java 22. В этом выпуске мы собрали много материалов на эту тему: обзоры JEP, видео и статьи, посвященные изменениям. Будут обзоры о новых релизах и дорожная карта Ktor. Нашлось место туториалам, посещенным Testcontainers, ExecutorService, Spring и Java NIO. Кстати, 24 марта Spring 1.0 исполнилось 20 лет — на эту тему тоже есть интересный материал. Приятного чтения 🙂

Читать свежий выпуск
Всего голосов 14: ↑14 и ↓0+14
Комментарии3

Что нужно знать джависту, чтобы пройти собеседование

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

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

Читать далее
Всего голосов 21: ↑16.5 и ↓4.5+12
Комментарии17

Заставляем дружить OpenGL c JVM на macOS

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

Исторически так сложилось, что macOS сильно отличается от других операционных систем, когда дело доходит до нативной работы с окнами и графикой. И нельзя сказать, что это определенно плохо или хорошо. В этом плане Apple решили пойти своей любимой дорогой: "мы лучше знаем что тебе нужно, поэтому сделали все за тебя". Как же это проявляется?

Читать далее
Всего голосов 5: ↑5.5 и ↓-0.5+6
Комментарии2
1
23 ...
Изменить настройки темы

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

Работа

Java разработчик
356 вакансий