Date | Title | Description |
02.11.2024 | The Future of AI in Veterinary Care: A Deep Dive into Spring Petclinic's Integration | In the world of technology, the marriage of artificial intelligence (AI) and veterinary care is a match made in heaven. The Spring Petclinic project exemplifies this union, showcasing how AI can enhance the efficiency and effectiveness of v... |
01.11.2024 | AI и Spring Petclinic: Внедрение ИИ-ассистента с Spring AI (Часть II) | В продолжении статьи автор углубляется в возможности генерации с поддержкой поиска (RAG), чтобы LLM могла учесть некоторую контекстуальную информацию данных, первоначально невходившую в ее обучающую выборку.
В новом переводе от команды Spri... |
31.10.2024 | API-Шлюз или опять тестировать | При разработке микросервисов рано или поздно возникает вопрос о специализированном микросервисе, через который проходят запросы и маршрутизируются в нужный. Это необходимо не только с точки зрения безопасности (в одной точке аудита можно ув... |
29.10.2024 | Не играй в догонялки со Spring — Explyt Spring plugin для IDEA Community | Введение
Всем привет. После моей предыдущей статьи о Maven-плагине, где я предложил новый подход к реализации и создал свою версию для IDEA (вместо того чтобы писать свой мини-Maven, я делегировал всю основную работу ему посредством Maven п... |
28.10.2024 | Как жить без IntelliJ IDEA. Часть №2. Поддержка Spring | В первой статье из цикла "Как жить без IntelliJ IDEA" мы рассмотрели альтернативы привычной нам IDE как таковой. TL;DR: по мнению команды Spring АйО проще собрать IntelliJ IDEA Community самостоятельно (если все возможные пути лег... |
28.10.2024 | Аналоги Электронных Подписей | В современном мире очень важна безопасность в Интернете. Каждый день по разным каналам передаются “тонны” информации и думаю, каждый хотел бы обезопасить себя от злоумышленников. В рамках данной статьи зайдет речь о двух наиболее распростра... |
24.10.2024 | Navigating the Landscape of Modern Software Development: Insights from Java, Vue, and Kafka | In the fast-paced world of software development, the choice of technology can feel like navigating a dense forest. Each path offers unique opportunities and challenges. Recently, two articles shed light on different aspects of this journey:... |
24.10.2024 | Функциональные HTTP-эндпоинты с Spring MVC/WebFlux и Kotlin | Функциональные подходы к разработке в Spring становятся все более популярными благодаря своей гибкости и лаконичности. В новой статье от эксперта сообщества Spring АйО, Михаила Поливахи, рассматривается, как можно эффективно определять HTTP... |
23.10.2024 | Монолитный бэкенд на Java и Vue-фронтенд: практические решения для эффективной разработки опенсорса | В одной из прошлых статей мы рассказывали о нашем первом опенсорсе — Smartup Time Tracker. Система нужна для компаний, которые хотят вести учет рабочего времени и организовать почасовую оплату. В этой статье дадим обзор ее технического реше... |
22.10.2024 | Navigating the Complex Waters of Distributed Microservices | In the digital age, businesses are like ships sailing through turbulent seas. The architecture of their applications can either be a sturdy vessel or a fragile raft. Enter distributed microservices. They promise scalability and flexibility,... |
22.10.2024 | The Cybersecurity Landscape: Navigating Vulnerabilities and Threats | In the ever-evolving world of technology, cybersecurity remains a critical concern. Recent events have highlighted vulnerabilities that can shake the foundations of even the most robust systems. This week, several significant incidents emer... |
19.10.2024 | Про auto.offset.reset в Spring Kafka | Так исторически сложилось, что Apache Kafka использует для своих сообщений смещения (или же offset). В зависимости от нужд для настроек консьюмера можно выставить в параметр auto.offset.reset три значения: earliest, latest, none. По умолчан... |
18.10.2024 | Построение надежных систем: решение сложностей распределенных микросервисов | Введение
У распределенных сервисов есть ряд специфических сложностей, несвойственных традиционным монолитным архитектурам. Компоненты распределенных микросервисов находятся на нескольких серверах или даже в разных географических точках, а т... |
18.10.2024 | Безопасный Docker в продакшене | В новом переводе от команды Spring АйО вы узнаете, как минимизировать риски и обеспечить безопасность Docker-контейнеров с помощью CIS Benchmark рекомендаций и автоматизированных инструментов вроде Docker Bench for Security.
Вы используете ... |
17.10.2024 | Building a Spring Boot Library: A Guide to Streamlined Development | In the world of software development, efficiency is king. The DRY principle—“Don’t Repeat Yourself”—is the golden rule. It’s about avoiding redundancy in code. Imagine a sprawling garden. If every flower grows in its own pot, maintenance be... |
16.10.2024 | Как спроектировать библиотеку для Spring Boot | Принцип DRY (Не повторяйся) – это важная составляющая цикла разработки программного обеспечения. Его цель – избежать ненужной повторяемости в коде. В частности, имеется множество приложений, которые могут находиться в составе одной и той же... |
15.10.2024 | The Rise of HMAC-SHA256 and Telegram Gateway: A New Era of Authentication | In the digital age, security is paramount. Every byte of data needs protection. As businesses and developers seek reliable methods to authenticate users, two innovations stand out: HMAC-SHA256 and Telegram Gateway. These tools redefine how ... |
14.10.2024 | HMAC-SHA256 и Telegram Mini App | Мой практический опыт работы с хеш-функциями был ограничен лишь небольшим набором - это всего лишь то работа с ассоциативным массивом, шифрование паролей и, вроде бы, все. Согласен, опыт не богатый. Но эта статья есть результат моего сознат... |
11.10.2024 | Spring Patterns. Часть 2. Spring + ThreadLocal. AOP. Transaction cache | Всем привет. Я разрабатываю приложения с использованием Java, Spring Boot, Hibernate.
В прошлой статье я показал реализацию паттерна Spring Fluent Interface. При помощи которого можно инкапсулировать похожие действия внутри приложения в мод... |
10.10.2024 | Вышел Spring AI 1.0.0 M3 | Spring выпустил Spring AI 1.0.0 M3, который принес множество значительных улучшений и новых возможностей в разработку AI-приложений.
В новом переводе от команды Spring АйО рассказывается про улучшения, связанные с observability, совершенств... |
08.10.2024 | Туториал по Spring Data Envers для начинающих | Команда Spring АйО перевела статью, которая отлично подойдёт тем, кто ещё не знаком со Spring Data Envers. В статье на простых примерах объясняется, как отслеживать изменения данных в приложении, используя этот инструмент.Введение
В этой ст... |
06.10.2024 | Аутентификация через телеграм в Spring Boot приложении | Способ аутентификации через телеграм отлично описан в документации. В этой статье мы реализуем его в Spring Boot приложении.Создаем туннель с помощью ngrok
Для аутентификации нам необходим домен и если у вас его нет, вы можете использовать ... |
04.10.2024 | AI-ассистент со Spring AI (Часть I) | В новом переводе от команды Spring АйО показан процесс интеграции AI в немалоизвестное приложение Spring Petclinic.
В статье автор пошагово делится своим опытом внедрения Spring AI, чтобы сделать приложение более интерактивным.
Введение
В э... |
02.10.2024 | От Spring Framework 6.2 до 7.0 | Команда Spring АйО перевела письмо Юргена Хёллера Spring-сообществу.
Дорогие участники сообщества Spring,
Spring Framework 6.2 готовится к релизу в ноябре 2024 года. Этот релиз принесёт много улучшений связанных с core-контейнером и поддерж... |
29.09.2024 | Spring patterns. Fluent interface | Всем привет.
Я разрабатываю приложения с использованием Java, Spring Boot, Hibernate.
В этой статье я хочу поделиться опытом создания Fluent Interface, но не классического шаблона из GOF, а с использованием Spring.
Классическим примером шаб... |
25.09.2024 | Hibernate 7.0 уже близко | Один из разработчиков Hibernate поделился некоторыми инсайдами касаемо того, над чем он сейчас работает и какие нововведения стоит ожидать в следующей мажорной версии:
Hibernate ORM 7.0 — следующий большой шаг после революции, начатой ORM 6... |
24.09.2024 | Взлом JVM-приложения с помощью отладчика IntelliJ IDEA | Что если мы скажем вам, что отладчик может стать не просто инструментом для поиска ошибок, а настоящим «режимом бога» в мире кода?
В новом переводе от команды Spring АйО рассматривается, как можно исследовать память приложения и изменить ег... |
21.09.2024 | «Голая Java» или разработка без всего | Рассказываю что можно сделать на одном только голом JDK. Это старое и ныне почти забытое искусство разработки без внешних библиотек и фреймворков. Работать будем «как в былинные времена» — киркой и лопатой голыми руками и немного мозгом.
В ... |
20.09.2024 | Java 23: A New Dawn for Developers | Java 23 is here, and with it comes a wave of excitement. The Spring community is buzzing, ready to dive into the latest features. This release is not just an update; it’s a game changer. It’s like opening a treasure chest filled with tools ... |
19.09.2024 | JPA Entity Graph и нюансы его использования | Entity Graph — это один из мощных инструментов JPA, который помогает разработчикам гибко управлять загрузкой связанных сущностей. Entity Graph позволяет динамически настраивать загрузку данных во время выполнения программы, что делает его о... |
17.09.2024 | Java 23 — Launch Stream | Команда Spring АйО напоминает, что уже через 7 часов на YouTube канале Java пройдет прямая трансляция, посвящённая релизу Java под номером 23.
Расписание трансляции (время GMT+3 МСК):
Deep Dive into Java 23's Features!
16:00: Welcome and ev... |
16.09.2024 | The Evolution of WebSocket Testing: A Journey Through Automation | In the fast-paced world of software development, testing is the backbone of quality assurance. As applications grow more complex, so do the tools and techniques we use to ensure they function as intended. One such area that has gained tract... |
16.09.2024 | API-шлюзы и сервисные сети | Сегодня мы поговорим об одном из ключевых компонентов в архитектурах микросервисов и веб приложений - API шлюзах. Данные шлюзы являются централизованной точкой входа для управления запросами клиентов и перенаправления их к соответствующим м... |
13.09.2024 | Tines Workbench: A Game Changer for Security Teams | In the fast-paced world of cybersecurity, time is of the essence. Security teams are often inundated with data, alerts, and tools. The challenge? Making sense of it all while acting swiftly to mitigate risks. Enter Tines Workbench, a revolu... |
12.09.2024 | IntelliJ IDEA 2024.3 EAP: Новые Возможности и Улучшения | Команда Spring АйО рада поделиться с вами свежей новостью от JetBrains: стала доступна первая EAP-версия IntelliJ IDEA 2024.3. Среди нововведений улучшения для java и kotlin, прокаченный AI Assistant, а также улучшенный UX.
Стартовала прогр... |
12.09.2024 | Поддержка CDS в Spring Boot и ожидания от Project Leyden | Spring Boot 3.3 раскрывает потенциал CDS (Class Data Sharing) благодаря двум новым функциям: самораспаковывающийся исполняемый JAR и поддержка Buildpacks CDS.
Команда Spring АйО перевела статью, в которой рассмотрены новые функции, нюансы и... |
11.09.2024 | Автотесты на Java для websocket на SockJS | Вступление
Всем привет. Меня зовут Ирек, и я в профессиональном IT с 2012 года. Прошел путь от специалиста службы поддержки до разработчика. На данный момент занимаюсь автоматизацией тестирования в компании РТК ИТ.
В статье хочу рассказать ... |
11.09.2024 | “Selvakumar Venkatasubbu: Celebrating IEEE Senior Member Elevation and Cloud Engineering Excellence” | Share
Tweet
Share
Share
Email
“Cloud technology is not just about infrastructure and scalability, it about enabling innovation that revolutionizes industries. My passion is to create solutions that not only meet today’s demands but also set... |
10.09.2024 | Структурированное логирование в Spring Boot 3.4 | С выходом Spring Boot 3.4 логирование станет ещё удобнее: логи можно будет записывать в более структурированном, унифицированном формате, что упростит их анализ и обработку.
В новом переводе от команды Spring АйО мы разберем основные шаги д... |
07.09.2024 | The Pulse of Java and Scala: Innovations and Insights from the Tech Trenches | In the fast-paced world of software development, Java and Scala stand as titans. They shape the landscape of backend programming, influencing how applications are built and maintained. Recent updates from the Java and Scala communities reve... |
06.09.2024 | Java Digest #16 | Всем привет! 👋 👋 👋 👋 Мы — Java-разработчики Т-Банка: Андрей, Арсений, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.
В этом выпуске вас ... |
01.09.2024 | Navigating the Java Landscape: From OpenAPI Generation to Virtual Threads | In the world of software development, tools and technologies evolve rapidly. Java, a stalwart in the programming community, continues to adapt. Two recent developments illustrate this evolution: generating Java modules from OpenAPI specific... |
31.08.2024 | Мотивацию надо поднять | Всем привет! Иногда бывает так, что учиться очень сложно и мотивацию надо поднять, а дженерики и лямбда выражения совсем высосали силы. Поэтому я, пару дней назад, залипая в мобильную игру, внезапно поймал себя на мысли, что могу упростить ... |
29.08.2024 | Broadcom introduces VMware Tanzu Platform 10 with GenAI features | Broadcom has announced the launch of VMware Tanzu Platform 10, a cloud-native application platform designed to accelerate software delivery. This platform is set to enhance governance and operational efficiency for platform engineering team... |
28.08.2024 | Генерируем в maven Java-модуль для OpenAPI из Swagger YAML | Допустим отдел аналитики подготовил нам Swagger YAML с описанием API доступа к какому-то сервису: xyz-swagger-v1.0.0.yaml.
Как автоматизировать генерацию библиотеки для доступа к API по этому описанию, если у вас maven? Полного мануала поче... |
27.08.2024 | Виртуальные потоки Java 21 — чувак, где мой lock? | Как показывает опыт Netflix, использование виртуальных потоков, представленных в Java 21, может спровоцировать возникновение неожиданных проблем. В новом переводе от команды Spring АйО мы подробно исследуем уникальные трудности, возникшие у... |
23.08.2024 | JSpecify 1.0.0 и nullability в Java | Рады сообщить, что JSpecify 1.0.0 теперь доступен в Maven Central: четыре аннотации, связанные с nullability — @Nullable, @NonNull, @NullMarked и @NullUnmarked — стали официальными, и, что немаловажно, обратная совместимость с ними будет га... |
20.08.2024 | Глубокое погружение в Sealed классы и интерфейсы | В новом переводе от команды Spring АйО рассмотрим, как sealed классы и интерфейсы позволяют строго контролировать иерархию классов, обеспечивая тем самым безопасность и простоту поддержки кода.
Мы познакомимся с ключевыми особенностями seal... |
16.08.2024 | Spring Boot 3.3: повышение производительности, безопасности и observability | Команда Spring АйО продолжает следить за выходом новых версий популярных технологий. В новом переводе рассказали про основные улучшения, которые вошли в состав Spring Boot 3.3. Среди них:
Поддержка Class Data Sharing (CDS)
Улучшение произво... |
13.08.2024 | Mastering Email Sending with Yandex and Spring Boot | In the world of software development, sending emails is a common task. It’s like sending a message in a bottle, hoping it reaches the right person. Today, we’ll explore how to set up email sending using Yandex with Spring Boot. This combina... |
11.08.2024 | Знакомство с BeanPostProcessor | В этой статье я хочу предложить простую задачку, которая поможет дать большее представление о BeanPostProcessor тем, кто с ним не работал. Если вы бывалый и такую базу знаете, то эта статья будет для вас бесполезной.
Допустим, я хочу создат... |
10.08.2024 | Настройка почтового сервера Yandex spring boot | В этой статье я бы хотел рассказать, как настроить отправку почты со своей личной почты, используя яндекс и Spring boot. Видел много статей по настройке smtp сервера на Spring boot, но без связки с яндексом. А это ключевой момент, так как н... |
07.08.2024 | Navigating the Spring Certification Landscape in 2024: A Remote Journey from Russia | In 2024, the world of software development is a whirlwind. Technologies evolve rapidly, creating both opportunities and challenges. For developers in Russia, obtaining certifications like the Spring Certified Professional (2V0-72.22) has be... |
06.08.2024 | The Evolution of Spring Boot: Embracing OpenAPI and Hibernate 7.0 | In the fast-paced world of software development, staying ahead of the curve is essential. Two significant advancements are shaping the landscape: the integration of OpenAPI with Spring Boot and the release of Hibernate 7.0. These developmen... |
06.08.2024 | Navigating the Shifting Sands of Java Development: Insights from Recent Updates | The world of Java development is a dynamic landscape, constantly evolving with new tools, frameworks, and best practices. Recent articles shed light on significant changes in the ecosystem, particularly focusing on the intricacies of virtua... |
06.08.2024 | Navigating the Complexities of Java Web Applications: A Deep Dive into Virtual Threads and OpenAPI Client Generation | In the ever-evolving landscape of software development, Java remains a cornerstone. Yet, with its power comes complexity. Developers often find themselves navigating a labyrinth of features and frameworks. Two recent articles shed light on ... |
06.08.2024 | Состояние Spring в 2024 году | Введение
С момента выхода нашего последнего отчета "Состояние Spring" мир разработки программного обеспечения претерпел значительные изменения. Технологии развиваются с бешеной скоростью, открывая новые возможности и создавая уник... |
05.08.2024 | Вышел Hibernate 7.0.0.Beta1 | Jakarta Persistence 3.2
Начиная с версии 7.0, Hibernate переходит на версию Jakarta Persistence 3.2. Этот переход может оказаться непростым, и вот почему.
Java 17 – новый минимум
Jakarta Persistence 3.2 требует Java версии 17 или выше. Таки... |
02.08.2024 | Transforming TODO Management in PHP: From Clutter to Clarity | In the world of software development, managing TODO and FIXME comments can feel like trying to herd cats. These notes, often scattered throughout the code, can become a source of frustration rather than a helpful guide. They accumulate over... |
01.08.2024 | Генерация HTTP клиентов для Spring Boot приложения по OpenAPI спецификации | Следуя этому пошаговом руководству, вы научитесь генерировать код HTTP клиентов для Spring Boot приложения по OpenAPI спецификации, используя плагин openapi-generator для Gradle.
OpenAPI стал стандартом для определения и документирования RE... |
01.08.2024 | Как положить приложение 21 запросом* к /actuator/health | Уточнение для въедливых :)
* 21 и более параллельным запросом в определённых условиях :)
Привет, сегодня поговорим о подводных камнях использования виртуальных потоков в написанных на Java веб-приложениях. В статье описан случай из жизни, с... |
01.08.2024 | Разработка Java-проекта с ChatGPT-4: от идеи до реализации | Как Java-методист с 15-летним опытом я решил проверить, как нейросеть ChatGPT-4 придумывает use cases, создает доменную модель и пишет программный код. Давайте посмотрим, способна ли эта большая языковая модель в ее текущей итерации заменит... |
01.08.2024 | Git, Gitflow и ветка develop. Продолжаем разбираться в основах программирования | Привет, Хабр! В блоге beeline cloud я делюсь личным опытом разработки. Ранее рассказывал, как инжектить в статические поля, как упростить себе жизнь при написании тестов, подсвечивал особенности пагинации. А сегодня продолжу знакомить вас с... |
30.07.2024 | The Power of Docker, Kafka, and Reactive Programming in Modern Application Development | In the fast-paced world of software development, efficiency and scalability are paramount. Developers are constantly seeking tools that streamline processes and enhance performance. Enter Docker, Kafka, and reactive programming. These techn... |
30.07.2024 | Spring Boot Starter: практически, принципиально и подробнее. Часть 3 | Привет, Хабр! С вами снова Сергей Соловых, Java-разработчик в команде МТС Digital. Мы продолжаем изучать возможности и нюансы построения собственного Spring Boot Starter. В предыдущих частях мы разобрали структуру стартеров, автоконфигураци... |
30.07.2024 | Soft Assertions в AssertJ | 1. Введение
В этой статье мы познакомимся с Soft Assertions в AssertJ, подробно рассмотрим, зачем они нужны и обсудим похожие решения в других фреймворках для тестирования. 2. Мотивация
Для начала поймем, зачем нужны Soft Assertions. Возьме... |
29.07.2024 | Создание масштабируемых приложений при помощи Kafka и реактивного программирования | Введение
В современном цифровом мире критически важна возможность обрабатывать данные в режиме реального времени и масштабировать приложения. Для этого хорошо подходит Kafka – платформа для распределённой потоковой обработки событий, особен... |
29.07.2024 | Автоматизация интеграционных и приемочных тестов с помощью 1001 велосипеда | Современное приложение на Java с использованием Spring Boot, включающее множество клиентов (веб, десктоп, мобильные), может столкнуться с проблемами в тестировании по мере его роста. Даже при хорошем покрытии тестами (80%+), увеличение объе... |
24.07.2024 | Быстрый старт: Docker + SMTP + Java/Go | Не так давно у меня появилась необходимость на нескольких проектах сделать регистрацию с подтверждением email, так же хотелось минимизировать затраты и исключить лишние телодвижения, так сказать методом ctrl+c ctrl+v, без танцев с бубном. Т... |
18.07.2024 | Declarative Gradle: рывок или прорыв? | В мире Java разработки (особенно на Spring) большую часть рынка занимают две системы сборки: Gradle и Maven. Maven исповедует более консервативный подход, в котором конфигурация сборки описывается в декларативном pom.xml. Модный молодежный ... |
17.07.2024 | Обзор GigaIDE от СБЕРа | Российская IntelliJ IDEA | Поддержка Spring вместе с Amplicode | Недавно СБЕР выпустил GigaIDE — новую IDE для Java, Kotlin и не только. Это событие вызвало бурные обсуждения среди разработчиков. Чаще всего звучали следующие вопросы:
Это просто пересобранная версия IntelliJ IDEA CE?
Если нет, что нового ... |
16.07.2024 | 7 основных способов оптимизировать кеширование в Spring Boot | В условиях растущих требований к производительности современных приложений, кеширование становится одним из ключевых инструментов для их удовлетворения.
В новом переводе от команды Spring АйО вы узнаете про 7 основных техник оптимизации кеш... |
11.07.2024 | XJProfessor — помощник аналитика: преобразуем форматы данных легко и с улыбкой | Привет, Хабр! По нашему опыту, при разработке интеграционного взаимодействия труднее всего даётся сопоставление различных форматов данных интегрируемых систем — «маппинг». Для этого нужно проанализировать много форматов, выявить корректные ... |
11.07.2024 | Переписывая историю: от инструментов версионирования БД к практике | Пожалуй, почти каждый Spring разработчик сталкивается в своей практике с версионированием баз данных. На эту тему есть отличный доклад на Joker 2023 от Александра Шустанова, в котором спикер сравнивает 2 самых популярных инструмента для миг... |
10.07.2024 | Как мы OpenAPI в приложениях используем (Spring Boot, Typescript) | Хочу рассказать, как мы реализуем на практике контакты по спецификации OpenAPI, стараемся следовать подходу Contract First и в целом разрабатывать так, чтобы удобно было как разработчикам в команде, так и всем, кто использует наши сервисы. ... |
08.07.2024 | Java Digest #14 | Всем привет! 👋 👋 👋 👋 Мы — Java-разработчики Тинькофф: Андрей, Арсений, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.
В этом выпуске — с... |
05.07.2024 | Markdown в IntelliJ IDEA как отдельный вид искусства. Рисуем диаграммы и вызываем bash команды | Spring разработчики часто пишут документацию и README/HELP файлы к своим приложениям. Часто это делается в Markdown файлах. Markdown плагин в IntelliJ IDEA распознает файлы, предоставляет специальный редактор с подсветкой, автокомплитом и ф... |
04.07.2024 | Новый компилятор K2 в Kotlin. Часть 2. Гайд по миграции | 1. Введение
В этой статье мы рассмотрим процесс миграции с компилятора Kotlin старой версии на новый компилятор K2. В другой статье мы сделали обзор компилятора K2 в общем, а здесь мы сфокусируемся только на процедуре миграции. Далее, под K... |
02.07.2024 | GigaIDE — новая IDE от Сбера | На прошлой неделе Сбер (а точнее СберТех) представил линейку своих IDE - GigaIDE, которая включает две версии - Cloud и Desktop. Cloud версия сделана поверх VS Code, по всей видимости, интегрирована с их относительно новым продуктом GitVers... |
02.07.2024 | Смена профессии в 33: стать разработчиком за 2 года | Привет! Хочу поделиться своим опытом становления Java разработчиком.
Немного об авторе: на момент написания статьи мне 36 лет, в ИТ-сфере — с 2009 года и начинал я с системного администрирования продуктов Microsoft(сервера, БД, приложения) ... |
02.07.2024 | Почему String Templates не будет в Java 23? | От переводчика
Неожиданный поворот в поддержке String Templates в JDK 23. Команда Java решила отказаться от функциональности, которая есть в большинстве современных языках программирования. Почему так произошло? Кажется, из-за слишком больш... |
28.06.2024 | Переезд на Spring Boot 3.0 c версии 2.0: какие сложности могут возникнуть | Привет, Хабр! Я Артем Киреев, ИТ‑инженер в СберТехе. Мы с командой занимаемся развитием продукта из состава Platform V Synapse — децентрализованной платформы для задач интеграции.
Мы стремимся поддерживать актуальность стека, на котором раз... |
26.06.2024 | Настраиваем TLS контекст. КриптоПро в помощь | Контекст
Эта публикация – практический кейс c кратким туториалом по реализации TLS-соединения, на основе российских стандартов шифрования, основанных на компонентах КриптоПро (CP). Статья не содержит рекламы или попытки сподвигнуть к выбору... |
26.06.2024 | Тестирование асинхронного контракта Spring Boot приложения (Kafka Consumer+Producer) | Приветствую тебя, Хабр! Сегодня мы попробуем разобраться, как написать интеграционный\сервисный\авто тест для Spring Boot приложения, которое взаимодействует с внешним миром исключительно с помощью Kafka. Сначала разберем проблему, а затем ... |
25.06.2024 | Эффективность Spring-приложений в рантайме. Текущее состояние дел и планы на будущее | В свете недавнего выхода Spring Framework 6.1 и Spring Boot 3.2, мы хотели бы поделиться обзором тех усилий, которые предпринимает команда Spring, чтобы позволить разработчикам оптимизировать эффективность их приложений во время выполнения.... |
24.06.2024 | Отказоустойчивый деплой приложений в Kubernetes. Принципы, паттерны и приемы | Привет, Хабр! Я исполнительный директор по разработке департамента ML и BD Газпромбанка. Сегодня хочу поговорить с вами о деплое.
По данным, приведенным в Google SRE book, до 70% проблем происходит вследствие изменений в уже работающих сист... |
23.06.2024 | Строим свой SSO. Часть 5: Итоговый SSO, Защита от XSS/CSRF, Custom Grant Type | Вступление
Всем привет, мы продолжаем строить собственный SSO Server. Но в начале давайте вспомним, что мы сделали в предыдущей статье:
Уделили время frontend приложению
Настроили механизм регистрации
Реализовали функцию "Забыли пароль... |
21.06.2024 | Зачем backend-разработчику Camunda и как ей пользоваться? Разбираем на примере одного пятничного вечера | Привет! Я Вероника из Clevertec, занимаюсь бэкендом на банковском проекте. Этот текст написан из желания помочь разработчикам, которым только предстоит познакомиться с Camunda. Что это, для чего, как работает и почему восьмая версия совсем ... |
21.06.2024 | Новый компилятор K2 в Kotlin. Часть 1 | 1. Введение
В этой статье эксперт сообщества Spring АйО – Михаил Поливаха рассмотрит новый компилятор К2 для Kotlin. Сначала он расскажет о том, какие проблемы K2 призван решить, а затем о других минорных улучшениях, которые были сделаны. Г... |
21.06.2024 | Tramvai — фреймворк для создания веб-приложений | 30 августа 2021 года на GitHub прошел первый релиз исходного кода фреймворка Tramvai. При этом свою историю фреймворк начал гораздо раньше и долгое время был внутренней разработкой компании.
Tramvai предназначен для создания универсальных (... |
20.06.2024 | «Скрипач не нужен» или что делать с тестовыми паролями | В любой разработке рано или поздно появляются тестовые стенды — отдельные инсталляции тестовой сборки вашей разрабатываемой системы, с тестовыми данными и тестовыми же учетными записями. Именно отсюда происходит знаменитое «admin/admin», ко... |
20.06.2024 | Как защитить веб сервисы при помощи шлюза OpenIG | Обеспечение безопасности веб сервисов — одна из важных частей процесса разработки. Если если в инфраструктуре несколько сервисов, то каждый из них должен быть должным образом защищен. Если реализовывать проверки политик безопасности в каждо... |
13.06.2024 | Разбираем магических зверей безопасности: AuthZ: abac/rbac, AuthN и 2FA | Вы знаете, что меня действительно выбивает из колеи забавит? Даже люди, которые давно работают в IT, путают аутентификацию и авторизацию. На пару проектах я столкнулся с тем, что некоторые ребята, которые работают в индустрии годами, не вид... |
13.06.2024 | Hibernate и спецификация JPA: приключение на 20 минут | На прошлой неделе в блоге сообщества Spring АйО вышла статья-перевод про интересный кейс падения производительности при переходе на Hibernate 6.5. Оказалось, что выражения вида publisherId in :ids при пустом ids приводит к серьезной деграда... |
10.06.2024 | Опыт разработки сервиса отправки сообщений в Apache Kafka с использованием SASL/Kerberos и Avro Schema Registry | Привет, Хабр! Сегодня я расскажу о своем опыте создания сервиса для отправки сообщений в Apache Kafka с использованием Spring Boot, аутентификацией SASL/Kerberos и применением Avro Schema Registry для продюсера. В процессе разработки я стол... |
07.06.2024 | Java Digest #13 | Всем привет! 👋 👋 👋👋 Мы Java-разработчики Т-Банка: Андрей, Арсений, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.
В этом выпуске: первые... |
07.06.2024 | Катастрофа с Hibernate 6.5 при обновлении на Spring Boot 3.3.0 | Обновившись до Spring Boot 3.3.0 (конкретно до Hibernate 6.5), мы столкнулись со 100% загрузкой процессора на БД из-за небольшого изменения в SQL коде, сгенерированного Hibernate после преобразования JPQL в SQL.
100% потребление CPU
Посмотр... |
06.06.2024 | Как взломать миллионы модемов: история одного расследования | Два года назад во время работы в домашней сети со мной произошло нечто очень странное. Я эксплуатировал слепую уязвимость XXE, которая требовала внешнего HTTP-сервера для переправки файлов, поэтому я развернул простой веб-сервер Python на п... |
05.06.2024 | Frontend демо | Бывали ли вы когда-нибудь на демо, на котором разработчики с гордостью показывали экран за экраном JSON вывод API, а пользователи путались и отвлекались, будучи не в силах разобраться в этом? Вы когда-нибудь пытались использовать API в разр... |
05.06.2024 | AOP в Golang: как рефлексировать, и почему вам не стоит этого делать | Привет, Хабр! Nikolaich |