Grokаем виджеты: пишем код с Grok 3 от Маска
Тестируем возможности нейросети Grok 3 от Илона Маска для кодинга: генерируем веб-виджеты, сравниваем с ChatGPT и DeepSeek, разбираем плюсы и минусы.
Читать: «Grokаем виджеты: пишем код с Grok 3 от Маска»
@a_cup_of_java | Другие наши каналы
Тестируем возможности нейросети Grok 3 от Илона Маска для кодинга: генерируем веб-виджеты, сравниваем с ChatGPT и DeepSeek, разбираем плюсы и минусы.
Читать: «Grokаем виджеты: пишем код с Grok 3 от Маска»
@a_cup_of_java | Другие наши каналы
Presentation: A Walk Along the Complexity-performance Curve
Richard Startin explores the relationship between complexity and performance through the lens of recent improvements to the Java String class, visiting continuous profiling and some assembly code.
By Richard Startin
Read: https://www.infoq.com/presentations/java-string-performance/
@a_cup_of_java | Другие наши каналы
Richard Startin explores the relationship between complexity and performance through the lens of recent improvements to the Java String class, visiting continuous profiling and some assembly code.
By Richard Startin
Read: https://www.infoq.com/presentations/java-string-performance/
@a_cup_of_java | Другие наши каналы
Парсим сайт для получения УДК иерархии
Предыстория:
У меня на домашнем ПК скопилось некоторое количество книг в электронном формате. Это в основной массе техническая литература. И мне хотелось всё это систематизировать. Придумывать не хочется, когда в книгах есть УДК, ББК классификаторы.
Читать: 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 | Другие наши каналы