Безопасность web приложений с использованием Identity Provider
В современном цифровом мире, где взаимодействие с онлайн-ресурсами и web приложениями стало неотъемлемой частью нашей повседневной жизни, безопасность и управление личной идентификацией стали ключевыми аспектами. Именно в этом контексте становится крайне важным понятие “Identity Provider” или, сокращённо, IdP.
Identity Provider представляет собой централизованный сервис, который играет решающую роль в процессе аутентификации пользователей в сети. Это технологическое решение позволяет пользователям идентифицироваться и получать доступ к различным ресурсам и сервисам, используя единый набор учётных данных или методов аутентификации.
IdP обеспечивает не только процесс аутентификации, но и авторизации, что делает его краеугольным камнем в управлении идентификацией в цифровом мире. Он предоставляет удобный и безопасный механизм для учета пользователей, определения их ролей и разграничения доступа к ресурсам и данным на основе этих ролей. Таким образом, IdP способствует усилению безопасности и контролю над доступом, одновременно облегчая пользовательский опыт.
В этом эссе мы рассмотрим более подробно, как происходит взаимодействие с Identity Provider, его преимущества и роль в обеспечении безопасности данных и доступа в цифровой эпохе.
Читать: https://habr.com/ru/articles/779170/?utm_campaign=779170
В современном цифровом мире, где взаимодействие с онлайн-ресурсами и web приложениями стало неотъемлемой частью нашей повседневной жизни, безопасность и управление личной идентификацией стали ключевыми аспектами. Именно в этом контексте становится крайне важным понятие “Identity Provider” или, сокращённо, IdP.
Identity Provider представляет собой централизованный сервис, который играет решающую роль в процессе аутентификации пользователей в сети. Это технологическое решение позволяет пользователям идентифицироваться и получать доступ к различным ресурсам и сервисам, используя единый набор учётных данных или методов аутентификации.
IdP обеспечивает не только процесс аутентификации, но и авторизации, что делает его краеугольным камнем в управлении идентификацией в цифровом мире. Он предоставляет удобный и безопасный механизм для учета пользователей, определения их ролей и разграничения доступа к ресурсам и данным на основе этих ролей. Таким образом, IdP способствует усилению безопасности и контролю над доступом, одновременно облегчая пользовательский опыт.
В этом эссе мы рассмотрим более подробно, как происходит взаимодействие с Identity Provider, его преимущества и роль в обеспечении безопасности данных и доступа в цифровой эпохе.
Читать: https://habr.com/ru/articles/779170/?utm_campaign=779170
❤3
Польза создания однородных задач для параллельного вычисления
Как правильно использовать возможности параллельного программирования?
Зачем программистам математика и зачем знать алгоритмы?
На примере небольшой задачи мы вместе ответим на эти вопросы. А так же хочу наглядно продемонстрировать преимущества создания однородных задач.
Весь код из статьи находится здесь.
Читать: https://habr.com/ru/articles/779188/?utm_campaign=779188
Как правильно использовать возможности параллельного программирования?
Зачем программистам математика и зачем знать алгоритмы?
На примере небольшой задачи мы вместе ответим на эти вопросы. А так же хочу наглядно продемонстрировать преимущества создания однородных задач.
Весь код из статьи находится здесь.
Читать: https://habr.com/ru/articles/779188/?utm_campaign=779188
❤4
Немного о гигиене Java кода
Во время код-ревью или работы над новым проектом может раздражать многое: стиль, подходы, качество. Но больше всего расстраивает банальный недостаток гигиены кода. В связи с регулярностью проблемы хочется на неё обратить внимание и напомнить, как гигиену поддерживать.
Читать: https://habr.com/ru/companies/pvs-studio/articles/779300/?utm_campaign=779300
Во время код-ревью или работы над новым проектом может раздражать многое: стиль, подходы, качество. Но больше всего расстраивает банальный недостаток гигиены кода. В связи с регулярностью проблемы хочется на неё обратить внимание и напомнить, как гигиену поддерживать.
Читать: https://habr.com/ru/companies/pvs-studio/articles/779300/?utm_campaign=779300
Генерация PDF-документации из OpenAPI-спецификации в SpringBoot-приложении
При интеграции с нашим приложением, написанном на "классическом" SpringBoot-стэке встал вопрос о предоставлении описания АПИ партнеру. Фактически из коробки SpringBoot позволяет развернуть на стороне приложения тонкий Swagger-клиент и сгенерировать на лету спецификацию в формате Swagger (OpenAPI), которая представляет собой JSON особой структуры (хотя если читатель не знает, что это, наверное нет никакого смысла вообще читать эту статью).
Проблема осложнялась тем, что наш партнер разрабатывал на 1С, и во всех современных спецификациях для него были слишком сложно освоиться, поэтому встала задача предоставить документацию в человекориентированном виде - DOC, PDF и прочее.
В ходе изысканий в google, была найдена статья - https://www.baeldung.com/swagger-generate-pdf, и советы на stackoverflow, которые фактически повторяли эту статью. Фактически было найдено 2 варианта решения:
1) Использовать онлайн-конвертер https://www.swdoc.org/
2) Настроить цепочку из 3 maven-плагинов:
Читать: https://habr.com/ru/articles/779542/?utm_campaign=779542
При интеграции с нашим приложением, написанном на "классическом" SpringBoot-стэке встал вопрос о предоставлении описания АПИ партнеру. Фактически из коробки SpringBoot позволяет развернуть на стороне приложения тонкий Swagger-клиент и сгенерировать на лету спецификацию в формате Swagger (OpenAPI), которая представляет собой JSON особой структуры (хотя если читатель не знает, что это, наверное нет никакого смысла вообще читать эту статью).
Проблема осложнялась тем, что наш партнер разрабатывал на 1С, и во всех современных спецификациях для него были слишком сложно освоиться, поэтому встала задача предоставить документацию в человекориентированном виде - DOC, PDF и прочее.
В ходе изысканий в google, была найдена статья - https://www.baeldung.com/swagger-generate-pdf, и советы на stackoverflow, которые фактически повторяли эту статью. Фактически было найдено 2 варианта решения:
1) Использовать онлайн-конвертер https://www.swdoc.org/
2) Настроить цепочку из 3 maven-плагинов:
Читать: https://habr.com/ru/articles/779542/?utm_campaign=779542
👏5❤1⚡1
Kafka Connect на примере Debezium PostgresConnector
В предыдущей статье про микросервисную архитектуру на основе событий с использованием Kafka Streams достаточно поверхностно был упомянут
Читать: https://habr.com/ru/articles/779620/?utm_campaign=779620
В предыдущей статье про микросервисную архитектуру на основе событий с использованием Kafka Streams достаточно поверхностно был упомянут
io.confluent.connect.jdbc.JdbcSourceConnector, который использовался для вычитания данных из SQLite и отправки их в топик Kafka. Сейчас я бы хотел более подробно разобрать технологию Kafka Connect на примере io.debezium.connector.postgresql.PostgresConnector. Как и в прошлый раз, я реализовал небольшой демо проект, код которого доступен на GitHub. В проекте кода совсем немного, однако чтобы понять все настройки, примененные в коннекторе, придется достаточно подробно пройтись по теоретической части. Итак, приступим.Читать: https://habr.com/ru/articles/779620/?utm_campaign=779620
👍7⚡1
Apache Pinot 1.0 Provides a Realtime Distributed OLAP datastore
Apache Pinot is an open source column-oriented distributed data store written in Java. Pinot is designed to use Online Analytical processing (OLAP) in order to answer multi-dimensional analytical (MDA) queries with low latency.
By Johan Janssen
Read: https://www.infoq.com/news/2023/12/apache-pinot/
Apache Pinot is an open source column-oriented distributed data store written in Java. Pinot is designed to use Online Analytical processing (OLAP) in order to answer multi-dimensional analytical (MDA) queries with low latency.
By Johan Janssen
Read: https://www.infoq.com/news/2023/12/apache-pinot/
🔥3🎉1
Spring Cloud Gateway. Единая точка входа или отказа: путь к non-blocking API gateway
Привет, Хабр! Меня зовут Никита Летов, я техлид бэкенд-разработки сервисов дистанционного банковского обслуживания Росбанка для физических лиц, или как модно сейчас говорить, ретейла. В этом посте я расскажу, что такое входная точка в приложение, когда в ней появляется необходимость и какие вообще задачи решает паттерн API Gateway. Мы рассмотрим классический блокирующий подход на примере гейтвея Netflix Zuul 1.x, проблемы, связанные с его эксплуатацией, а также реактивный Spring Cloud Gateway и сложности перехода на него. В заключение сравним два подхода.
Читать: https://habr.com/ru/companies/rosbank/articles/779770/?utm_campaign=779770
Привет, Хабр! Меня зовут Никита Летов, я техлид бэкенд-разработки сервисов дистанционного банковского обслуживания Росбанка для физических лиц, или как модно сейчас говорить, ретейла. В этом посте я расскажу, что такое входная точка в приложение, когда в ней появляется необходимость и какие вообще задачи решает паттерн API Gateway. Мы рассмотрим классический блокирующий подход на примере гейтвея Netflix Zuul 1.x, проблемы, связанные с его эксплуатацией, а также реактивный Spring Cloud Gateway и сложности перехода на него. В заключение сравним два подхода.
Читать: https://habr.com/ru/companies/rosbank/articles/779770/?utm_campaign=779770
👍7❤1
Java News Roundup: JDK 22 in Rampdown, JDK 23 Expert Group, Spring Cloud 2023.0, TornadoVM 1.0
This week's Java roundup for December 4th, 2023 features news highlighting: JDK 22 having moved to Rampdown Phase One; formation of the JDK 23 expert group; JEP 464, Scope Values (Second Preview) targeted for JDK 22; Spring Cloud 2023.0.0; TornadoVM 1.0.0; and JHipster Lite 1.0.0.
By Michael Redlich
Read: https://www.infoq.com/news/2023/12/java-news-roundup-dec04-2023/
This week's Java roundup for December 4th, 2023 features news highlighting: JDK 22 having moved to Rampdown Phase One; formation of the JDK 23 expert group; JEP 464, Scope Values (Second Preview) targeted for JDK 22; Spring Cloud 2023.0.0; TornadoVM 1.0.0; and JHipster Lite 1.0.0.
By Michael Redlich
Read: https://www.infoq.com/news/2023/12/java-news-roundup-dec04-2023/
🥰3🔥1
Мастерство чистого кода: учимся писать тесты
Разработка надёжных программ невозможна без тщательного тестирования. В этой статье подробно разобрали процесс создания интеграционных тестов для небольшого сервиса с использованием ценных для Java-разработчиков инструментов, вроде Testcontainers и Wiremock.
Авторы демонстрируют реализацию тестирования на примере кода и советуют, как организовать процесс.
Разработка надёжных программ невозможна без тщательного тестирования. В этой статье подробно разобрали процесс создания интеграционных тестов для небольшого сервиса с использованием ценных для Java-разработчиков инструментов, вроде Testcontainers и Wiremock.
Авторы демонстрируют реализацию тестирования на примере кода и советуют, как организовать процесс.
🥰3
Mockito и как им пользоваться
Привет, Хабровчане!
Помню, как в одном из моих первых проектов, мы столкнулись с проблемой тестирования кода, который зависел от внешних сервисов и баз данных. Это было не только трудоемко, но и занимало уйму времени. И сразу стало понятно, что без мокирования нам не обойтись. Мокирование создать поддельные версии сложных объектов или систем, чтобы мы могли тестировать каждую часть нашего кода изолированно. Это упрощает написание тестов и бустит их выполнение.
Несколько строк кода, и вы уже создаете моки для ваших сервисов и DAO! Mockito предоставляет понятный API для мокирования, который делает тесты не только проще в написании, но и более читабельными.
Читать: https://habr.com/ru/companies/otus/articles/780090/?utm_campaign=780090
Привет, Хабровчане!
Помню, как в одном из моих первых проектов, мы столкнулись с проблемой тестирования кода, который зависел от внешних сервисов и баз данных. Это было не только трудоемко, но и занимало уйму времени. И сразу стало понятно, что без мокирования нам не обойтись. Мокирование создать поддельные версии сложных объектов или систем, чтобы мы могли тестировать каждую часть нашего кода изолированно. Это упрощает написание тестов и бустит их выполнение.
Несколько строк кода, и вы уже создаете моки для ваших сервисов и DAO! Mockito предоставляет понятный API для мокирования, который делает тесты не только проще в написании, но и более читабельными.
Читать: https://habr.com/ru/companies/otus/articles/780090/?utm_campaign=780090
👍6😁2❤1👎1🎉1
Stream API Evolution: A Closer Look at JEP 461's Stream Gatherers
After its review concluded, JEP 461, Stream Gatherers (Preview), has been completed for JDK 22. This JEP proposes to enhance the Stream API to support custom intermediate operations. "This will allow stream pipelines to transform data in ways that are not easily achievable with the existing built-in intermediate operations."
By A N M Bazlur Rahman
Read: https://www.infoq.com/news/2023/12/stream-api-evolution/
After its review concluded, JEP 461, Stream Gatherers (Preview), has been completed for JDK 22. This JEP proposes to enhance the Stream API to support custom intermediate operations. "This will allow stream pipelines to transform data in ways that are not easily achievable with the existing built-in intermediate operations."
By A N M Bazlur Rahman
Read: https://www.infoq.com/news/2023/12/stream-api-evolution/
👍5🔥1😁1
Что требуется для развития рынка цифровых двойников
Ранее в блоге мы рассказывали о том, что такое цифровые двойники, теперь выясним, какие перспективы развития технологии на отечественном рынке.
Цифровые двойники входят в топ-5 мировых стратегических технологических трендов. Ожидается, что в 2024 году технологию внедрят 250 отечественных предприятий, затраты составят 145 млрд рублей по данным дорожной карты «Технет» Национальной технологической инициативы. Давайте разберемся, реальны ли эти прогнозы для России.
Читать: https://habr.com/ru/articles/780036/?utm_campaign=780036
Ранее в блоге мы рассказывали о том, что такое цифровые двойники, теперь выясним, какие перспективы развития технологии на отечественном рынке.
Цифровые двойники входят в топ-5 мировых стратегических технологических трендов. Ожидается, что в 2024 году технологию внедрят 250 отечественных предприятий, затраты составят 145 млрд рублей по данным дорожной карты «Технет» Национальной технологической инициативы. Давайте разберемся, реальны ли эти прогнозы для России.
Читать: https://habr.com/ru/articles/780036/?utm_campaign=780036
❤2👍1🔥1👏1
Операция «K». Ищем баги в коде IntelliJ IDEA
В этой статье мы проверим проект IntelliJ IDEA Community Edition на наличие ошибок и отправим наши правки разработчикам. Крупный проект, Open Source база и использование статического анализатора при разработке. Сложная задача для PVS-Studio.
Читать: https://habr.com/ru/companies/pvs-studio/articles/780560/?utm_campaign=780560
В этой статье мы проверим проект IntelliJ IDEA Community Edition на наличие ошибок и отправим наши правки разработчикам. Крупный проект, Open Source база и использование статического анализатора при разработке. Сложная задача для PVS-Studio.
Читать: https://habr.com/ru/companies/pvs-studio/articles/780560/?utm_campaign=780560
❤1
Moravio как компания по разработке CRM
Read: https://www.thejavaprogrammer.com/moravio-as-crm-development-company/
Read: https://www.thejavaprogrammer.com/moravio-as-crm-development-company/
😁2
Spring Boot 3.2 Delivers Support for Virtual Threads and Modern RestClient and JdbcClient
The Spring Boot team released Spring Boot 3.2 in November 2023. This latest release is packed with features, the most noteworthy of which is the support for Virtual Threads and Coordinated Restore at Checkpoint (CRaC). Other features include SSL Bundle reloading, Rest Client and JDBC Client interface support, observability improvements, and many others.
By Sirisha Pratha
Read: https://www.infoq.com/news/2023/12/spring-boot-virtual-threads/
The Spring Boot team released Spring Boot 3.2 in November 2023. This latest release is packed with features, the most noteworthy of which is the support for Virtual Threads and Coordinated Restore at Checkpoint (CRaC). Other features include SSL Bundle reloading, Rest Client and JDBC Client interface support, observability improvements, and many others.
By Sirisha Pratha
Read: https://www.infoq.com/news/2023/12/spring-boot-virtual-threads/
❤3🎉1
JEP 423: Introducing Region Pinning to G1 Garbage Collector in OpenJDK
After its review concluded, JEP 423, Region Pinning for G1, has been Integrated into JDK 22. This JEP proposes to reduce GC latency by implementing region pinning for the G1 garbage collector. This will extend G1 so that arbitrary regions may be pinned during both major and minor collection operations, so that disabling the garbage collection process may be avoided while implementing JNI.
By A N M Bazlur Rahman
Read: https://www.infoq.com/news/2023/12/region-pinning-to-g1-gc/
After its review concluded, JEP 423, Region Pinning for G1, has been Integrated into JDK 22. This JEP proposes to reduce GC latency by implementing region pinning for the G1 garbage collector. This will extend G1 so that arbitrary regions may be pinned during both major and minor collection operations, so that disabling the garbage collection process may be avoided while implementing JNI.
By A N M Bazlur Rahman
Read: https://www.infoq.com/news/2023/12/region-pinning-to-g1-gc/
👏2👍1🥰1
10 лучших курсов и сертификаций по науке о данных и машинному обучению в 2024 году - Best of Lot
Предположим, что сегодня вы работаете в сфере технологий в качестве программиста или инженера-программиста. В таком случае, я уверен, вы слышали о таких терминах, как Data Science, Machine Learning, Deep Learning, Artificial Intelligence и т. д. Это новейшие технологии, оказывающие влияние на все отрасли, точно так же, как ИТ, когда они появляются в первый раз. Неважно, работаете ли вы в банке или страховом секторе, воздушном пространстве или обороне. На все сферы повлияли ИТ, а в скором времени их затронут машинное обучение и искусственный интеллект. Поэтому в 2024 году очень важно изучать Data Science и машинное обучение, и если вы ищете хорошие ресурсы, такие как курсы и сертификаты, то вы пришли по адресу.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2018/10/top-10-data-science-and-machine-learning-courses.html
Предположим, что сегодня вы работаете в сфере технологий в качестве программиста или инженера-программиста. В таком случае, я уверен, вы слышали о таких терминах, как Data Science, Machine Learning, Deep Learning, Artificial Intelligence и т. д. Это новейшие технологии, оказывающие влияние на все отрасли, точно так же, как ИТ, когда они появляются в первый раз. Неважно, работаете ли вы в банке или страховом секторе, воздушном пространстве или обороне. На все сферы повлияли ИТ, а в скором времени их затронут машинное обучение и искусственный интеллект. Поэтому в 2024 году очень важно изучать Data Science и машинное обучение, и если вы ищете хорошие ресурсы, такие как курсы и сертификаты, то вы пришли по адресу.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2018/10/top-10-data-science-and-machine-learning-courses.html
👏3👍2
Я нашёл сид Мэла (melharucos) в Майнкрафте
Да, название этой статьи - не обман. Я действительно сумел найти сид хардкорного выживания Мэла. Сам он притом с нами сидом не поделился.
Сам сид: 3483555484082087413
Читать: https://habr.com/ru/articles/781002/?utm_campaign=781002
Да, название этой статьи - не обман. Я действительно сумел найти сид хардкорного выживания Мэла. Сам он притом с нами сидом не поделился.
Сам сид: 3483555484082087413
Читать: https://habr.com/ru/articles/781002/?utm_campaign=781002
🔥8😁4❤1👍1
Простой сервис аутентификации. SpringBootSecurity
Напишем простой сервис аутентификации с выдачей JWToken. Для реализации будем использовать Java 17, SpringBoot 3.2.0, h2, Maven в памяти.
GitLab
Читать: https://habr.com/ru/articles/781066/?utm_campaign=781066
Напишем простой сервис аутентификации с выдачей JWToken. Для реализации будем использовать Java 17, SpringBoot 3.2.0, h2, Maven в памяти.
GitLab
Читать: https://habr.com/ru/articles/781066/?utm_campaign=781066
❤5😢2👍1
Топ 10 сайтов, где можно БЕСПЛАТНО научиться кодированию JavaScript в 2024 году - Best of Lot
Здравствуйте, ребята, если вы хотите выучить JavaScript и ищете лучшие сайты для БЕСПЛАТНОГО изучения программирования на JavaScript, то вы пришли по адресу. Ранее я рассказывал о лучших бесплатные курсы JavaScript и платные курсы JavaScript, а в этой статье я перечислю лучшие сайты для изучения JavaScript БЕСПЛАТНО. Мы живем в мире интернета, который полон ресурсов. Вы можете узнать все, что хотите, и при этом не потратить слишком много денег. Если вы собираетесь изучать JavaScript, есть множество сайтов, где вы можете изучать JavaScript онлайн БЕСПЛАТНО.
Вопросы и учебники для собеседования по Java
Read: http://www.java67.com/2019/01/best-websites-to-learn-javascript-online.html
Здравствуйте, ребята, если вы хотите выучить JavaScript и ищете лучшие сайты для БЕСПЛАТНОГО изучения программирования на JavaScript, то вы пришли по адресу. Ранее я рассказывал о лучших бесплатные курсы JavaScript и платные курсы JavaScript, а в этой статье я перечислю лучшие сайты для изучения JavaScript БЕСПЛАТНО. Мы живем в мире интернета, который полон ресурсов. Вы можете узнать все, что хотите, и при этом не потратить слишком много денег. Если вы собираетесь изучать JavaScript, есть множество сайтов, где вы можете изучать JavaScript онлайн БЕСПЛАТНО.
Вопросы и учебники для собеседования по Java
Read: http://www.java67.com/2019/01/best-websites-to-learn-javascript-online.html
👏3🎉2❤1
Java News Roundup: JHipster 8.1, Piranha Cloud 23.12, Open Liberty 23.0.0.12, Tomcat Releases
This week's Java roundup for December 11th, 2023 features news highlighting: OpenJDK early access releases, Open Liberty 23.0.0.12, Infinispan 15.0.0-Dev06, JHipster 8.1.0, Piranha 23.12.0, Apache Tomcat 11.0.0-M15, 10.1.17, 9.0.84 and 8.5.97 and the debut of the Payara Virtual Conference.
By Michael Redlich
Read: https://www.infoq.com/news/2023/12/java-news-roundup-dec11-2023/
This week's Java roundup for December 11th, 2023 features news highlighting: OpenJDK early access releases, Open Liberty 23.0.0.12, Infinispan 15.0.0-Dev06, JHipster 8.1.0, Piranha 23.12.0, Apache Tomcat 11.0.0-M15, 10.1.17, 9.0.84 and 8.5.97 and the debut of the Payara Virtual Conference.
By Michael Redlich
Read: https://www.infoq.com/news/2023/12/java-news-roundup-dec11-2023/
❤2🥰1🎉1