ищу информацию, в том числе разные видео на ютубе, надеюсь твоё видео поможет
@TheExcentro3 күн бұрын
Спасибо! Вы не думали сделать видео по наиболее часто используемым алгоритмам, используемых при решении задач на leetcode? Типа топ 8-10-15 алгоритмов, позволяющих решать 80% задач :) Такие видео есть на английском, но на русском я вроде не встречал.. Я про всякие sliding window, BFS, DFS и так далее.
@ABarmin2 күн бұрын
Спасибо, отличная идея, чтобы реализовать в 2025-м!
@timolololo3 күн бұрын
Благодарю за видео! Всегда на высоте
@ABarmin2 күн бұрын
Спасибо большое, рад, что нравится
@oleggye10 күн бұрын
Спасибо!
@DanikKasperchuk17 күн бұрын
Замечательный разбор, спасибо!
@oleggye17 күн бұрын
Отличное видео, спасибо, Александр!
@cool_talk24 күн бұрын
супер спасибо!
@smirnovodАй бұрын
Очень интересная и содержательная подача материала. Одно из немногих видео, где дается глубинное понимание принципов построения MSA. Большое спасибо!🤝
@enterprise7585Ай бұрын
Узнал для себя много нового,апигейтвей нужен чтобы сэкономить батарейку на мобиле,а бфф нужен чтобы туда всунуть графкюэль :) А если серьёзно, то хороший доклад, для себя несколько новых вещей узнал.
@ТатьянаБармина-п8нАй бұрын
Спасибо
@nadzhafoxАй бұрын
Вот этот момент где все набивают шишки от микросервисной архитектуры всегда прикольно слушать, т.е. находишь где то монолит прогоняешь телегу что нам ну очень нужно на микросервисы а потом *пук пук среньк среньк* извините бизнес нефига не работает, ну я пошел.
@ABarminАй бұрын
Да, это частая ситуация с микросервисами - вроде в большом монолите все работало, но сложность выросла настолько, что решили разделить. И тут сложность выросла еще больше!
@evgenykostrikov5429Ай бұрын
Есть подход, который для понимания немного проще, когда создается фейковая нода начальная, к которой цепляются другие ноды при объединении. И еще хотелось бы слышать чем именно плох первый подход в завязке на сложность, ибо завязка на рантайм в реальном интервью с задачей по типу литкода вряд ли будет интересна интервьюеру.
@evgenykostrikov5429Ай бұрын
На самом деле сомнительная оптимизация, если посчитать сложность. Понятно, что тут константа по сути, т.к. размер ограничен и известен. Но на реальном интервью скорее всего важно будет продемонстрировать понимание алгоритмической сложности, а не времени исполнения на литкоде.
@ТатьянаБармина-п8нАй бұрын
Спасибо
@ТатьянаБармина-п8нАй бұрын
Спасибо
@Saycka2 ай бұрын
После слов что у микросервиса обязательно должен быть api и клиент, слушать его как то перехотелось... Ну и послушав еще немного, убедился, что первое впечатление не обмануло)
@ВасилийШалашов-п2й2 ай бұрын
Призрачный экзаминатор был из-за того, что эврика иногда отображает в панели инфу об "умерших" сервисах.
@Chybaka-lp6fd2 ай бұрын
очень полезно, спасибо
@ТатьянаБармина-п8н2 ай бұрын
Спасибо!
@user-lk8n0fgjk2 ай бұрын
Большое спасибо за Ваш труд! очень полезно
@yanaya72302 ай бұрын
С чего Требования: Функциональные - системные операции Не функциональные - качества Что должна делать система? Понять, какие внешние операции будут? Разделить приложение на отдельные сервисы. (2 стратегии) По бизнес функциям (Внутри больших б.ф ест функции меньше.) Взглянув на функцию управления курьерами, мы понимаем, что она большая. Одна функция свапится на о дельный серфис/приложения. Какие гаицы сервиса и агрегаты. 1 прил - 1 бизнес функция. и по дизайну доменов Начинаем с пректирования ддд. Смотрим какие функции мапятся на большие функции. 3. Определение операций между сервисами. (Между собой обмениватся ?) (Модель запросов и ответов request/response) Запрос - синхронно и ответ ассинхронно. Клиент отправил множество запросов Как понять к какому пришёл ответ? Идентификатор к вопросу и к ответу Ассинхронное взаимодействие. Если есть несколько клиентов и взаимодействие с ними ассинхронно. Publish subscribe У ассинхронного и синхронного взаимодействия... И клиент и сервер должны быть доступны. Если они не доступны - такой запрос не обработать. Каждая система отвечает ассинхронно. Надёжность: Как вызывать сервисы? Бизнес логика - порт. Прокси. Проблемы сильной связи. И через сервисный Удаленный вызов. Месседжинг Не надо из бизнес логики Корреляционный айди. И Приёмник сообщений. Архитектура с брокером или без? Корреляция - триггер и Брокер - прмежуточное хранилище. Записывать обработанные идентификаторы сообщений в промеждуточную таблицу Дублирующиеся сообщения. У каждого серфиса есть приежуточныц буфер, куда он сохр. Сообщения перед отправкой. Чем больше серфисов в обработке запроса - тем меньше надежность системы. Избавиться от асинхронного взаимодействия. И добавляем очередь У него есть промежуточные состояния и хранилища. Если система не требует синхронного ответа. Если требует. Нет ли каких-то данных, кот. Нужны этому серфису входному? Нет и таких у зависимых сервисов? Репликация данных (подход) Какие-то запросы этот сервис может синхронно обрабатывать. Нет единого верного решения. Мы смотрим на варианты. Что мы можем сделать?
@yasnoponyatno62083 ай бұрын
Благодарю. Как раз было неясно как правильно тестировать контроллеры. Законспектировал.
@viewer_evgeniy3 ай бұрын
C этими префиксами у спринга какая-то беда прям. Где-то требуются, где-то не требуются (фреймворк сам добавляет). Почему не привели данный аспект к единому формату - мне так и осталось неясным.
@mursadinovmalik63733 ай бұрын
Как понимаю, вы использовали принцип динамического программирования или я ошибаюсь
@ABarmin3 ай бұрын
Не, никакого динамического программирования, результаты с предыдущих шагов не используются. Выигрыш достигается только за счет того, что не создаются дополнительные структуры данных
@mursadinovmalik63733 ай бұрын
@@ABarmin тоже потом догнал, спасибо за ответ
@ТатьянаБармина-п8н3 ай бұрын
Спасибо
@zisoua3 ай бұрын
Очень интересный опыт и практика! А что Вы можете порекомендовать для создания PDF-файлов? Это довольно частый вариант для генерации квитанций. И довольно специфический вопрос: какие паттерны проектирования Вы чаще всего используете в разработке (не считая "подкапотных" паттернов Spring)? Это больше для понимания, в какие из них стоит углубиться больше всего. Спасибо!
@ABarmin3 ай бұрын
Я использовал Apache PDFBox для работы с PDF. Более-менее удобный инструмент, развивается, поддерживается. По поводу паттернов - здесь тяжело прям назвать конкретные, поэтому назову группы. GoF паттерны обнаруживаются тут и там, часто используются enterprise integration patterns, описанные в одноименной книге. Часто использую тактические паттерны DDD и все чаще стратегические. Мои личные фавориты среди паттернов - composer & chain of responsibility.
@IgorKlimov-l9s3 ай бұрын
Спасибо за очередной выпуск! Nio апи действительно сильно упрощает многие вещи.
@ABarmin3 ай бұрын
Это правда. Несмотря на все модные новые фишки вроде object storage-ей, работа с файлами все равно встречается часто.
@oleggye3 ай бұрын
Отличный выпуск, спасибо, Александр!
@ABarmin3 ай бұрын
Спасибо!
@Ту-ту-ту-ту3 ай бұрын
Доклад очень интересный, одно так и не понял зачем эврика в k8s
@ABarmin3 ай бұрын
Вроде как там рассказывается о постепенном переходе с эврики на k8s сервисы.
@pashapofactu38973 ай бұрын
Благодарю за море полезной информации 🤝
@ABarmin3 ай бұрын
Пожалуйста!
@RasimAlimgukov3 ай бұрын
Без обид, чисто замечания как слушателя. Названия паттернов произносится невнятно и тихо , а ведь это главное. Не хватило перевода слайда, как только я перевел текст на слайдах сразу всё становится понятно. Многие термины с англ на русский вооще не правильно перведены и донесены. Причмокивания, кашли, глотания воды, шмыгания тоже придали щепотку отвращения. Ну и самых важных паттернов микросервисов, которые спрашиваются на собезе не было показано и объяснено. Но за работу лайк.
@ABarmin3 ай бұрын
Спасибо за замечания. Надеюсь, более новые видео более хорошего качества.
@user-lk8n0fgjk3 ай бұрын
Спасибо за Ваш труд. Все четко и понятно! Не останавливайтесь!
@АлександрГубайдулин-я2н3 ай бұрын
Добрый день! Появится ли код примера на гитхабе? Не увидел в репозитории кода этого урока
@ABarmin3 ай бұрын
Все есть, уже на гихабе.
@zisoua3 ай бұрын
о это прям красота !
@ABarmin3 ай бұрын
Мы старались! Рад, что понравилось
@flatmapper3 ай бұрын
Please zoom in
@ABarmin3 ай бұрын
Will do next time, thank you for pointing it out.
@ТатьянаБармина-п8н3 ай бұрын
Спасибо
@ABarmin3 ай бұрын
Пожалуйста ^_^
@ИльяРоманов-г4б3 ай бұрын
Спасибо за ролик!
@ABarmin3 ай бұрын
Пожалуйста ^_^
@alexandertolkachev33993 ай бұрын
Смотрю на код и ничего не понимаю. Какой-то тяжелый понедельник.
@ABarmin3 ай бұрын
У меня так же. Хорошо, что я ролик записал еще на прошлой неделе.
@АлександрБугримов-о1е3 ай бұрын
Очень круто! Спасибо за видео
@ABarmin3 ай бұрын
Пожалуйста!
@IgorKlimov-l9s3 ай бұрын
Спасибо за детальный разбор!
@ABarmin3 ай бұрын
Пожалуйста, рад, что нравится.
@sqy33713 ай бұрын
Спасибо большое за видео!
@ABarmin3 ай бұрын
Пожалуйста!
@Makkensh13 ай бұрын
Было бы интересно послушать про интеграцию с keycloak и spring gateway
@ИльяРоманов-г4б3 ай бұрын
Александр, спасибо большое за вторую часть!
@ABarmin3 ай бұрын
Рад, что нравится. Пожалуйста!
@TheExcentro3 ай бұрын
Спасибо, как всегда интересно :)
@ABarmin3 ай бұрын
Рад, что нравится. Пожалуйста!
@alexkoren76483 ай бұрын
достаточно понятно и интересно, спасибо 👍. но лично мое мнение подход Борисова к объяснению с написанием кода с нуля себя оправдывает, этого не хватает немного.
@vladimirsolovyov94003 ай бұрын
получается же что второе решение работает не за O(log N) а за O(N) странно что оно бьет 100% по времени выполнения :)
@ABarmin3 ай бұрын
Именно так, поэтому и странно.
@oleksandr.tereshchenko3 ай бұрын
Александр, большое спасибо вам за ваш труд. Каждый раз кайфую от ваших объяснений!
@ABarmin3 ай бұрын
Спасибо, очень стараюсь, чтобы было интересно.
@ИльяРоманов-г4б3 ай бұрын
Урааа, спасибо большое!
@ABarmin3 ай бұрын
Рад, что нравится =)
@exactly42343 ай бұрын
Черт, Шарий программировать взялся
@IgorKlimov-l9s3 ай бұрын
Спасибо за очередной детальный разбор! У меня возник вопрос по взаимодействию между микросервисами. Суть в следующем: если авторизация и аутентификация происходят в бфф или апи шлюзе, и нужно передать данные о текущем пользователе сервисам ниже, какой подход считается бест практис с точки зрения безопасности? Нужно ли снова шифровать данные или можно открыто передать в хэдэрах/параметрах/теле запроса?
@ABarmin3 ай бұрын
И простого ответа, как обычно, нет, но есть варианты: 1) Токен переправляется в другие сервисы в хедере как есть. 2) Делаем token exchange и получаем новый токен для межсервисного взаимодействия, который содержит значения из исходного токена. Второй способ более надежный и используется, когда есть необходимость разделить сервисы на публичные и внутренние, а также, когда нужно интегрировать новую систему с уже существующей. Про шифрование данных - здесь зависит. Обычно, шифрование данные это не задача сервиса и здесь спасает SSL/TLS или sidecar контейнер с прокси, например, с nginx или envoy.