29 Ответы на вопросы интервью по Spring Framework за 5 лет опыта (2023)
Spring - один из самых популярных фреймворков, наиболее широко используемый для разработки Java Web-приложений на основе фреймворка MVC. В связи с его огромной популярностью от Java-специалистов требуется знание того, как использовать фреймворк Spring и как он работает. Большинство Java-разработчиков используют Spring, Hibernate наряду с основными Java и JEE веб-технологиями, такими как Servlet, JSP и JSF. В этой статье я расскажу о некоторых часто задаваемых вопросах на собеседовании по Spring для Java JEE разработчиков. В ней будут содержаться вопросы из различных модулей Spring, таких как Spring MVC, Spring core, концепция, на которой построен Spring, например, IOC и DI, а также безопасность Spring.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2023/01/26-spring-framework-interview-questions.html
Spring - один из самых популярных фреймворков, наиболее широко используемый для разработки Java Web-приложений на основе фреймворка MVC. В связи с его огромной популярностью от Java-специалистов требуется знание того, как использовать фреймворк Spring и как он работает. Большинство Java-разработчиков используют Spring, Hibernate наряду с основными Java и JEE веб-технологиями, такими как Servlet, JSP и JSF. В этой статье я расскажу о некоторых часто задаваемых вопросах на собеседовании по Spring для Java JEE разработчиков. В ней будут содержаться вопросы из различных модулей Spring, таких как Spring MVC, Spring core, концепция, на которой построен Spring, например, IOC и DI, а также безопасность Spring.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2023/01/26-spring-framework-interview-questions.html
👍1
Чашечка Java
Photo
20 лучших ответов на вопросы интервью по YAML для разработчиков и DevOps-инженеров (2023)
Здравствуйте, ребята, если вы готовитесь к собеседованию с DevOps Engineer, то вам также следует подготовить вопросы по YAML, поскольку YAML широко используется в Kubernetes, создании диаграмм Helm или Ansible Playbook, и вы можете ожидать несколько вопросов по YAML на собеседовании с DevOps Engineer. Если вы не знаете, YAML расшифровывается как YetAnother Markup Language и является одним из популярных языков для определения системных правил. YAML используется в Spring Integration и, в первую очередь, в Ansible для определения плейбука Ansible, с помощью которого можно устанавливать или удалять приложения и выполнять другие действия. По этой причине YAML стал довольно популярным, и вас могут спросить об основных вопросах по YAML, если вы идете на собеседование с разработчиками или DevOps, где требуется знание YAML. Как минимум, вы должны знать, как читать YAML и как писать YAML, в частности, объявлять в YAML списки и пары ключ-значение. Это не очень большая тема, но знание основ очень помогает на собеседовании.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2022/09/top-20-yaml-interview-questions-answer.html
Здравствуйте, ребята, если вы готовитесь к собеседованию с DevOps Engineer, то вам также следует подготовить вопросы по YAML, поскольку YAML широко используется в Kubernetes, создании диаграмм Helm или Ansible Playbook, и вы можете ожидать несколько вопросов по YAML на собеседовании с DevOps Engineer. Если вы не знаете, YAML расшифровывается как YetAnother Markup Language и является одним из популярных языков для определения системных правил. YAML используется в Spring Integration и, в первую очередь, в Ansible для определения плейбука Ansible, с помощью которого можно устанавливать или удалять приложения и выполнять другие действия. По этой причине YAML стал довольно популярным, и вас могут спросить об основных вопросах по YAML, если вы идете на собеседование с разработчиками или DevOps, где требуется знание YAML. Как минимум, вы должны знать, как читать YAML и как писать YAML, в частности, объявлять в YAML списки и пары ключ-значение. Это не очень большая тема, но знание основ очень помогает на собеседовании.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2022/09/top-20-yaml-interview-questions-answer.html
Топ-20 вопросов и ответов на собеседовании по модификатору доступа в Java для начинающих (2023)
Модификаторы доступа - одна из важнейших концепций языка Java, с которой должен быть знаком каждый программист
с которым должен быть знаком каждый программист, и из-за его важности он также является популярной темой на собеседованиях по Java
популярной темой на собеседованиях по Java. Модификатор доступа может быть применен к классу, методу,
полям и переменным, и, как следует из названия, они управляют доступом. Например,
кто может получить доступ к данному классу, методу или переменной. Например, модификатор public
обеспечивает универсальный доступ, что означает, что любой открытый класс, метод или переменная доступны всем и везде
доступны всем и везде. Другими словами, вы можете получить доступ к публичному
классу как внутри пакета, так и за его пределами.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2022/05/java-access-modifier-interview.html
Модификаторы доступа - одна из важнейших концепций языка Java, с которой должен быть знаком каждый программист
с которым должен быть знаком каждый программист, и из-за его важности он также является популярной темой на собеседованиях по Java
популярной темой на собеседованиях по Java. Модификатор доступа может быть применен к классу, методу,
полям и переменным, и, как следует из названия, они управляют доступом. Например,
кто может получить доступ к данному классу, методу или переменной. Например, модификатор public
обеспечивает универсальный доступ, что означает, что любой открытый класс, метод или переменная доступны всем и везде
доступны всем и везде. Другими словами, вы можете получить доступ к публичному
классу как внутри пакета, так и за его пределами.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2022/05/java-access-modifier-interview.html
👍1
Чашечка Java
Photo
3 Способа отправки HTTP GET и POST запросов в Java? Учебное пособие JDK 11 HttpClient Example
Здравствуйте, ребята, сегодня речь пойдет о современных веб-приложениях и API, и в этом мире умение общаться с удаленными серверами является необходимым навыком для Java-разработчиков. Независимо от того, нужно ли вам получить данные из веб-сервиса или отправить их на сервер для обработки, владение искусством выполнения HTTP-запросов имеет решающее значение. Если вы являетесь Java-разработчиком, то для эффективной работы с различными типами Java-приложений вы должны знать, как отправлять HTTP-запросы и анализировать HTTP-ответы. Если вы не знаете, то не волнуйтесь, поскольку в этом подробном руководстве мы расскажем вам о фундаментальных концепциях и практических приемах отправки HTTP GET и POST запросов в Java. Независимо от того, являетесь ли вы новичком, желающим изучить основы, или опытным разработчиком, стремящимся усовершенствовать свои навыки, это руководство вооружит вас знаниями и инструментами для эффективного взаимодействия с веб-сервисами с помощью Java.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2023/09/3-ways-to-send-http-get-and-post.html
Здравствуйте, ребята, сегодня речь пойдет о современных веб-приложениях и API, и в этом мире умение общаться с удаленными серверами является необходимым навыком для Java-разработчиков. Независимо от того, нужно ли вам получить данные из веб-сервиса или отправить их на сервер для обработки, владение искусством выполнения HTTP-запросов имеет решающее значение. Если вы являетесь Java-разработчиком, то для эффективной работы с различными типами Java-приложений вы должны знать, как отправлять HTTP-запросы и анализировать HTTP-ответы. Если вы не знаете, то не волнуйтесь, поскольку в этом подробном руководстве мы расскажем вам о фундаментальных концепциях и практических приемах отправки HTTP GET и POST запросов в Java. Независимо от того, являетесь ли вы новичком, желающим изучить основы, или опытным разработчиком, стремящимся усовершенствовать свои навыки, это руководство вооружит вас знаниями и инструментами для эффективного взаимодействия с веб-сервисами с помощью Java.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2023/09/3-ways-to-send-http-get-and-post.html
Java News Roundup: Single Query Loading, GraalVM, GlassFish, JReleaser, Quarkus, Micronaut
This week's Java roundup for August 28th, 2023 features news from OpenJDK, JDK 22, JDK 21, GraalVM Native Build Tools 0.9.25, Single Query Loading in Spring JDBC, Quarkus 3.3.1, 3.2.5.Final and 2.16.10.Final, Micronaut 4.1.0 and 4.0.6, Wildfly 29.0.1, Hibernate ORM 6.3.0 and 6.2.8, Hibernate Reactive 2.0.5, GlassFish 7.0.8, Eclipse Vert.x 4.4.5, JKube 1.14.0, JReleaser 1.8.0 and OpenXava 7.1.5.
By Michael Redlich
Read: https://www.infoq.com/news/2023/09/java-news-roundup-aug28-2023/
This week's Java roundup for August 28th, 2023 features news from OpenJDK, JDK 22, JDK 21, GraalVM Native Build Tools 0.9.25, Single Query Loading in Spring JDBC, Quarkus 3.3.1, 3.2.5.Final and 2.16.10.Final, Micronaut 4.1.0 and 4.0.6, Wildfly 29.0.1, Hibernate ORM 6.3.0 and 6.2.8, Hibernate Reactive 2.0.5, GlassFish 7.0.8, Eclipse Vert.x 4.4.5, JKube 1.14.0, JReleaser 1.8.0 and OpenXava 7.1.5.
By Michael Redlich
Read: https://www.infoq.com/news/2023/09/java-news-roundup-aug28-2023/
Монолитная и микросервисная архитектура. Сравнение
Во время технических презентаций нашей технологии – платформы быстрой разработки Jmix – мы, как правило, доходим до вопроса архитектуры создаваемых приложений и часто встречаем грусть в глазах разработчиков, когда сообщаем, что создаваемое приложение имеет монолитную архитектуру. Удивительно, но случается, что команды разработки приложений на Delphi или Oraсle EBS непременно заинтересованы в реализации микросервисной архитектуры, отождествляя ее с чем-то очень современным и самым продвинутым. К счастью, хайп вокруг микросервисов постепенно начал замещаться новой информационной повесткой о необходимости рационального использования ресурсов и выбора типа архитектуры приложений на основе компетенций команд разработчиков и масштабов создаваемого решения. В Jmix есть все необходимое, чтобы создавать современные корпоративные информационные системы в рекордные сроки и с минимальными затратами. Мы понимаем, что монолитная архитектура приложений Jmix не может закрыть все кейсы, но мы верим, что для каждой задачи есть подходящий инструмент. Прочитайте перевод статьи из блога Camunda, возможно, она поможет понять какой тип архитектуры подходит для вашего проекта, чтобы сэкономить время, деньги и нервы.
В статье поговорим об отличиях микросервисной архитектуры от монолитной и разберемся, что лучше подойдет для вашего следующего проекта.
Читать: https://habr.com/ru/companies/haulmont/articles/758780/?utm_campaign=758780
Во время технических презентаций нашей технологии – платформы быстрой разработки Jmix – мы, как правило, доходим до вопроса архитектуры создаваемых приложений и часто встречаем грусть в глазах разработчиков, когда сообщаем, что создаваемое приложение имеет монолитную архитектуру. Удивительно, но случается, что команды разработки приложений на Delphi или Oraсle EBS непременно заинтересованы в реализации микросервисной архитектуры, отождествляя ее с чем-то очень современным и самым продвинутым. К счастью, хайп вокруг микросервисов постепенно начал замещаться новой информационной повесткой о необходимости рационального использования ресурсов и выбора типа архитектуры приложений на основе компетенций команд разработчиков и масштабов создаваемого решения. В Jmix есть все необходимое, чтобы создавать современные корпоративные информационные системы в рекордные сроки и с минимальными затратами. Мы понимаем, что монолитная архитектура приложений Jmix не может закрыть все кейсы, но мы верим, что для каждой задачи есть подходящий инструмент. Прочитайте перевод статьи из блога Camunda, возможно, она поможет понять какой тип архитектуры подходит для вашего проекта, чтобы сэкономить время, деньги и нервы.
В статье поговорим об отличиях микросервисной архитектуры от монолитной и разберемся, что лучше подойдет для вашего следующего проекта.
Читать: https://habr.com/ru/companies/haulmont/articles/758780/?utm_campaign=758780
Аудит пользователей Spring Data JPA
Задача: в бд необходимо фиксировать кто создал сущность, кто её обновил, и кто её удалил.
Все знают, как взять пользователя из контекста и сунуть его в сущность. Допустим, на уровне сервиса в методе извлечь информацию о нём и “засетать” его в нужные поля (придётся везде таскать этот кусок кода по сервису), к тому же, с использованием так называемых "аспектов" этот процесс может стать менее очевидным и создать дополнительные обязательства. (например, развешивание аннотаций над методами всякий раз, когда мы что-то пытаемся сделать с сущностью (новые участники команды могут не знать о такой неявной практике, а старые забыть о ней)).
Мне хотелось полностью делегировать это приложению, но погуглив, я не нашёл какого-то явного решения. Сейчас расскажу, как мне удалось это сделать:
Читать: https://habr.com/ru/companies/nlmk/articles/757866/?utm_campaign=757866
Задача: в бд необходимо фиксировать кто создал сущность, кто её обновил, и кто её удалил.
Все знают, как взять пользователя из контекста и сунуть его в сущность. Допустим, на уровне сервиса в методе извлечь информацию о нём и “засетать” его в нужные поля (придётся везде таскать этот кусок кода по сервису), к тому же, с использованием так называемых "аспектов" этот процесс может стать менее очевидным и создать дополнительные обязательства. (например, развешивание аннотаций над методами всякий раз, когда мы что-то пытаемся сделать с сущностью (новые участники команды могут не знать о такой неявной практике, а старые забыть о ней)).
Мне хотелось полностью делегировать это приложению, но погуглив, я не нашёл какого-то явного решения. Сейчас расскажу, как мне удалось это сделать:
Читать: https://habr.com/ru/companies/nlmk/articles/757866/?utm_campaign=757866
👍1
Динамическое создание слушателей в Kafka
Эта статья объясняет, как создать слушатель в Kafka на лету в процессе работы приложения c помощью простой детальной инструкцией.
В процессе разработки решение использовался язык программирования Java.
Читать: https://habr.com/ru/articles/758958/?utm_campaign=758958
Эта статья объясняет, как создать слушатель в Kafka на лету в процессе работы приложения c помощью простой детальной инструкцией.
В процессе разработки решение использовался язык программирования Java.
Читать: https://habr.com/ru/articles/758958/?utm_campaign=758958
👍3
Параллельность в Java на практике
Как следует из названия, здесь будет только про параллельное выполнение (не путать с конкурентностью). Так же я не буду затрагивать проект Loom, который «должен убить» все остальные подходы написания параллельного кода. Надеюсь изложенное ниже позволит начинающим java программистам разобраться с разными подходами и структурировать имеющиеся знания.
Начинающие java программисты, разрабатывая новые сервиса, сталкиваются с задачей выбора технологий, фреймворков и т. д. При написании параллельного кода так же есть множество различных вариантов. Вряд ли кто‑то будет создавать и запускать треды вручную, но можно использовать старый добрый ExecutorService. Можно выбрать Stream API или Reactor с его реализацией параллельной обработки. Есть ещё Akka и куча других экзотических фреймворков. Некоторые из них разработаны под набор конкретных задач, другие же вроде подходят для любых. И как оценить производительность того же Reactor против ExecutorService, или же, например, используя Stream API. Попробуем разобраться.
Читать: https://habr.com/ru/articles/759054/?utm_campaign=759054
Как следует из названия, здесь будет только про параллельное выполнение (не путать с конкурентностью). Так же я не буду затрагивать проект Loom, который «должен убить» все остальные подходы написания параллельного кода. Надеюсь изложенное ниже позволит начинающим java программистам разобраться с разными подходами и структурировать имеющиеся знания.
Начинающие java программисты, разрабатывая новые сервиса, сталкиваются с задачей выбора технологий, фреймворков и т. д. При написании параллельного кода так же есть множество различных вариантов. Вряд ли кто‑то будет создавать и запускать треды вручную, но можно использовать старый добрый ExecutorService. Можно выбрать Stream API или Reactor с его реализацией параллельной обработки. Есть ещё Akka и куча других экзотических фреймворков. Некоторые из них разработаны под набор конкретных задач, другие же вроде подходят для любых. И как оценить производительность того же Reactor против ExecutorService, или же, например, используя Stream API. Попробуем разобраться.
Читать: https://habr.com/ru/articles/759054/?utm_campaign=759054
Создание приложения для распознавания текста с изображений и аудиофайлов
Запись текста с фотографии листа или из аудиозаписи в текстовый файл, доступный для редактирования – довольно часто встречающаяся задача при работе в офисах или учёбы. Для распознавания текстов и аудио в платных сервисах и программах сегодня используются такие подходы, как машинное зрение и распознавание речи с использованием глубоких нейронных сетей.
Детектирование (обнаружение) и классификация символов на изображении осуществляется с использованием различных архитектур свёрточных нейронных сетей [1]. Обработка естественного языка основана на использовании глубоких рекуррентных нейронных сетей, состоящих из ячеек долгой краткосрочной памяти LSTM [2]. При создании соответствующих приложений для работы с текстами, этап реализации нейронных сетей можно пропустить, используя соответствующие свободно распространяемые библиотеки.
В данной статье я хочу поделиться реализацией приложения, позволяющего пользователю преобразовать и сохранить текстовую информацию из изображения листа или аудио-файла.
Читать: https://habr.com/ru/articles/758882/?utm_campaign=758882
Запись текста с фотографии листа или из аудиозаписи в текстовый файл, доступный для редактирования – довольно часто встречающаяся задача при работе в офисах или учёбы. Для распознавания текстов и аудио в платных сервисах и программах сегодня используются такие подходы, как машинное зрение и распознавание речи с использованием глубоких нейронных сетей.
Детектирование (обнаружение) и классификация символов на изображении осуществляется с использованием различных архитектур свёрточных нейронных сетей [1]. Обработка естественного языка основана на использовании глубоких рекуррентных нейронных сетей, состоящих из ячеек долгой краткосрочной памяти LSTM [2]. При создании соответствующих приложений для работы с текстами, этап реализации нейронных сетей можно пропустить, используя соответствующие свободно распространяемые библиотеки.
В данной статье я хочу поделиться реализацией приложения, позволяющего пользователю преобразовать и сохранить текстовую информацию из изображения листа или аудио-файла.
Читать: https://habr.com/ru/articles/758882/?utm_campaign=758882
Байки джависта
Привет, Habr!
Я конечно неДжеймс Гослинг , но за долгое время работы с Java у меня накопилась масса мыслей.
Мысли по написанию кода, о подводных камнях типа
Читать: https://habr.com/ru/articles/759102/?utm_campaign=759102
Привет, Habr!
Я конечно неДжеймс Гослинг , но за долгое время работы с Java у меня накопилась масса мыслей.
Мысли по написанию кода, о подводных камнях типа
Null safety , советы для любителей усложнять, байки бывалого погромиста про 0-day в Spring, экзистенциальные переживания при работе с мегабайтами легаси, очевидные советы, которые так сложно даются сеньорам — и ещё масса полезных размышлений в связке с примерами кода. Читать: https://habr.com/ru/articles/759102/?utm_campaign=759102
Delivery Hero Optimizes Member System with Event-Driven Architecture
Baemin, a food delivery service experiencing rapid growth, has successfully navigated the transition from a monolithic architecture to a more flexible, microservices-based system. A cornerstone of this transformation is the implementation of an event-driven architecture.
By A N M Bazlur Rahman
Read: https://www.infoq.com/news/2023/09/delivery-hero-uses-eda/
Baemin, a food delivery service experiencing rapid growth, has successfully navigated the transition from a monolithic architecture to a more flexible, microservices-based system. A cornerstone of this transformation is the implementation of an event-driven architecture.
By A N M Bazlur Rahman
Read: https://www.infoq.com/news/2023/09/delivery-hero-uses-eda/
Чашечка Java
Photo
10 лучших принципов проектирования микросервисов с примерами
Здравствуйте, ребята, сегодня мир посвящен микросервисам, потому что микросервисы идут рука об руку с облачными вычислениями
рука об руку с облачными вычислениями. Они предназначены для работы в облачных вычислениях
Вычислений. Поскольку все новые разработки программного обеспечения, скорее всего, будут
cloud-native, разработчикам важно узнать о Microservices,
особенно Java-разработчикам. Чтобы помочь в этом, я поделился лучшими курсами по микросервисам
и книгами
а также 10 паттернов проектирования микросервисов, а в этой статье я расскажу о 10 общих принципах проектирования микросервисов
принципами. Если вы задаетесь вопросом, в чем разница между паттернами и
принципами? Ну, между ними есть тонкая разница: принципы более детализированы и помогают принимать решения, а принципы
более детализированы и помогают в принятии решений, в то время как паттерны представляют собой проверенные и протестированные решения
решение общих проблем программного обеспечения, но и те, и другие помогают лучше разрабатывать программное обеспечение
проектирования.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2023/09/top-10-microservices-design-principles.html
Здравствуйте, ребята, сегодня мир посвящен микросервисам, потому что микросервисы идут рука об руку с облачными вычислениями
рука об руку с облачными вычислениями. Они предназначены для работы в облачных вычислениях
Вычислений. Поскольку все новые разработки программного обеспечения, скорее всего, будут
cloud-native, разработчикам важно узнать о Microservices,
особенно Java-разработчикам. Чтобы помочь в этом, я поделился лучшими курсами по микросервисам
и книгами
а также 10 паттернов проектирования микросервисов, а в этой статье я расскажу о 10 общих принципах проектирования микросервисов
принципами. Если вы задаетесь вопросом, в чем разница между паттернами и
принципами? Ну, между ними есть тонкая разница: принципы более детализированы и помогают принимать решения, а принципы
более детализированы и помогают в принятии решений, в то время как паттерны представляют собой проверенные и протестированные решения
решение общих проблем программного обеспечения, но и те, и другие помогают лучше разрабатывать программное обеспечение
проектирования.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2023/09/top-10-microservices-design-principles.html
Чашечка Java
Photo
Разница между HashMap vs TreeMap vs LinkedHashMap в Java
Здравствуйте, ребята, если вы задаетесь вопросом, в чем разница между HashMap, TreeMap и LinkedHashMap в Java и когда следует использовать HashMap, TreeMap и LinkedHashMap в Java, то вы попали по адресу. Ранее я уже рассказывал о различиях между HashSet, TreeSet и LinkedHashSet, а в этой статье я объясню разницу между этими тремя распространенными реализациями Map - HashMsp, TreeMap и LinkedHashMap. Хотя все три класса, такие как HashMap, LinkedHashMap и TreeMap, являются
реализацией интерфейса java.util.Map, между ними существует некоторая функциональная разница
между ними. Пожалуй, наиболее заметное различие между ними заключается в их
порядке итераций. HashMap не дает никаких гарантий относительно того, в каком порядке можно перебирать ключи
любое приложение, зависящее от порядка итераций в HashMap, является хрупким
HashMap является хрупким, поскольку он может измениться в любой момент. Более того, в Java 7,
порядок итераций HashMap отличается от Java 6.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2022/05/hashmap-vs-treemap-vs-linkedhashmap-in.html
Здравствуйте, ребята, если вы задаетесь вопросом, в чем разница между HashMap, TreeMap и LinkedHashMap в Java и когда следует использовать HashMap, TreeMap и LinkedHashMap в Java, то вы попали по адресу. Ранее я уже рассказывал о различиях между HashSet, TreeSet и LinkedHashSet, а в этой статье я объясню разницу между этими тремя распространенными реализациями Map - HashMsp, TreeMap и LinkedHashMap. Хотя все три класса, такие как HashMap, LinkedHashMap и TreeMap, являются
реализацией интерфейса java.util.Map, между ними существует некоторая функциональная разница
между ними. Пожалуй, наиболее заметное различие между ними заключается в их
порядке итераций. HashMap не дает никаких гарантий относительно того, в каком порядке можно перебирать ключи
любое приложение, зависящее от порядка итераций в HashMap, является хрупким
HashMap является хрупким, поскольку он может измениться в любой момент. Более того, в Java 7,
порядок итераций HashMap отличается от Java 6.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2022/05/hashmap-vs-treemap-vs-linkedhashmap-in.html
👍3❤1🔥1
Высокие технологии или дешевые фокусы с двойным дном
Отлаживал я как-то тесты и параллельно размышлял о null-safety. Звезды сошлись и родилась довольно странная идея - замокать null.
Читать: https://habr.com/ru/articles/759344/?utm_campaign=759344
Отлаживал я как-то тесты и параллельно размышлял о null-safety. Звезды сошлись и родилась довольно странная идея - замокать null.
Читать: https://habr.com/ru/articles/759344/?utm_campaign=759344
Java Digest #4
Всем привет! 👋 👋 👋 Мы Java-разработчики Тинькофф: Константин, Андрей и Арсений. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и решили делиться этим не только с коллегами, но и со всем сообществом.
В этот раз эпиграф к выпуску нам придумал ChatGPT:
In the whimsical world of Java, where code dances with curiosity and logic wears a hat of wonder, our Java Digest takes you on a delightful journey through the rabbit hole of programming brilliance.
Stay tuned! 🙂
Читать четвертый выпуск
Читать: https://habr.com/ru/companies/tinkoff/articles/759432/?utm_campaign=759432
Всем привет! 👋 👋 👋 Мы Java-разработчики Тинькофф: Константин, Андрей и Арсений. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и решили делиться этим не только с коллегами, но и со всем сообществом.
В этот раз эпиграф к выпуску нам придумал ChatGPT:
In the whimsical world of Java, where code dances with curiosity and logic wears a hat of wonder, our Java Digest takes you on a delightful journey through the rabbit hole of programming brilliance.
Stay tuned! 🙂
Читать четвертый выпуск
Читать: https://habr.com/ru/companies/tinkoff/articles/759432/?utm_campaign=759432
❤1
Как добавить кастомный аутентификатор в KeyCloak и подружить его со сторонней системой
Всем привет.
Сегодня мы покажем вам простой пример, как в Keycloak можно добавить кастомный аутентификатор.
Как вы все знаете, Keycloak – это система адаптивной аутентификации, позволяющая реализовать фактические любой процесс аутентификации (ограниченный только навыками разработки на Java) и выступать в качестве Identity Provider для клиентов по протоколам OIDC и SAML.
В стандартном наборе представлено много типовых аутентификаторов. Но что делать, когда стандартных аутентификаторов недостаточно и необходимо реализовать свою логику? Официальная документация дает ответ: разработать аутентификатор самому: https://www.keycloak.org/docs/latest/server_development/#_auth_spi
Что мы в итоге и сделали.
Читать: https://habr.com/ru/companies/k2tech/articles/759600/?utm_campaign=759600
Всем привет.
Сегодня мы покажем вам простой пример, как в Keycloak можно добавить кастомный аутентификатор.
Как вы все знаете, Keycloak – это система адаптивной аутентификации, позволяющая реализовать фактические любой процесс аутентификации (ограниченный только навыками разработки на Java) и выступать в качестве Identity Provider для клиентов по протоколам OIDC и SAML.
В стандартном наборе представлено много типовых аутентификаторов. Но что делать, когда стандартных аутентификаторов недостаточно и необходимо реализовать свою логику? Официальная документация дает ответ: разработать аутентификатор самому: https://www.keycloak.org/docs/latest/server_development/#_auth_spi
Что мы в итоге и сделали.
Читать: https://habr.com/ru/companies/k2tech/articles/759600/?utm_campaign=759600