Денежные переводы в SQL
Переводим деньги в SQL
В этом посте я покажу распространённые стратегии обработки переводов между счетами, сосредоточив внимание на согласованности данных, уровнях изоляции и компромиссах.
Мы будем использовать упрощённые SQL и Java фрагменты с комментариями.
Читать: https://habr.com/ru/articles/908198/?utm_campaign=908198
@a_cup_of_java | Другие наши каналы
Переводим деньги в SQL
В этом посте я покажу распространённые стратегии обработки переводов между счетами, сосредоточив внимание на согласованности данных, уровнях изоляции и компромиссах.
Мы будем использовать упрощённые SQL и Java фрагменты с комментариями.
Читать: https://habr.com/ru/articles/908198/?utm_campaign=908198
@a_cup_of_java | Другие наши каналы
Join таблиц в реальном времени на Apache Flink ( Часть 2 )
В данной статье приводится решение проблемы построения витрин данных в реальном времени с помощью Apache Flink. Рассказывается 2 часть подробной реализации решения этой задачи. В данной части рассмотрена проблема учета сообщений на удаление и частично операций
Читать: https://habr.com/ru/articles/908220/?utm_campaign=908220
@a_cup_of_java | Другие наши каналы
В данной статье приводится решение проблемы построения витрин данных в реальном времени с помощью Apache Flink. Рассказывается 2 часть подробной реализации решения этой задачи. В данной части рассмотрена проблема учета сообщений на удаление и частично операций
update , в связи с чем достигается полная консистентность данных СИ с СП при условии гарантии, что ключ join условия не обновляется.Читать: https://habr.com/ru/articles/908220/?utm_campaign=908220
@a_cup_of_java | Другие наши каналы
Python, Java, C++ и Go — как появились популярные языки программирования
Привет! Мы уже рассказывали о «вымерших» языках программирования, пришла очередь самых популярных в 2025 году. Языки не придумывают «чтобы было» — для этого всегда есть предпосылки: рассказываем, кто, когда и зачем их создал. А еще делимся интересными фактами, которых вы могли не знать — а теперь будете :)
Читать: https://habr.com/ru/companies/selectel/articles/906256/?utm_campaign=906256
@a_cup_of_java | Другие наши каналы
Привет! Мы уже рассказывали о «вымерших» языках программирования, пришла очередь самых популярных в 2025 году. Языки не придумывают «чтобы было» — для этого всегда есть предпосылки: рассказываем, кто, когда и зачем их создал. А еще делимся интересными фактами, которых вы могли не знать — а теперь будете :)
Читать: https://habr.com/ru/companies/selectel/articles/906256/?utm_campaign=906256
@a_cup_of_java | Другие наши каналы
Автоматизация тестирования Java UI-приложений с Arctic
Arctic от Amazon Corretto позволяет запускать автоматические проверки старых и новых Java-десктоп-тестов без их доработки. Инструмент сравнивает скриншоты и воспроизводит действия, помогая выявлять визуальные регрессии и экономить время на проверке.
Подробности: https://aws.amazon.com/blogs/developer/arctic-automated-desktop-application-testing/
#en
@a_cup_of_java | Другие наши каналы
Arctic от Amazon Corretto позволяет запускать автоматические проверки старых и новых Java-десктоп-тестов без их доработки. Инструмент сравнивает скриншоты и воспроизводит действия, помогая выявлять визуальные регрессии и экономить время на проверке.
Подробности: https://aws.amazon.com/blogs/developer/arctic-automated-desktop-application-testing/
#en
@a_cup_of_java | Другие наши каналы
Как решить ошибку Arithmetic overflow при конвертации IDENTITY в tinyint, smallint или int в SQL Server
Ошибка возникает, когда значение IDENTITY выходит за пределы диапазона типа данных. Решение — увеличить тип колонки до bigint или сделать reseed значения IDENTITY, учитывая возможные риски при изменениях. Топ-курсы и обзоры для IT-специалистов в 2024–2025 годах. В статье представлены лучшие онлайн-курсы по Apache Camel, Data Science, Selenium, Cloud Computing, а также отзывы о популярных образовательных платформах и сертификатах. Полезно для развития карьеры и повышения квалификации.
Подробности: http://www.java67.com/2019/08/arithmetic-overflow-error-converting-indentity-to-data-type-tinyint-smallint-and-in-sql-server-database.html
#en
@a_cup_of_java | Другие наши каналы
Ошибка возникает, когда значение IDENTITY выходит за пределы диапазона типа данных. Решение — увеличить тип колонки до bigint или сделать reseed значения IDENTITY, учитывая возможные риски при изменениях. Топ-курсы и обзоры для IT-специалистов в 2024–2025 годах. В статье представлены лучшие онлайн-курсы по Apache Camel, Data Science, Selenium, Cloud Computing, а также отзывы о популярных образовательных платформах и сертификатах. Полезно для развития карьеры и повышения квалификации.
Подробности: http://www.java67.com/2019/08/arithmetic-overflow-error-converting-indentity-to-data-type-tinyint-smallint-and-in-sql-server-database.html
#en
@a_cup_of_java | Другие наши каналы
Лучшие онлайн-курсы по HTML и CSS в 2024 году
Если хотите освоить веб-дизайн и фронтенд-разработку, стоит обратить внимание на лучшие курсы по HTML5 и CSS3 от Udemy, Coursera, Pluralsight и edX. Они подходят и новичкам, и опытным специалистам. Лучшие онлайн-курсы по программированию и веб-разработке в 2025 году. В статье собраны популярные направления — от Python и Java до DevOps и блокчейна, включая бесплатные и платные варианты для всех уровней. Отличный гид для выбора обучения!
Подробности: http://www.java67.com/2020/08/5-best-online-courses-to-learn-html-5.html
#en
@a_cup_of_java | Другие наши каналы
Если хотите освоить веб-дизайн и фронтенд-разработку, стоит обратить внимание на лучшие курсы по HTML5 и CSS3 от Udemy, Coursera, Pluralsight и edX. Они подходят и новичкам, и опытным специалистам. Лучшие онлайн-курсы по программированию и веб-разработке в 2025 году. В статье собраны популярные направления — от Python и Java до DevOps и блокчейна, включая бесплатные и платные варианты для всех уровней. Отличный гид для выбора обучения!
Подробности: http://www.java67.com/2020/08/5-best-online-courses-to-learn-html-5.html
#en
@a_cup_of_java | Другие наши каналы
Лучшие бесплатные сайты для изучения Microsoft Azure в 2024 году
Обзор ресурсов, которые помогут бесплатно освоить облачную платформу Microsoft Azure — от официального портала и Coursera до Udemy и Pluralsight. Идеально для разработчиков, DevOps и всех, кто хочет развить востребованные навыки в облачных технологиях. Лучшие онлайн-курсы по программированию и IT на 2024 год. В подборке — курсы по Java, Data Science, облачным технологиям, машинному обучению и тестированию. Обзор поможет выбрать подходящее обучение для развития навыков и карьерного роста.
Подробности: http://www.java67.com/2024/06/top-6-websites-to-learn-microsoft-azure.html
#en
@a_cup_of_java | Другие наши каналы
Обзор ресурсов, которые помогут бесплатно освоить облачную платформу Microsoft Azure — от официального портала и Coursera до Udemy и Pluralsight. Идеально для разработчиков, DevOps и всех, кто хочет развить востребованные навыки в облачных технологиях. Лучшие онлайн-курсы по программированию и IT на 2024 год. В подборке — курсы по Java, Data Science, облачным технологиям, машинному обучению и тестированию. Обзор поможет выбрать подходящее обучение для развития навыков и карьерного роста.
Подробности: http://www.java67.com/2024/06/top-6-websites-to-learn-microsoft-azure.html
#en
@a_cup_of_java | Другие наши каналы
👍2
Работа с базой данных для джунов и вайбкодеров. Соединения
Коннекты обычно не приносят много головной боли на начальных этапах разработки. Вообще работа с ними обычно делается один раз, во время настройки, и дальше тюнится по необходимости. Но эта необходимость возникает часто в виде непонятных ошибок, которые выкидываются в случайных местах, непонятных графиков в графане и суеты админов вашей базы данных. Я постарался собрать ту информацию, которая позволит вам не потеряться в такой ситуации и даже поможет определить суть проблемы.
Читать: https://habr.com/ru/articles/908376/?utm_campaign=908376
@a_cup_of_java | Другие наши каналы
Коннекты обычно не приносят много головной боли на начальных этапах разработки. Вообще работа с ними обычно делается один раз, во время настройки, и дальше тюнится по необходимости. Но эта необходимость возникает часто в виде непонятных ошибок, которые выкидываются в случайных местах, непонятных графиков в графане и суеты админов вашей базы данных. Я постарался собрать ту информацию, которая позволит вам не потеряться в такой ситуации и даже поможет определить суть проблемы.
Читать: https://habr.com/ru/articles/908376/?utm_campaign=908376
@a_cup_of_java | Другие наши каналы
👍2
ООП не мертво. Вы просто пользуетесь им как молотком по клавиатуре
После каждой новой статьи с заголовком «ООП — это обман» хочется напомнить: ООП — это не набор шаблонов из книжек, а инженерный подход. Если проект страдает от наследования и DI, возможно, проблема не в ООП. А в том, как вы его применяете.
Читать: https://habr.com/ru/articles/908422/?utm_campaign=908422
@a_cup_of_java | Другие наши каналы
После каждой новой статьи с заголовком «ООП — это обман» хочется напомнить: ООП — это не набор шаблонов из книжек, а инженерный подход. Если проект страдает от наследования и DI, возможно, проблема не в ООП. А в том, как вы его применяете.
Читать: https://habr.com/ru/articles/908422/?utm_campaign=908422
@a_cup_of_java | Другие наши каналы
QCon London 2025: Как построить базу данных без сервера
На конференции обсудили опыт Man Group по замене MongoDB на безсерверное объектное хранилище с ArcticDB. Рассмотрены технические сложности, связанные с управлением глобальным состоянием, синхронизацией и использованием CRDT для консистентности данных.
Подробности: https://www.infoq.com/news/2025/05/serverless-database-seaton/
#en
@a_cup_of_java | Другие наши каналы
На конференции обсудили опыт Man Group по замене MongoDB на безсерверное объектное хранилище с ArcticDB. Рассмотрены технические сложности, связанные с управлением глобальным состоянием, синхронизацией и использованием CRDT для консистентности данных.
Подробности: https://www.infoq.com/news/2025/05/serverless-database-seaton/
#en
@a_cup_of_java | Другие наши каналы
Разработчик развеял мифы о чистом коде, трендах и идеальном программировании
Разработчик развеял мифы о чистом коде и трендах — почему идеальное программирование не всегда оправдано в реальных проектах
Читать: «Разработчик развеял мифы о чистом коде, трендах и идеальном программировании»
@a_cup_of_java | Другие наши каналы
Разработчик развеял мифы о чистом коде и трендах — почему идеальное программирование не всегда оправдано в реальных проектах
Читать: «Разработчик развеял мифы о чистом коде, трендах и идеальном программировании»
@a_cup_of_java | Другие наши каналы
JForge: Создаем свою мини-IDE на Java Swing с нуля (с темной темой и подсветкой синтаксиса!)
Каждый из нас, Java-разработчиков, хоть раз задумывался: "А что, если взять и написать свою IDE?". Ну, может, не полноценную замену IntelliJ IDEA, но что-то компактное, для души, для изучения Swing или просто для фана. Сегодня я хочу поделиться именно таким проектом – JForge, простой IDE для Java, написанной полностью на Swing, с акцентом на приятный темный интерфейс и базовые, но необходимые фичи.
Читать: https://habr.com/ru/articles/908534/?utm_campaign=908534
@a_cup_of_java | Другие наши каналы
Каждый из нас, Java-разработчиков, хоть раз задумывался: "А что, если взять и написать свою IDE?". Ну, может, не полноценную замену IntelliJ IDEA, но что-то компактное, для души, для изучения Swing или просто для фана. Сегодня я хочу поделиться именно таким проектом – JForge, простой IDE для Java, написанной полностью на Swing, с акцентом на приятный темный интерфейс и базовые, но необходимые фичи.
Читать: https://habr.com/ru/articles/908534/?utm_campaign=908534
@a_cup_of_java | Другие наши каналы
👍3
Новые обновления Java: в JDK 25 готовы к внедрению несколько ключевых JEP, включая структурированную конкуренцию и гибкие конструкторы. Выпущены релизы Hibernate Reactive 3.0, Infinispan 16.0, JHipster 8.11 и Gatherers4j 0.11 с важными улучшениями и новыми возможностями.
Подробности: https://www.infoq.com/news/2025/05/java-news-roundup-may05-2025/
#en
@a_cup_of_java | Другие наши каналы
Подробности: https://www.infoq.com/news/2025/05/java-news-roundup-may05-2025/
#en
@a_cup_of_java | Другие наши каналы
JEP 505: Пятая предварительная версия структурированной конкуренции в Java
В JDK 25 вышла пятая превью Structured Concurrency с улучшениями API. Теперь StructuredTaskScope создаётся через статические методы, что упрощает управление параллельными задачами и повышает безопасность и читаемость кода.
Подробности: https://www.infoq.com/news/2025/05/jep-505-concurrency-preview-5/
#en
@a_cup_of_java | Другие наши каналы
В JDK 25 вышла пятая превью Structured Concurrency с улучшениями API. Теперь StructuredTaskScope создаётся через статические методы, что упрощает управление параллельными задачами и повышает безопасность и читаемость кода.
Подробности: https://www.infoq.com/news/2025/05/jep-505-concurrency-preview-5/
#en
@a_cup_of_java | Другие наши каналы
Исследование решений для хранения файлов в Spring Boot: базы данных, локальные системы, облачные сервисы и многое другое
При создании веб-приложений часто требуется правильно управлять загрузкой файлов. После получения файлы могут храниться в нескольких местах: в файловой системе, в базе данных или, что более распространено, в облачном сервисе хранения данных.
В этой статье мы расскажем, как хранить файлы в базе данных с помощью Spring Boot, а также обсудим некоторые альтернативные варианты.
Читать: https://habr.com/ru/articles/760760/?utm_campaign=760760
@a_cup_of_java | Другие наши каналы
При создании веб-приложений часто требуется правильно управлять загрузкой файлов. После получения файлы могут храниться в нескольких местах: в файловой системе, в базе данных или, что более распространено, в облачном сервисе хранения данных.
В этой статье мы расскажем, как хранить файлы в базе данных с помощью Spring Boot, а также обсудим некоторые альтернативные варианты.
Читать: https://habr.com/ru/articles/760760/?utm_campaign=760760
@a_cup_of_java | Другие наши каналы
Лучшие курсы PostgreSQL для начинающих в 2025 году
В статье собраны топовые онлайн-курсы по PostgreSQL, включая предложения с Udemy, Coursera и LinkedIn Learning. Курсы подойдут тем, кто хочет быстро освоить базу данных от основ до продвинутого уровня с практическими заданиями. Лучшие бесплатные курсы по программированию и IT: Java, SQL, Linux, Docker и многое другое. Подборка материалов для новичков и опытных разработчиков поможет быстро прокачать навыки и подготовиться к интервью. Полезно для всех, кто хочет развиваться в IT-сфере.
Подробности: http://www.java67.com/2021/12/top-5-online-courses-to-learn.html
#en
@a_cup_of_java | Другие наши каналы
В статье собраны топовые онлайн-курсы по PostgreSQL, включая предложения с Udemy, Coursera и LinkedIn Learning. Курсы подойдут тем, кто хочет быстро освоить базу данных от основ до продвинутого уровня с практическими заданиями. Лучшие бесплатные курсы по программированию и IT: Java, SQL, Linux, Docker и многое другое. Подборка материалов для новичков и опытных разработчиков поможет быстро прокачать навыки и подготовиться к интервью. Полезно для всех, кто хочет развиваться в IT-сфере.
Подробности: http://www.java67.com/2021/12/top-5-online-courses-to-learn.html
#en
@a_cup_of_java | Другие наши каналы
👍1
Лучшие курсы для изучения Google Cloud Platform в 2025 году
В статье собраны актуальные онлайн-курсы, которые помогут освоить Google Cloud Platform — популярную облачную платформу от Google. Ресурсы подходят как новичкам, так и опытным специалистам, заинтересованным в развитии навыков облачных технологий.
Подробности: http://www.java67.com/2021/12/-best-google-cloud-platform-course-online.html
#en
@a_cup_of_java | Другие наши каналы
В статье собраны актуальные онлайн-курсы, которые помогут освоить Google Cloud Platform — популярную облачную платформу от Google. Ресурсы подходят как новичкам, так и опытным специалистам, заинтересованным в развитии навыков облачных технологий.
Подробности: http://www.java67.com/2021/12/-best-google-cloud-platform-course-online.html
#en
@a_cup_of_java | Другие наши каналы
Спасаемся от Spring: есть ли альтернативы репозиторным фреймворкам? Часть первая. Решения Spring
С точки зрения доступа к базе данных, Java-сообщество однозначно делится на два лагеря: одни любят Spring Data JPA за его простоту и низкий порог вхождения, другие предпочитают Spring JDBC за его точность и возможность тюнинга запросов. И кого останавливает, что и то, и другое — Spring?
Какую сторону выбрать? И Spring Data JPA, и Spring Data JDBC, при их очевидных достоинствах, имеют недостатки, делающие разработку на них не очень подходящей для прода. Эти решения являются двумя крайностями, а нам нужна золотая середина.
Вы спросите: какие альтернативы? И я отвечу: давайте посмотрим на проблему шире. Вы джавист? Вам повезло — есть хорошая альтернатива. Котлинист? Ещё лучше — есть отличная альтернатива!
О них и поговорим.
Читать: https://habr.com/ru/companies/sberbank/articles/890338/?utm_campaign=890338
@a_cup_of_java | Другие наши каналы
С точки зрения доступа к базе данных, Java-сообщество однозначно делится на два лагеря: одни любят Spring Data JPA за его простоту и низкий порог вхождения, другие предпочитают Spring JDBC за его точность и возможность тюнинга запросов. И кого останавливает, что и то, и другое — Spring?
Какую сторону выбрать? И Spring Data JPA, и Spring Data JDBC, при их очевидных достоинствах, имеют недостатки, делающие разработку на них не очень подходящей для прода. Эти решения являются двумя крайностями, а нам нужна золотая середина.
Вы спросите: какие альтернативы? И я отвечу: давайте посмотрим на проблему шире. Вы джавист? Вам повезло — есть хорошая альтернатива. Котлинист? Ещё лучше — есть отличная альтернатива!
О них и поговорим.
Читать: https://habr.com/ru/companies/sberbank/articles/890338/?utm_campaign=890338
@a_cup_of_java | Другие наши каналы
🌚4👍1
Jmix/Spring-приложение в IFrame
Предположим, у нас появилась задача встроить какой-то функционал, реализуемый системой на Jmix/Vaadin/Spring на другой сайт или в веб-приложение. Сейчас существует большое количество статических генераторов и других систем управления содержимым, где у разработчика есть доступ только к фронтенд-части. Если это не портальная система, обычным решением в таких случаях будет использовать встраивание через IFrame.
Для того чтобы приложение с интерфейсом на Vaadin открывалось в айфрейме за пределами локалхоста, ему требуется включенная поддержка cookie, что по современным стандартам безопасности возможно только если и сайт и приложение, находящиеся на разных доменах, работают по протоколу HTTPS доверенного уровня и для сессионных кук включен параметр Secure и выключен SameSite. Поэтому нам придется немного заморочиться, что бы это все заработало в Spring Boot-приложении даже если речь идет о тестовых средах.
Читать: https://habr.com/ru/companies/haulmont/articles/909344/?utm_campaign=909344
@a_cup_of_java | Другие наши каналы
Предположим, у нас появилась задача встроить какой-то функционал, реализуемый системой на Jmix/Vaadin/Spring на другой сайт или в веб-приложение. Сейчас существует большое количество статических генераторов и других систем управления содержимым, где у разработчика есть доступ только к фронтенд-части. Если это не портальная система, обычным решением в таких случаях будет использовать встраивание через IFrame.
Для того чтобы приложение с интерфейсом на Vaadin открывалось в айфрейме за пределами локалхоста, ему требуется включенная поддержка cookie, что по современным стандартам безопасности возможно только если и сайт и приложение, находящиеся на разных доменах, работают по протоколу HTTPS доверенного уровня и для сессионных кук включен параметр Secure и выключен SameSite. Поэтому нам придется немного заморочиться, что бы это все заработало в Spring Boot-приложении даже если речь идет о тестовых средах.
Читать: https://habr.com/ru/companies/haulmont/articles/909344/?utm_campaign=909344
@a_cup_of_java | Другие наши каналы
👍1
ООП или не ООП — вот в чём ревью
Псевдокод, страсть и pull-request на грани добра и зла
Кто-то звал Smalltalk, кто-то бросал в нас Haskell, кто-то доставал из-под кровати подшивку статей «ECS лучше всего» — и всё это с праведной уверенностью.
Читать: https://habr.com/ru/articles/909368/?utm_campaign=909368
@a_cup_of_java | Другие наши каналы
Псевдокод, страсть и pull-request на грани добра и зла
Кто-то звал Smalltalk, кто-то бросал в нас Haskell, кто-то доставал из-под кровати подшивку статей «ECS лучше всего» — и всё это с праведной уверенностью.
Читать: https://habr.com/ru/articles/909368/?utm_campaign=909368
@a_cup_of_java | Другие наши каналы
👍1
Всё, что вам нужно знать о Feign-клиентах в Spring Boot: Что под капотом, настройка, использование, функции
Чтобы сделать вызовы REST API проще и декларативнее, Spring Boot предлагает встроенную интеграцию с Feign‑клиентами. Feign представляет собой HTTP‑клиент, который позволяет разработчикам определять REST‑эндпоинты с помощью интерфейсов Java. Вместо того чтобы писать дублирующийся код для обработки HTTP‑запросов, мы можем определять эндпоинты и их поведение в наглядной и лаконичной форме.
В этой статье мы подробно рассмотрим технические аспекты работы Feign‑клиентов в Spring Boot. Вы узнаете, как их настраивать, как под капотом обрабатываются запросы, ответы и ошибки.
Читать: https://habr.com/ru/companies/otus/articles/909336/?utm_campaign=909336
@a_cup_of_java | Другие наши каналы
Чтобы сделать вызовы REST API проще и декларативнее, Spring Boot предлагает встроенную интеграцию с Feign‑клиентами. Feign представляет собой HTTP‑клиент, который позволяет разработчикам определять REST‑эндпоинты с помощью интерфейсов Java. Вместо того чтобы писать дублирующийся код для обработки HTTP‑запросов, мы можем определять эндпоинты и их поведение в наглядной и лаконичной форме.
В этой статье мы подробно рассмотрим технические аспекты работы Feign‑клиентов в Spring Boot. Вы узнаете, как их настраивать, как под капотом обрабатываются запросы, ответы и ошибки.
Читать: https://habr.com/ru/companies/otus/articles/909336/?utm_campaign=909336
@a_cup_of_java | Другие наши каналы
👍1🔥1