В последние несколько лет в крупных компаниях наблюдается значительный рост внедрения event-driven (событийно-ориентированных) систем. Каковы основные причины этой тенденции? Это чистой воды хайп или есть веские причины, побуждающие к внедрению этой архитектуры? С нашей точки зрения, основными причинами, по которым многие компании выбирают этот путь, являются:
User
Всё ещё используете If/else валидацию в Spring 6.0+ / SpringBoot 3.0+?
Чтобы избежать влияния несанкционированных параметров на ваш бизнес, в ваших веб-сервисах должна быть реализована проверка параметров на уровне контроллера! В большинстве случаев параметры запроса можно разделить на два следующих вида:
— POST и PUT-запросы, использующие requestBody
для передачи параметров.
— GET-запросы, использующие requestParam/PathVariable
для передачи параметров.
Обзор библиотеки Actix в Rust
Привет, Хабр!
Actix появился на свет благодаря Николаю Киму, также известного в сообществе под ником fafhrd91. Николай создал экосистему, которая позволяет строить масштабируемые, надежные веб-приложения и микросервисы. Actix основан на модели акторов, концепции, которая была впервые предложена в 1973 году для симуляции активных компонентов в распределенных системах.
Использование resilience4j со Spring Boot
resilience4j библиотека, предоставляющая набор инструментов для повышения надежности и отказоустойчивости java приложений прежде всего в микросервисной архитектуре
Рассмотрим какие в ней есть инструменты, как их использовать в Spring Boot приложении с помощью аннотаций, как настраивать и есть ли в них подводные камни
Автоматический Wi-Fi выключатель и как с его помощью спасти дом от повреждений
Автоматические выключатели рычажного типа необходимы для защиты электропроводки и подключенного к нему оборудования. Но с развитием технологий появились WiFi автоматы которые предлагают еще больше комфорта и возможностей. В данном материале будет описываться мой опыт применения автоматического выключателя с управлением через Wi-Fi.
Начало работы с Axum — самым популярным веб-фреймворком Rust
Когда дело доходит до выбора серверного веб-фреймворка в экосистеме Rust, можно запутаться из-за большого количества вариантов. В прошлом, лидером по популярности был Rocket, но сейчас за первенство сражаются Axum и actix-web, и Axum
все больше набирает обороты. В этой статье мы немного погрузимся в Axum
— веб-фреймворк для создания REST API
на Rust
, разрабатываемый командой Tokio. Он прост в использовании и хорошо совместим с Tower — надежной библиотекой для создания модульных компонентов сетевых приложений.
В этой статье мы подробно рассмотрим, как использовать Axum
для создания веб-сервиса. Кроме того, мы рассмотрим изменения, которые произошли в версии 0.7.
Умный многоквартирный дом «Булычев» класса А: первое знакомство
Спрос на квартиры с умными функциями продолжает расти. Но и покупатели, и девелоперы понимают умные функции по-разному. Как быть?
На помощь приходит разделение умных домов на классы от «Единого ресурса застройщиков». Высший класс А получают лишь немногие многоквартирные дома в России. К счастью, нам как раз удалось в таком побывать.
Умный дом «Булычев» пока не сдан, но для посещения открыта тестовая зона на одном из этажей. Мы предлагаем отправиться вместе с нами на экскурсию и посмотреть, какие умные функции получит покупатель квартиры в этом доме.
Интересно? Ныряйте под кат.
Ноутбуки с двумя дисплеями становятся все дешевле: выпущена модель за $400. Возможности устройства
За последние пару лет производители ноутбуков и смартфонов разработали устройства с гибкими дисплеями, а также двумя (и больше) экранами. Особо массовыми такие девайсы не стали, но своя аудитория у них уже появилась, судя по выходу все новых и новых моделей смартфонов с гибкими экранами. Ноутбуки с аналогичной технологией похвастаться такой популярностью не могут, но все же и здесь есть некоторые подвижки. Подробности — под катом.
Основы многопоточности в Rust
Привет!
Думаю, уже всем известно, что многопоточность – это мастхев для большинства приложений.
Rust предлагает хорошие решения к задачам многопоточности. В Rust нет места таким распространенным проблемам, как гонки данных или неправильное управление памятью, благодаря его системе владения и заимствования.
Паттерн написания универсальной системы ошибок приложения
За свою карьеру написал больше 100 микросервисов и около 30 брал на сопровождение, рефакторинг и доработку. Среди них были сервисы аутентификации, криптографии, адаптеры, прокси, эмитенты токенов, DataStore/DataMart, калькулирующие измерения к срезам статистики на холодных данных и на потоке, оркестраторы с широким спектром смежных систем (пример на хабре) etc. Писал на таких языках, как С#, Java, Kotlin, Scala, Node.js. И некоторое время проходил "день сурка" в момент проектирования или рефакторинга полученного в наследство кода, когда руки доходят до аспекта логирования, мониторинга, обработки ошибок etc. В этой статье опишу с какими реализациями слоя обработки ошибок я сталкивался или находил в качестве best practice, как обычно ее интегрируют в SLA, метрики и логи, почему стал изобретать велосипед и к чему пришел, а также сравню собирательный образ классических подходов с выбраным в по итогу проб и ошибок.
Как я победил хаос умных устройств, или Цифровая трансформация жилого пространства
Несколько лет назад я увлекся проектированием системы умного дома и создал для себя удобное пространство, в котором не нужно открывать дверь курьеру или включать настольную лампу для работы. Покажу, что подключил и как работает система. Сразу спойлер: умный дом не зависит от наличия интернета или облачных сервисов.
Знакомство с WebTransport API
Hello world!
На днях я прочитал статью о WebTransport API как будущей альтернативе или даже замене WebSockets. Мне стало интересно, что это такое и с чем его едят. Давайте разбираться вместе.
Как мы строили Норильск «на ледяной планете»
60–65% территории России занимает вечная мерзлота. Она бывает разная: где-то это много относительно сухой земли, а где-то прямо линза льда (до 95% воды), причём глубиной до нескольких километров. В районе Норильска можно грубо сравнить её с замёрзшим океаном.
И вот посреди этой красоты мы вдруг нашли очень ценные полезные ископаемые. Медь, никель, золото, палладий и ещё кучу других слов, без которых не бывает современного ИТ и космоса. И, наверное, мы бы их так и оставили валяться, если бы не ещё одно обстоятельство: прямо рядом с ними нашёлся практически бесконечный источник энергии — гора угля. Причём некоторые из углей в этой горе были коксующимися, то есть позволяли получать металлы из оксидов прямо на месте.
Земляне высадились в эти места строить город. Практически как на снежную планету. И это оказалась очень суровая планета: холод до -56 градусов Цельсия, разрушающий конструкции, ураганный ветер и снег, который всё заметает. Ну и ко всему этому тут есть длинная полярная ночь, если вам не хватает сложностей.
Строить на линзе льда ничего нельзя. Тепло от здания означает, что его фундамент просто разорвёт при подвижках льда. Но тогда, конечно, про сюрпризы с мерзлотой мы не знали, и потому первое поселение — позже его назовут Аварийным посёлком — разрушилось через полгода.
Современный город стоит на скальных выходах как на островах: есть центральный жилой остров, есть Оганер — остров с больницей, есть Талнах — добывающий район, отдельно есть аэропорт, есть Надежда — ещё один комбинат, есть остров Дудинка — порт в 90 километрах от центра. Есть кусок скалы — можно строить. Нет скалы — нельзя строить.
В общем, я хочу рассказать вам про удивительно прекрасный и, как это ни странно, уютный Норильск.
Самый лучший тренажёр клавиатуры
Громкий заголовок, но оно того стоит. Умение печатать сейчас значит больше, чем уметь написать что‑то от руки. Впрочем, слышал, что в некоторых странах уже и не учат писать, только печатные буквы:)
К теме — много лет назад думалось, что вот‑вот, когда компы станут обыденностью, компьютерные игрушки изменятся кардинально, и бОльшая их часть будет не развлекательными, а обучающими. В игровой форме позволяющими получить полезные для жизни или работы навыки.
Понятно, что люди, так думающие, ошибались. Но попытки создать подобные проги предпринимались.
Одна из таких, старых‑престарых прог, называется просто — TRK. Или, по‑простому, тренажер клавиатуры. Да‑да, скажите сейчас вы, этих тренажеров как говна за баней, и будете правы. Но мы же говорим о самом‑самом. Итак, у вас есть клавиатура, на которой надо разместить свои руки и начинается все с «фыва олдж», как и положено.
Nginx и Keycloak: Идеальное сочетание для обеспечения безопасности приложений
В современной быстро меняющейся цифровой среде обеспечение надежной безопасности на каждом этапе взаимодействия с пользователем имеет первостепенное значение. Хотя существует множество инструментов для защиты наших приложений, найти идеальное сочетание между ними может быть непросто. На помощь приходит динамичный дуэт: Nginx и Keycloak. В паре эти инструменты обеспечивают мощное решение по обеспечению безопасности вашего приложения. Nginx, известный своей высокой производительностью и масштабируемостью, в сочетании с надежными механизмами аутентификации и авторизации Keycloak строит крепость, защищающую ваши приложения от несанкционированного доступа. В этой статье мы рассмотрим все тонкости этой привлекательной комбинации и покажем, как можно использовать их общие преимущества для создания надежного и удобного шлюза для ваших приложений.
Прежде чем погрузиться в рассмотрение Nginx и Keycloak, давайте вернемся к некоторым основополагающим концепциям безопасности.
Понимание разницы: Аутентификация vs Авторизация
В сфере безопасности часто встречаются термины "аутентификация" и "авторизация". Хотя они могут звучать похоже и иногда используются как взаимозаменяемые, все же имеют разные значения и функции. Давайте разберемся в каждом из этих терминов, чтобы понять их разницу и важность.
1. Аутентификация
Определение: Аутентификация - это процесс проверки подлинности личности пользователя, системы или приложения. Она отвечает на вопрос: «Вы тот, за кого себя выдаете?»
Как это работает: Наиболее распространенной формой аутентификации является комбинация имени пользователя и пароля. Когда пользователь вводит эти учетные данные, система сравнивает их с сохраненными данными, чтобы подтвердить его личность. Другие методы включают биометрию (например, распознавание отпечатков пальцев или лица), OTP (одноразовые пароли) и аппаратные токены.
Безопасность web приложений с использованием Identity Provider
В современном цифровом мире, где взаимодействие с онлайн-ресурсами и web приложениями стало неотъемлемой частью нашей повседневной жизни, безопасность и управление личной идентификацией стали ключевыми аспектами. Именно в этом контексте становится крайне важным понятие “Identity Provider” или, сокращённо, IdP.
Identity Provider представляет собой централизованный сервис, который играет решающую роль в процессе аутентификации пользователей в сети. Это технологическое решение позволяет пользователям идентифицироваться и получать доступ к различным ресурсам и сервисам, используя единый набор учётных данных или методов аутентификации.
IdP обеспечивает не только процесс аутентификации, но и авторизации, что делает его краеугольным камнем в управлении идентификацией в цифровом мире. Он предоставляет удобный и безопасный механизм для учета пользователей, определения их ролей и разграничения доступа к ресурсам и данным на основе этих ролей. Таким образом, IdP способствует усилению безопасности и контролю над доступом, одновременно облегчая пользовательский опыт.
В этой статье мы рассмотрим более подробно, как происходит взаимодействие с Identity Provider, его преимущества и роль в обеспечении безопасности данных и доступа в цифровой эпохе.
ClimateGuard CG LED: Новый Год к нам мчится…
Эта статья посвящена обзору универсальной платы управления светодиодными лентами ClimateGuard CG LED. В ней даётся краткое описание устройства платы контроллера CG LED и мои первые впечатления от работы с ней. В статье также упоминается первичная настройка прошивки WLED, которой штатно комплектуется контроллер.
Пока это только обзор платы без реализации каких-либо проектов на ней, возможно этой теме будут посвящены последующие статьи.
Микросервисы на основе событий с Kafka Streams и Spring Boot
Всем привет! Это моя первая статья на Habr, так что не судите строго за стиль, а вот по содержанию буду рад любой конструктивной критике.
Статья основана на публикациях Confluent о том, как можно реализовать микросервисную архитектуру на основе событий с помощью Kafka Streams и KSQL.
NFCKEY изменит ваше понимание о привычном быте
Знакомство с компанией и ответы на 9 ключевых вопросов для любого стартапа.
В чем идея? Какие отличия от конкурентов? Каков рынок и отношение к этому людей? Какой был CustDev? Как работает технология? В чем ключевые преимущества? Какие были сложности? Почему считаете, что именно у вас получится? И самый главный: «А как же это поменяет быт людей?».
Разработка высоконагруженного игрового WebSocket сервера на Java, Netty с поддержкой BattleRoyale/Matchmaking
Всем доброго времени суток. В предыдущей статье я затронул тему клиентской разработки браузерной игры. В этой же публикации попробую пролить свет на детали разработки мультиплеера, а именно - разработки игрового websocket-tcp сервера на Netty.
Разберем технические особенности реализации такого сервера, способы улучшения производительности, игровую логику и т.д.
Information
- Rating
- Does not participate
- Location
- Россия
- Date of birth
- Registered
- Activity