Проектирование архитектуры сервиса доставки еды

Поделиться
HTML-код
  • Опубликовано: 8 сен 2024

Комментарии • 288

  • @zhukovsd_it_mentor
    @zhukovsd_it_mentor  Год назад +10

    Диаграммы из видео - t.me/zhukovsd_it_chat/8867

  • @736939
    @736939 Год назад +343

    По больше таких стримов, Kotlin, Python, Rust - все и так изучают, а вот правильное проектирование и системный дизайн это то, чего так не хватает. Спасибо )

    • @vincentvince2136
      @vincentvince2136 Год назад +7

      Этому учат в ВУЗах, а еще книжки попробуй тематические почитать

    • @MrNagios
      @MrNagios Год назад +2

      вообще поподробней хотелось по этой теме. Особенно об инструментах

    • @736939
      @736939 Год назад +17

      @@vincentvince2136 В книгах тоже много теории, нужен сам процесс.

    • @pavelpavel7938
      @pavelpavel7938 Год назад +2

      где вы тут увидели про проектирование и дизайн? )))

    • @cool_piglet
      @cool_piglet Год назад +1

      сначала до уровня хотя бы мидла дорасти, а потом грязными ручонками лезь в архитектуру.

  • @zest01
    @zest01 Год назад +115

    Первый раз смотрю подобное видео - случайно попало в рекомендованные. Очень интересно было посмотреть и понять ход мыслей разработчика при работе над проектом.
    Я как маркетолог часто слышал обрывки диалогов программистов и теперь более понятно о чем идут столь оживленные дискуссии )
    Ну и, по правде говоря, при работе над улучшением продукта, мне реально интересно знать как этот продукт устроен технически. Теперь ясно как в целом работает приложение.
    Было бы интересно в таком же формате разбор от ПМа, продакта и бизнес аналитика.
    P.S. Кому нудно - включайте на х1,75. Отлично смотрится.

  • @sinsinegobaffa7321
    @sinsinegobaffa7321 Год назад +27

    Более содержательного видео не могу вспомнить, пусть поверхностно, но за полтора часа дать такое комплексное описание целого, почти реального проекта, это просто вау, что самое главное понятное. Премного благодарен автору, подписка однозначно.

  • @stan_yolo
    @stan_yolo Год назад +233

    нашел это видео после после просмотра видео о каналах шизофреников

    • @onetwothree123-
      @onetwothree123- Год назад +6

      😅😅😅

    • @lintop3908
      @lintop3908 Год назад

      Жесть, ну там конечно и клоуны 🤡

    • @podbra01
      @podbra01 Год назад +1

      Да у меня тоже они всплывают. Хотя никогда не кликал

    • @drago5338
      @drago5338 9 месяцев назад +1

      Точно также тут оказался

    • @ChuckNorris-rv7pt
      @ChuckNorris-rv7pt 7 месяцев назад

      Что за каналы такие? Очень интересно.

  • @SK-xb1qz
    @SK-xb1qz Год назад +60

    Почитал комментарии и аж обидно стало. Видео просто пушка. Автор сразу же обозначил цель видео, наложенные ограничения и в чём вообще задумка и мне кажется, автор цели достиг, с задачами справился и ограничения учёл.
    Видео, на мой взгляд, получилось очень информативным, полезным и интересным. Процесс проектирования сложных сервисов действительно показан хорошо. Даже если бы обсуждался реальный сервис - уже было бы от чего оттолкнуться и что начать обсуждать командой из нескольких человек, а не в одно лицо. Такой результат за полтора часа - это очень круто(понятно, что автор потратил больше, чем полтора часа, рисование схем, продумывание сценариев - это довольно много времени, но всё же). Да, много моментов, которые просят пояснения, много где можно подискутировать и поспорить, но видос не про это вовсе.
    Сергей, большое вам спасибо! С дикцией у вас тоже всё отлично, да и в конце концов, вы не теледиктор, вас не за красоту слога приходят смотреть.

    • @zhukovsd_it_mentor
      @zhukovsd_it_mentor  Год назад +3

      Спасибо 👍

    • @JohnDoe-ji1zv
      @JohnDoe-ji1zv 11 месяцев назад

      @@zhukovsd_it_mentorвидео класс, продолжайте в том же духе

  • @user-wc4me1mk7y
    @user-wc4me1mk7y 7 месяцев назад +6

    Огромное тебе спасибо, Гэри Олдман, за прекрасное изложение материала ещё и на русском. Посмотрел за раз, не отрываясь. Успеха тебе в ютуб-пространстве.

  • @meshcheryakov
    @meshcheryakov Год назад +11

    На редкость полезное видео. Дизайню интерфейсы, чисто из любопытства решил поинтересоваться за архитектуру - теперь всё прям по полочкам расставилось. Спасибо.

  • @MsMelkus
    @MsMelkus Год назад +7

    Спасибо, посмеялся.
    Классическая ошибка "микросервисы ради микросервисов", аналогично redis и rabbitMQ. Аналогично столь подробное планирование архитектуры простого проекта.
    При этом нет обоснования выбора того или иного пути.

    • @radik353
      @radik353 Год назад +2

      Согласен. Вместо одного большого монолита мы сделаем кучу сервисов, которые юзают одну и туже бд. По сути получился распределённый монолит, с кучей побочных проблем: deploy, масштабирование, сомвестимость api

    • @zhukovsd_it_mentor
      @zhukovsd_it_mentor  Год назад +2

      Вы всё верно пишете, но задачи спроектировать коммерческий проект я для себя не ставил при подготовке к этому видео. Цель видео - озвучить ход мыслей, и схематично показать процессы проектирования. Основная моя ЦА - джуниоры и те кто готовится к своей первой работе, я стараюсь чтобы понятность моего контента соответствовала целевой аудитории.
      Вопросы монолита и микросервисов, очередей и прочее - вопросы более высокого уровня, для понимания и обсуждения которых нужен определённый уровень и опыт.
      Но так как на канал приходят люди с таким опытом, как вы, например, постараюсь в будущем делать более явный дисклеймер на эту тему.
      Спасибо за фидбек.

    • @MsMelkus
      @MsMelkus Год назад +1

      @@radik353 очень странный подход - показывать именно формально бюрократическую часть работы, гиперболизируя её и не объясняя логики. Ну да бог вам судья

    • @mightybobka
      @mightybobka Год назад

      @@zhukovsd_it_mentor Я пропустил в этом видео момент где вы хоть что-то проектируете. Укажите таймкод, пожалуйста.

    • @zhukovsd_it_mentor
      @zhukovsd_it_mentor  Год назад

      @@mightybobka 1:39:41

  • @-dubok-
    @-dubok- Год назад +6

    Спасибо, очень любопытно посмотреть как этим занимаются на практике. Я и сам учусь на программиста самостоятельно и понимаю, что самое главное в этом деле - архитектура. Это - начало начал и именно этим мне и нравится заниматься, нежели кодингом. Изучил немного тему EDA, событийно-ориентированной архитектуры и DDD, предметно-ориентированный дизайн приложений. Считаю, что это лучшая связка для архитектуры практически любых приложений, так как события убирают связность между модулями, а предметные области позволяют правильно разбить приложение на отдельные службы.
    У вас разбивка похожа на DDD, но отличие в том, что у вас все данные хранятся в одном месте, что противоречит DDD. По DDD каждая служба (сервис) должна хранить свои данные в своей независимой базе (теоретически СУБД можно использовать одну, но базы должны быть разные). По DDD каждая предметная область содержит как данные, так и логику для их обработки (по сути как и объект в ООП), что создаёт изоляцию и независимость от других предметных областей. А это даёт больше свободы и простоты в поддержке. Можно любую предметную область удалить, добавить, и это будет абсолютно не заметно для других, если используются события для общения, а не прямые RPC и прочие такие запросы с ожиданием ответа. При чисто событийной архитектуре всё общение идёт через шину событий, и она является единственным модулем, с которым напрямую связаны все предметные области. А это - максимальная изоляция друг от друга - то, к чему стремятся многие программисты, понимая весь ужас и тяжесть монолитных и спагеттеобразных приложений, где все связи между модулями и данными прямые.
    Не лучше ли всё-таки использовать DDD?

    • @zhukovsd_it_mentor
      @zhukovsd_it_mentor  Год назад +2

      Согласен с вашими рассуждениями о ценности DDD.
      В этом видео моей целью было по продемонстрировать ход мыслей при проектировании и наглядно по верхам показать схемы, БД, API.
      Но проект я выбрал довольно сложный, плюс, полтора часа - и так уже много, поэтому местами вышло поверхностно.
      В последующих видео по проектированию стараюсь не повторять эти ошибки.

    • @solverdce5044
      @solverdce5044 Год назад +2

      Это действительно важное принципиальное замечание, т.к. если уж упомянули о микросервисной архитектуре, то надо придерживаться и требований к микросервисам (у каждого свои данные). Иначе для тех, кто только начинает постигать системный анализ это может надолго создать неправильный подход.

  • @berspoland5667
    @berspoland5667 7 месяцев назад

    Огромное спасибо. Очень интересно, а главное, доходчиво получилось. Для меня как будто открылся закулисный мир разработки.

  • @nikitariazanov8051
    @nikitariazanov8051 9 месяцев назад +1

    Было очень интересно послушать по архетектуру и технологии. Спасибо за интересный материал! Успехов вам!

  • @barabucho
    @barabucho 10 месяцев назад

    Офигенный материл! Побольше бы таких с аргументированными объяснениями подходов.

  • @SupaDupaSneike
    @SupaDupaSneike Год назад +2

    Спасибо тебе, Гэри Олдман, за видео!

  • @AlexanderSavchenko91
    @AlexanderSavchenko91 Год назад

    Еще не смотрел полностью но кликнув на середину уже офигел от качества!!! Гляну попозже, поддержу сейчас!

  • @rbhbkk8980
    @rbhbkk8980 Год назад +1

    Гениальный видос, ничего подобного не видел за время активного поиска обучающего материала!

  • @petefedorov2955
    @petefedorov2955 11 месяцев назад

    Это что-то конечно..случайно наткнулся на это видео и буквально залип. Огромное спасибо автору за очень ценный урок и прекрасное, доходчивое объяснение!

  • @nuklon
    @nuklon Год назад +1

    Ашалеть, теперь и Гари Олдман в разрабах)

  • @TbIPDblM
    @TbIPDblM Год назад

    Содержательно, без воды. Есть понимание что и как надо осваивать, после того как разобрался с "Hello world" :D

  • @itanychannel
    @itanychannel Год назад

    Проходили про базы данных в вузе, про бек и фронт - на тестовых заданиях в ШМЯ. А вот про API не знала, это было новым. Спасибо! Это круче, чем онлайн курс.

  • @RNikSan
    @RNikSan Год назад +2

    Круто, очень полезная информация!

  • @user-dt9zl5pj8p
    @user-dt9zl5pj8p 10 месяцев назад

    Рад за автора, что он прочитал книгу "Микросервисы на практике"

  • @user-tl1ny6pq1s
    @user-tl1ny6pq1s Год назад +1

    Шел 2023й, мы выкладывали видео по программированию в 720p... Впрочем, спасибо за материал.

  • @gorbulevsv
    @gorbulevsv Год назад

    Спасибо, крутое видео, не каждый выкладывает структуру реального проекта и процесс проектирования. Вроде простое приложение, но офигеть насколько сложной схема получается, и это без всяких нюансов и общепринятых каких-то дополнений.

    • @zhukovsd_it_mentor
      @zhukovsd_it_mentor  Год назад

      Спасибо за отзыв.
      Всё-таки это не архитектура реального проекта, а скорее упрощенная демонстрация хода мыслей, с которыми подходят к проектированию.
      Очень многое не рассмотрено, но и так полтора часа получилось.

  • @artemsokolov5007
    @artemsokolov5007 11 месяцев назад

    отдельно понравилось рассуждение
    "ну сейчас все делают микросервисы поэтому мы тоже сделаем их"
    чевооооооо
    с ровного места огромные оверхеды разработки добавлены

  • @Daloshka
    @Daloshka Год назад +4

    Ни разу не делал схемы и не знал как они делаются. 3 года уже пишу свои проекты просто на абум, замотивировали почитать книжки по проектированию

  • @andrew-ld1jg
    @andrew-ld1jg Год назад

    Спасибо большое за такую полезную информацию!

  • @aleksandrkubar6255
    @aleksandrkubar6255 Год назад

    Спасибо за проделанную работу!

  • @nikenuke
    @nikenuke Год назад

    Спасибо за качественную информацию!

  • @user-kq8nk5vj5r
    @user-kq8nk5vj5r Месяц назад

    На троечку конечно аналитика и проектирование

  • @Kerogas_
    @Kerogas_ Год назад +3

    В таблицу Orders я бы добавил не одно поле timestamp, а что-то типа created и delivered - дата создания заказа и его доставки. Также можно было бы добавить таблицу а-ля "Order_Rating" со связью по полю id таблицы Orders, где была бы оценка заказа и комментарии по нему.

  • @theexpert7484
    @theexpert7484 Год назад

    Пока что отсмотрел не всё, но очень интересное видео. Показывает как можно и на что разбить проект, чтобы дальнейшая разработка шла по сформированной программе. И самое главное, что это прямая трансляция, где всё происходит без вырезания некоторых сцен(хотя понятно, что вопрос рассматривался ранее и рассматривались разные варианты).

  • @TheGrawest
    @TheGrawest 10 месяцев назад

    Очень интересно. Спасибо!

  • @telmax2005
    @telmax2005 Год назад +9

    Спасибо. Очень полезная информация. На кого же похож автор. Мне кажется на Жан Батист Эммануэль Зорг - вымышленный персонаж, главный злодей научно-фантастического фильма Люка Бессона "Пятый элемент". Сыгран знаменитым британским актером Гари Олдманом. )

    • @Sergey.Aleksandrovich.P-37rus
      @Sergey.Aleksandrovich.P-37rus Год назад

      Да,гари вообще играет нормально во всех фильмах,понравилась его роль в фильме - книга иллая.

    • @big_forehead_fish
      @big_forehead_fish Год назад

      Смесь Тодда Говарда и Мэрлина Мэнсона

  • @hpr895
    @hpr895 11 месяцев назад

    Научился по этому видео зарабатывать воображаемую зарплату!)

  • @TheEegmen
    @TheEegmen 6 месяцев назад

    Блин классно. Единственное для новичков хотелось бы видеть полноценную ER диаграмму

  • @dmitryneverovski5602
    @dmitryneverovski5602 10 месяцев назад

    Супер, очень крутой стрим)

  • @dmitriikapustin3384
    @dmitriikapustin3384 Год назад +4

    видео с мелким текстом в 720p
    Гениально

  • @johndavids6297
    @johndavids6297 Год назад

    Очень крутое видео! Увидеть бы реализацию)

  • @gtrixoff
    @gtrixoff 11 месяцев назад

    мы с пацанами расходимся после катки
    так же тот самый чел который решил рассказать коротенькую схемку с большой прибылью:

  • @timur2887
    @timur2887 Год назад +1

    Спасибо! Хотелось бы подробнее про аутентификацию, авторизацию, логирование, метрики, балансировку нагрузки и т.п.

  • @user-xl7wr2by6c
    @user-xl7wr2by6c Год назад

    Здравствуйте, спасибо большое, это очень круто!
    Хочется больше таких видео! Вы супер, у Вас всё обязательно получится!!

  • @NikolayYar
    @NikolayYar 10 месяцев назад

    Хорошее видео. Больше таких. )

  • @Filimon_enc
    @Filimon_enc Год назад

    интересная информашка. буду в бедующем наверное рассуждать по твоему же принципу.

  • @SuperEugeneone
    @SuperEugeneone Год назад

    Спасибо! Побольше бы такого годного контента на ютубе

  • @You2Ber42
    @You2Ber42 Год назад +2

    25:11
    Интересный подход, вроде все просто но раньше не приходило такое в голову, спасибо.
    Получается помесь BPMN и проектирования, на чистом BPMN конечно сам процесс был бы более качественно описан, но зато в таком виде удобно изучать архитектуру.
    В работе постоянно есть выбор между "обобщить" и потерять часть информации или "детализировать" но в итоге перегрузить схему так что она становится не читаемой. Вам удалось соблюсти хороший баланс. Это тоже важный навык который требуется нарабатывать.

    • @zhukovsd_it_mentor
      @zhukovsd_it_mentor  Год назад

      Спасибо, в этом и была идея, не перегружать слушателей терминологией, но при этом озвучивать ход мыслей по проектированию.

    • @You2Ber42
      @You2Ber42 Год назад

      @@zhukovsd_it_mentor тебе спасибо за видео, для меня это новый мир особенно те видео где ты разбираешь проекты, то как искуссно ты говоришь о недостатках при этом не обижая людей но в то же время конструктивно это что то недостижимое.
      Я сам по работе лид и делаю ревью кода Джунов и мидлов и приходится так же общаться с людьми, естественно я стараюсь быть минимально токсичным, но по сравнению с тем как ты это делаешь Я просто ребенок)). Очень много полезных приемов общения у тебя увидел.
      Писать код на самом деле самое простое что есть в работе Лида. Самое сложное это давать обратную связь и уметь явно излагать свои мысли.
      Если это читают начинающие ребята то мой совет учитесь у этого человека излагать мысли это гораздо важнее умения писать код)))

    • @zhukovsd_it_mentor
      @zhukovsd_it_mentor  Год назад

      @You2Ber42 спасибо, очень приятно что кто-то понял ровно то, что я пытаюсь донести в ревью между строк

  • @alekseykiselev3054
    @alekseykiselev3054 Год назад

    Видео супер, в качестве обучаеющего материала для разного уровня специалистов, спасибо автору за проделанную работу!!

  • @Gorlung
    @Gorlung Год назад +3

    я - весьма токсичный и нередко гажу в комментах (борюсь с этим, но не всегда получается). А это видео - тот случай, когда хочется поблагодарить автора за проделанную работу!

    • @KatyVLOGS12
      @KatyVLOGS12 11 месяцев назад

      Человек, который честен себе

  • @DInfinity3
    @DInfinity3 Год назад

    просто находка! вы очень крутой

  • @DosyaKurero
    @DosyaKurero Год назад

    Приложение вкусвилл идеальное во всей планете берите пример

  • @semenpetrov9456
    @semenpetrov9456 Год назад

    Надо учесть ещё возможность получения отчетов как из платежного сервиса, так и гибридных когда в одном отчете информация из всех серверов и сервисов.

    • @semenpetrov9456
      @semenpetrov9456 Год назад

      И логирование всего и вся

  • @anatoly_kabakov
    @anatoly_kabakov Год назад +12

    Классный ход мысли. Видно, что много раз делали подобный дизайн. Интересно, можно ли получить подобный ход мысли на синтетических задачах проектирования?

    • @zhukovsd_it_mentor
      @zhukovsd_it_mentor  Год назад +5

      Как и со многим другим, это вопрос опыта. Помогают книги по проектированию, эксперименты с пет проектами, участие в проектировании рабочих проектов.

    • @Jilexa
      @Jilexa Год назад +2

      @@zhukovsd_it_mentor какие книги посоветуете? И есть ли реальный от них прок в понимании архитектуры?

    • @zhukovsd_it_mentor
      @zhukovsd_it_mentor  Год назад +4

      @Jilexa
      Самое главное - в рабочих проектах учиться у старших коллег и постепенно участвовать в проектировании.
      По книгам:
      - Проектирование бизнес логики - Domain Driven Design by Eric Evans
      - Software Architecture Patterns
      - Если в проекте есть БД, SQL/NoSQL, хорошо почитать что-то про проектирование хранилища, например книгу "SQL Antipatterns"

  • @user-xs2dx2mh3f
    @user-xs2dx2mh3f Год назад

    Спасибо , бро. Очень Полезная информация.

  • @andpeople7832
    @andpeople7832 Год назад +15

    Очень полезно и интересно, будет ли продолжение

    • @zhukovsd_it_mentor
      @zhukovsd_it_mentor  Год назад +8

      Практическая реализация этого проекта не планируется, идея видео - описать ход мыслей при проектировании.
      Но мне интересно было бы продолжить эту серию видео, спроектировав что-нибудь ещё, поэтому буду рад услышать предложения.

    • @andpeople7832
      @andpeople7832 Год назад +1

      Я сейчас прохожу обучение по джама, скоро присаединусь

    • @user-rv9ss5ce7z
      @user-rv9ss5ce7z Год назад +2

      @@zhukovsd_it_mentor p2p обменник,

    • @ара_вася
      @ара_вася Год назад +2

      @@user-rv9ss5ce7z да, p2p актуально

  • @user-bz7wh3cf8d
    @user-bz7wh3cf8d Год назад

    Супер классное видео!

  • @qwe-jo6wy
    @qwe-jo6wy Год назад

    Спасибо, очень интересно

  • @tacowilco7515
    @tacowilco7515 Год назад

    Спасибо, очень хороший разбор

  • @y-rp1wz
    @y-rp1wz День назад

    In some food delivery services, the courier get firstly the order and go to the restaurant and wait then get the order,

  • @KLNHOMEALONE
    @KLNHOMEALONE Год назад +2

    Просто отлично!

  • @kraken645
    @kraken645 Год назад

    Соо миллионов лайков Тебе, дорогой!

  • @daniilmarkin1317
    @daniilmarkin1317 Год назад

    Бальзам для ушей

  • @saharaprotocol
    @saharaprotocol 11 месяцев назад

    Спасибо мужик.

  • @doniyorcoach9809
    @doniyorcoach9809 Год назад

    просто кайф, спасибо!

  • @illiapanchenko598
    @illiapanchenko598 Год назад +1

    Спасибо, очень крутой high-level обзор! Как раз то, что искал для постепенного перетекания в fullstack

    • @aks964
      @aks964 Год назад

      А с каких пор фул стек пишет высоконагруженные системы?

  • @user-hw6dw3np6v
    @user-hw6dw3np6v Месяц назад

    Мне кажется, те требования, которые не будут реализованы сейчас , они все равно должны быть отмечены как подпроцессы.

  • @Max-vl1ye
    @Max-vl1ye Год назад

    Интересное видео, узнал для себя пару новых вещей

  • @opossum1312
    @opossum1312 Год назад +3

    Остановил ролик после проектирования бд. Очень поверхностное проектирование вообще при довольно сложной темы как агрегатор доставки еды. А номер позиции в меню? А категория блюда? А правила для заказа (минимум ценик заказа, расстояние между клиентом - рестораном )? А возможность убрать ингредиент? А если сеть ресторанов? А как сама агрегация ресторанов будет происходить? А возможность отзыва? и тд тп... уж лучше сделали подробно онлайн заказ у одного ресторана.
    ТЗ уровень описания того самого клиента на фриланс платформе, который не понимает что хочет и ничего толком не знает (сто пудов кинет и у него будут круглые глаза когда узнает сроки\цену). Ну и хранение постоянно меняющееся coorinates курьера в холодном хранилище, даже теоретически, конечно убило.

  • @javlonbek3237
    @javlonbek3237 Год назад

    Спасибо большое

  • @ReAgent003
    @ReAgent003 Год назад

    Мощный видос!

  • @AndreyChursin
    @AndreyChursin 11 месяцев назад

    Случайно попал на видео, у заказа нужны свойства(уже стандарт) свойства заказа могут быть разного типа… пользователей делят не по таблицам а по группам!

  • @parya_7
    @parya_7 Год назад +1

    Круто 👍🏻

  • @user-bd9kv8jg3z
    @user-bd9kv8jg3z Год назад

    позновательный контент благодарю

  • @DmitriiSapronov
    @DmitriiSapronov Год назад +6

    Таки салюшен начинается с нефункциональных требований про них не сказано ничего или вскользь. Сколько пользователей, сколько курьеров, где разворачиваемся (aws, azure, ), надежность, доступность, как и кто поддерживает после релиза и прочее. Без этого проектировать бессмысленно. Есть очень хороший плейлист у Interview Pen так и называется system design.

    • @zhukovsd_it_mentor
      @zhukovsd_it_mentor  Год назад +1

      Мне ещё нравится канал System Design Fight Club.
      Но моё видео немного не про это, а про ход мыслей при проектировании бизнес логики и компонентов пет-проекта на тему доставки еды.
      На эту тему нужно в начале видео озвучивать дисклеймер, спасибо за комментарий.

  • @ilyabalahnin
    @ilyabalahnin Год назад

    Супер!

  • @user-hw6dw3np6v
    @user-hw6dw3np6v Месяц назад

    Мне кажется, что прямоугольник рест апи должен быть не параллельным, а последовательно включен в три параллельные сущности потому что он функция этих трех аргументов . Или нет !?

  • @Dimoniada
    @Dimoniada Год назад

    Спасибо.

  • @CrossTeamA
    @CrossTeamA Год назад

    Мне кажется проектирование нужно начинать с логической модели приложения. Все остальное должно после нее проектироваться. Ну как минимум так проще.

  • @Vlad-Gromov
    @Vlad-Gromov Год назад

    круто

  • @ds4441
    @ds4441 Год назад

    я 9 минут и 45 секунд ждал начала

  • @skynetif
    @skynetif Год назад +1

    Почему отношение Order_Items к Menu_items - 1:1, а не n:1 ? Одна позиция меню может участвовать во многих заказах. 43:07

    • @zhukovsd_it_mentor
      @zhukovsd_it_mentor  Год назад

      Идея в том, что цена и количество конкретного товара может отличаться от заказа к заказу, поэтому 1:1

  • @vladimir4087
    @vladimir4087 Год назад

    Я сразу скажу, что новичок. Но меня запутала тема про появление delivery совсем. На плане проектирования сущностей Delivery не было, разве по REST API не надо было проектировать что-то вроде обновления статуса заказа, то есть PATCH /order/${id} с передачей статуса как вы делали в одном из методов Restaurant API ?
    За видео спасибо, годное. Успехов

    • @zhukovsd_it_mentor
      @zhukovsd_it_mentor  Год назад +2

      Спасибо за отклик.
      Полную диаграмму сущностей я не показывал, сконцентрировался на статусах заказа и том, как заказ меняется внутри системы в процессе оформления, приготовления, доставки.
      Идея REST API доставки в том, что мы работаем с сущностями из предметной области доставки. Например, метод приёма доставки в работу курьером - `POST /delivery/${id}`. Сервис, обрабатывающие этот запрос, работает с сущностями "delivery", который связаны с сущностями "order" (заказы). Приём delivery курьером в рамках описанной архитектуры приводил бы к тому, что delivery-rest-api сервис изменит статус заказа на `DELIVERY_PICKING`.
      И хочу заметить, что в реальности многие аспекты придуманного дизайна очень сильно бы изменились. Видео не про готовый дизайн, а про процесс проектирования и ход мыслей.

  • @TbIPDblM
    @TbIPDblM Год назад

    Курьеры работают за "profit" :D

  • @vitaliynabiev2530
    @vitaliynabiev2530 11 месяцев назад

    Сергей, спасибо за видео! Вы применяете необычные верхнеуровневые нотации. Могли бы подсказать, подобный формат описания API - по какой-то спецификации или свои наработки?

    • @zhukovsd_it_mentor
      @zhukovsd_it_mentor  11 месяцев назад +1

      Добрый вечер. Подобной формой записи пользуюсь для себя на ранних стадиях продумывания схемы эндпоинтов.
      Когда приходит время формализовать схему, пользуюсь форматом спецификации OpenAPI.

  • @amirkenesbay1615
    @amirkenesbay1615 Год назад

    В какой backend service поместить таблицы order и order_items? Целесообразно ли создать лучше новый сервис orders и помещать все сущности касательно заказов

    • @glorhi
      @glorhi Год назад +1

      Не надо бить на микросервисы если у вас нет команды чтобы поддерживать интерфейсы консистентными, писать end-to-end тесты и прочее дерьмо. К тому же в 95% случаев ваш стартап загнется раньше чем ему понадобятся микросервисы.

  • @Sergey.Aleksandrovich.P-37rus
    @Sergey.Aleksandrovich.P-37rus Год назад

    В основном делаю( pet project)фронт на жабе используя API сервера,в бэк боюсь лесть 😂😂думаю там намного логика сложнее.

  • @andrewkotov3234
    @andrewkotov3234 Год назад

    Для тестировщиков тоже полезно будет

  • @TheAkaish
    @TheAkaish Год назад

    Не очень нравится табличка orders, думаю, следует в табличку orders добавить общую цену заказа, так как общая стоимость может не равняться стоимости всех товаров в корзине, могут быть модификаторы на общую цену в зависимости от количества или действующих акций. Да и сами цены, по уму, на каждую позицию по предметной области должны храниться в отдельной таблице, так как стоимость в каждый временной промежуток является частью публичной оферты.

  • @fedor4201
    @fedor4201 Год назад

    Зачем всем сервисам иметь доступ ко всем базам? Зачем тогда вообще разделять бд?SQL не справится с сохранением токенов? Есть неугасимое желание поддерживать больше инфраструктуры?
    Еще я бы использовал ролевую модель и после определения роли отправлял бы юзера куда надо.
    А в остальном прекрасный вводный гайд, спасибо. Было интересно

  • @qrthack
    @qrthack Год назад

    Скажи пожалуйста, что лучше выбрать для начала карьеры в данный момент C# (.NET) или Java (Spring) ?

    • @zhukovsd_it_mentor
      @zhukovsd_it_mentor  Год назад

      Привет. Начать карьеру можно и на C# и на Java, принципиальной разницы нет.
      Результат будет определён другими факторами, а не выбором языка. Писал про это статью - t.me/zhukovsd_it_mentor/86.

  • @Vitalyayandex
    @Vitalyayandex Год назад +5

    Полезное видео, посоветуйте литературу по этой же тематике

    • @zhukovsd_it_mentor
      @zhukovsd_it_mentor  Год назад +12

      Трудно посоветовать что-то конкретное, потому что видео затрагивает по верхам несколько разных тем, но постараюсь:
      - Проектирование бизнес логики - Domain Driven Design by Eric Evans
      - Паттерны проектирования архитектуры (бесплатная книга) - get.oreilly.com/rs/107-FMS-070/images/Software-Architecture-Patterns.pdf
      - Проектирование БД - SQL Antipatterns by Bill Karwin
      - Проектирование API - REST API Design Rulebook by Mark Masse

    • @Vitalyayandex
      @Vitalyayandex Год назад

      @@zhukovsd_it_mentor Спасибо!

  • @user-ej4xf1br4o
    @user-ej4xf1br4o 10 месяцев назад +1

    а почему только 720 ? Не видно нечего ((

    • @zhukovsd_it_mentor
      @zhukovsd_it_mentor  10 месяцев назад +1

      Моя ошибка. Более свежие видео в 1080p

    • @user-ej4xf1br4o
      @user-ej4xf1br4o 10 месяцев назад

      @@zhukovsd_it_mentor спасибо!

  • @aaaaaa-wt3uu
    @aaaaaa-wt3uu Год назад

    Бро, спасибо за контент, я джун и мне очень интересно. Вопрос - что если завести price_history где хранить все исп. скидки / наценки по позиции, а в ордере хранить уже итоговую стоимость ? Видел на проекте discount и price, которые вообще непонятно как формировались (можно было разобрать только по логам). И еще один - хранить деньги в копейках, а кол-во в x1000 это тру подход ?)

  • @ivanlebedev009
    @ivanlebedev009 10 месяцев назад

    9:50 Начало

  • @artemkeller2571
    @artemkeller2571 11 месяцев назад

    Очень хочется увидеть реализацию этой схемы! Чтобы был понятен полный цикл разработки

    • @zhukovsd_it_mentor
      @zhukovsd_it_mentor  11 месяцев назад +1

      Получился бы слишком объёмный проект.
      Я спроектировал проект попроще, а студенты реализовали:
      - Проектирование - ruclips.net/video/vI9KEs9FsHY/видео.html
      - Разработка - ruclips.net/video/LLaJgrP6S1A/видео.html

  • @owlboom6458
    @owlboom6458 Год назад +1

    А чо UML уже отменили???

  • @ward7576
    @ward7576 Год назад

    Why would I need message broken for microservices to talk to each other? Stick them in the same network, let them talk through each other through REST API. Rather leave message broken for async work in order to not slow down UI.

  • @mihax56
    @mihax56 11 месяцев назад +2

    почему РЕСТ, а не грпц скажем? зачем ресторану мобилка, повар с телефона должен заказы принать? чем обосновано раздение бекенда на три компоненты? отдать дань микросервисной моде, которая в данном примере нахрен не вписалась? бессмыслено и беспощадно разделить одну точку сбоя на четыре? чтобы втащить брокер без которого можно было обойтись? вообще в комментариях заявлено "ход мыслей", но основной ход мыслей был оставлен за кадром.

    • @tetsuya9158
      @tetsuya9158 3 месяца назад

      Более долгая реализация и имплементация, чем rest. Внедрение простой службы grpc занимает около 45 минут. Реализация rest api занимает всего около 10 минут. Связано это по большому счёту с отсутствием встроенной поддержки в сторонних инструментах

    • @mihax56
      @mihax56 3 месяца назад

      @@tetsuya9158 чушь написал. вопервых 10 минут и 45 минут это время одного порядка. во вторых если делать рест по человечьи через опискание на ямле и кодогенерацию сваггером, то будет не быстрее чем грпц.

    • @tetsuya9158
      @tetsuya9158 3 месяца назад

      @@mihax56 rest api в любом случае пишется быстрее, потому что имеется больше инструментов для его встроенной поддержки. Из-за чего небольшой учебный проектик легче / быстрее продемонстрировать с его использованием

    • @mihax56
      @mihax56 3 месяца назад

      @@tetsuya9158 давай закончим тем, что выбирать рест, грпц или чтото другое на основании "легче пишется" это крайне тупорылый подход, который в реальной жизни не применяется.

    • @mihax56
      @mihax56 3 месяца назад

      @@tetsuya9158 и да, баран, порядок - это математическая степень величины - знаешь там 10 во второй или в в пятой бывает, так что утрись.

  • @Yegoros
    @Yegoros Год назад

    Спасибо за информативное видео. Хотел уточнить как будет вызываться REST Api после попадания сообщения в очередь RabbitMQ. Как я думаю, если это клауд то в RabbitMQ мы пишем например Azure function (AWS lambda) которая будет триггериться входящим сообщением и дальше будет вызываться соответствующий REST Api? А если это не в клауде то придется писать свой листенер для очереди?

    • @zhukovsd_it_mentor
      @zhukovsd_it_mentor  Год назад

      Вариантов много, и они зависят от нефункциональных требований к продукту, особенно от требований к стеку и выбору облачного вендора, требованиям к бюджету на эксплуатацию продукта.

  • @robbieazreal3192
    @robbieazreal3192 Год назад

    топ контент

  • @codingpas
    @codingpas 11 месяцев назад

    как найти ещё такие видео или контент?