Парсим сайт для получения УДК иерархии
Предыстория:
У меня на домашнем ПК скопилось некоторое количество книг в электронном формате. Это в основной массе техническая литература. И мне хотелось всё это систематизировать. Придумывать не хочется, когда в книгах есть УДК, ББК классификаторы.
Читать: https://habr.com/ru/articles/890644/?utm_campaign=890644
@a_cup_of_java | Другие наши каналы
Предыстория:
У меня на домашнем ПК скопилось некоторое количество книг в электронном формате. Это в основной массе техническая литература. И мне хотелось всё это систематизировать. Придумывать не хочется, когда в книгах есть УДК, ББК классификаторы.
Читать: https://habr.com/ru/articles/890644/?utm_campaign=890644
@a_cup_of_java | Другие наши каналы
Null-safety в Spring приложении с JSpecify и NullAway
Новый перевод от команды Spring АйО расскажет о проблемах, вызываемых неожиданным появлением
Читать: https://habr.com/ru/companies/spring_aio/articles/890558/?utm_campaign=890558
@a_cup_of_java | Другие наши каналы
Новый перевод от команды Spring АйО расскажет о проблемах, вызываемых неожиданным появлением
NullPointerException в продакшен, о способах борьбы с этой проблемой, над которыми работает команда Java и о скором выходе новых решений, которые помогут разработчикам навсегда избавиться от этого кошмара. Читать: https://habr.com/ru/companies/spring_aio/articles/890558/?utm_campaign=890558
@a_cup_of_java | Другие наши каналы
Заглянули в хрустальный шар, а там ваше будущее показывают
Так и видим, как вы сидите в Доме IT-карьеры и выбираете себе вакансию по душе. В наш хрустальный шар заглянуть не дадим, слишком сакральный инструмент, а вот в окошки самого дома можете смело подглядывать самостоятельно.
Реклама
Так и видим, как вы сидите в Доме IT-карьеры и выбираете себе вакансию по душе. В наш хрустальный шар заглянуть не дадим, слишком сакральный инструмент, а вот в окошки самого дома можете смело подглядывать самостоятельно.
Реклама
Концерт для Java с ИИ — разработка готовых к продакшен LLM приложений
Команда Spring АйО перевела и адаптировала доклад Томаса Витале “Concerto for Java and AI — Building Production-Ready LLM Applications”, в котором рассказывается по шагам, как усовершенствовать интерфейс приложения с помощью больших языковых моделей (LLM). В качестве примера автор доклада на глазах слушателей разрабатывает приложение-ассистент для композитора, пишущего музыку для фильмов.
Доклад будет опубликован двумя частями. В первой части рассказывается о том, как возникла проблема, какие подходы автор доклада применил к ее решению и как реализовать автоматическую классификацию персональных заметок композитора по типам, используя ИИ.
Читать: https://habr.com/ru/companies/spring_aio/articles/890966/?utm_campaign=890966
@a_cup_of_java | Другие наши каналы
Команда Spring АйО перевела и адаптировала доклад Томаса Витале “Concerto for Java and AI — Building Production-Ready LLM Applications”, в котором рассказывается по шагам, как усовершенствовать интерфейс приложения с помощью больших языковых моделей (LLM). В качестве примера автор доклада на глазах слушателей разрабатывает приложение-ассистент для композитора, пишущего музыку для фильмов.
Доклад будет опубликован двумя частями. В первой части рассказывается о том, как возникла проблема, какие подходы автор доклада применил к ее решению и как реализовать автоматическую классификацию персональных заметок композитора по типам, используя ИИ.
Читать: https://habr.com/ru/companies/spring_aio/articles/890966/?utm_campaign=890966
@a_cup_of_java | Другие наши каналы
Разница между @Component, @Controller, @Service и @Repository в Spring
Статья на Java67 объясняет различия между аннотациями Spring. @Component используется для обобщённых классов, @Controller — для контроллеров в MVC, @Service — для бизнес-логики, а @Repository — для доступа к данным. Каждая аннотация помогает Spring управлять классами в определённом контексте. Лучшие онлайн-курсы по программированию: от Python до DevOps
Ищете качественные курсы для прокачки навыков в IT? Эта статья предлагает обширный список курсов, включая дизайн систем, Spring, Python и DevOps. Независимо от уровня подготовки, найдется подходящий для вас курс. Ознакомьтесь с полным списком и начните обучение!
Подробности: http://www.java67.com/2022/06/difference-between-component-service-repository-in-spring.html
#en
@a_cup_of_java | Другие наши каналы
Статья на Java67 объясняет различия между аннотациями Spring. @Component используется для обобщённых классов, @Controller — для контроллеров в MVC, @Service — для бизнес-логики, а @Repository — для доступа к данным. Каждая аннотация помогает Spring управлять классами в определённом контексте. Лучшие онлайн-курсы по программированию: от Python до DevOps
Ищете качественные курсы для прокачки навыков в IT? Эта статья предлагает обширный список курсов, включая дизайн систем, Spring, Python и DevOps. Независимо от уровня подготовки, найдется подходящий для вас курс. Ознакомьтесь с полным списком и начните обучение!
Подробности: http://www.java67.com/2022/06/difference-between-component-service-repository-in-spring.html
#en
@a_cup_of_java | Другие наши каналы
Простой редактор текста by java through design
Всем привет. Для того чтобы писать код нужен удобный инструмент, кто-то пользуется IDE, кто-то редакторами текста Emacs, VIM. Зачастую, чтобы программисту было удобно, разработчику надо соблюсти много нюансов, тоесть в одном случае есть ускорение разработки, но решение тяжеловесное, в другом случае, разработчик, чтобы пользоваться редактором начинает писать код, чтобы писать код. Конечно это крайности, и проще поставить IDE/VSCode/etc... , но что если можно найти эту золотую середину!?
Неоднократно автор пытался делать текстовый редактор, но что-то было всё не то, пока не вспомнил, что есть старый добрый SWING, и java by design иногда круто и интересно.
В этой статье хочу показать как получилось минимальными усилиями сделать то, что на С или С++ потребует больших знаний без QT/GTK/etc...
Читать: https://habr.com/ru/articles/891044/?utm_campaign=891044
@a_cup_of_java | Другие наши каналы
Всем привет. Для того чтобы писать код нужен удобный инструмент, кто-то пользуется IDE, кто-то редакторами текста Emacs, VIM. Зачастую, чтобы программисту было удобно, разработчику надо соблюсти много нюансов, тоесть в одном случае есть ускорение разработки, но решение тяжеловесное, в другом случае, разработчик, чтобы пользоваться редактором начинает писать код, чтобы писать код. Конечно это крайности, и проще поставить IDE/VSCode/etc... , но что если можно найти эту золотую середину!?
Неоднократно автор пытался делать текстовый редактор, но что-то было всё не то, пока не вспомнил, что есть старый добрый SWING, и java by design иногда круто и интересно.
В этой статье хочу показать как получилось минимальными усилиями сделать то, что на С или С++ потребует больших знаний без QT/GTK/etc...
Читать: https://habr.com/ru/articles/891044/?utm_campaign=891044
@a_cup_of_java | Другие наши каналы
Как исправить java.lang.NoClassDefFoundError в Spring Boot
Столкнулись с ошибкой NoClassDefFoundError при запуске Spring Boot приложения? Причиной может быть несовместимая версия библиотеки Spring в вашем проекте. Решение — обновить версию зависимости, например, spring-web, на более актуальную. Избавившись от конфликта версий, ошибка пропадает. Избегаем распространённых ошибок с зависимостями в Spring Boot
В статье обсуждается важность правильного использования зависимостей в Spring Boot. Автор предупреждает о рисках смешения индивидуальных и стартеров зависимостей и предлагает проверять их на полноту, чтобы избежать ошибок при загрузке классов.
Подробности: http://www.java67.com/2018/05/how-to-javalangnoclassdeffounderror-Spring-Boot-SmartInitializingBean.html
#en
@a_cup_of_java | Другие наши каналы
Столкнулись с ошибкой NoClassDefFoundError при запуске Spring Boot приложения? Причиной может быть несовместимая версия библиотеки Spring в вашем проекте. Решение — обновить версию зависимости, например, spring-web, на более актуальную. Избавившись от конфликта версий, ошибка пропадает. Избегаем распространённых ошибок с зависимостями в Spring Boot
В статье обсуждается важность правильного использования зависимостей в Spring Boot. Автор предупреждает о рисках смешения индивидуальных и стартеров зависимостей и предлагает проверять их на полноту, чтобы избежать ошибок при загрузке классов.
Подробности: http://www.java67.com/2018/05/how-to-javalangnoclassdeffounderror-Spring-Boot-SmartInitializingBean.html
#en
@a_cup_of_java | Другие наши каналы
Эпоха TypeScript: почему JavaScript без строгой типизации умирает? Или нет?
Представьте: вы запускаете новый функционал на продакшен, всё кажется отлично — но через час приходит сообщение от коллег: «Всё сломалось». Знакомо? Для JavaScript-разработчиков это обычная ситуация. Вместе разберёмся, почему так происходит и как TypeScript может спасти от бессонных ночей с дебаггером.
Читать: «Эпоха TypeScript: почему JavaScript без строгой типизации умирает? Или нет?»
@a_cup_of_java | Другие наши каналы
Представьте: вы запускаете новый функционал на продакшен, всё кажется отлично — но через час приходит сообщение от коллег: «Всё сломалось». Знакомо? Для JavaScript-разработчиков это обычная ситуация. Вместе разберёмся, почему так происходит и как TypeScript может спасти от бессонных ночей с дебаггером.
Читать: «Эпоха TypeScript: почему JavaScript без строгой типизации умирает? Или нет?»
@a_cup_of_java | Другие наши каналы
👍1
Reverse shell на Java или кошмар сисадмина
По итогам расследований нескольких инцидентов с безопасностью, рассказываю что еще из «зубастого и рогатого» бывает на свете. Еще один повод бросить это ваше ИТ и уйти в монастырь.
Читать: https://habr.com/ru/articles/891058/?utm_campaign=891058
@a_cup_of_java | Другие наши каналы
По итогам расследований нескольких инцидентов с безопасностью, рассказываю что еще из «зубастого и рогатого» бывает на свете. Еще один повод бросить это ваше ИТ и уйти в монастырь.
Читать: https://habr.com/ru/articles/891058/?utm_campaign=891058
@a_cup_of_java | Другие наши каналы
CRaC в Java
Привет, Хабр!
Сегодня рассмотрим CRaC — это технология, позволяющая создать контрольную точку работающего Java-приложения, сохранив его полное состояние: память, потоки, системные ресурсы и прочее. Иными словами, вы проводите полную инициализацию приложения один раз, делаете «снимок», а затем при повторном запуске восстанавливаете это состояние, обходя долгую процедуру холодного старта.
Читать: https://habr.com/ru/companies/otus/articles/889334/?utm_campaign=889334
@a_cup_of_java | Другие наши каналы
Привет, Хабр!
Сегодня рассмотрим CRaC — это технология, позволяющая создать контрольную точку работающего Java-приложения, сохранив его полное состояние: память, потоки, системные ресурсы и прочее. Иными словами, вы проводите полную инициализацию приложения один раз, делаете «снимок», а затем при повторном запуске восстанавливаете это состояние, обходя долгую процедуру холодного старта.
Читать: https://habr.com/ru/companies/otus/articles/889334/?utm_campaign=889334
@a_cup_of_java | Другие наши каналы
👍3
Создаём HTTP-сервер на Java NIO
Привет, Хабр!
В этой статье создадим HTTP-сервер на чистом Java NIO, без всяких Spring Boot, Jetty и прочих фреймворков. Будем разбираться, как работает неблокирующее I/O, что такое Selector, SocketChannel, и как заставить сервер обрабатывать тысячи запросов одновременно без запуска тысяч потоков.
Читать: https://habr.com/ru/companies/otus/articles/889062/?utm_campaign=889062
@a_cup_of_java | Другие наши каналы
Привет, Хабр!
В этой статье создадим HTTP-сервер на чистом Java NIO, без всяких Spring Boot, Jetty и прочих фреймворков. Будем разбираться, как работает неблокирующее I/O, что такое Selector, SocketChannel, и как заставить сервер обрабатывать тысячи запросов одновременно без запуска тысяч потоков.
Читать: https://habr.com/ru/companies/otus/articles/889062/?utm_campaign=889062
@a_cup_of_java | Другие наши каналы
👍1
Java News Roundup: Jakarta NoSQL 1.0, Spring 7.0-M3, Maven 4.0-RC3, LangChain4j 1.0-beta2
This week's Java roundup for March 10th, 2025 features news highlighting: OpenJDK JEPs targeted and proposed to target for JDK 25; the release of Jakarta NoSQL 1.0; the third milestone release of Spring Framework 7.0; the third release candidate of Maven 4.0; and the second beta release of LangChain4j 1.0.
By Michael Redlich
Read: https://www.infoq.com/news/2025/03/java-news-roundup-mar10-2025/
@a_cup_of_java | Другие наши каналы
This week's Java roundup for March 10th, 2025 features news highlighting: OpenJDK JEPs targeted and proposed to target for JDK 25; the release of Jakarta NoSQL 1.0; the third milestone release of Spring Framework 7.0; the third release candidate of Maven 4.0; and the second beta release of LangChain4j 1.0.
By Michael Redlich
Read: https://www.infoq.com/news/2025/03/java-news-roundup-mar10-2025/
@a_cup_of_java | Другие наши каналы
👍2
TrueSql – заново учимся ходить в базу данных. Часть 3 – транзакции и соединения
Принято считать, что транзакции, сессии и контекст это что-то сложное. Но в TrueSql работать с транзакциями очень просто и прозрачно, а понятий "сессия" и "контекст" просто не существует. Сегодня рассказываем как работать с транзакциями и соединениями в TrueSql. Быстро объясняем внутреннее устройство.
Читать: https://habr.com/ru/articles/888158/?utm_campaign=888158
@a_cup_of_java | Другие наши каналы
Принято считать, что транзакции, сессии и контекст это что-то сложное. Но в TrueSql работать с транзакциями очень просто и прозрачно, а понятий "сессия" и "контекст" просто не существует. Сегодня рассказываем как работать с транзакциями и соединениями в TrueSql. Быстро объясняем внутреннее устройство.
Читать: https://habr.com/ru/articles/888158/?utm_campaign=888158
@a_cup_of_java | Другие наши каналы
Идеи ничего не стоят
Команда Spring АйО перевела статью одного из создателей Hibernate, в которой он объясняет, почему ему часто приходится отвергать новые и хорошие идеи, и почему это на самом деле не означает, что он является врагом всего нового.
Читать: https://habr.com/ru/companies/spring_aio/articles/891436/?utm_campaign=891436
@a_cup_of_java | Другие наши каналы
Команда Spring АйО перевела статью одного из создателей Hibernate, в которой он объясняет, почему ему часто приходится отвергать новые и хорошие идеи, и почему это на самом деле не означает, что он является врагом всего нового.
Читать: https://habr.com/ru/companies/spring_aio/articles/891436/?utm_campaign=891436
@a_cup_of_java | Другие наши каналы
Свежая вакансия в Gehtsoft
Gehtsoft — компания по разработке ПО — ищет Tech Lead Java Developer.
Чем вы будете заниматься:
— разработкой и тестированием новых функций, — устранением причин инцидентов, поддержкой инфраструктуры;
— ускорением выхода продуктов на рынок и повышением их ценности для клиентов;
— снижением технического долга.
Где: удалённо
Опыт: 4+ лет
Вакансия и как отправить отклик: https://tprg.ru/Fm7Y
#вакансии #работа
Gehtsoft — компания по разработке ПО — ищет Tech Lead Java Developer.
Чем вы будете заниматься:
— разработкой и тестированием новых функций, — устранением причин инцидентов, поддержкой инфраструктуры;
— ускорением выхода продуктов на рынок и повышением их ценности для клиентов;
— снижением технического долга.
Где: удалённо
Опыт: 4+ лет
Вакансия и как отправить отклик: https://tprg.ru/Fm7Y
#вакансии #работа
Podcast: Building LinkedIn’s Resilient Data Storage: A Deep Dive into Derived Data Storage with Felix GV
In this podcast, Felix GV, Principal Staff Engineer at LinkedIn, discusses how to create and operate planet-scale data storage solutions for derived data. When it’s time to build a new system, how do you decide on the pieces that must be fitted to ensure a resilient operating system?
By Felix GV
Read: https://www.infoq.com/podcasts/building-linkedin-resilient-data-storage/
@a_cup_of_java | Другие наши каналы
In this podcast, Felix GV, Principal Staff Engineer at LinkedIn, discusses how to create and operate planet-scale data storage solutions for derived data. When it’s time to build a new system, how do you decide on the pieces that must be fitted to ensure a resilient operating system?
By Felix GV
Read: https://www.infoq.com/podcasts/building-linkedin-resilient-data-storage/
@a_cup_of_java | Другие наши каналы
👍1
Как читать сообщения, если никто из брокеров не предоставил удобный интерфейс
Пишите вы себе EDA на основе Apache Kafka, и ваши сервисы тщательно логируют все свои действия, процесс отлажен и работает годами. Вдруг один из сервисов отчитался в логах, что отправил событие в брокер, но другой по какой-то его не прочитал. Как понять, кто виноват?
Как правило, брокер сообщений между сервисами – черная коробка, которая работает, что называется «As Is». Разработчики подключают зависимости, вешают аннотации консюмеров и продюсеров, оно заводится и все рады. Но что они там подключили и как это работает никто не видит.
Так давайте же посмотрим, как мы можем открыть этот чёрный ящик на примере наиболее популярных брокеров сообщений.
Читать: https://habr.com/ru/companies/axenix/articles/886042/?utm_campaign=886042
@a_cup_of_java | Другие наши каналы
Пишите вы себе EDA на основе Apache Kafka, и ваши сервисы тщательно логируют все свои действия, процесс отлажен и работает годами. Вдруг один из сервисов отчитался в логах, что отправил событие в брокер, но другой по какой-то его не прочитал. Как понять, кто виноват?
Как правило, брокер сообщений между сервисами – черная коробка, которая работает, что называется «As Is». Разработчики подключают зависимости, вешают аннотации консюмеров и продюсеров, оно заводится и все рады. Но что они там подключили и как это работает никто не видит.
Так давайте же посмотрим, как мы можем открыть этот чёрный ящик на примере наиболее популярных брокеров сообщений.
Читать: https://habr.com/ru/companies/axenix/articles/886042/?utm_campaign=886042
@a_cup_of_java | Другие наши каналы
Project Leyden Ships Third Option for Faster Application Start with JEP 483 in Java 24
In Java 24, Project Leyden’s JEP 483, "Ahead-of-Time Class Loading & Linking", starts Java applications like Spring PetClinic up to 40% faster without code changes or new application constraints. It needs a training run to build a cache file that ships with the application. With GraalVM Native Image and CRaC, the startup is 95-99% faster but faces more constraints. Leyden plans more improvements.
By Karsten Silz
Read: https://www.infoq.com/news/2025/03/java-24-leyden-ships/
@a_cup_of_java | Другие наши каналы
In Java 24, Project Leyden’s JEP 483, "Ahead-of-Time Class Loading & Linking", starts Java applications like Spring PetClinic up to 40% faster without code changes or new application constraints. It needs a training run to build a cache file that ships with the application. With GraalVM Native Image and CRaC, the startup is 95-99% faster but faces more constraints. Leyden plans more improvements.
By Karsten Silz
Read: https://www.infoq.com/news/2025/03/java-24-leyden-ships/
@a_cup_of_java | Другие наши каналы
Автоматизация деплоя: из Bitbucket через Jenkins в MicroK8s — опыт финтех-разработчика
Всем привет! Я — Java-разработчик с пятилетним опытом в финтехе, и сегодня я расскажу, как настроить CI/CD для деплоя Spring Boot приложения из Bitbucket через Jenkins в MicroK8s. Это не просто теория — я поделюсь реальным кейсом, разберу ошибки, с которыми столкнулся, и дам рабочий код. Если вы хотите автоматизировать деплой и не наступать на грабли — поехали!
Представьте: у вас есть микросервис на Spring Boot, который нужно быстро и без ошибок доставить в продакшен. Ручной деплой отнимает время, а команда требует стабильности. Я решил эту задачу с помощью Bitbucket, Jenkins и MicroK8s, но путь оказался не таким гладким, как хотелось бы. Проблемы с аутентификацией, конфликты портов и настройка окружения заставили меня попотеть. Как я справился? Об этом — в статье.
CI/CD (Continuous Integration/Continuous Deployment) — это must-have для современных разработчиков. Автоматизация сборки, тестирования и деплоя приложений экономит время, снижает вероятность ошибок и ускоряет доставку кода до продакшена. В этой статье мы разберем, как настроить полноценный CI/CD-пайплайн для Spring Boot приложения, используя связку Bitbucket, Jenkins и MicroK8s.
Читать: https://habr.com/ru/articles/891844/?utm_campaign=891844
@a_cup_of_java | Другие наши каналы
Всем привет! Я — Java-разработчик с пятилетним опытом в финтехе, и сегодня я расскажу, как настроить CI/CD для деплоя Spring Boot приложения из Bitbucket через Jenkins в MicroK8s. Это не просто теория — я поделюсь реальным кейсом, разберу ошибки, с которыми столкнулся, и дам рабочий код. Если вы хотите автоматизировать деплой и не наступать на грабли — поехали!
Представьте: у вас есть микросервис на Spring Boot, который нужно быстро и без ошибок доставить в продакшен. Ручной деплой отнимает время, а команда требует стабильности. Я решил эту задачу с помощью Bitbucket, Jenkins и MicroK8s, но путь оказался не таким гладким, как хотелось бы. Проблемы с аутентификацией, конфликты портов и настройка окружения заставили меня попотеть. Как я справился? Об этом — в статье.
CI/CD (Continuous Integration/Continuous Deployment) — это must-have для современных разработчиков. Автоматизация сборки, тестирования и деплоя приложений экономит время, снижает вероятность ошибок и ускоряет доставку кода до продакшена. В этой статье мы разберем, как настроить полноценный CI/CD-пайплайн для Spring Boot приложения, используя связку Bitbucket, Jenkins и MicroK8s.
Читать: https://habr.com/ru/articles/891844/?utm_campaign=891844
@a_cup_of_java | Другие наши каналы
Как применять happens-before на практике и в чем основные преимущества этой концепции
Основные правила применения концепции happens-before
Читать: «Как применять happens-before на практике и в чем основные преимущества этой концепции»
@a_cup_of_java | Другие наши каналы
Основные правила применения концепции happens-before
Читать: «Как применять happens-before на практике и в чем основные преимущества этой концепции»
@a_cup_of_java | Другие наши каналы
❤3
Java 24! Спецвыпуск Java Digest
Всем привет! 👋 👋 👋 👋 👋 Мы Java-разработчики Т-Банка: Андрей, Арсений, Константин, Константин и Роман. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.
Сегодня вышла Java 24! Давайте посмотрим, что нового она принесла нам!
Скорее читать спецвыпуск!
Читать: https://habr.com/ru/companies/tbank/articles/891798/?utm_campaign=891798
@a_cup_of_java | Другие наши каналы
Всем привет! 👋 👋 👋 👋 👋 Мы Java-разработчики Т-Банка: Андрей, Арсений, Константин, Константин и Роман. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.
Сегодня вышла Java 24! Давайте посмотрим, что нового она принесла нам!
Скорее читать спецвыпуск!
Читать: https://habr.com/ru/companies/tbank/articles/891798/?utm_campaign=891798
@a_cup_of_java | Другие наши каналы
👍3