Кошмар работы с *.docx файлами на Java посредством класса XWPFDocument из API Apache POI
Использование *.docx файлов как шаблонов для формирования кастомных отчётов с помощью библиотеки Apache POI XWPF на Java и связанные с этим проблемы. Примеры кода выполняющие простейшие операции поиска, замены, удаления элементов документа.
Читать: https://habr.com/ru/articles/870544/?utm_campaign=870544
@a_cup_of_java | Другие наши каналы
Использование *.docx файлов как шаблонов для формирования кастомных отчётов с помощью библиотеки Apache POI XWPF на Java и связанные с этим проблемы. Примеры кода выполняющие простейшие операции поиска, замены, удаления элементов документа.
Читать: https://habr.com/ru/articles/870544/?utm_campaign=870544
@a_cup_of_java | Другие наши каналы
👍6
How Meta Ported Million Lines of Android Code from Java to Kotlin
In order to maximize the benefits brought by Kotlin in terms of productivity and safety, Meta engineers have been hard at work to translate their 10 million line Android codebase from Java into Kotlin. One year into this process, they have ported approximately half of their codebase and developed a specific tool, Kotlinator, to automate the process as much as possible.
By Sergio De Simone
Read: https://www.infoq.com/news/2024/12/meta-java-kotlin-port/
@a_cup_of_java | Другие наши каналы
In order to maximize the benefits brought by Kotlin in terms of productivity and safety, Meta engineers have been hard at work to translate their 10 million line Android codebase from Java into Kotlin. One year into this process, they have ported approximately half of their codebase and developed a specific tool, Kotlinator, to automate the process as much as possible.
By Sergio De Simone
Read: https://www.infoq.com/news/2024/12/meta-java-kotlin-port/
@a_cup_of_java | Другие наши каналы
🎉3🥱3
Построение динамических запросов к базе данных с использованием Spring Data JPA Specifications
Spring Data JPA Specifications — мощный инструмент для написания динамических запросов в реляционных базах данных. Они позволяют строить сложные SQL-запросы в декларативной форме, комбинируя их с помощью предикатов, таких как
Читать: https://habr.com/ru/articles/870698/?utm_campaign=870698
@a_cup_of_java | Другие наши каналы
Spring Data JPA Specifications — мощный инструмент для написания динамических запросов в реляционных базах данных. Они позволяют строить сложные SQL-запросы в декларативной форме, комбинируя их с помощью предикатов, таких как
AND, OR и т.д используя Java-код. В этой статье мы рассмотрим, зачем нужны Specifications, их преимущества и недостатки, а также лучшие практики для использования.Читать: https://habr.com/ru/articles/870698/?utm_campaign=870698
@a_cup_of_java | Другие наши каналы
👍4❤2
Какие языки программирования учить в 2025 году
Топ-7 языков, в котором нет Rust, но есть 1С.
Читать: «Какие языки программирования учить в 2025 году»
@a_cup_of_java | Другие наши каналы
Топ-7 языков, в котором нет Rust, но есть 1С.
Читать: «Какие языки программирования учить в 2025 году»
@a_cup_of_java | Другие наши каналы
🤣5🎉3👎2
Java News Roundup: Spring AI 1.0-M5, LangChain4j 1.0-Alpha1, Grails 7.0-M1, JHipster 8.8
This week's Java roundup for December 23rd, 2024 features news highlighting: the fifth milestone release of Spring AI 1.0; the first milestone release of Grails 7.0; the first alpha release of LangChain4j 1.0; and the release of JHipster 8.8.
By Michael Redlich
Read: https://www.infoq.com/news/2024/12/java-news-roundup-dec23-2024/
@a_cup_of_java | Другие наши каналы
This week's Java roundup for December 23rd, 2024 features news highlighting: the fifth milestone release of Spring AI 1.0; the first milestone release of Grails 7.0; the first alpha release of LangChain4j 1.0; and the release of JHipster 8.8.
By Michael Redlich
Read: https://www.infoq.com/news/2024/12/java-news-roundup-dec23-2024/
@a_cup_of_java | Другие наши каналы
🔥2
Kafka Streams ч5: настройка окон, работа с задержанными событиями и suppression
Это моя финальная часть(ну пока что ;)) серии статей про Kafka Streams, прошлые статьи тут [ноль, один, два, три] Теперь давайте разработаем приложение, которое считывает: cобытия о пульсе из топика pulse-events.
Читать: https://habr.com/ru/articles/870784/?utm_campaign=870784
@a_cup_of_java | Другие наши каналы
Это моя финальная часть(ну пока что ;)) серии статей про Kafka Streams, прошлые статьи тут [ноль, один, два, три] Теперь давайте разработаем приложение, которое считывает: cобытия о пульсе из топика pulse-events.
Читать: https://habr.com/ru/articles/870784/?utm_campaign=870784
@a_cup_of_java | Другие наши каналы
❤2
Что такое API и как с ним работать?
В этой статье разберёмся, что такое API и как он работает на практике, как запустить первые интеграции и как научиться разбираться в документации.
Читать: «Что такое API и как с ним работать?»
@a_cup_of_java | Другие наши каналы
В этой статье разберёмся, что такое API и как он работает на практике, как запустить первые интеграции и как научиться разбираться в документации.
Читать: «Что такое API и как с ним работать?»
@a_cup_of_java | Другие наши каналы
🔥5🤷♂1👍1
Конец года — новые баги с датами
Наткнулся сегодня (24-12-30) на преинтереснейшую ошибку.
Простенький скрипт ищет файл по дате создания в имени, и вместо вчерашнего дня (24-12-29) почему-то ищет файл за следующий год (25-12-29).
Казалось бы, мистика, всё прекрасно работало с лета, и как на зло сломалось как раз под конец года ... и кто в этом виноват?
Читать: https://habr.com/ru/articles/870994/?utm_campaign=870994
@a_cup_of_java | Другие наши каналы
Наткнулся сегодня (24-12-30) на преинтереснейшую ошибку.
Простенький скрипт ищет файл по дате создания в имени, и вместо вчерашнего дня (24-12-29) почему-то ищет файл за следующий год (25-12-29).
Казалось бы, мистика, всё прекрасно работало с лета, и как на зло сломалось как раз под конец года ... и кто в этом виноват?
Читать: https://habr.com/ru/articles/870994/?utm_campaign=870994
@a_cup_of_java | Другие наши каналы
👍7
Делаем свой docker-образ Apache Kafka
В 2024 году мы не дождались выхода в свет Apache Kafka 4.0, в которой окончательно исчезнет поддержка ZooKeeper, оставив нам для создания кластеров только KRaft. Кто-то давно уже перешёл на эту прекрасную технологию, другие же размышляют, как им жить дальше — оставаться на линейке 3.х или в омут с головой.
Новогодние каникулы самое подходящее время для того, что пощупать новую версию. Хотя код невозбранно доступен в Github проекта Apache Kafka, docker-образов текущих сборок 4.0 мне найти не удалось. Также поддержку 4.0 ещё не добавили в довольно популярный, и с недавних пор мною любимый, k8s-оператор strimzi. Ну что же, придётся устроить себе праздник самому!
Читать: https://habr.com/ru/articles/871108/?utm_campaign=871108
@a_cup_of_java | Другие наши каналы
В 2024 году мы не дождались выхода в свет Apache Kafka 4.0, в которой окончательно исчезнет поддержка ZooKeeper, оставив нам для создания кластеров только KRaft. Кто-то давно уже перешёл на эту прекрасную технологию, другие же размышляют, как им жить дальше — оставаться на линейке 3.х или в омут с головой.
Новогодние каникулы самое подходящее время для того, что пощупать новую версию. Хотя код невозбранно доступен в Github проекта Apache Kafka, docker-образов текущих сборок 4.0 мне найти не удалось. Также поддержку 4.0 ещё не добавили в довольно популярный, и с недавних пор мною любимый, k8s-оператор strimzi. Ну что же, придётся устроить себе праздник самому!
Читать: https://habr.com/ru/articles/871108/?utm_campaign=871108
@a_cup_of_java | Другие наши каналы
❤5👍2
Работа с файлами через Yandex Object Storage в Spring Boot
Yandex Cloud Object Storage - это совместимое с AWS S3 облачное хранилище. В этой статье мы интегрируем его в Spring Boot приложение, используя SDK Амазона
Читать: https://habr.com/ru/articles/871280/?utm_campaign=871280
@a_cup_of_java | Другие наши каналы
Yandex Cloud Object Storage - это совместимое с AWS S3 облачное хранилище. В этой статье мы интегрируем его в Spring Boot приложение, используя SDK Амазона
Читать: https://habr.com/ru/articles/871280/?utm_campaign=871280
@a_cup_of_java | Другие наши каналы
👍3😁3
Часть 1: Как я создал идеальный REST API — микросервис инцидентов на Java и Spring
В этой статье вы узнаете, как спроектировать и реализовать REST API для микросервиса на Java с использованием Spring Framework.
Рассмотрим лучшие практики, принципы архитектуры, реализацию CRUD-операций и удобные инструменты, такие как Lombok, ControllerAdvice, MapStruct. Эта статья будет полезна как начинающим разработчикам, так и тем, кто хочет улучшить свои навыки в проектировании REST API.
Читать: https://habr.com/ru/articles/870640/?utm_campaign=870640
@a_cup_of_java | Другие наши каналы
В этой статье вы узнаете, как спроектировать и реализовать REST API для микросервиса на Java с использованием Spring Framework.
Рассмотрим лучшие практики, принципы архитектуры, реализацию CRUD-операций и удобные инструменты, такие как Lombok, ControllerAdvice, MapStruct. Эта статья будет полезна как начинающим разработчикам, так и тем, кто хочет улучшить свои навыки в проектировании REST API.
Читать: https://habr.com/ru/articles/870640/?utm_campaign=870640
@a_cup_of_java | Другие наши каналы
👍8
HT2000 Сбор и хранение данные по CO2
Добрый день, данный пост посвящен проекту — ссылка на Github.
Основная идея, получать данные из прибора HT2000 через USB кабель и сохранять в базу данных, далее графически отобразить данные.
Внешне это выглядит как-то так.
Читать: https://habr.com/ru/articles/871380/?utm_campaign=871380
@a_cup_of_java | Другие наши каналы
Добрый день, данный пост посвящен проекту — ссылка на Github.
Основная идея, получать данные из прибора HT2000 через USB кабель и сохранять в базу данных, далее графически отобразить данные.
Внешне это выглядит как-то так.
Читать: https://habr.com/ru/articles/871380/?utm_campaign=871380
@a_cup_of_java | Другие наши каналы
🎉2✍1
Тонкости JMS API: как не терять сообщения
Типичная ситуация: один сервис добавил сообщение в очередь, другой сервис его прочитал, но из-за ошибки или рестарта сервиса не смог передать дальше. Сообщение потеряно.
В логах при этом не всегда есть что-то полезное, и часто всё заканчивается тем, что разработчики идут ругаться: «Почему в нашей очереди нет вашего сообщения?»
Читать: https://habr.com/ru/articles/871454/?utm_campaign=871454
@a_cup_of_java | Другие наши каналы
Типичная ситуация: один сервис добавил сообщение в очередь, другой сервис его прочитал, но из-за ошибки или рестарта сервиса не смог передать дальше. Сообщение потеряно.
В логах при этом не всегда есть что-то полезное, и часто всё заканчивается тем, что разработчики идут ругаться: «Почему в нашей очереди нет вашего сообщения?»
Читать: https://habr.com/ru/articles/871454/?utm_campaign=871454
@a_cup_of_java | Другие наши каналы
👍4🎉2
Java Digest #20
Всем привет! 👋 👋 👋 👋 Мы — Java-разработчики Т-Банка: Андрей, Арсений, Константин, Константин и Роман. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся ими со всем сообществом.
С Новом годом, дорогие читатели! Надеемся, праздник прошел весело и без последствий 😉 В этом выпуске: Spring Cloud 2024.00, ранние версии JDK 24 и 25. Spring, Micronaut и Quarkus тоже не забыли обновиться. Не забудьте посмотреть про боли в PostgreSQL, целых два выпуска Java 24 Newscast и про великий Java рефакторинг, Project Valhalla. Почитайте целый набор статей про вызов внешних функций и доступ к Memory API. А в самом конце оторвитесь под рок-хит, написанный на Java, и вспомните английский алфавит с помощью Java-аннотаций.
Читать под тарелочку оливье
Читать: https://habr.com/ru/companies/tbank/articles/870924/?utm_campaign=870924
@a_cup_of_java | Другие наши каналы
Всем привет! 👋 👋 👋 👋 Мы — Java-разработчики Т-Банка: Андрей, Арсений, Константин, Константин и Роман. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся ими со всем сообществом.
С Новом годом, дорогие читатели! Надеемся, праздник прошел весело и без последствий 😉 В этом выпуске: Spring Cloud 2024.00, ранние версии JDK 24 и 25. Spring, Micronaut и Quarkus тоже не забыли обновиться. Не забудьте посмотреть про боли в PostgreSQL, целых два выпуска Java 24 Newscast и про великий Java рефакторинг, Project Valhalla. Почитайте целый набор статей про вызов внешних функций и доступ к Memory API. А в самом конце оторвитесь под рок-хит, написанный на Java, и вспомните английский алфавит с помощью Java-аннотаций.
Читать под тарелочку оливье
Читать: https://habr.com/ru/companies/tbank/articles/870924/?utm_campaign=870924
@a_cup_of_java | Другие наши каналы
pg-index-health – статический анализ структуры PostgreSQL баз данных
С 2019 года я занимаюсь разработкой open source инструмента под названием pg-index-health, который позволяет анализировать структуру БД и находить потенциальные проблемы.
Все эти годы pg-index-health эволюционировал и развивался. За 2024 год мне при поддержке нескольких контрибьюторов удалось решить большинство остававшихся «детских болячек» и довести проект до состояния, когда он готов к масштабной экспансии.
В этой статье я хочу подробно рассказать об идеях, которые стоят за этим инструментом, и как его использовать в ваших проектах.
Читать: https://habr.com/ru/articles/871546/?utm_campaign=871546
@a_cup_of_java | Другие наши каналы
С 2019 года я занимаюсь разработкой open source инструмента под названием pg-index-health, который позволяет анализировать структуру БД и находить потенциальные проблемы.
Все эти годы pg-index-health эволюционировал и развивался. За 2024 год мне при поддержке нескольких контрибьюторов удалось решить большинство остававшихся «детских болячек» и довести проект до состояния, когда он готов к масштабной экспансии.
В этой статье я хочу подробно рассказать об идеях, которые стоят за этим инструментом, и как его использовать в ваших проектах.
Читать: https://habr.com/ru/articles/871546/?utm_campaign=871546
@a_cup_of_java | Другие наши каналы
Лучшие курсы по глубокому обучению в 2025 году
Статья описывает шесть лучших онлайн-курсов по глубокому обучению и нейронным сетям, которые можно пройти в 2025 году. Все курсы представлены на платформе Coursera и предлагают обучение от ведущих экспертов из мировых университетов и компаний, таких как IBM и Google. Лучшие курсы на Coursera для изучения IT в 2025 году
Статья представляет топ проектов и курсов на Coursera для программистов и разработчиков. Узнайте, какие программы помогут вам освоить Python, науку о данных или облачные технологии. Рекомендуется подписка на Coursera Plus для безлимитного доступа к более чем 5000 курсов за $59 в месяц.
Подробности: http://www.java67.com/2022/01/top-6-deep-learning-and-neural-networks.html
#en
@a_cup_of_java | Другие наши каналы
Статья описывает шесть лучших онлайн-курсов по глубокому обучению и нейронным сетям, которые можно пройти в 2025 году. Все курсы представлены на платформе Coursera и предлагают обучение от ведущих экспертов из мировых университетов и компаний, таких как IBM и Google. Лучшие курсы на Coursera для изучения IT в 2025 году
Статья представляет топ проектов и курсов на Coursera для программистов и разработчиков. Узнайте, какие программы помогут вам освоить Python, науку о данных или облачные технологии. Рекомендуется подписка на Coursera Plus для безлимитного доступа к более чем 5000 курсов за $59 в месяц.
Подробности: http://www.java67.com/2022/01/top-6-deep-learning-and-neural-networks.html
#en
@a_cup_of_java | Другие наши каналы
❤3👍1
Чашечка Java
Photo
Лучшие курсы по MySQL в 2025 году
Хотите освоить MySQL? В статье представлен обзор лучших онлайн-курсов, которые помогут углубиться в изучение одной из самых популярных баз данных. Среди платформ — Udemy, Coursera, LinkedIn Learning и другие. Узнайте, какие курсы могут открыть путь к успеху в мире IT. 🎓 Бесплатные курсы SQL: учимся с нуля!
Если вы хотите освоить основы SQL и баз данных, рекомендуем посетить бесплатные онлайн-курсы на Udemy. Всё, что вам нужно — создать бесплатный аккаунт и присоединиться. Отличная возможность начать знакомство с SQL без лишних затрат! Готовьтесь к собеседованиям по Java эффективно
Статья предлагает широкий спектр вопросов для подготовки к собеседованиям по Java. Включены темы, касающиеся коллекций, паттернов проектирования, многопоточности, Hibernate, J2EE, Spring и объектно-ориентированного программирования. Отличный ресурс для начинающих и опытных разработчиков.
Подробности: http://www.java67.com/2021/11/top-5-courses-to-learn-mysql-database.html
#en
@a_cup_of_java | Другие наши каналы
Хотите освоить MySQL? В статье представлен обзор лучших онлайн-курсов, которые помогут углубиться в изучение одной из самых популярных баз данных. Среди платформ — Udemy, Coursera, LinkedIn Learning и другие. Узнайте, какие курсы могут открыть путь к успеху в мире IT. 🎓 Бесплатные курсы SQL: учимся с нуля!
Если вы хотите освоить основы SQL и баз данных, рекомендуем посетить бесплатные онлайн-курсы на Udemy. Всё, что вам нужно — создать бесплатный аккаунт и присоединиться. Отличная возможность начать знакомство с SQL без лишних затрат! Готовьтесь к собеседованиям по Java эффективно
Статья предлагает широкий спектр вопросов для подготовки к собеседованиям по Java. Включены темы, касающиеся коллекций, паттернов проектирования, многопоточности, Hibernate, J2EE, Spring и объектно-ориентированного программирования. Отличный ресурс для начинающих и опытных разработчиков.
Подробности: http://www.java67.com/2021/11/top-5-courses-to-learn-mysql-database.html
#en
@a_cup_of_java | Другие наши каналы
Чашечка Java
Photo
Обучение блокчейну: курсы и сертификаты 2025
Если вы хотите освоить блокчейн в 2025 году, начните с этих проверенных курсов. Популярные платформы, такие как Udemy и Coursera, предлагают обучение всем аспектам блокчейна - от основ до создания собственных криптовалют и смарт-контрактов. Вкладывайтесь в будущее! 🎓 Бесплатный курс по блокчейну для начинающих!
Хотите изучить блокчейн с нуля? На платформе Udemy доступен 50-минутный бесплатный курс, который познакомит вас с основами технологии. Все, что нужно — это бесплатная учетная запись на сайте. Не упустите возможность расширить свои знания в 2025 году! Подготовьтесь к собеседованию по Java
Собираетесь на собеседование по Java? Ознакомьтесь с подборкой вопросов для подготовки: коллекции Java, шаблоны проектирования, многопоточность, Hibernate, J2EE и Spring. Эти вопросы помогут структурировать ваше обучение и уверенно вести беседу с интервьюерами.
Подробности: http://www.java67.com/2021/12/top-5-courses-to-learn-blockchain.html
#en
@a_cup_of_java | Другие наши каналы
Если вы хотите освоить блокчейн в 2025 году, начните с этих проверенных курсов. Популярные платформы, такие как Udemy и Coursera, предлагают обучение всем аспектам блокчейна - от основ до создания собственных криптовалют и смарт-контрактов. Вкладывайтесь в будущее! 🎓 Бесплатный курс по блокчейну для начинающих!
Хотите изучить блокчейн с нуля? На платформе Udemy доступен 50-минутный бесплатный курс, который познакомит вас с основами технологии. Все, что нужно — это бесплатная учетная запись на сайте. Не упустите возможность расширить свои знания в 2025 году! Подготовьтесь к собеседованию по Java
Собираетесь на собеседование по Java? Ознакомьтесь с подборкой вопросов для подготовки: коллекции Java, шаблоны проектирования, многопоточность, Hibernate, J2EE и Spring. Эти вопросы помогут структурировать ваше обучение и уверенно вести беседу с интервьюерами.
Подробности: http://www.java67.com/2021/12/top-5-courses-to-learn-blockchain.html
#en
@a_cup_of_java | Другие наши каналы
👍4
Можно ли уместить игру Minecraft всего в один QR-код?
Ответ: да! И вот же он:
Игра запускается, и вы можете перемещаться по миру 64x64x64 при помощи клавиш WASD. Пробелом прыгаем, мышью осматриваемся. Щёлкнув левой кнопкой мыши, можно разрушить блок, а правой — установить землю.
Можно просмотреть QR-код при помощи следующей команды под Linux:
zbarcam -1 --raw -Sbinary> /tmp/m4k &&chmod +x /tmp/m4k && /tmp/m4k
-1: выйти после того, как код будет просканирован
--raw: не обрабатывать его как текст
--Sbinary: воспользоваться двоичной конфигурацией
Проект выложен на GitHub здесь:TheSunCat/Minecraft4k
Читать: https://habr.com/ru/articles/871658/?utm_campaign=871658
@a_cup_of_java | Другие наши каналы
Ответ: да! И вот же он:
Игра запускается, и вы можете перемещаться по миру 64x64x64 при помощи клавиш WASD. Пробелом прыгаем, мышью осматриваемся. Щёлкнув левой кнопкой мыши, можно разрушить блок, а правой — установить землю.
Можно просмотреть QR-код при помощи следующей команды под Linux:
zbarcam -1 --raw -Sbinary> /tmp/m4k &&chmod +x /tmp/m4k && /tmp/m4k
-1: выйти после того, как код будет просканирован
--raw: не обрабатывать его как текст
--Sbinary: воспользоваться двоичной конфигурацией
Проект выложен на GitHub здесь:TheSunCat/Minecraft4k
Читать: https://habr.com/ru/articles/871658/?utm_campaign=871658
@a_cup_of_java | Другие наши каналы
❤4