Курсы по чат-ботам: лучшее онлайн-обучение для специалистов по разработке чат-ботов
Самые лучшие курсы по чат-ботами. В предложенной подборке актуальные варианты обучения от проверенных школ, а так же рейтинги и цены на курсы по разработке чат-ботов
Читать: «Курсы по чат-ботам: лучшее онлайн-обучение для специалистов по разработке чат-ботов»
@a_cup_of_java | Другие наши каналы
Самые лучшие курсы по чат-ботами. В предложенной подборке актуальные варианты обучения от проверенных школ, а так же рейтинги и цены на курсы по разработке чат-ботов
Читать: «Курсы по чат-ботам: лучшее онлайн-обучение для специалистов по разработке чат-ботов»
@a_cup_of_java | Другие наши каналы
Понимание различий: наблюдаемость против мониторинга против APM против профилирования
В современном мире облачных технологий поддержание оптимальной производительности приложений требует использования различных взаимодополняющих подходов. Хотя эти инструменты имеют схожие функции, они выполняют разные задачи в управлении производительностью.
Читать: https://habr.com/ru/articles/893554/?utm_campaign=893554
@a_cup_of_java | Другие наши каналы
В современном мире облачных технологий поддержание оптимальной производительности приложений требует использования различных взаимодополняющих подходов. Хотя эти инструменты имеют схожие функции, они выполняют разные задачи в управлении производительностью.
Читать: https://habr.com/ru/articles/893554/?utm_campaign=893554
@a_cup_of_java | Другие наши каналы
Allurium — java framework для автотестов. Мультиязычные, близкие к bdd репорты, без bdd структуры
В этой статье хочу поделиться инструментом, который я понемногу разрабатывал и улучшал при наличии свободного времени. Применяя для упрощения своих задач, над которыми я работал в разных компаниях за это время.
Работа в автоматизации тестирования стала моей оффициальной профессией несколько лет назад. За это время мне довелось позаниматься очень широким спектром задач, в зависимости от компаний, где я работал. Начиная с тестирования пользовательских интерфейсов различных сайтов, web и мобильных приложений, обязанности заводили меня глубоко в тестирование сложных API сервисов и даже автоматизацию десктопных программ.
Первые годы я плотно занимался тестированием Web приложений на Java, хотя начинал не с неё. Разумеется, перепробовав много подходов, я нашёл для себя любимый stack, который применял при наличии свободы выбора. Для меня это сложилось в TestNg + Selenium + Allure. Естественно, мне приходилось работать со знаменитым Cucumber, а потом и вообще с чудовищьным (на мой взгляд) Serenity и ещё многими другими решениями, включая кастомные разработки разных людей.
Моё расположение никогда не лежало в сторону BDD, так как чаще всего я сам читал отчёты и проверял тесты, и в 100% случаев сам составлял сценарии с Gherkin (иногда по предоставленным сценариям, чаще нет). Так называемое удобство, дающее BDD пользователю, сводилось к минимуму, а вот взамен требовало многое — небоскрёбы из обёрток классов, сложности с наследованием, необходимость создавать кучу дубликатов мизерных действий, абсолютное неудобство передачи данных между шагами и процессами и прочие трудности.
Читать: https://habr.com/ru/articles/893566/?utm_campaign=893566
@a_cup_of_java | Другие наши каналы
В этой статье хочу поделиться инструментом, который я понемногу разрабатывал и улучшал при наличии свободного времени. Применяя для упрощения своих задач, над которыми я работал в разных компаниях за это время.
Работа в автоматизации тестирования стала моей оффициальной профессией несколько лет назад. За это время мне довелось позаниматься очень широким спектром задач, в зависимости от компаний, где я работал. Начиная с тестирования пользовательских интерфейсов различных сайтов, web и мобильных приложений, обязанности заводили меня глубоко в тестирование сложных API сервисов и даже автоматизацию десктопных программ.
Первые годы я плотно занимался тестированием Web приложений на Java, хотя начинал не с неё. Разумеется, перепробовав много подходов, я нашёл для себя любимый stack, который применял при наличии свободы выбора. Для меня это сложилось в TestNg + Selenium + Allure. Естественно, мне приходилось работать со знаменитым Cucumber, а потом и вообще с чудовищьным (на мой взгляд) Serenity и ещё многими другими решениями, включая кастомные разработки разных людей.
Моё расположение никогда не лежало в сторону BDD, так как чаще всего я сам читал отчёты и проверял тесты, и в 100% случаев сам составлял сценарии с Gherkin (иногда по предоставленным сценариям, чаще нет). Так называемое удобство, дающее BDD пользователю, сводилось к минимуму, а вот взамен требовало многое — небоскрёбы из обёрток классов, сложности с наследованием, необходимость создавать кучу дубликатов мизерных действий, абсолютное неудобство передачи данных между шагами и процессами и прочие трудности.
Читать: https://habr.com/ru/articles/893566/?utm_campaign=893566
@a_cup_of_java | Другие наши каналы
👍3❤2
Жизненный цикл бина в Spring
Разобраться в жизненном цикле бина в Spring бывает непросто: информация разбросана, а объяснения часто сложные и перегруженные деталями. Эта статья — простой и понятный "чек-лист", где все этапы разобраны на живых примерах
Читать: https://habr.com/ru/articles/893614/?utm_campaign=893614
@a_cup_of_java | Другие наши каналы
Разобраться в жизненном цикле бина в Spring бывает непросто: информация разбросана, а объяснения часто сложные и перегруженные деталями. Эта статья — простой и понятный "чек-лист", где все этапы разобраны на живых примерах
Читать: https://habr.com/ru/articles/893614/?utm_campaign=893614
@a_cup_of_java | Другие наши каналы
👍9
Новое в Spring: обновления и релизы
Весной 2025 года в экосистеме Spring произошло множество значимых обновлений. Обновления коснулись таких компонентов, как Spring Boot, Security, Auth Server, GraphQL и многих других. Среди новшеств — улучшения в поддержке OpenTelemetry и новые свойства для Spring Batch. Эти обновления делают инструменты ещё более мощными и удобными для разработчиков.
Подробности: https://www.infoq.com/news/2025/03/spring-news-roundup-mar17-2025/
#en
@a_cup_of_java | Другие наши каналы
Весной 2025 года в экосистеме Spring произошло множество значимых обновлений. Обновления коснулись таких компонентов, как Spring Boot, Security, Auth Server, GraphQL и многих других. Среди новшеств — улучшения в поддержке OpenTelemetry и новые свойства для Spring Batch. Эти обновления делают инструменты ещё более мощными и удобными для разработчиков.
Подробности: https://www.infoq.com/news/2025/03/spring-news-roundup-mar17-2025/
#en
@a_cup_of_java | Другие наши каналы
❤3
Загляните в будущее Java: Quarkus и JBang
В мире Java новый подход Quarkus обеспечивает высокий уровень производительности, упрощая жизнь разработчиков. Платформа JBang предлагает лёгкий способ работы без сложных настроек, помогая как новичкам, так и профессионалам. Инновации делают Java-девелопмент проще и быстрее!
Подробности: https://www.infoq.com/podcasts/simplify-system-learning-ecosystems/
#en
@a_cup_of_java | Другие наши каналы
В мире Java новый подход Quarkus обеспечивает высокий уровень производительности, упрощая жизнь разработчиков. Платформа JBang предлагает лёгкий способ работы без сложных настроек, помогая как новичкам, так и профессионалам. Инновации делают Java-девелопмент проще и быстрее!
Подробности: https://www.infoq.com/podcasts/simplify-system-learning-ecosystems/
#en
@a_cup_of_java | Другие наши каналы
Новости Java: Выпуск JDK 24 и многое другое
Oracle представила JDK 24 с 24 JEPами, обновлён GraalVM для JDK 24 с новыми функциями GNN и SkipFlow. Apache Kafka 4.0 и обновление Spring прошли с учётом исправлений CVE. Также состоится JavaOne 2025. Следите за обновлениями, чтобы узнать больше!
Подробности: https://www.infoq.com/news/2025/03/java-news-roundup-mar17-2025/
#en
@a_cup_of_java | Другие наши каналы
Oracle представила JDK 24 с 24 JEPами, обновлён GraalVM для JDK 24 с новыми функциями GNN и SkipFlow. Apache Kafka 4.0 и обновление Spring прошли с учётом исправлений CVE. Также состоится JavaOne 2025. Следите за обновлениями, чтобы узнать больше!
Подробности: https://www.infoq.com/news/2025/03/java-news-roundup-mar17-2025/
#en
@a_cup_of_java | Другие наши каналы
RabbitMQ и Kotlin: делаем свою event-driven Jira на Spring
В этой статье мы рассмотрим, как можно в один клик развернуть RabbitMQ в облаке. Также напишем простое приложение на Spring Boot и Kotlin, которое будет взаимодействовать с этим брокером сообщений.
Читать: https://habr.com/ru/companies/dockhost/articles/893572/?utm_campaign=893572
@a_cup_of_java | Другие наши каналы
В этой статье мы рассмотрим, как можно в один клик развернуть RabbitMQ в облаке. Также напишем простое приложение на Spring Boot и Kotlin, которое будет взаимодействовать с этим брокером сообщений.
Читать: https://habr.com/ru/companies/dockhost/articles/893572/?utm_campaign=893572
@a_cup_of_java | Другие наши каналы
❤3
Автоматизация тестирования, которая не ломается при первом редизайне
Автоматизация тестирования, которая не ломается при первом редизайне
Как мы проектировали, внедряли и поддерживаем живую систему автотестов
Читать: https://habr.com/ru/companies/rostelecom/articles/894074/?utm_campaign=894074
@a_cup_of_java | Другие наши каналы
Автоматизация тестирования, которая не ломается при первом редизайне
Как мы проектировали, внедряли и поддерживаем живую систему автотестов
Читать: https://habr.com/ru/companies/rostelecom/articles/894074/?utm_campaign=894074
@a_cup_of_java | Другие наши каналы
Forwarded from Типичный программист
Разбираемся с System Design: всё, что нужно знать в одном репо с наглядными примерами
— Архитектура сервисов: монолит, микросервисы, API-шлюзы, балансировка нагрузки, БД.
— Протоколы: REST, gRPC, WebSockets, проектирование API, оптимизация нагрузки.
— DevOps: CI/CD, мониторинг, Kubernetes, контейнеризация, облака.
— Разбор архитектуры крупных компаний: Netflix, Twitter, Discord, Amazon Prime Video.
Погружаемся в системный дизайн — здесь.
#архитектура
— Архитектура сервисов: монолит, микросервисы, API-шлюзы, балансировка нагрузки, БД.
— Протоколы: REST, gRPC, WebSockets, проектирование API, оптимизация нагрузки.
— DevOps: CI/CD, мониторинг, Kubernetes, контейнеризация, облака.
— Разбор архитектуры крупных компаний: Netflix, Twitter, Discord, Amazon Prime Video.
Погружаемся в системный дизайн — здесь.
#архитектура
👍4❤3
Как мы перестроили комментарии в ОК: от линейного хаоса к веточной гармонии
Комментарии в соцсетях — это как чипсы: начал читать, остановиться невозможно. Но в ОК до 2024 года они были плоскими — вместо структурированного диалога под постом пользователи видели бесконечную ленту сообщений, где ответы терялись в хронологическом порядке. Представьте: под постом про котиков кто-то спросил про корм, но ответ на вопрос появился в самом низу, через 500 комментариев с обсуждением хвостатых. Найти ответ на вопрос в такой системе, если он вообще существует, — тот ещё квест.
Меня зовут Александр Косницкий. Я разработчик в компании ОК. В этой статье я расскажу, как мы переходили с линейной структуры отображения комментариев к древовидной: с чего начали, с чем сталкивались и что получили в результате.
Читать: https://habr.com/ru/companies/vk/articles/893916/?utm_campaign=893916
@a_cup_of_java | Другие наши каналы
Комментарии в соцсетях — это как чипсы: начал читать, остановиться невозможно. Но в ОК до 2024 года они были плоскими — вместо структурированного диалога под постом пользователи видели бесконечную ленту сообщений, где ответы терялись в хронологическом порядке. Представьте: под постом про котиков кто-то спросил про корм, но ответ на вопрос появился в самом низу, через 500 комментариев с обсуждением хвостатых. Найти ответ на вопрос в такой системе, если он вообще существует, — тот ещё квест.
Меня зовут Александр Косницкий. Я разработчик в компании ОК. В этой статье я расскажу, как мы переходили с линейной структуры отображения комментариев к древовидной: с чего начали, с чем сталкивались и что получили в результате.
Читать: https://habr.com/ru/companies/vk/articles/893916/?utm_campaign=893916
@a_cup_of_java | Другие наши каналы
Context Collapse: как микросервисы могут сойти с ума
Даже самая идеальная микросервисная архитектура может упасть. В статье обсудим зарубежный материал, где автор рассказывает о проблеме Context Collapse.
Читать: «Context Collapse: как микросервисы могут сойти с ума»
@a_cup_of_java | Другие наши каналы
Даже самая идеальная микросервисная архитектура может упасть. В статье обсудим зарубежный материал, где автор рассказывает о проблеме Context Collapse.
Читать: «Context Collapse: как микросервисы могут сойти с ума»
@a_cup_of_java | Другие наши каналы
Подводный камень в docker env и java
Столкнулся с небольшим с интересным моментом: внедрение переменных окружения (а ля environment variables) в стандартный микросервис написанный на Java (классика жанра – Spring Boot).
(Тема не сложная)
Читать: https://habr.com/ru/articles/894384/?utm_campaign=894384
@a_cup_of_java | Другие наши каналы
Столкнулся с небольшим с интересным моментом: внедрение переменных окружения (а ля environment variables) в стандартный микросервис написанный на Java (классика жанра – Spring Boot).
(Тема не сложная)
Читать: https://habr.com/ru/articles/894384/?utm_campaign=894384
@a_cup_of_java | Другие наши каналы
Создаем Spring Boot Starter для Kafka с Avro: пошаговое руководство
Интеграция Apache Kafka в проекты на Spring Boot часто требует много boilerplate-кода.
В этой статье я делюсь опытом создания кастомного стартера kafka-spring-boot-starter, который упрощает настройку продюсера и консюмера Kafka с поддержкой Avro-сериализации.
Рассказываю, как решал проблемы с тестами (например, auto.offset.reset=latest) и адаптировал стартер для гибкой работы со схемами.
Вы найдёте примеры конфигураций для надёжной доставки, потоковой обработки и ретраев, а также лучшие практики разработки стартеров.
Бонус в конце — удобный обзор ключевых настроек Kafka для продюсера и консюмера.
Читать: https://habr.com/ru/companies/sberbank/articles/894402/?utm_campaign=894402
@a_cup_of_java | Другие наши каналы
Интеграция Apache Kafka в проекты на Spring Boot часто требует много boilerplate-кода.
В этой статье я делюсь опытом создания кастомного стартера kafka-spring-boot-starter, который упрощает настройку продюсера и консюмера Kafka с поддержкой Avro-сериализации.
Рассказываю, как решал проблемы с тестами (например, auto.offset.reset=latest) и адаптировал стартер для гибкой работы со схемами.
Вы найдёте примеры конфигураций для надёжной доставки, потоковой обработки и ретраев, а также лучшие практики разработки стартеров.
Бонус в конце — удобный обзор ключевых настроек Kafka для продюсера и консюмера.
Читать: https://habr.com/ru/companies/sberbank/articles/894402/?utm_campaign=894402
@a_cup_of_java | Другие наши каналы
👍4
15 вопросов с собеседований по фронтенду для мидлов
Пов: вы пришли на собес на мидла. В статье — ищите вопросы и пытайтесь ответить сначала сами. Если не получается — ответы и решения тоже есть.
Читать: «15 вопросов с собеседований по фронтенду для мидлов»
@a_cup_of_java | Другие наши каналы
Пов: вы пришли на собес на мидла. В статье — ищите вопросы и пытайтесь ответить сначала сами. Если не получается — ответы и решения тоже есть.
Читать: «15 вопросов с собеседований по фронтенду для мидлов»
@a_cup_of_java | Другие наши каналы
❤1❤🔥1💊1
JavaOne 2025: второй день конференции!
На второй день JavaOne 2025 внимание было сосредоточено на FFM API, виртуальных потоках и развитии Jakarta EE. Обсуждали, как FFM API решает проблемы JNI, использование виртуальных потоков для улучшения микросервисов с Helidon и модернизацию Java с помощью Kubernetes.
Подробности: https://www.infoq.com/news/2025/03/day-two-java-one-2025/
#en
@a_cup_of_java | Другие наши каналы
На второй день JavaOne 2025 внимание было сосредоточено на FFM API, виртуальных потоках и развитии Jakarta EE. Обсуждали, как FFM API решает проблемы JNI, использование виртуальных потоков для улучшения микросервисов с Helidon и модернизацию Java с помощью Kubernetes.
Подробности: https://www.infoq.com/news/2025/03/day-two-java-one-2025/
#en
@a_cup_of_java | Другие наши каналы
Сравнение SpringRunner со SpringExtension и @SpringBootTest
Команда Spring АйО перевела статью о том, как и когда использовать
Читать: https://habr.com/ru/companies/spring_aio/articles/894400/?utm_campaign=894400
@a_cup_of_java | Другие наши каналы
Команда Spring АйО перевела статью о том, как и когда использовать
SpringRunner, SpringExtension и @SpringBootTest, когда их целесообразно комбинировать и как правильное понимание этих компонентов может помочь сделать тесты проще, быстрее и более узконаправленными. Читать: https://habr.com/ru/companies/spring_aio/articles/894400/?utm_campaign=894400
@a_cup_of_java | Другие наши каналы
Инъекция блокнотом или история о том, как мы новые диагностики делали
В этой статье я немного расскажу о том, как в Java осуществляется вызов команд уровня операционной системы. Также поговорим про OS Command и Argument Injections и про то, как мы делали диагностики, которые могут помочь в их обнаружении.
Читать: https://habr.com/ru/companies/pvs-studio/articles/894872/?utm_campaign=894872
@a_cup_of_java | Другие наши каналы
В этой статье я немного расскажу о том, как в Java осуществляется вызов команд уровня операционной системы. Также поговорим про OS Command и Argument Injections и про то, как мы делали диагностики, которые могут помочь в их обнаружении.
Читать: https://habr.com/ru/companies/pvs-studio/articles/894872/?utm_campaign=894872
@a_cup_of_java | Другие наши каналы
Начало начал
Всем привет! Долгое время был читателем, настало время стать пейсателем :-)
За долгие годы работы в области программирования на java, накопилась кое какая информация, которая, я думаю, поможет новичкам, в продвижении в этом направлении. Буду периодически постить, по мере наличия времени, так что на некоторую нерегулярность постов — не серчайте:-)
Кроме того, хотел сразу открыто сказать, что буду юзать для этого нейросеть, чтобы упростить сбор информации. Но — «под строгим родительским контролем»! :-B
Что впрочем не исключает того, что она (или я) — будем галлюцинировать и всячески бредить :-))).
Тем не менее, думаю, что такого ещё не было и, в целом, это будет интересно — потому что написание каких либо учебников — это всегда довольно тяжкий труд, но, надеюсь, с применением такого подхода, это будет несколько проще.
Ещё хотел сказать что будет и чего не будет: будет — теория, примеры. Не будет — медленной раскачки, плавных переходов между абзацами. То есть: всё сухо, чётко, конкретно. «Пускай безобразно — зато однообразно: всё прямоугольно и параллельно» :-))))
Двигаться в обучении мы будем не фрагментарно, а прямо с самого начала, поступательно, рассматривая весь необходимый круг вопросов.
Если у вас есть что сказать по теме — дать плюшек или кинуть ботинком — всегда велком, т.к. для конечного результата все эти уточнения — только на пользу…
Итак…
Читать: https://habr.com/ru/articles/891622/?utm_campaign=891622
@a_cup_of_java | Другие наши каналы
Всем привет! Долгое время был читателем, настало время стать пейсателем :-)
За долгие годы работы в области программирования на java, накопилась кое какая информация, которая, я думаю, поможет новичкам, в продвижении в этом направлении. Буду периодически постить, по мере наличия времени, так что на некоторую нерегулярность постов — не серчайте:-)
Кроме того, хотел сразу открыто сказать, что буду юзать для этого нейросеть, чтобы упростить сбор информации. Но — «под строгим родительским контролем»! :-B
Что впрочем не исключает того, что она (или я) — будем галлюцинировать и всячески бредить :-))).
Тем не менее, думаю, что такого ещё не было и, в целом, это будет интересно — потому что написание каких либо учебников — это всегда довольно тяжкий труд, но, надеюсь, с применением такого подхода, это будет несколько проще.
Ещё хотел сказать что будет и чего не будет: будет — теория, примеры. Не будет — медленной раскачки, плавных переходов между абзацами. То есть: всё сухо, чётко, конкретно. «Пускай безобразно — зато однообразно: всё прямоугольно и параллельно» :-))))
Двигаться в обучении мы будем не фрагментарно, а прямо с самого начала, поступательно, рассматривая весь необходимый круг вопросов.
Если у вас есть что сказать по теме — дать плюшек или кинуть ботинком — всегда велком, т.к. для конечного результата все эти уточнения — только на пользу…
Итак…
Читать: https://habr.com/ru/articles/891622/?utm_campaign=891622
@a_cup_of_java | Другие наши каналы
Реализация RPC во внутреннем взаимодействии модулей с Spring Boot
В какой-то момент я настолько устал настраивать все эти мелочи для REST-взаимодействия в микросервисах, что реализовал механизм, который сильно упрощает эту работу.
И я уверен, что вам стоит прочитать эту статью, если:
Вы используете Java и Spring Boot в своей работе.
Ваш проект строится на микросервисной архитектуре.
Вас раздражает бесконечное описание REST-контрактов и их поддержку.
А если у вас остались шрамы после попыток внедрения gRPC, то тем более рекомендую дочитать до конца.
В статье мы рассмотрим альтернативный подход к взаимодействию между сервисами — легковесное RPC-решение, которое удобно использовать внутри одного продукта. Оно не претендует на замену публичных API, но значительно упрощает жизнь внутри команды, где "правила игры" можно обсудить за кружкой пива.
Читать: https://habr.com/ru/articles/895172/?utm_campaign=895172
@a_cup_of_java | Другие наши каналы
В какой-то момент я настолько устал настраивать все эти мелочи для REST-взаимодействия в микросервисах, что реализовал механизм, который сильно упрощает эту работу.
И я уверен, что вам стоит прочитать эту статью, если:
Вы используете Java и Spring Boot в своей работе.
Ваш проект строится на микросервисной архитектуре.
Вас раздражает бесконечное описание REST-контрактов и их поддержку.
А если у вас остались шрамы после попыток внедрения gRPC, то тем более рекомендую дочитать до конца.
В статье мы рассмотрим альтернативный подход к взаимодействию между сервисами — легковесное RPC-решение, которое удобно использовать внутри одного продукта. Оно не претендует на замену публичных API, но значительно упрощает жизнь внутри команды, где "правила игры" можно обсудить за кружкой пива.
Читать: https://habr.com/ru/articles/895172/?utm_campaign=895172
@a_cup_of_java | Другие наши каналы
SAML2 ещё жив?! Как интегрировать Keycloak со Spring Boot в 2025 году
Команда Spring АйО перевела статью совместном использовании Spring Boot, SAML2 и Keycloak при запуске приложений. Здесь также приводятся некоторые кастомизированные решения, позволяющие более гибко работать с упомянутым набором технологий.
Читать: https://habr.com/ru/companies/spring_aio/articles/895022/?utm_campaign=895022
@a_cup_of_java | Другие наши каналы
Команда Spring АйО перевела статью совместном использовании Spring Boot, SAML2 и Keycloak при запуске приложений. Здесь также приводятся некоторые кастомизированные решения, позволяющие более гибко работать с упомянутым набором технологий.
Читать: https://habr.com/ru/companies/spring_aio/articles/895022/?utm_campaign=895022
@a_cup_of_java | Другие наши каналы