Apache Flink: тестирование собственного сериализатора состояния
Привет, Хабр! На связи Александр Бобряков, техлид команды МТС Аналитика. Это мой одиннадцатый пост про Apache Flink. В предыдущей части мы рассмотрели сериализацию данных во Flink, написали сериализатор, поддерживающий эволюцию схемы для Flink-состояния в операторе на основе Jackson.
В этой части мы научимся писать тесты на эволюцию схемы состояния при использовании своего сериализатора.
Весь разбираемый исходный код можно найти в репозитории AlexanderBobryakov/flink-spring. В master-ветке представлен итоговый проект по всей серии. Этот материал соответствует релизной ветке с названием release/10_test_JacksonStateSerializer.
Читать: https://habr.com/ru/companies/ru_mts/articles/873436/?utm_campaign=873436
@a_cup_of_java | Другие наши каналы
Привет, Хабр! На связи Александр Бобряков, техлид команды МТС Аналитика. Это мой одиннадцатый пост про Apache Flink. В предыдущей части мы рассмотрели сериализацию данных во Flink, написали сериализатор, поддерживающий эволюцию схемы для Flink-состояния в операторе на основе Jackson.
В этой части мы научимся писать тесты на эволюцию схемы состояния при использовании своего сериализатора.
Весь разбираемый исходный код можно найти в репозитории AlexanderBobryakov/flink-spring. В master-ветке представлен итоговый проект по всей серии. Этот материал соответствует релизной ветке с названием release/10_test_JacksonStateSerializer.
Читать: https://habr.com/ru/companies/ru_mts/articles/873436/?utm_campaign=873436
@a_cup_of_java | Другие наши каналы
👍1
RabbitMQ + Java Spring
github
Понять статью не составит труда тем, кто знаком с Spring и Spring Web и хотя бы раз создавал простое приложение с контроллерами, сервисами и моделями (проще говоря - реализовывал паттерн Model View Controller).
Читать: https://habr.com/ru/articles/873450/?utm_campaign=873450
@a_cup_of_java | Другие наши каналы
github
Понять статью не составит труда тем, кто знаком с Spring и Spring Web и хотя бы раз создавал простое приложение с контроллерами, сервисами и моделями (проще говоря - реализовывал паттерн Model View Controller).
Читать: https://habr.com/ru/articles/873450/?utm_campaign=873450
@a_cup_of_java | Другие наши каналы
HTTP-запросы: GET, POST и другие
Что такое HTTP-запросы. Показываем основные виды запросов HTTP. Рассматриваем пошаговую инструкцию по использованию ✔ Tproger
Читать: «HTTP-запросы: GET, POST и другие»
@a_cup_of_java | Другие наши каналы
Что такое HTTP-запросы. Показываем основные виды запросов HTTP. Рассматриваем пошаговую инструкцию по использованию ✔ Tproger
Читать: «HTTP-запросы: GET, POST и другие»
@a_cup_of_java | Другие наши каналы
Как упростить доступ к данным с MySQL и Jakarta Data
Многие приложения, особенно в сегменте enterprise, сохраняют или получают доступ к данным в какой-либо форме. Реляционные базы данных по-прежнему остаются самым популярным механизмом для управления данными, несмотря на конкуренцию со стороны таких технологий, как NoSQL базы данных. В этой статье рассмотрим некоторые концепции доступа к данным и то, как новая спецификация Jakarta Data упрощает эту задачу для разработчиков приложений.
Читать: https://habr.com/ru/companies/otus/articles/873712/?utm_campaign=873712
@a_cup_of_java | Другие наши каналы
Многие приложения, особенно в сегменте enterprise, сохраняют или получают доступ к данным в какой-либо форме. Реляционные базы данных по-прежнему остаются самым популярным механизмом для управления данными, несмотря на конкуренцию со стороны таких технологий, как NoSQL базы данных. В этой статье рассмотрим некоторые концепции доступа к данным и то, как новая спецификация Jakarta Data упрощает эту задачу для разработчиков приложений.
Читать: https://habr.com/ru/companies/otus/articles/873712/?utm_campaign=873712
@a_cup_of_java | Другие наши каналы
🎉2👍1
Нужна ли программисту математика? Разбираем на примерах
Нужна ли программистам математика? Странный вопрос, учитывая, что на самом деле программисты и занимаются математикой в любом случае — даже если предпочитают не замечать этого.
Меня зовут Пётр — я разработчик и автор курса «Java-разработчик» в Яндекс Практикуме. В этом материале я покажу примеры будничного кода программиста, в которых порой математики не меньше, чем разработки, — и вопрос из заголовка отпадёт сам собой.
Читать: https://habr.com/ru/companies/yandex_praktikum/articles/869076/?utm_campaign=869076
@a_cup_of_java | Другие наши каналы
Нужна ли программистам математика? Странный вопрос, учитывая, что на самом деле программисты и занимаются математикой в любом случае — даже если предпочитают не замечать этого.
Меня зовут Пётр — я разработчик и автор курса «Java-разработчик» в Яндекс Практикуме. В этом материале я покажу примеры будничного кода программиста, в которых порой математики не меньше, чем разработки, — и вопрос из заголовка отпадёт сам собой.
Читать: https://habr.com/ru/companies/yandex_praktikum/articles/869076/?utm_campaign=869076
@a_cup_of_java | Другие наши каналы
✍2
Spring Security + Telegram Authentication
Spring Security + Telegram Auth
Добавить Telegram Auth в Spring Boot приложение оказалось сложнее, чем я ожидал — подробных руководств практически нет. После нескольких дней экспериментов я создал рабочее решение, которое вы легко сможете адаптировать под свои задачи. В этой статье я покажу, как настроить авторизацию через Telegram, интегрировать ее с базой данных и Spring Security, а также протестировать как локально, так и на сервере
Подробнее
Читать: https://habr.com/ru/articles/873786/?utm_campaign=873786
@a_cup_of_java | Другие наши каналы
Spring Security + Telegram Auth
Добавить Telegram Auth в Spring Boot приложение оказалось сложнее, чем я ожидал — подробных руководств практически нет. После нескольких дней экспериментов я создал рабочее решение, которое вы легко сможете адаптировать под свои задачи. В этой статье я покажу, как настроить авторизацию через Telegram, интегрировать ее с базой данных и Spring Security, а также протестировать как локально, так и на сервере
Подробнее
Читать: https://habr.com/ru/articles/873786/?utm_campaign=873786
@a_cup_of_java | Другие наши каналы
👍2❤1
Постквантовая криптография в Java
Команда Spring АйО перевела статью про новые возможности грядущей версии Java 24, в которой появятся два JEP — 496 и 497, посвященные алгоритмам, устойчивым к квантовым атакам.
Эти технологии базируются на решеточной криптографии и помогут защитить данные от возможных угроз будущих квантовых компьютеров. Хотя их создание — дело не ближайших лет, разработчики уже готовятся к изменениям.
Читать: https://habr.com/ru/companies/spring_aio/articles/873886/?utm_campaign=873886
@a_cup_of_java | Другие наши каналы
Команда Spring АйО перевела статью про новые возможности грядущей версии Java 24, в которой появятся два JEP — 496 и 497, посвященные алгоритмам, устойчивым к квантовым атакам.
Эти технологии базируются на решеточной криптографии и помогут защитить данные от возможных угроз будущих квантовых компьютеров. Хотя их создание — дело не ближайших лет, разработчики уже готовятся к изменениям.
Читать: https://habr.com/ru/companies/spring_aio/articles/873886/?utm_campaign=873886
@a_cup_of_java | Другие наши каналы
👏4
Amplicode становится платным (и остается бесплатным)
Практически год с момента публичного релиза в апреле все возможности Amplicode были доступны любому разработчику абсолютно бесплатно.
При этом с первого дня мы говорили, что продукт будет иметь определенную модель монетизации, чтобы обеспечить устойчивое развитие и финансовую стабильность команды.
В новой статье мы рассказали, какая часть возможностей Amplicode останется бесплатной, что войдет в состав платной версии, сколько будет стоить подписка и кто может рассчитывать на скидки до 100%.
Читать: https://habr.com/ru/companies/haulmont/articles/873868/?utm_campaign=873868
@a_cup_of_java | Другие наши каналы
Практически год с момента публичного релиза в апреле все возможности Amplicode были доступны любому разработчику абсолютно бесплатно.
При этом с первого дня мы говорили, что продукт будет иметь определенную модель монетизации, чтобы обеспечить устойчивое развитие и финансовую стабильность команды.
В новой статье мы рассказали, какая часть возможностей Amplicode останется бесплатной, что войдет в состав платной версии, сколько будет стоить подписка и кто может рассчитывать на скидки до 100%.
Читать: https://habr.com/ru/companies/haulmont/articles/873868/?utm_campaign=873868
@a_cup_of_java | Другие наши каналы
Предпочитаю чистый код. Топ сервисов для оценки и улучшения качества кода
Обзор лучших инструментов для оценки качества программного кода! Эксперты подготовили подробную статью о том, для чего необходимо проводить валидацию кода, и подобрали лучшие сервисы
Читать: «Предпочитаю чистый код. Топ сервисов для оценки и улучшения качества кода»
@a_cup_of_java | Другие наши каналы
Обзор лучших инструментов для оценки качества программного кода! Эксперты подготовили подробную статью о том, для чего необходимо проводить валидацию кода, и подобрали лучшие сервисы
Читать: «Предпочитаю чистый код. Топ сервисов для оценки и улучшения качества кода»
@a_cup_of_java | Другие наши каналы
👍1
Лучшие курсы по системному дизайну на 2025 год
Хотите улучшить навыки системного дизайна и подготовиться к интервью в крупных IT-компаниях? Статья предлагает 15 онлайн-курсов от Coursera, edX и Udemy, включая практические занятия от Frank Kane и Grokking Modern System Design. Узнайте больше о лучших ресурсах для разработчиков.
Подробности: http://www.java67.com/2019/09/top-5-courses-to-learn-system-design.html
#en
@a_cup_of_java | Другие наши каналы
Хотите улучшить навыки системного дизайна и подготовиться к интервью в крупных IT-компаниях? Статья предлагает 15 онлайн-курсов от Coursera, edX и Udemy, включая практические занятия от Frank Kane и Grokking Modern System Design. Узнайте больше о лучших ресурсах для разработчиков.
Подробности: http://www.java67.com/2019/09/top-5-courses-to-learn-system-design.html
#en
@a_cup_of_java | Другие наши каналы
🥰1
Бесплатные курсы Maven и Jenkins: Будь в курсе на 2025 год
Если вы хотите освоить Maven и Jenkins без затрат, на платформе Java67 представлен список из семи лучших бесплатных онлайн-курсов. Эти курсы помогут углубиться в основы и практику использования данных инструментов, необходимых для любого Java-разработчика.
Подробности: http://www.java67.com/2018/02/6-free-maven-and-jenkins-online-courses-for-java-developers.html
#en
@a_cup_of_java | Другие наши каналы
Если вы хотите освоить Maven и Jenkins без затрат, на платформе Java67 представлен список из семи лучших бесплатных онлайн-курсов. Эти курсы помогут углубиться в основы и практику использования данных инструментов, необходимых для любого Java-разработчика.
Подробности: http://www.java67.com/2018/02/6-free-maven-and-jenkins-online-courses-for-java-developers.html
#en
@a_cup_of_java | Другие наши каналы
❤🔥2👍2
Лучшие курсы по веб-скрапингу 2025
Если вы хотите овладеть навыками веб-скрапинга с использованием Python и JavaScript, то эта статья предлагает подборку лучших онлайн-курсов 2025 года. Изучите библиотеки Scrapy, BeautifulSoup и другие, чтобы автоматизировать сбор данных с сайтов. Узнайте, как эффективно собирать и анализировать данные, не упуская новейшие техники и практики.
Подробности: http://www.java67.com/2020/07/top-5-courses-to-learn-web-scraping-in-python-and-javascript.html
#en
@a_cup_of_java | Другие наши каналы
Если вы хотите овладеть навыками веб-скрапинга с использованием Python и JavaScript, то эта статья предлагает подборку лучших онлайн-курсов 2025 года. Изучите библиотеки Scrapy, BeautifulSoup и другие, чтобы автоматизировать сбор данных с сайтов. Узнайте, как эффективно собирать и анализировать данные, не упуская новейшие техники и практики.
Подробности: http://www.java67.com/2020/07/top-5-courses-to-learn-web-scraping-in-python-and-javascript.html
#en
@a_cup_of_java | Другие наши каналы
🎉2
Топ бесплатных курсов по Angular для новичков в 2025 году
Angular от Google — один из популярнейших JavaScript-фреймворков, который позволяет быстро создавать сложные веб-приложения. Если хотите освоить Angular в 2025 году, ознакомьтесь с подборкой бесплатных онлайн-курсов от Java67. Эти ресурсы помогут вам стать профессионалом в веб-разработке.
Подробности: http://www.java67.com/2018/01/top-5-free-angular-js-online-courses-for-web-developers.html
#en
@a_cup_of_java | Другие наши каналы
Angular от Google — один из популярнейших JavaScript-фреймворков, который позволяет быстро создавать сложные веб-приложения. Если хотите освоить Angular в 2025 году, ознакомьтесь с подборкой бесплатных онлайн-курсов от Java67. Эти ресурсы помогут вам стать профессионалом в веб-разработке.
Подробности: http://www.java67.com/2018/01/top-5-free-angular-js-online-courses-for-web-developers.html
#en
@a_cup_of_java | Другие наши каналы
Лучшие онлайн-курсы по Java для новичков в 2025
Хотите стать Java-разработчиком в 2025 году? Статья на Java67 предлагает обзор топ-10 онлайн-курсов и уроков, созданных экспертами на платформах таких как Udemy и Coursera. Узнайте, какие курсы помогут вам освоить Java с нуля и стать профессионалом в программировании!
Подробности: http://www.java67.com/2022/02/top-5-courses-to-learn-java-online-for.html
#en
@a_cup_of_java | Другие наши каналы
Хотите стать Java-разработчиком в 2025 году? Статья на Java67 предлагает обзор топ-10 онлайн-курсов и уроков, созданных экспертами на платформах таких как Udemy и Coursera. Узнайте, какие курсы помогут вам освоить Java с нуля и стать профессионалом в программировании!
Подробности: http://www.java67.com/2022/02/top-5-courses-to-learn-java-online-for.html
#en
@a_cup_of_java | Другие наши каналы
Как я пишу open source игру на Java
Около 10 лет назад у меня возникла идея написать игру именно на Java, поскольку я использую этот язык в работе. Это был своего рода челлендж. Хотел попробовать себя, посмотреть, возможно ли это. И спойлер – возможно. Но проект дал мне больше, чем я мог рассчитывать.
В этой статье я погружусь в детали геймдева и расскажу о том, почему вообще стоит заниматься подобными проектами.
Читать: https://habr.com/ru/companies/korus_consulting/articles/874134/?utm_campaign=874134
@a_cup_of_java | Другие наши каналы
Около 10 лет назад у меня возникла идея написать игру именно на Java, поскольку я использую этот язык в работе. Это был своего рода челлендж. Хотел попробовать себя, посмотреть, возможно ли это. И спойлер – возможно. Но проект дал мне больше, чем я мог рассчитывать.
В этой статье я погружусь в детали геймдева и расскажу о том, почему вообще стоит заниматься подобными проектами.
Читать: https://habr.com/ru/companies/korus_consulting/articles/874134/?utm_campaign=874134
@a_cup_of_java | Другие наши каналы
Стала доступна первая EAP-версия IntelliJ IDEA 2025.1
Команда Spring АйО рада поделиться с вами свежей новостью от JetBrains: стала доступна первая EAP-версия IntelliJ IDEA 2025.1.
Среди нововведений поддержка Java 24, улучшения отладчика и инструментов сборки.
Читать: https://habr.com/ru/companies/spring_aio/articles/874146/?utm_campaign=874146
@a_cup_of_java | Другие наши каналы
Команда Spring АйО рада поделиться с вами свежей новостью от JetBrains: стала доступна первая EAP-версия IntelliJ IDEA 2025.1.
Среди нововведений поддержка Java 24, улучшения отладчика и инструментов сборки.
Читать: https://habr.com/ru/companies/spring_aio/articles/874146/?utm_campaign=874146
@a_cup_of_java | Другие наши каналы
✍3👏3⚡1
Смотрим «под капот» бэкенда изображений в ОК
Ни одна современная соцсеть не обходится без картинок и фото. ОК — не исключение. Но чтобы пользователи соцсети могли загружать свои фото, ставить аватарки и иначе использовать свои изображения, нужны отлаженные механизмы и целый стек обработки на стороне бэкенда.
Меня зовут Руслан Измайлов. Я ведущий Java‑разработчик в ОК. В этой статье я хочу показать на конкретном юзкейсе весь путь изображения в соцсети ОК: от его загрузки на портал до скачивания с узлов CDN.
Читать: https://habr.com/ru/companies/odnoklassniki/articles/873874/?utm_campaign=873874
@a_cup_of_java | Другие наши каналы
Ни одна современная соцсеть не обходится без картинок и фото. ОК — не исключение. Но чтобы пользователи соцсети могли загружать свои фото, ставить аватарки и иначе использовать свои изображения, нужны отлаженные механизмы и целый стек обработки на стороне бэкенда.
Меня зовут Руслан Измайлов. Я ведущий Java‑разработчик в ОК. В этой статье я хочу показать на конкретном юзкейсе весь путь изображения в соцсети ОК: от его загрузки на портал до скачивания с узлов CDN.
Читать: https://habr.com/ru/companies/odnoklassniki/articles/873874/?utm_campaign=873874
@a_cup_of_java | Другие наши каналы
🔥5
SOLID на котиках: коротко и по делу
Каждый разработчик знает, каково это — увидеть код, который страшно трогать. В нём всё ломается, стоит добавить пару строк. Чтобы такого не было, мир придумал SOLID — набор из пяти принципов, которые делают ваш код понятным, надёжным и лёгким в поддержке.
В этой статье рассмотрим, как внедрять эти принципы с умом, и да, будет немного котиков — куда без них.
Читать: https://habr.com/ru/companies/otus/articles/874104/?utm_campaign=874104
@a_cup_of_java | Другие наши каналы
Каждый разработчик знает, каково это — увидеть код, который страшно трогать. В нём всё ломается, стоит добавить пару строк. Чтобы такого не было, мир придумал SOLID — набор из пяти принципов, которые делают ваш код понятным, надёжным и лёгким в поддержке.
В этой статье рассмотрим, как внедрять эти принципы с умом, и да, будет немного котиков — куда без них.
Читать: https://habr.com/ru/companies/otus/articles/874104/?utm_campaign=874104
@a_cup_of_java | Другие наши каналы
😁5
Как работать с JSON в веб-разработке?
Что такое JSON. Показываем основы веб-разработки с помощью JSON. Рассматриваем пошаговую инструкцию, как правильно управлять данными ✔ Tproger
Читать: «Как работать с JSON в веб-разработке?»
@a_cup_of_java | Другие наши каналы
Что такое JSON. Показываем основы веб-разработки с помощью JSON. Рассматриваем пошаговую инструкцию, как правильно управлять данными ✔ Tproger
Читать: «Как работать с JSON в веб-разработке?»
@a_cup_of_java | Другие наши каналы
❤1
Explyt Spring Plugin — наша версия HTTP-клиента для IntelliJ IDEA
Всем привет! Как следует из названия статьи, речь пойдет о HTTP-клиентах для IntelliJ IDEA, да, опять). В последнее время было несколько публикаций на эту тему, и мы бы хотели подробно рассказать о нашем взгляде на эту проблему и нашей реализации. А также поговорить о плюсах и минусах текущих решений для IDEA. Ранее мы уже рассказывали о нашем плагине для Spring - о том как у нас реализована поддержка Dependency Injection в частности, теперь настала очередь HTTP client'а.
Читать: https://habr.com/ru/companies/explyt/articles/874236/?utm_campaign=874236
@a_cup_of_java | Другие наши каналы
Всем привет! Как следует из названия статьи, речь пойдет о HTTP-клиентах для IntelliJ IDEA, да, опять). В последнее время было несколько публикаций на эту тему, и мы бы хотели подробно рассказать о нашем взгляде на эту проблему и нашей реализации. А также поговорить о плюсах и минусах текущих решений для IDEA. Ранее мы уже рассказывали о нашем плагине для Spring - о том как у нас реализована поддержка Dependency Injection в частности, теперь настала очередь HTTP client'а.
Читать: https://habr.com/ru/companies/explyt/articles/874236/?utm_campaign=874236
@a_cup_of_java | Другие наши каналы
👎1