Permutations - [LEET] Code with me #45
13:03
Пікірлер
@СергейШапочкин-з1м
@СергейШапочкин-з1м 18 сағат бұрын
ищу информацию, в том числе разные видео на ютубе, надеюсь твоё видео поможет
@TheExcentro
@TheExcentro 3 күн бұрын
Спасибо! Вы не думали сделать видео по наиболее часто используемым алгоритмам, используемых при решении задач на leetcode? Типа топ 8-10-15 алгоритмов, позволяющих решать 80% задач :) Такие видео есть на английском, но на русском я вроде не встречал.. Я про всякие sliding window, BFS, DFS и так далее.
@ABarmin
@ABarmin 2 күн бұрын
Спасибо, отличная идея, чтобы реализовать в 2025-м!
@timolololo
@timolololo 3 күн бұрын
Благодарю за видео! Всегда на высоте
@ABarmin
@ABarmin 2 күн бұрын
Спасибо большое, рад, что нравится
@oleggye
@oleggye 10 күн бұрын
Спасибо!
@DanikKasperchuk
@DanikKasperchuk 17 күн бұрын
Замечательный разбор, спасибо!
@oleggye
@oleggye 17 күн бұрын
Отличное видео, спасибо, Александр!
@cool_talk
@cool_talk 24 күн бұрын
супер спасибо!
@smirnovod
@smirnovod Ай бұрын
Очень интересная и содержательная подача материала. Одно из немногих видео, где дается глубинное понимание принципов построения MSA. Большое спасибо!🤝
@enterprise7585
@enterprise7585 Ай бұрын
Узнал для себя много нового,апигейтвей нужен чтобы сэкономить батарейку на мобиле,а бфф нужен чтобы туда всунуть графкюэль :) А если серьёзно, то хороший доклад, для себя несколько новых вещей узнал.
@ТатьянаБармина-п8н
@ТатьянаБармина-п8н Ай бұрын
Спасибо
@nadzhafox
@nadzhafox Ай бұрын
Вот этот момент где все набивают шишки от микросервисной архитектуры всегда прикольно слушать, т.е. находишь где то монолит прогоняешь телегу что нам ну очень нужно на микросервисы а потом *пук пук среньк среньк* извините бизнес нефига не работает, ну я пошел.
@ABarmin
@ABarmin Ай бұрын
Да, это частая ситуация с микросервисами - вроде в большом монолите все работало, но сложность выросла настолько, что решили разделить. И тут сложность выросла еще больше!
@evgenykostrikov5429
@evgenykostrikov5429 Ай бұрын
Есть подход, который для понимания немного проще, когда создается фейковая нода начальная, к которой цепляются другие ноды при объединении. И еще хотелось бы слышать чем именно плох первый подход в завязке на сложность, ибо завязка на рантайм в реальном интервью с задачей по типу литкода вряд ли будет интересна интервьюеру.
@evgenykostrikov5429
@evgenykostrikov5429 Ай бұрын
На самом деле сомнительная оптимизация, если посчитать сложность. Понятно, что тут константа по сути, т.к. размер ограничен и известен. Но на реальном интервью скорее всего важно будет продемонстрировать понимание алгоритмической сложности, а не времени исполнения на литкоде.
@ТатьянаБармина-п8н
@ТатьянаБармина-п8н Ай бұрын
Спасибо
@ТатьянаБармина-п8н
@ТатьянаБармина-п8н Ай бұрын
Спасибо
@Saycka
@Saycka 2 ай бұрын
После слов что у микросервиса обязательно должен быть api и клиент, слушать его как то перехотелось... Ну и послушав еще немного, убедился, что первое впечатление не обмануло)
@ВасилийШалашов-п2й
@ВасилийШалашов-п2й 2 ай бұрын
Призрачный экзаминатор был из-за того, что эврика иногда отображает в панели инфу об "умерших" сервисах.
@Chybaka-lp6fd
@Chybaka-lp6fd 2 ай бұрын
очень полезно, спасибо
@ТатьянаБармина-п8н
@ТатьянаБармина-п8н 2 ай бұрын
Спасибо!
@user-lk8n0fgjk
@user-lk8n0fgjk 2 ай бұрын
Большое спасибо за Ваш труд! очень полезно
@yanaya7230
@yanaya7230 2 ай бұрын
С чего Требования: Функциональные - системные операции Не функциональные - качества Что должна делать система? Понять, какие внешние операции будут? Разделить приложение на отдельные сервисы. (2 стратегии) По бизнес функциям (Внутри больших б.ф ест функции меньше.) Взглянув на функцию управления курьерами, мы понимаем, что она большая. Одна функция свапится на о дельный серфис/приложения. Какие гаицы сервиса и агрегаты. 1 прил - 1 бизнес функция. и по дизайну доменов Начинаем с пректирования ддд. Смотрим какие функции мапятся на большие функции. 3. Определение операций между сервисами. (Между собой обмениватся ?) (Модель запросов и ответов request/response) Запрос - синхронно и ответ ассинхронно. Клиент отправил множество запросов Как понять к какому пришёл ответ? Идентификатор к вопросу и к ответу Ассинхронное взаимодействие. Если есть несколько клиентов и взаимодействие с ними ассинхронно. Publish subscribe У ассинхронного и синхронного взаимодействия... И клиент и сервер должны быть доступны. Если они не доступны - такой запрос не обработать. Каждая система отвечает ассинхронно. Надёжность: Как вызывать сервисы? Бизнес логика - порт. Прокси. Проблемы сильной связи. И через сервисный Удаленный вызов. Месседжинг Не надо из бизнес логики Корреляционный айди. И Приёмник сообщений. Архитектура с брокером или без? Корреляция - триггер и Брокер - прмежуточное хранилище. Записывать обработанные идентификаторы сообщений в промеждуточную таблицу Дублирующиеся сообщения. У каждого серфиса есть приежуточныц буфер, куда он сохр. Сообщения перед отправкой. Чем больше серфисов в обработке запроса - тем меньше надежность системы. Избавиться от асинхронного взаимодействия. И добавляем очередь У него есть промежуточные состояния и хранилища. Если система не требует синхронного ответа. Если требует. Нет ли каких-то данных, кот. Нужны этому серфису входному? Нет и таких у зависимых сервисов? Репликация данных (подход) Какие-то запросы этот сервис может синхронно обрабатывать. Нет единого верного решения. Мы смотрим на варианты. Что мы можем сделать?
@yasnoponyatno6208
@yasnoponyatno6208 3 ай бұрын
Благодарю. Как раз было неясно как правильно тестировать контроллеры. Законспектировал.
@viewer_evgeniy
@viewer_evgeniy 3 ай бұрын
C этими префиксами у спринга какая-то беда прям. Где-то требуются, где-то не требуются (фреймворк сам добавляет). Почему не привели данный аспект к единому формату - мне так и осталось неясным.
@mursadinovmalik6373
@mursadinovmalik6373 3 ай бұрын
Как понимаю, вы использовали принцип динамического программирования или я ошибаюсь
@ABarmin
@ABarmin 3 ай бұрын
Не, никакого динамического программирования, результаты с предыдущих шагов не используются. Выигрыш достигается только за счет того, что не создаются дополнительные структуры данных
@mursadinovmalik6373
@mursadinovmalik6373 3 ай бұрын
@@ABarmin тоже потом догнал, спасибо за ответ
@ТатьянаБармина-п8н
@ТатьянаБармина-п8н 3 ай бұрын
Спасибо
@zisoua
@zisoua 3 ай бұрын
Очень интересный опыт и практика! А что Вы можете порекомендовать для создания PDF-файлов? Это довольно частый вариант для генерации квитанций. И довольно специфический вопрос: какие паттерны проектирования Вы чаще всего используете в разработке (не считая "подкапотных" паттернов Spring)? Это больше для понимания, в какие из них стоит углубиться больше всего. Спасибо!
@ABarmin
@ABarmin 3 ай бұрын
Я использовал Apache PDFBox для работы с PDF. Более-менее удобный инструмент, развивается, поддерживается. По поводу паттернов - здесь тяжело прям назвать конкретные, поэтому назову группы. GoF паттерны обнаруживаются тут и там, часто используются enterprise integration patterns, описанные в одноименной книге. Часто использую тактические паттерны DDD и все чаще стратегические. Мои личные фавориты среди паттернов - composer & chain of responsibility.
@IgorKlimov-l9s
@IgorKlimov-l9s 3 ай бұрын
Спасибо за очередной выпуск! Nio апи действительно сильно упрощает многие вещи.
@ABarmin
@ABarmin 3 ай бұрын
Это правда. Несмотря на все модные новые фишки вроде object storage-ей, работа с файлами все равно встречается часто.
@oleggye
@oleggye 3 ай бұрын
Отличный выпуск, спасибо, Александр!
@ABarmin
@ABarmin 3 ай бұрын
Спасибо!
@Ту-ту-ту-ту
@Ту-ту-ту-ту 3 ай бұрын
Доклад очень интересный, одно так и не понял зачем эврика в k8s
@ABarmin
@ABarmin 3 ай бұрын
Вроде как там рассказывается о постепенном переходе с эврики на k8s сервисы.
@pashapofactu3897
@pashapofactu3897 3 ай бұрын
Благодарю за море полезной информации 🤝
@ABarmin
@ABarmin 3 ай бұрын
Пожалуйста!
@RasimAlimgukov
@RasimAlimgukov 3 ай бұрын
Без обид, чисто замечания как слушателя. Названия паттернов произносится невнятно и тихо , а ведь это главное. Не хватило перевода слайда, как только я перевел текст на слайдах сразу всё становится понятно. Многие термины с англ на русский вооще не правильно перведены и донесены. Причмокивания, кашли, глотания воды, шмыгания тоже придали щепотку отвращения. Ну и самых важных паттернов микросервисов, которые спрашиваются на собезе не было показано и объяснено. Но за работу лайк.
@ABarmin
@ABarmin 3 ай бұрын
Спасибо за замечания. Надеюсь, более новые видео более хорошего качества.
@user-lk8n0fgjk
@user-lk8n0fgjk 3 ай бұрын
Спасибо за Ваш труд. Все четко и понятно! Не останавливайтесь!
@АлександрГубайдулин-я2н
@АлександрГубайдулин-я2н 3 ай бұрын
Добрый день! Появится ли код примера на гитхабе? Не увидел в репозитории кода этого урока
@ABarmin
@ABarmin 3 ай бұрын
Все есть, уже на гихабе.
@zisoua
@zisoua 3 ай бұрын
о это прям красота !
@ABarmin
@ABarmin 3 ай бұрын
Мы старались! Рад, что понравилось
@flatmapper
@flatmapper 3 ай бұрын
Please zoom in
@ABarmin
@ABarmin 3 ай бұрын
Will do next time, thank you for pointing it out.
@ТатьянаБармина-п8н
@ТатьянаБармина-п8н 3 ай бұрын
Спасибо
@ABarmin
@ABarmin 3 ай бұрын
Пожалуйста ^_^
@ИльяРоманов-г4б
@ИльяРоманов-г4б 3 ай бұрын
Спасибо за ролик!
@ABarmin
@ABarmin 3 ай бұрын
Пожалуйста ^_^
@alexandertolkachev3399
@alexandertolkachev3399 3 ай бұрын
Смотрю на код и ничего не понимаю. Какой-то тяжелый понедельник.
@ABarmin
@ABarmin 3 ай бұрын
У меня так же. Хорошо, что я ролик записал еще на прошлой неделе.
@АлександрБугримов-о1е
@АлександрБугримов-о1е 3 ай бұрын
Очень круто! Спасибо за видео
@ABarmin
@ABarmin 3 ай бұрын
Пожалуйста!
@IgorKlimov-l9s
@IgorKlimov-l9s 3 ай бұрын
Спасибо за детальный разбор!
@ABarmin
@ABarmin 3 ай бұрын
Пожалуйста, рад, что нравится.
@sqy3371
@sqy3371 3 ай бұрын
Спасибо большое за видео!
@ABarmin
@ABarmin 3 ай бұрын
Пожалуйста!
@Makkensh1
@Makkensh1 3 ай бұрын
Было бы интересно послушать про интеграцию с keycloak и spring gateway
@ИльяРоманов-г4б
@ИльяРоманов-г4б 3 ай бұрын
Александр, спасибо большое за вторую часть!
@ABarmin
@ABarmin 3 ай бұрын
Рад, что нравится. Пожалуйста!
@TheExcentro
@TheExcentro 3 ай бұрын
Спасибо, как всегда интересно :)
@ABarmin
@ABarmin 3 ай бұрын
Рад, что нравится. Пожалуйста!
@alexkoren7648
@alexkoren7648 3 ай бұрын
достаточно понятно и интересно, спасибо 👍. но лично мое мнение подход Борисова к объяснению с написанием кода с нуля себя оправдывает, этого не хватает немного.
@vladimirsolovyov9400
@vladimirsolovyov9400 3 ай бұрын
получается же что второе решение работает не за O(log N) а за O(N) странно что оно бьет 100% по времени выполнения :)
@ABarmin
@ABarmin 3 ай бұрын
Именно так, поэтому и странно.
@oleksandr.tereshchenko
@oleksandr.tereshchenko 3 ай бұрын
Александр, большое спасибо вам за ваш труд. Каждый раз кайфую от ваших объяснений!
@ABarmin
@ABarmin 3 ай бұрын
Спасибо, очень стараюсь, чтобы было интересно.
@ИльяРоманов-г4б
@ИльяРоманов-г4б 3 ай бұрын
Урааа, спасибо большое!
@ABarmin
@ABarmin 3 ай бұрын
Рад, что нравится =)
@exactly4234
@exactly4234 3 ай бұрын
Черт, Шарий программировать взялся
@IgorKlimov-l9s
@IgorKlimov-l9s 3 ай бұрын
Спасибо за очередной детальный разбор! У меня возник вопрос по взаимодействию между микросервисами. Суть в следующем: если авторизация и аутентификация происходят в бфф или апи шлюзе, и нужно передать данные о текущем пользователе сервисам ниже, какой подход считается бест практис с точки зрения безопасности? Нужно ли снова шифровать данные или можно открыто передать в хэдэрах/параметрах/теле запроса?
@ABarmin
@ABarmin 3 ай бұрын
И простого ответа, как обычно, нет, но есть варианты: 1) Токен переправляется в другие сервисы в хедере как есть. 2) Делаем token exchange и получаем новый токен для межсервисного взаимодействия, который содержит значения из исходного токена. Второй способ более надежный и используется, когда есть необходимость разделить сервисы на публичные и внутренние, а также, когда нужно интегрировать новую систему с уже существующей. Про шифрование данных - здесь зависит. Обычно, шифрование данные это не задача сервиса и здесь спасает SSL/TLS или sidecar контейнер с прокси, например, с nginx или envoy.
@IgorKlimov-l9s
@IgorKlimov-l9s 3 ай бұрын
@@ABarmin Спасибо за ответ!