Обновить
206.15

Java *

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

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

Настройка PostgreSQL для LLM

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

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

Пока звучит странно, не правда ли? Что я имею в виду? Я имею в виду повышение эффективности создания любых SQL-запросов в базу данных с использованием LLM (ChatGPT, DeepSeek, Llama и других).

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

Читать далее

Java Digest #22

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

Всем привет! 👋 👋 👋 👋 Мы Java-разработчики Т-Банка: Андрей, Арсений, Роман, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.

В этом выпуске: дикая сторона Java — неожиданные трюки, которые работают. Узнаем, как переключение контекста убивает продуктивность и как с этим бороться. Разберем третью и четвертую части серии про HotSpot C2 JIT Compiler: измерим время компиляции, оптимизируем циклы и ускорим JIT. 

Посмотрим на свежие JEP и разберемся, какие новинки ждут нас в будущих версиях Java. Погрузимся в реальные проблемы миграции баз данных: транзакционные DDL, конфликты обновлений и правильные стратегии применения изменений. А в конце — большое видео на 2,5 часа про все ключевые фичи, которые появились в Java 22 и 23. Приятного прочтения!

Читать далее

АОП в автоматизации тестирования

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

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

Создаем проект 'Gradle'

Читать далее

Page Object Model и Page Factory в Selenium

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

Автоматизированное тестирование веб-приложений невозможно представить без грамотной организации кода, позволяющей упростить поддержку тестов и минимизировать дублирование. В Selenium для этого широко применяются паттерны Page Object Model (POM) и Page Factory. Они помогают структурировать тестовую архитектуру, отделяя логику взаимодействия с UI от самих тестов. В этой статье разберём, как работают POM и Page Factory, в чём их различия, а также как их реализовать в Selenium с использованием Java.

Читать далее

Docker для начинающих: простое развертывание приложения за несколько шагов

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

Всем привет! Для своей первой статьи я решил выбрать проблему, с которой сам столкнулся при изучении Java и попытке упаковки приложения в докер-контейнер. К сожалению не нашел ни одной исчерпывающей статьи, как это делать, поэтому решил написать свою.

Начну, пожалуй, с самого сервиса. Я написал достаточно простое веб-приложение на стеке - Java, Spring, Maven, REST, HTTP, Hibernate, Postgresql, JSP/JSTL. Пока приложение представлено достаточно в сыром виде, но для понимания, как оно упаковывается в контейнер, вполне подойдет. Если вкратце, то это сервис для голосования за лучший ресторан, где можно зарегистрироваться, добавить ресторан, его описание, оставить отзыв и проставить рейтинг. Также, в зависимости от роли, можно посмотреть информацию о пользователях и редактировать ее. 

Читать далее

Платформа OpenBPM, или как я научился не волноваться и полюбил бизнес-процессы

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

Компания Haulmont представляет новый продукт для разработки процессных приложений — OpenBPM. 

Что это — очередная BPMS-платформа? Чем OpenBPM отличается от других решений на рынке? Что входит в её состав? Когда ожидается релиз? Ответы на эти и другие вопросы вы найдёте в данной статье.

Читать далее

OpenIDE: первый взгляд

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

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

Ниже небольшой обзор и скриншоты в работе под FreeBSD, что наверное создателей немного удивит. Но я предупреждал ;-)

Читать далее

Рецензия на книгу “Spring и Spring Boot. Разработка облачных приложений на Java”

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

Spring и Spring Boot — это фундаментальные технологии для современных Java-разработчиков. С их помощью создаются сложные и гибкие корпоративные приложения, при этом минимизируются рутинные задачи. Если вы действующий разработчик на Java или пока учитесь на ИТ-курсах / в ВУЗе и только планируете им стать, знание Spring будет “must have” скиллом. Ведь практически все новые проекты ведутся с его использованием. Более того, Spring Boot существенно упрощает работу с Spring Framework, автоматизируя настройку и позволяя разработчикам сосредоточиться на логике приложения.

Читать далее

За кулисами JIT: Секреты HotSpot JVM C2 компилятора (Часть 2)

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

Новый перевод от команды Spring АйО является продолжением разговора о JIT (Just in Time) компиляции, а также дает представление о различных инструментах, позволяющих работать со скомпилированным кодом, визуализировать его и отлаживать в интерактивной форме. Перед прочтением рекомендуем ознакомиться с первой статьей из цикла статей про JIT.

Во второй части мы рассмотрим:

— Инлайнинг GVN (global value numbering) во время синтаксического анализа (parsing).
— Использование IGV (Ideal Graph Visualizer) и rr (отладчик), чтобы посмотреть на IR и его трансформации.
— Простая “идеализация” 101 * a + 202 * a в 303 * a.
— Упражнения для читателя: несколько дополнительных трансформаций, которые читатель сможет проанализировать.

Читать далее

3200% нагрузки на процессор

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

Совсем недавно моя машина была в таком запущенном состоянии, что я едва мог подключиться к ней через ssh. 3200% нагрузки на CPU — полностью использовались все 32 ядра хоста! Сравните это с моим последним багом, когда использовалось всего одно ядро, то есть 100%

К счастью, я использовал среду выполнения Java 17, у которой были дампы потоков с указанием времени CPU!

Читать далее

Реализация постквантовых алгоритмов на Java и Go

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


В последнее время в СМИ много публикаций о новых квантовых компьютерах, которые представляют угрозу для современной криптографии. Например, недавно Google сообщила о разработке квантового процессора Willow, который в специально сформулированной задаче превышает производительность самого мощного суперкомпьютера в септиллион раз (септиллион = 1025).

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

Spring Now 2025 – Главная конференция про Spring на русском языке

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

6 марта 2025 года состоится бесплатная онлайн-конференция Spring Now 2025

В ней примут участие не только эксперты сообщества Spring АйО, но и приглашенные лидеры индустрии.

Предлагаем более подробно ознакомиться с программой мероприятия и спикеров конференции. Зарегистрироваться на мероприятие можно по ссылке.

Читать далее

Утренний рефакторинг с Дженной Ортегой*

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

На относительно простом примере показываю как можно сделать программу «снова великой». Ключевые стадии рефакторинга, Java, эмулятор и Jenna Ortega в нейросетевом исполнении.

Читать далее

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

Исследуем возможности ИИ писать код. Часть 1

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

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

Читать далее

История о том, как мы в ОК упрощали процесс создания API

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

Представьте ситуацию: у вас есть большой «зрелый» ИТ-продукт, но специалистов, способных его поддерживать, крайне мало. Что делать, в такой ситуации — продолжать «тянуть чемодан без ручки» или искать способ перехода на понятные и распространенные технологии?

Не так давно команда ОК столкнулась с подобной дилеммой: исторически для отображения страниц мы использовали server-side рендеринг на базе GWT (Google Web Toolkit) и RDK (наша внутренняя разработка), так как разработка первой версии ОК началась более 20 лет назад. Такой набор технологий «под капотом» был оптимален в те времена, но сейчас он, мягко говоря, не самый желательный. Поэтому нам было важно перейти на более распространенную библиотеку, а точнее — на React. Это мы и начали делать итеративно, шаг за шагом для каждого раздела сайта.

Меня зовут Александр Косницкий, я разработчик в компании ОК. В этой статье я расскажу, как мы переводили на React раздел «Обсуждения»: с чего начинали, с чем сталкивались и как в результате смогли получить то, что поможет не только нам, но и остальным командам с переводом на новую библиотеку их собственных разделов.

Читать далее

Что на радаре в Java: программа JPoint 2025

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

Конференцию JPoint мы проводим уже 12 лет. За это время немало оперативки утекло, и актуальные для Java-разработчиков темы ощутимо изменились: например, когда мы всё начинали, ещё толком не было Kotlin. Какие-то понятия можно назвать «вечными» (например, о базах данных говорят из года в год), но и там конкретные темы докладов меняются.

А что будет на новом JPoint в апреле? Какие инструменты и подходы актуальны для разработчиков в 2025-м?

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

А во-вторых, у нас есть просьба. Чтобы делать программу как можно актуальнее, мы затеяли инициативу TechRadar. Если вы Java-разработчик, по возможности пройдите опрос о том, какими технологиями пользуетесь. Так и доклады получатся максимально соответствующими запросам сообщества, и без результатов опроса вас тоже не оставим — сможем позже все их как следует обсудить!

Читать далее

За каким чертом нам SpringExtension?

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

Новый перевод от команды Spring АйО расскажет вам, что такое SpringExtension, как правильно пользоваться этим расширением и когда его надо (или не надо) регистрировать вручную.

Читать далее

Можно ли спасти LinkedList? Пишем быстрый List на связном списке

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

Существует мнение, что LinkedList - неудачная коллекция и всегда и везде лучше использовать ArrayList. И так оно и есть =)

Давайте поможем LinkedList и сделаем его лучше и быстрее с помощью простой пластиковой бутылки кеширующего массива.
Вы увидите, как он обгонит ArrayList на 10 миллионах элементов и 100 тыс операциях в тестах, имитирующих реальную работу приложения.

Читать далее

Новые интересные диагностики в PVS-Studio 7.35

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

С релизом PVS-Studio 7.35 в анализаторе появилось много новых диагностических правил. Вас ждёт: много MISRA для C, новые Unity-диагностики для C# и покрытие OWASP Top 10 для Java и многое другое!
Подробности вы сможете узнать в этой заметке.

Читать далее >>>

Разработка приложения с oauth2Login авторизацией пользователя: Java 17 + SpringBoot 3.4 + Keycloak 26

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

Столкнулась на проекте с задачей по настройке флоу auth2 для Java приложения с использованием Keycloak в качестве сервера авторизации.
Вроде бы информации много на разных ресурсах и документация есть, но встречаюсь с такими нюансами: версии Keycloak-а меняются так, что утсраевают старые примеры, никто уже не использует их адаптер, на который массу примеров; меняются версии Spring и их примеры тоже быстро устаревают и прошлые варианты реализации всё равно надо по новому переписывать в новых версиях. Плюс для меня это был новый опыт работы с auth2, потому, конечно, множество источников пришлось перелопатить.
Потому решила написать небольшую инструкцию как в общем я реализовывала эту задачу.

Версии на момент разработки:
Java Coretto 17,
SpringBoot 3.4.1,
Keycloak 26.0.7.


Репозиторий:https://github.com/ElenaSpb/keycloak-example


1. Настройка Keycloak для локальной разработки

1.1 Cкачиваем последнюю версию, запускаем.
У меня он скачен в c:\distr\keycloak, перехожу там в папку \bin и запускаю сервер Keycloak командой kc.bat start-dev --http-port 8085 . На порту 8085 в dev профиле делаю.
1.2 При первом запуске он просит создать пользователя temporary admin user, админа сервера то есть, задав логин и пароль, создаю lenas / lenas.
Вот логи:

Читать далее

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