Неожиданности в авторизации. Что скрывает Keycloak?
Даже в известном и популярном ПО бывают баги. Иногда не очень очевидные, а иногда и детские. В статье приведен разбор для довольно популярного продукта Keycloak.
https://habr.com/ru/companies/pvs-studio/articles/828406/
Даже в известном и популярном ПО бывают баги. Иногда не очень очевидные, а иногда и детские. В статье приведен разбор для довольно популярного продукта Keycloak.
https://habr.com/ru/companies/pvs-studio/articles/828406/
Хабр
Неожиданности в авторизации. Что скрывает Keycloak?
Авторизация и регистрация пользователей — важная часть приложения как для юзеров, так и для безопасности. Но какие неожиданности содержит исходный код популярного Open Source решения для авторизации,...
Сбер запустил второй сезон конкурса красоты кода 👑
Подайте заявку на конкурс «Красота кода» до 28 октября и напишите аккуратный и понятный код.
Во втором сезоне аудитория будет соревноваться в пяти категориях: Backend, Frontend, DevOps, AI и Mobile.
Участники могут выиграть iPhone 16, колонку SberBoom и получить приглашение на оффлайн конференцию HighLoad++.
Готовы побеждать? Скорее заполняйте заявку на сайте
Подайте заявку на конкурс «Красота кода» до 28 октября и напишите аккуратный и понятный код.
Во втором сезоне аудитория будет соревноваться в пяти категориях: Backend, Frontend, DevOps, AI и Mobile.
Участники могут выиграть iPhone 16, колонку SberBoom и получить приглашение на оффлайн конференцию HighLoad++.
Готовы побеждать? Скорее заполняйте заявку на сайте
Microservices Project using Spring Boot
В статье описан проект на базе Spring Boot 3, Spring Cloud и PostgreSQL. В рамках проекта вы изучите ключевые компоненты, такие как API Gateway, Config Server и Discovery Server, а также реализуете два реальных микросервиса.
https://www.javaguides.net/2023/04/microservices-using-spring-boot.html
В статье описан проект на базе Spring Boot 3, Spring Cloud и PostgreSQL. В рамках проекта вы изучите ключевые компоненты, такие как API Gateway, Config Server и Discovery Server, а также реализуете два реальных микросервиса.
https://www.javaguides.net/2023/04/microservices-using-spring-boot.html
www.javaguides.net
Microservices Project using Spring Boot
In this tutorial, we will learn how to build a simple Microservices project using Spring Boot 3, Spring Cloud, and PostgreSQL database.
Работа с геометрией в JPA и Spring Boot 3
Автору проекта из статьи нужно было работать с адресами клиентов и проверять входит ли адрес в зону доставки. Для работы с геометрией используется GeoJson. В качестве базы PostgreSQL. Приложение для работы с базой использует Spring Data JPA.
https://habr.com/ru/articles/831566/
Автору проекта из статьи нужно было работать с адресами клиентов и проверять входит ли адрес в зону доставки. Для работы с геометрией используется GeoJson. В качестве базы PostgreSQL. Приложение для работы с базой использует Spring Data JPA.
https://habr.com/ru/articles/831566/
Хабр
Работа с геометрией в JPA и Spring Boot 3
Добрый день, уважаемые читатели Хабра. В один день для моего pet-проекта понадобилось сделать добавление адресов клиентов, и проверка входит ли этот адрес в зону доставки. Так как статей на эту...
Создание масштабируемых приложений при помощи Kafka и реактивного программирования
В статье описывается построение системы из нескольких микросеовисов на базе Spring Boot Webflux и Kafka. Даже взаимодействие по WebSocket добавили. Если вы не работали с этими технологиями, то там вначале дается краткая справка. Из странностей: описывается старт Kafka не в podman/docker, а «по старинке».
В целом статья хорошая и «без лишней воды».
https://habr.com/ru/companies/piter/articles/831772/
В статье описывается построение системы из нескольких микросеовисов на базе Spring Boot Webflux и Kafka. Даже взаимодействие по WebSocket добавили. Если вы не работали с этими технологиями, то там вначале дается краткая справка. Из странностей: описывается старт Kafka не в podman/docker, а «по старинке».
В целом статья хорошая и «без лишней воды».
https://habr.com/ru/companies/piter/articles/831772/
Хабр
Создание масштабируемых приложений при помощи Kafka и реактивного программирования
Введение В современном цифровом мире критически важна возможность обрабатывать данные в режиме реального времени и масштабировать приложения. Для этого хорошо подходит Kafka – платформа для...
Инверсия управления Контейнеров и паттерн Инъекции Зависимостей — перевод
Перевод статьи легендарного Мартина Фаулера про его взгляд на IoC и DI.
https://habr.com/ru/articles/832390/
Перевод статьи легендарного Мартина Фаулера про его взгляд на IoC и DI.
https://habr.com/ru/articles/832390/
Хабр
Инверсия управления Контейнеров и паттерн Инъекции Зависимостей — перевод
Это перевод статьи Мартина Фаулера “Inversion of Control Containers and the Dependency Injection pattern В сообществе Java наблюдается бурный рост числа легковесных контейнеров (lightweight...
Генерация HTTP клиентов для Spring Boot приложения по OpenAPI спецификации
В статье написано о том как можно сгенерировать код HTTP клиентов для Spring Boot приложения по OpenAPI спецификации, используя плагин openapi-generator для Gradle.
https://maciejwalkowiak.com/blog/spring-boot-openapi-generate-client/
В статье написано о том как можно сгенерировать код HTTP клиентов для Spring Boot приложения по OpenAPI спецификации, используя плагин openapi-generator для Gradle.
https://maciejwalkowiak.com/blog/spring-boot-openapi-generate-client/
Maciejwalkowiak
Generating HTTP clients in Spring Boot application from OpenAPI spec
Кэш второго уровня Hibernate для чайников
В Hibernate есть возможность гибкой настройки L2 кэша. Можно подключать различные провайдеры с реализацией кеша. В статье приводится пример настройки для ehcache.
https://habr.com/ru/articles/833478/
В Hibernate есть возможность гибкой настройки L2 кэша. Можно подключать различные провайдеры с реализацией кеша. В статье приводится пример настройки для ehcache.
https://habr.com/ru/articles/833478/
Хабр
Кэш второго уровня Hibernate для чайников
Будучи студентом или стажером, вы наверняка столкнетесь с подобной задачей — включить кэширование сущностей, чтобы сэкономить на обращениях к базе данных. Однако, в интернете информацию придется...
Using Dev Containers in JetBrains IDEs
Очень крутая фича от JetBrains!
На сколько быстро новые сотрудники в ваших команд настраивают окружение и сборку проекта?
Были ли у вас кейсы когда у одного разработчика все собирается, а у другого нет из-за «хитрых» настроек окружения?
Теперь эти «ужасы» возможно уйдут в прошлое, конечно при условии, что эту фичу в JetBrains нормально допилят ;-)
В докер можно будет поместить «все что нужно для разработки».
https://blog.jetbrains.com/idea/2024/07/using-dev-containers-in-jetbrains-ides-part-1/
Очень крутая фича от JetBrains!
На сколько быстро новые сотрудники в ваших команд настраивают окружение и сборку проекта?
Были ли у вас кейсы когда у одного разработчика все собирается, а у другого нет из-за «хитрых» настроек окружения?
Теперь эти «ужасы» возможно уйдут в прошлое, конечно при условии, что эту фичу в JetBrains нормально допилят ;-)
В докер можно будет поместить «все что нужно для разработки».
https://blog.jetbrains.com/idea/2024/07/using-dev-containers-in-jetbrains-ides-part-1/
The JetBrains Blog
Using Dev Containers in JetBrains IDEs – Part 1 | The IntelliJ IDEA Blog
As cloud technologies and containerization evolve, we enter a new era of software development where flexibility, scalability, and efficiency become key requirements for any project. Dev Containers, or
Паттерн Transactional Outbox и его реализация с использованием Spring Boot
В статье описан один из вариантов реализации паттерна Transactional Outbox. Этот паттерн часто используют в микросервисной архитектуре для гарантии согласованности 2х систем без необходимости использовать распределенные транзакции.
https://www.wimdeblauwe.com/blog/2024/06/25/transactional-outbox-pattern-with-spring-boot/
В статье описан один из вариантов реализации паттерна Transactional Outbox. Этот паттерн часто используют в микросервисной архитектуре для гарантии согласованности 2х систем без необходимости использовать распределенные транзакции.
https://www.wimdeblauwe.com/blog/2024/06/25/transactional-outbox-pattern-with-spring-boot/
Wimdeblauwe
Transactional Outbox pattern with Spring Boot
If you are building a microservice architecture, or you just need to send emails from your monolith, you should look into the Transactional Outbox pattern to ensure reliable communication between services.
This blog post shows a few ways how you can implement…
This blog post shows a few ways how you can implement…
Как сделать анализатор кода за два дня
Автор в статье рассказывает как разрабатывали анализатор кода Lua в рамках хакатона. Сам анализатор писали на Java с использованием ANTLR v4. Lua был выбран потому, что его синтаксис довольно прост.
https://habr.com/ru/companies/pvs-studio/articles/835936/
Автор в статье рассказывает как разрабатывали анализатор кода Lua в рамках хакатона. Сам анализатор писали на Java с использованием ANTLR v4. Lua был выбран потому, что его синтаксис довольно прост.
https://habr.com/ru/companies/pvs-studio/articles/835936/
Хабр
Как сделать анализатор кода за два дня
Статический анализ — это очень мощный инструмент, позволяющий следить за качеством кода. Предлагаем вместе попробовать написать простой Lua анализатор на Java, чтобы понять, как устроены статические...
Материалы по System Design
На собеседованиях в крупные компании есть этап System Design. Этот этап показывает ваш кругозор и умение проектировать. Даже если вы не собираетесь в ближайшее время на собеседования я все равно рекомендую ознакомиться. Навык точно оценивать, задавать правильные вопросы и находить шедевральные решения может пригодиться и натекущем месте работы.
https://github.com/javabuddy/best-system-design-resources?tab=readme-ov-file
На собеседованиях в крупные компании есть этап System Design. Этот этап показывает ваш кругозор и умение проектировать. Даже если вы не собираетесь в ближайшее время на собеседования я все равно рекомендую ознакомиться. Навык точно оценивать, задавать правильные вопросы и находить шедевральные решения может пригодиться и натекущем месте работы.
https://github.com/javabuddy/best-system-design-resources?tab=readme-ov-file
GitHub
GitHub - javabuddy/best-system-design-resources: A collection of best resources to learn System Design, Software architecture,…
A collection of best resources to learn System Design, Software architecture, and prepare for System Design Interviews - javabuddy/best-system-design-resources
JPA Entity. Загрузи меня не полностью
JPA часто подвергается критике за невозможность загружать сущности частично, что на самом деле является большим заблуждением. Spring Data JPA и Hibernate включают в себя множество инструментов по частичной загрузке сущностей. В статье рассмотрены имеющиеся в Spring Data JPA инструменты для частичной загрузки сущностей, а также разобраны их особенности и corner-кейсы.
https://habr.com/ru/companies/spring_aio/articles/833918/
JPA часто подвергается критике за невозможность загружать сущности частично, что на самом деле является большим заблуждением. Spring Data JPA и Hibernate включают в себя множество инструментов по частичной загрузке сущностей. В статье рассмотрены имеющиеся в Spring Data JPA инструменты для частичной загрузки сущностей, а также разобраны их особенности и corner-кейсы.
https://habr.com/ru/companies/spring_aio/articles/833918/
Хабр
JPA Entity. Загрузи меня не полностью
JPA часто подвергается критике за невозможность загружать сущности частично, что на самом деле является большим заблуждением. Spring Data JPA и Hibernate включают в себя множество инструментов по...
Forwarded from Sasha Kruasanova PROIT
This media is not supported in your browser
VIEW IN TELEGRAM
🚩 🚩 🚩 Красные флаги для разработчиков!
Мы тут с ребятами, из разных областей разработки, накидали «красных флагов»
от продуктов, тех и тим лидов.
А вас от каких фраз бомбит?
https://tttttt.me/kruasanova_as
#хаха
#красныефлаги
#разработка
Мы тут с ребятами, из разных областей разработки, накидали «красных флагов»
от продуктов, тех и тим лидов.
А вас от каких фраз бомбит?
https://tttttt.me/kruasanova_as
#хаха
#красныефлаги
#разработка
Я недавно «засветился» в ролике одного очень крутого блогера - Саши Круасановой )))
Она Королева горячих инсайдов и актуальных кейсов, devrel-фея, экспертно решающая проблемы и споры на всех уровнях.
У нее прикольный контент. Если нравится, то подписывайтесь )))
https://tttttt.me/kruasanova_as
Она Королева горячих инсайдов и актуальных кейсов, devrel-фея, экспертно решающая проблемы и споры на всех уровнях.
У нее прикольный контент. Если нравится, то подписывайтесь )))
https://tttttt.me/kruasanova_as
Telegram
Sasha Kruasanova PROIT
Я — Саша Русанова.
Королева горячих инсайдов и актуальных кейсов, devrel-фея и IT HR.
Здесь будет много про Пересечение технологий, профессий и реальной жизни.
Для связи со мной: @rusanova_as
Королева горячих инсайдов и актуальных кейсов, devrel-фея и IT HR.
Здесь будет много про Пересечение технологий, профессий и реальной жизни.
Для связи со мной: @rusanova_as
Зачем нам вообще изучать Domain-Driven Design? Какая от него польза?
На это есть как минимум 5 причин:
👉 Благодаря разделению на Предметные Области, код становится понятнее.
Код, грамотно декомпозированный по доменам, легче читать и понимать, поскольку он отражает реальные бизнес-процессы. Читая понятный код, мы вырабатываем больше эндорфина и меньше кортизола.
👉 Единый Язык улучшает коммуникации.
Все члены команды, включая бизнес, лучше понимают друг друга, что благотворно сказывается на понимании постановок. Меньше приходится переделывать.
👉 Благодаря Ограниченному Контексту, предметные области проще делить на модули. Это особенно касается больших проектов — маленькими узкоспециализированными компонентами проще управлять.
👉 Инкапсуляция компонентов особенно важна для быстрорастущих систем. Системы, чётко структурированные по бизнес-процессам, дольше смогут выдерживать высокий темп изменений.
👉 Жёсткое структурирование по предметным областям спасёт при слабой или невнятной аналитике. Что позволит нам, разработчикам, дольше выдерживать покер-фейс посреди аналитического хаоса.
https://habr.com/ru/companies/sberbank/articles/781612/
На это есть как минимум 5 причин:
👉 Благодаря разделению на Предметные Области, код становится понятнее.
Код, грамотно декомпозированный по доменам, легче читать и понимать, поскольку он отражает реальные бизнес-процессы. Читая понятный код, мы вырабатываем больше эндорфина и меньше кортизола.
👉 Единый Язык улучшает коммуникации.
Все члены команды, включая бизнес, лучше понимают друг друга, что благотворно сказывается на понимании постановок. Меньше приходится переделывать.
👉 Благодаря Ограниченному Контексту, предметные области проще делить на модули. Это особенно касается больших проектов — маленькими узкоспециализированными компонентами проще управлять.
👉 Инкапсуляция компонентов особенно важна для быстрорастущих систем. Системы, чётко структурированные по бизнес-процессам, дольше смогут выдерживать высокий темп изменений.
👉 Жёсткое структурирование по предметным областям спасёт при слабой или невнятной аналитике. Что позволит нам, разработчикам, дольше выдерживать покер-фейс посреди аналитического хаоса.
https://habr.com/ru/companies/sberbank/articles/781612/
Хабр
Domain-Driven Design: чистая архитектура снизу доверху
Когда мидл-разработчик дорастает до сеньора, его, обычно мучает вопрос: « как правильно писать приложение ?» Понятно, что когда он был джуном, ему давали совсем атомарные задачи и он...
system-design-cheat-sheet
При собеседовании на позицию Senior+ во многих компаниях проводят этап System Design. На нем вам нужно показать ваш кругозор и умение проектировать архитектуру. По ссылке ниже репозиторий с краткой выжимкой по теме System Design.
https://github.com/gavr-dev/system-design-cheat-sheet
При собеседовании на позицию Senior+ во многих компаниях проводят этап System Design. На нем вам нужно показать ваш кругозор и умение проектировать архитектуру. По ссылке ниже репозиторий с краткой выжимкой по теме System Design.
https://github.com/gavr-dev/system-design-cheat-sheet
GitHub
GitHub - gavr-dev/system-design-cheat-sheet: System Design cheat sheet
System Design cheat sheet. Contribute to gavr-dev/system-design-cheat-sheet development by creating an account on GitHub.
50 терминов системного дизайна, которые должен знать каждый разработчик
https://habr.com/ru/companies/timeweb/articles/846420/
https://habr.com/ru/companies/timeweb/articles/846420/
Хабр
50 терминов системного дизайна, которые должен знать каждый разработчик
1. Масштабируемость / Scalability Масштабируемость — это способность системы поддерживать возросшую нагрузку путем добавления дополнительных ресурсов Примером является добавление дополнительных...
Английский для разработчиков
Хочу поделиться с вами бесплатным курсом английского специально для разработчиков на freeCodeCamp. Можно подтянуть свой уровень до А2. Там 105 уроков, каждый с практическими заданиями.
https://freecodecamp.org/learn/a2-english-for-developers
Хочу поделиться с вами бесплатным курсом английского специально для разработчиков на freeCodeCamp. Можно подтянуть свой уровень до А2. Там 105 уроков, каждый с практическими заданиями.
https://freecodecamp.org/learn/a2-english-for-developers
www.freecodecamp.org
Learn to Code — For Free