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

Java *

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

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

Борьба Добра со Злом в играх со скрытой информацией. Боты

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

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

В этой статье мы будем рассматривать игры со скрытой информацией, с ветвистыми и глубокими деревьями решений.

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

Итак, что будем делать? Будем писать ботов и, со временем, средства их обнаружения.

И тут важно согласиться, что боты – это не всегда Зло. Боты – это лишь инструмент в руках Зла. Или Добра...

Выбрать сторону)

Вся правда о @Subselect: преимущества, недостатки и альтернативы в Hibernate

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

В современных приложениях иногда возникает необходимость получать данные из сложных запросов и аннотация @Subselect в Hibernate может стать отличным решением. 

В новой статье от эксперта сообщества Spring АйО, Михаила Поливахи, вы узнаете как использовать @Subselect, какие существуют альтернативы и в чём заключаются их преимущества и недостатки.

Читать далее

Создаём CRUD REST API в Spring Boot быстро и просто вместе с Amplicode

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

Не так давно на нашем канале вышло видео, в котором Георгий Власов рассказывал, как с помощью Amplicode можно сгенерировать CRUD Rest Controller сразу со всеми необходимыми методами.  

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

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

Давайте посмотрим как эти фичи выглядят на практике!

Читать далее

Интеграция предобученных нейросетей в Java-проектах: практический пример

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

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

В данной статье я привожу практический пример интеграции с предобученной моделью, так рассмотрим задачу извлечения именованных сущностей (NER) — автоматического определения имен, мест или дат из текста. Мы будем использовать предобученную модель BERT, выполненную через библиотеку ONNX Runtime.

Вообще существует множество предобученных моделей для извлечения именованных сущностей (NER) и других задач NLP. Вот некоторые из них:

Читать далее

Система отчётов в Gatling: как работать и что включает?

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

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

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

Читать далее

Введение в Gatling: какие есть альтернативы и в чем их минусы?

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

Привет, Хабр! Вы когда-нибудь задумывались, насколько ваш веб-сервис способен выдержать шквал запросов? Что произойдёт, если ваши пользователи, словно зомби, хлынут на сервер тысячами? Вот тут-то и начинается история про нагрузочное тестирование, которое помогает понять, где у вашего приложения «узкие места». А инструмент, о котором мы сегодня поговорим, — Gatling. Это мощная, элегантная и, честно говоря, недооценённая альтернатива монстрам вроде JMeter, LoadRunner и k6. Но давайте разбираться по порядку.

Читать далее

Как мы обновляли продакшн до Spring Boot 3

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

В уже уходящем 2024 году мне удалось побывать на конференции JPoint, которая проходила в апреле. В числе прочего там активно обсуждалась тема обновления проектов на Spring Boot 3. Однако из тех, кого мне удалось послушать, и с кем пообщаться, ни у кого не было реального опыта такого обновления. Опасения в первую очередь были связаны с Hibernate 6, который сильно изменился по сравнению с предыдущей пятой версией.

Как я уже позже выяснил на собственном опыте, опасались не зря. Именно из-за изменений в поведении Hibernate мы получили аварию на проде: наша база начала грузить CPU под 100%. Это была самая серьёзная, но далеко не единственная проблема, с которой пришлось столкнуться. Далее опишу в деталях, что, как делали и какие проблемы поймали.

Читать далее

Поиск потенциальных уязвимостей в коде, часть 1: теория

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

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

Читать далее

Открытая IDE для российских разработчиков

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

Компания Haulmont совместно с Группой Астра и Axiom JDK создает некоммерческое партнерство для развития открытой российской среды разработки – OpenIDE.

Все три компании имеют огромный опыт в создании популярных продуктов для разработчиков и мы верим, что сможем сделать качественный продукт. Мы не планируем изобретать велосипед и будем использовать в качестве основы популярную среду с открытым кодом IntelliJ IDEA Community Edition.

Почему это хорошая новость для российских разработчиков? Чем это отличается от самой IntelliJ IDEA CE или уже существующей российской GigaIDE? Какие языки будут поддерживаться? Что со Spring? Когда релиз? Читайте под катом.

Читать далее

Как жить без IntelliJ IDEA? Часть №4. Database Client

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

В новой статье из цикла «Как жить без IntelliJ IDEA» команда Spring АйО изучила альтернативы DB‑клиенту от JetBrains, входящему в состав Ultimate и полюбившемуся многим разработчикам.

Мы также постарались выяснить, насколько альтернативные инструменты удобны и эффективны на практике.

Читать далее

Junior of IntelliJ IDEA

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

IntelliJ IDEA имеет богатый функционал, однако, как и в любом другом программном обеспечении, существуют маленькие хитрости и трюки, которые могут сделать работу с этим инструментом ещё более приятной и эффективной. В этой статье мы рассмотрим несколько таких функций, которые помогут раскрыть весь потенциал IntelliJ IDEA и улучшить свой рабочий процесс.

Читать далее

SLAM на Java с OpenCV: сравнение алгоритмов автономной навигации

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

Интересуешься визуальной одометрией? В этой статье я сравнил алгоритмы ORB, R2D2, SIFT и их комбинации, реализовав их на Java с OpenCV. Подробно разобрал, как они работают, замерил точность, производительность и наглядно показал, какой алгоритм лучше для беспилотников. Если хочешь узнать больше и посмотреть примеры кода на Java, заглядывай!

Как я сравнил SLAM-алгоритмы на Java?

Хэши: виды, применение и примеры на Java

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

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

Читать далее

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

Горькая правда о программировании с использованием ИИ

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

Опытные инженеры используют ИИ для ускорения процессов, однако джуны зачастую сталкиваются с проблемами из-за неполного понимания сгенерированного кода.

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

Подробности в новом переводе от команды Spring АйО.

Читать далее

Стажировка в банке: идеальный старт для айтишников

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

Почему стажировка в финтехе — это правильный выбор? Давайте говорить откровенно: финтех — это про инновации, масштабные задачи и реальные вызовы. В ОТП Банке мы понимаем, что поколение Z ищет не просто работу, а проекты, где можно прокачивать свои скиллы и ощущать, что твой код реально меняет что-то в этом мире. Наша стажировка — это входной билет в мир, где программирование встречается с бизнес-целями, а технические решения помогают миллионам пользователей. Привет, Хабр! В этой статье расскажу, что мы предлагаем в новом отборе на программу стажировок.

1. Проекты с реальным импактом

Забудь про учебные песочницы. У нас ты будешь участвовать в разработке настоящих продуктов: от улучшения пользовательского интерфейса мобильного приложения до оптимизации backend-систем. Хочешь поработать с big data или заняться автоматизацией процессов? У нас для тебя есть задачи на любой вкус.

Читать далее

Защита своего приложения с помощью JWT и Spring Security

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

В прошлой статье мы познакомились с такой технологией как Keycloak. Если говорить вкратце, то Keycloak это технология, которая помогает реализовать безопасность для вашего приложения. Он автоматически генерирует JWT и предлагает готовые решения для безопасности, что упрощает работу для разработчика. Но бывает так, что встроенной генерации JWT не достаточно или она не совсем подходит, тогда нужно создать свою реализацию данного токена. В данной статье мы рассмотрим как реализовать простую генерацию своего JWT.

Читать далее

Расширение Spring Data репозиториев стало ещё проще

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

В новом релизе Spring Data 2024.1 улучшена возможность добавления кастомной функциональности, что значительно упростило создание переиспользуемых экстеншенов. 

В новом переводе от команды Spring АйО вы узнаете, как разработать расширения, которые подойдут для множества проектов, без привязки к конкретному доменному типу.

Читать далее

Сколько памяти нужно в 2024 году для выполнения миллиона конкурентных задач?

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

Помните сравнение потребления памяти для асинхронного программирования на популярных языках 2023 года?

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

Давайте снова проведём бенчмарки и изучим результаты!

Читать далее

Keycloak интеграция со Spring boot

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

Данная статья является инструкцией для новичков, которые хотели бы использовать Keycloak в своих проектах на Spring в качестве безопасности.

Читать далее

Java Digest #19

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

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

В этом выпуске мы пройдемся по JEP, которые попадут в Java 24. Взглянем на новые релизы: IntelliJ IDEA 2024.3, Spring Framework 6.2 и Spring Boot 3.4, а еще Armeria 1.31.0 и Kora 1.1.16. Посмотрим новый алгоритм сбора мусора Mark-Scavenge. Узнаем больше о точках отказа в хайлоад-системах и LLVM. А еще разберемся, как ускоряли time-to-code в IntelliJ IDEA, какие тонкости есть в Hibernate и во многом другом 🙂  

Читать девятнадцатый выпуск

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