Как сделать Telegram-бота умнее: пошаговый гайд на Spring AI и Kotlin
Перед вами ещё один гайд о том, как написать свой telegram-бот, который взаимодействует с нейросетью. Мы напишем его таким образом, чтобы с нейросетью можно было вести диалог, т.е. рассмотрим, как сохранять контекст между сообщениями. Но таких гайдов, особенно для Python, уже написано немало. Поэтому напишем его на новом фреймворке Spring AI из эксосистемы Spring. А чтобы совсем было интересно - писать будем на Kotlin)
Читать: https://habr.com/ru/companies/dockhost/articles/884876/?utm_campaign=884876
@a_cup_of_java | Другие наши каналы
Перед вами ещё один гайд о том, как написать свой telegram-бот, который взаимодействует с нейросетью. Мы напишем его таким образом, чтобы с нейросетью можно было вести диалог, т.е. рассмотрим, как сохранять контекст между сообщениями. Но таких гайдов, особенно для Python, уже написано немало. Поэтому напишем его на новом фреймворке Spring AI из эксосистемы Spring. А чтобы совсем было интересно - писать будем на Kotlin)
Читать: https://habr.com/ru/companies/dockhost/articles/884876/?utm_campaign=884876
@a_cup_of_java | Другие наши каналы
👍2⚡1❤1
Поиск потенциальных уязвимостей в коде, часть 2: практика
В прошлый раз мы ознакомились с общими подходами в поиске уязвимостей безопасности в приложениях. В этот раз спустимся ближе к земле и посмотрим на то, как мы реализовали эти механизмы в нашем статическом анализаторе для Java.
Читать: https://habr.com/ru/companies/pvs-studio/articles/885576/?utm_campaign=885576
@a_cup_of_java | Другие наши каналы
В прошлый раз мы ознакомились с общими подходами в поиске уязвимостей безопасности в приложениях. В этот раз спустимся ближе к земле и посмотрим на то, как мы реализовали эти механизмы в нашем статическом анализаторе для Java.
Читать: https://habr.com/ru/companies/pvs-studio/articles/885576/?utm_campaign=885576
@a_cup_of_java | Другие наши каналы
Рейтинги языков программирования: что за ними скрывается?
Написать эту статью меня побудил один забавный случай. Он хорошо демонстрирует, что не стоит слепо доверять одному источнику, каким бы авторитетным он ни был. Впрочем, обо всём по порядку.
Когда только начинаешь карьеру разработчика, часто гложет сомнение: верно ли я выбрал язык программирования? Может, он уже устарел, или наоборот — слишком новый и не факт, что перспективный? Легко ли будет найти по нему актуальные книги и уроки? Много ли таких неофитов будет вместе со мной обивать пороги ИТ-компаний через год-два?
Опытным разработчикам тоже порой не хватает знания единственного языка программирования. В какой-то момент появляются специфические заказы и интересные вакансии, где крайне желательно владеть вторым (а то и третьим) языком.
Помочь с выбором языка программирования призваны рейтинги их популярности. Однако тут легко обмануться. Каждый рейтинг составляется по своей методике и даёт разные результаты (порой — весьма неожиданные). В этой статье я постарался сделать более взвешенную оценку популярности языков программирования (далее — ЯП) по нескольким источникам. Подробнее о них и почему это важно — рассказываю ниже.
Индексы популярности
Всё началось с того, что мне попался на глаза свежий рейтинг актуальности ЯП, где в TOP 10 внезапно ворвался Delphi. Пытаясь разобраться в причинах его внезапной популярности в 2025 году, я стал искать методики составления таких списков и нашёл много любопытного. Как обычно, дьявол кроется в деталях.
Индекс TIOBE — известный инструмент мониторинга, показывающий динамику интереса к разным ЯП. Он учитывает частоту поисковых запросов, связанных с ЯП. Для этого каждый месяц в Google, Bing, Yahoo! и Baidu отправляются запросы по определённому шаблону, чтобы отсеивать из выдачи мусор и корректно сравнивать статистические данные. Дополнительно в рейтинге учитывается число образовательных материалов о ЯП: количество видеоуроков на YouTube, книг на Amazon и упоминаний на Wikipedia.
Читать: https://habr.com/ru/companies/kryptonite/articles/885528/?utm_campaign=885528
@a_cup_of_java | Другие наши каналы
Написать эту статью меня побудил один забавный случай. Он хорошо демонстрирует, что не стоит слепо доверять одному источнику, каким бы авторитетным он ни был. Впрочем, обо всём по порядку.
Когда только начинаешь карьеру разработчика, часто гложет сомнение: верно ли я выбрал язык программирования? Может, он уже устарел, или наоборот — слишком новый и не факт, что перспективный? Легко ли будет найти по нему актуальные книги и уроки? Много ли таких неофитов будет вместе со мной обивать пороги ИТ-компаний через год-два?
Опытным разработчикам тоже порой не хватает знания единственного языка программирования. В какой-то момент появляются специфические заказы и интересные вакансии, где крайне желательно владеть вторым (а то и третьим) языком.
Помочь с выбором языка программирования призваны рейтинги их популярности. Однако тут легко обмануться. Каждый рейтинг составляется по своей методике и даёт разные результаты (порой — весьма неожиданные). В этой статье я постарался сделать более взвешенную оценку популярности языков программирования (далее — ЯП) по нескольким источникам. Подробнее о них и почему это важно — рассказываю ниже.
Индексы популярности
Всё началось с того, что мне попался на глаза свежий рейтинг актуальности ЯП, где в TOP 10 внезапно ворвался Delphi. Пытаясь разобраться в причинах его внезапной популярности в 2025 году, я стал искать методики составления таких списков и нашёл много любопытного. Как обычно, дьявол кроется в деталях.
Индекс TIOBE — известный инструмент мониторинга, показывающий динамику интереса к разным ЯП. Он учитывает частоту поисковых запросов, связанных с ЯП. Для этого каждый месяц в Google, Bing, Yahoo! и Baidu отправляются запросы по определённому шаблону, чтобы отсеивать из выдачи мусор и корректно сравнивать статистические данные. Дополнительно в рейтинге учитывается число образовательных материалов о ЯП: количество видеоуроков на YouTube, книг на Amazon и упоминаний на Wikipedia.
Читать: https://habr.com/ru/companies/kryptonite/articles/885528/?utm_campaign=885528
@a_cup_of_java | Другие наши каналы
❤2
Model Context Protocol от Spring AI в Java SDK – новый стандарт для интеграции ИИ в экосистеме Java
Новый перевод от команды Spring АйО расскажет вам, что такое Model Context Protocol (MCP) и как его внедрение в экосистему Java упрощает жизнь разработчикам систем, в работе которых используется искусственный интеллект и LLM, а также передача большого количества данных между различными компонентами.
Читать: https://habr.com/ru/companies/spring_aio/articles/885544/?utm_campaign=885544
@a_cup_of_java | Другие наши каналы
Новый перевод от команды Spring АйО расскажет вам, что такое Model Context Protocol (MCP) и как его внедрение в экосистему Java упрощает жизнь разработчикам систем, в работе которых используется искусственный интеллект и LLM, а также передача большого количества данных между различными компонентами.
Читать: https://habr.com/ru/companies/spring_aio/articles/885544/?utm_campaign=885544
@a_cup_of_java | Другие наши каналы
❤2
Алгоритм одноразового блокнота на Java
В этой статье будет показан пример реализации алгоритма одноразового блокнота на чистой Java, без сторонних библиотек. В конце статьи есть ссылка на исходный код проекта.
Ознакомиться
Читать: https://habr.com/ru/articles/885664/?utm_campaign=885664
@a_cup_of_java | Другие наши каналы
В этой статье будет показан пример реализации алгоритма одноразового блокнота на чистой Java, без сторонних библиотек. В конце статьи есть ссылка на исходный код проекта.
Ознакомиться
Читать: https://habr.com/ru/articles/885664/?utm_campaign=885664
@a_cup_of_java | Другие наши каналы
❤1
Лучшие бесплатные курсы Jenkins и CI/CD на Udemy
Ищете бесплатные курсы для изучения Jenkins и CI/CD? В статье собраны 7 лучших курсов Udemy на 2025 год. Узнайте, как автоматизировать процессы разработки, внедряя CI/CD с помощью Jenkins. Эти курсы подойдут как начинающим, так и опытным разработчикам и DevOps-инженерам. Узнайте больше, чтобы начать обучение!
Подробности: http://www.java67.com/2024/06/7-best-free-jenkins-courses-for-java.html
#en
@a_cup_of_java | Другие наши каналы
Ищете бесплатные курсы для изучения Jenkins и CI/CD? В статье собраны 7 лучших курсов Udemy на 2025 год. Узнайте, как автоматизировать процессы разработки, внедряя CI/CD с помощью Jenkins. Эти курсы подойдут как начинающим, так и опытным разработчикам и DevOps-инженерам. Узнайте больше, чтобы начать обучение!
Подробности: http://www.java67.com/2024/06/7-best-free-jenkins-courses-for-java.html
#en
@a_cup_of_java | Другие наши каналы
❤2
Освойте Docker в 2025 году бесплатно
Хотите изучить Docker и улучшить свои навыки в DevOps? Узнайте о 6 бесплатных курсах на Udemy, подходящих для начинающих и опытных разработчиков. Эти курсы помогут понять основы контейнеризации, автоматизировать разработку и развертывание приложений, а также освоить ключевые концепции Docker. Подробности в статье.
Подробности: http://www.java67.com/2018/02/5-free-docker-courses-for-java-and-DevOps-engineers.html
#en
@a_cup_of_java | Другие наши каналы
Хотите изучить Docker и улучшить свои навыки в DevOps? Узнайте о 6 бесплатных курсах на Udemy, подходящих для начинающих и опытных разработчиков. Эти курсы помогут понять основы контейнеризации, автоматизировать разработку и развертывание приложений, а также освоить ключевые концепции Docker. Подробности в статье.
Подробности: http://www.java67.com/2018/02/5-free-docker-courses-for-java-and-DevOps-engineers.html
#en
@a_cup_of_java | Другие наши каналы
Пишем свой Config Provider для Kafka Connect с поддержкой значений по умолчанию
Для инжекции значений из различных источников в конфигурации тасок Kafka Connect используются различные реализации интерфейса org.apache.kafka.common.config.provider.ConfigProvider. Это специализированный интерфейс, реализации которого отвечают за то, чтобы подставить значения используя различные источники.
Читать: https://habr.com/ru/articles/885810/?utm_campaign=885810
@a_cup_of_java | Другие наши каналы
Для инжекции значений из различных источников в конфигурации тасок Kafka Connect используются различные реализации интерфейса org.apache.kafka.common.config.provider.ConfigProvider. Это специализированный интерфейс, реализации которого отвечают за то, чтобы подставить значения используя различные источники.
Читать: https://habr.com/ru/articles/885810/?utm_campaign=885810
@a_cup_of_java | Другие наши каналы
Стримы в Java: Как перестать бояться и полюбить filter-map-reduce (Часть 2)
В первой части мы поговорили про основы Stream API и убедились, как элегантно можно обрабатывать данные, используя цепочки операций. Но возможности на этом не ограничиваются. Пришло время подняться на новый уровень и посмотреть, что случается, когда добавляется параллельность. Как работают параллельные стримы под капотом? Чем они отличаются от ручного управления потоками? А как же всемогущий Spring и необычная RxJava? Именно об этом и пойдёт речь во второй части.
Читать: https://habr.com/ru/articles/885834/?utm_campaign=885834
@a_cup_of_java | Другие наши каналы
В первой части мы поговорили про основы Stream API и убедились, как элегантно можно обрабатывать данные, используя цепочки операций. Но возможности на этом не ограничиваются. Пришло время подняться на новый уровень и посмотреть, что случается, когда добавляется параллельность. Как работают параллельные стримы под капотом? Чем они отличаются от ручного управления потоками? А как же всемогущий Spring и необычная RxJava? Именно об этом и пойдёт речь во второй части.
Читать: https://habr.com/ru/articles/885834/?utm_campaign=885834
@a_cup_of_java | Другие наши каналы
❤🔥2
Яндекс представил SourceCraft — свой аналог GitHub
Яндекс запустил SourceCraft — аналог GitHub с CI/CD, ИИ-ассистентом и интеграцией с Yandex Cloud. Платформа уже доступна в тестовом режиме
Читать: «Яндекс представил SourceCraft — свой аналог GitHub»
@a_cup_of_java | Другие наши каналы
Яндекс запустил SourceCraft — аналог GitHub с CI/CD, ИИ-ассистентом и интеграцией с Yandex Cloud. Платформа уже доступна в тестовом режиме
Читать: «Яндекс представил SourceCraft — свой аналог GitHub»
@a_cup_of_java | Другие наши каналы
👍6👎1
Дикая Java
«Безопасный язык» говорили они, «четкая спецификация» говорили они, «Java не даст вам выстрелить себе в ногу» и прочее и прочее. Реальность же оказалась куда веселее официальной документации.
«Ибо JVM темна и полна ужасов». (ц)
Погрузиться
Читать: https://habr.com/ru/articles/886080/?utm_campaign=886080
@a_cup_of_java | Другие наши каналы
«Безопасный язык» говорили они, «четкая спецификация» говорили они, «Java не даст вам выстрелить себе в ногу» и прочее и прочее. Реальность же оказалась куда веселее официальной документации.
«Ибо JVM темна и полна ужасов». (ц)
Погрузиться
Читать: https://habr.com/ru/articles/886080/?utm_campaign=886080
@a_cup_of_java | Другие наши каналы
😁2
За кулисами JIT: Секреты HotSpot JVM C2 компилятора (Часть 1)
Новый перевод от команды Spring АйО расскажет вам о разных уровнях JIT (Just in Time) компиляции, о преимуществах такого подхода к компиляции Java приложений по сравнению с традиционным способом, а также покажет на примерах, что происходит при компиляции приложения и какой ассемблерный и машинный код будет сгенерирован при использовании разных опций JIT компиляции.
Читать: https://habr.com/ru/companies/spring_aio/articles/886142/?utm_campaign=886142
@a_cup_of_java | Другие наши каналы
Новый перевод от команды Spring АйО расскажет вам о разных уровнях JIT (Just in Time) компиляции, о преимуществах такого подхода к компиляции Java приложений по сравнению с традиционным способом, а также покажет на примерах, что происходит при компиляции приложения и какой ассемблерный и машинный код будет сгенерирован при использовании разных опций JIT компиляции.
Читать: https://habr.com/ru/companies/spring_aio/articles/886142/?utm_campaign=886142
@a_cup_of_java | Другие наши каналы
Поиск утекающих ресурсов в Java приложении
Привет, сообщество! Меня зовут Данила, я ведущий разработчик в БФТ-Холдинге.
Я расскажу вам о нашем опыте борьбы с утечкой памяти в сервисе авторизации. Как наша команда столкнулась с критической проблемой, которая приводила к сбоям сервиса, и нам пришлось провести исследование, чтобы найти и устранить причину утечки ресурсов.
Как все начиналось: из бэклога прилетела задача с формулировкой – при эксплуатации authz-server на контуре PROD наблюдается активная утечка памяти, которая приводит к прекращению работы сервиса по причине достижения лимитов по RAM.
Контур PROD уже звучит грозно, приоритет критический, надо разбираться. После недолгого анализа исходников выяснено: обычный Spring Boot сервис c gRPC библиотекой, который выполняет 2 функции – поход в базу за данными пользователей (ФИО и роли) и проверку наличия доступа к конкретному ресурсу для конкретного пользователя. Первая функция тривиальная – «дай по id такого-то пользователя, если нет, то скажи, что его нет». Вторая функция немного сложнее: нужно вызвать метод сторонней библиотеки и передать в него 5 параметров. И всё, но на PROD график использования heap вот такой:
Читать: https://habr.com/ru/companies/bft/articles/884582/?utm_campaign=884582
@a_cup_of_java | Другие наши каналы
Привет, сообщество! Меня зовут Данила, я ведущий разработчик в БФТ-Холдинге.
Я расскажу вам о нашем опыте борьбы с утечкой памяти в сервисе авторизации. Как наша команда столкнулась с критической проблемой, которая приводила к сбоям сервиса, и нам пришлось провести исследование, чтобы найти и устранить причину утечки ресурсов.
Как все начиналось: из бэклога прилетела задача с формулировкой – при эксплуатации authz-server на контуре PROD наблюдается активная утечка памяти, которая приводит к прекращению работы сервиса по причине достижения лимитов по RAM.
Контур PROD уже звучит грозно, приоритет критический, надо разбираться. После недолгого анализа исходников выяснено: обычный Spring Boot сервис c gRPC библиотекой, который выполняет 2 функции – поход в базу за данными пользователей (ФИО и роли) и проверку наличия доступа к конкретному ресурсу для конкретного пользователя. Первая функция тривиальная – «дай по id такого-то пользователя, если нет, то скажи, что его нет». Вторая функция немного сложнее: нужно вызвать метод сторонней библиотеки и передать в него 5 параметров. И всё, но на PROD график использования heap вот такой:
Читать: https://habr.com/ru/companies/bft/articles/884582/?utm_campaign=884582
@a_cup_of_java | Другие наши каналы
Как правильно мигрировать БД в продакшене с использованием Liquibase и Flyway
Новый перевод от команды Spring АйО расскажет вам о вызовах, которые ставит перед разработчиками создание скриптов миграций баз данных и их организация, особенно при работе с большими системами.
Статья также содержит полезные советы о преодолении этих вызовов и о приемах, которые могут облегчить жизнь команде программистов, работающих с миграциями баз данных.
Читать: https://habr.com/ru/companies/spring_aio/articles/886240/?utm_campaign=886240
@a_cup_of_java | Другие наши каналы
Новый перевод от команды Spring АйО расскажет вам о вызовах, которые ставит перед разработчиками создание скриптов миграций баз данных и их организация, особенно при работе с большими системами.
Статья также содержит полезные советы о преодолении этих вызовов и о приемах, которые могут облегчить жизнь команде программистов, работающих с миграциями баз данных.
Читать: https://habr.com/ru/companies/spring_aio/articles/886240/?utm_campaign=886240
@a_cup_of_java | Другие наши каналы
👍2
Лучшие бесплатные курсы по React на Udemy в 2025 году
React — один из самых популярных фреймворков для разработки пользовательских интерфейсов. Если вы планируете изучать React в 2025 году, Udemy предлагает ряд бесплатных курсов, которые помогут вам освоить этот мощный инструмент. Узнайте о преимуществах React и начните путь к созданию современных веб-приложений. Лучшие бесплатные курсы по React для вас!
В статье описаны разнообразные бесплатные курсы по изучению React. Если заинтересованы в платном обучении, стоит обратить внимание на курс "React - The Complete Guide" от Максимиллиана Шварцмюллера, охватывающий новейшие изменения в React. Поделитесь статьей с друзьями! Подготовьтесь к собеседованию с Javarevisited
Javarevisited предлагает обширный список вопросов для подготовки к собеседованиям по Java, SQL, Spring и многим другим темам. Узнайте, как улучшить свои знания и навыки, чтобы успешно пройти собеседование в IT-сфере. Подписка на обновления и курсы поможет быть в курсе новинок.
Подробности: http://www.java67.com/2018/02/5-free-react-courses-for-web-developers.html
#en
@a_cup_of_java | Другие наши каналы
React — один из самых популярных фреймворков для разработки пользовательских интерфейсов. Если вы планируете изучать React в 2025 году, Udemy предлагает ряд бесплатных курсов, которые помогут вам освоить этот мощный инструмент. Узнайте о преимуществах React и начните путь к созданию современных веб-приложений. Лучшие бесплатные курсы по React для вас!
В статье описаны разнообразные бесплатные курсы по изучению React. Если заинтересованы в платном обучении, стоит обратить внимание на курс "React - The Complete Guide" от Максимиллиана Шварцмюллера, охватывающий новейшие изменения в React. Поделитесь статьей с друзьями! Подготовьтесь к собеседованию с Javarevisited
Javarevisited предлагает обширный список вопросов для подготовки к собеседованиям по Java, SQL, Spring и многим другим темам. Узнайте, как улучшить свои знания и навыки, чтобы успешно пройти собеседование в IT-сфере. Подписка на обновления и курсы поможет быть в курсе новинок.
Подробности: http://www.java67.com/2018/02/5-free-react-courses-for-web-developers.html
#en
@a_cup_of_java | Другие наши каналы
Разработка приложения с авторизацией пользователя Java 17 + SpringBoot 3.4 + Keycloak 26
Столкнулась на проекте с задачей по настройке флоу 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.
Вот логи:
Читать: https://habr.com/ru/articles/884358/?utm_campaign=884358
@a_cup_of_java | Другие наши каналы
Столкнулась на проекте с задачей по настройке флоу 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.
Вот логи:
Читать: https://habr.com/ru/articles/884358/?utm_campaign=884358
@a_cup_of_java | Другие наши каналы
👍1🔥1
Новые интересные диагностики в PVS-Studio 7.35
С релизом PVS-Studio 7.35 в анализаторе появилось много новых диагностических правил. Вас ждёт: много MISRA для C, новые Unity-диагностики для C# и покрытие OWASP Top 10 для Java и многое другое!
Подробности вы сможете узнать в этой заметке.
>>>
Читать: https://habr.com/ru/companies/pvs-studio/articles/886662/?utm_campaign=886662
@a_cup_of_java | Другие наши каналы
С релизом PVS-Studio 7.35 в анализаторе появилось много новых диагностических правил. Вас ждёт: много MISRA для C, новые Unity-диагностики для C# и покрытие OWASP Top 10 для Java и многое другое!
Подробности вы сможете узнать в этой заметке.
>>>
Читать: https://habr.com/ru/companies/pvs-studio/articles/886662/?utm_campaign=886662
@a_cup_of_java | Другие наши каналы
Можно ли спасти LinkedList? Пишем быстрый List на связном списке
Существует мнение, что LinkedList - неудачная коллекция и всегда и везде лучше использовать ArrayList. И так оно и есть =)
Давайте поможем LinkedList и сделаем его лучше и быстрее с помощью простой пластиковой бутылки кеширующего массива.
Вы увидите, как он обгонит ArrayList на 10 миллионах элементов и 100 тыс операциях в тестах, имитирующих реальную работу приложения.
Читать: https://habr.com/ru/articles/886710/?utm_campaign=886710
@a_cup_of_java | Другие наши каналы
Существует мнение, что LinkedList - неудачная коллекция и всегда и везде лучше использовать ArrayList. И так оно и есть =)
Давайте поможем LinkedList и сделаем его лучше и быстрее с помощью простой пластиковой бутылки кеширующего массива.
Вы увидите, как он обгонит ArrayList на 10 миллионах элементов и 100 тыс операциях в тестах, имитирующих реальную работу приложения.
Читать: https://habr.com/ru/articles/886710/?utm_campaign=886710
@a_cup_of_java | Другие наши каналы
⚡2
За каким чертом нам SpringExtension?
Новый перевод от команды Spring АйО расскажет вам, что такое
Читать: https://habr.com/ru/companies/spring_aio/articles/886700/?utm_campaign=886700
@a_cup_of_java | Другие наши каналы
Новый перевод от команды Spring АйО расскажет вам, что такое
SpringExtension, как правильно пользоваться этим расширением и когда его надо (или не надо) регистрировать вручную. Читать: https://habr.com/ru/companies/spring_aio/articles/886700/?utm_campaign=886700
@a_cup_of_java | Другие наши каналы
👍2
Что на радаре в Java: программа JPoint 2025
Конференцию JPoint мы проводим уже 12 лет. За это время немало оперативки утекло, и актуальные для Java-разработчиков темы ощутимо изменились: например, когда мы всё начинали, ещё толком не было Kotlin. Какие-то понятия можно назвать «вечными» (например, о базах данных говорят из года в год), но и там конкретные темы докладов меняются.
А что будет на новом JPoint в апреле? Какие инструменты и подходы актуальны для разработчиков в 2025-м?
Во-первых, представляем вам полное описание программы. Можете изучить краткие описания всех докладов и понять, интересны ли они вам.
А во-вторых, у нас есть просьба. Чтобы делать программу как можно актуальнее, мы затеяли инициативу TechRadar. Если вы Java-разработчик, по возможности пройдите опрос о том, какими технологиями пользуетесь. Так и доклады получатся максимально соответствующими запросам сообщества, и без результатов опроса вас тоже не оставим — сможем позже все их как следует обсудить!
Читать: https://habr.com/ru/companies/jugru/articles/886492/?utm_campaign=886492
@a_cup_of_java | Другие наши каналы
Конференцию JPoint мы проводим уже 12 лет. За это время немало оперативки утекло, и актуальные для Java-разработчиков темы ощутимо изменились: например, когда мы всё начинали, ещё толком не было Kotlin. Какие-то понятия можно назвать «вечными» (например, о базах данных говорят из года в год), но и там конкретные темы докладов меняются.
А что будет на новом JPoint в апреле? Какие инструменты и подходы актуальны для разработчиков в 2025-м?
Во-первых, представляем вам полное описание программы. Можете изучить краткие описания всех докладов и понять, интересны ли они вам.
А во-вторых, у нас есть просьба. Чтобы делать программу как можно актуальнее, мы затеяли инициативу TechRadar. Если вы Java-разработчик, по возможности пройдите опрос о том, какими технологиями пользуетесь. Так и доклады получатся максимально соответствующими запросам сообщества, и без результатов опроса вас тоже не оставим — сможем позже все их как следует обсудить!
Читать: https://habr.com/ru/companies/jugru/articles/886492/?utm_campaign=886492
@a_cup_of_java | Другие наши каналы