РАЗВЁРТЫВАНИЕ PYTHON FASTAPI ПРИЛОЖЕНИЯ + MONGODB DOCKER COMPOSE, UVICORN, NGINX

Поділитися
Вставка
  • Опубліковано 29 лис 2024

КОМЕНТАРІ • 58

  • @luchanos
    @luchanos  2 роки тому +4

    Поддержать:
    www.donationalerts.com/r/luchanos
    boosty.to/luchanos
    На других платформах:
    www.patreon.com/luchanos
    ua-cam.com/channels/jQ2f-S5_9LNXZ0oALoxZBw.htmljoin
    Канал «luchanos | Balabol IT» в Телеге - t.me/balabol_it
    Присоединяйся к нашему чату в Телеге - t.me/luchanos_live_chat
    Я в linkedin - www.linkedin.com/in/luchanos
    Страница компании - www.linkedin.com/company/luchanos
    github.com/luchanos/youtube_app - код проекта

  • @flower-py
    @flower-py Рік тому +1

    Прекрасный ролик. Я бы сказал, он сам как docker-compose: позволяет слить воедино контейнеры из знаний, полученных из разных источников в разное время, в этом смысле было очень полезно. )

  • @alexandrtortik
    @alexandrtortik 4 місяці тому

    у Вас оригинальный подход (пример на 25:09) показать логику применённого вывода.... спасибо... смотрю третий раз)) через несколько дней подхода к теме

  • @СтаниславЗадирака
    @СтаниславЗадирака 11 місяців тому

    Ты охрененно круто разбираешь.
    Спасибо за твой контент!

  • @reusmuller
    @reusmuller 2 роки тому

    Очень полезно, спасибо! Все получилось сделать, все понятно

  • @user-yx5hl6en5c
    @user-yx5hl6en5c 2 роки тому +9

    Спасибо за видео, познавательно. Но получился обзор технологий. Научиться по нему чему-либо сложно новичку. Было бы интересно посмотреть более детальный разбор FastAPI и про Docker в формате как про GIT. Полезно дело делаешь Николай!

    • @luchanos
      @luchanos  2 роки тому +5

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

    • @user-yx5hl6en5c
      @user-yx5hl6en5c 2 роки тому

      @@luchanos Нашёл сегодня интересный пример для рассмотрения (не по теме):
      >>> t = (1, 2, [30, 40])
      >>> t[2] += [50, 60]
      >>> t
      в контексте изменяемых и неизменяемых типов данных

    • @karasik5695
      @karasik5695 2 роки тому +1

      @@user-yx5hl6en5c Коля на стримах это разбирал)

    • @vk2591
      @vk2591 Рік тому

      @@user-yx5hl6en5c это из книги "fluent python"

  • @badman8263
    @badman8263 2 роки тому +2

    Коль приветствую! Поздравляю с дропом !

    • @luchanos
      @luchanos  2 роки тому +1

      спасибо! роды были тяжёлыми)

  • @andreykorotkiy3397
    @andreykorotkiy3397 2 роки тому +1

    Николай, спасибо за прекрасное видео. Вы жемчужина ютуба.

    • @luchanos
      @luchanos  2 роки тому

      Ах, благодарю!)

  • @m.4184
    @m.4184 7 місяців тому

    Большое спасибо, очень поучительное видео

  • @ПавелИванов-е5ю4б
    @ПавелИванов-е5ю4б 2 роки тому +1

    День добрый.
    Видео довольно познавательно и интересно.
    Хотелось бы в следующем выпуске увидеть реализацию,
    самого главного то за что так любят FastApi,
    это его работу с зависимостями (Dependency injection).
    Благодарю за Вашу работу.

  • @mylife-ej8et
    @mylife-ej8et 2 роки тому

    Хорошо объясняете, спасибо за контент

  • @vonmansfeld2244
    @vonmansfeld2244 2 роки тому

    Отличные видео, спасибо. Хочется побольше более технологичных видео, для уже подросших подписчиков

  • @Rick_id_005
    @Rick_id_005 2 роки тому

    Подробно, интересно, хорошо 👍

  • @r35p3ct00
    @r35p3ct00 2 роки тому +1

    40 минут пролетели быстро👌
    Теперь логичнее было бы подробнее про фастапи рассказать. Я со всем этим знаком на начальном уровне, поэтому все знакомо.
    Мне лично было бы интересно увидеть про депенсис или как оно там называется, минимальную авторизацию т.к. на Ютубе все примеры через стороннюю библиотеку жвл, но это не наш метод, для домашнего использования хочется что-то простое, куки какие нибудь самопальные или что-то в этом роде. Возможно я прошу изобретать велосипед, но всегда нужно начинать с основ, чтобы понять логику работы.

    • @luchanos
      @luchanos  2 роки тому +1

      спасибо! все будет)

  • @dizznet
    @dizznet 16 годин тому

    28:25 , подскажите как в vscode, можно сделать так, что результат выполнения кода, пишется в виде комментария, построчно, спс )

  • @artemliuboshenko6639
    @artemliuboshenko6639 2 роки тому +1

    ОЧЕНЬ КРУТОЙ КОНТЕНТ

  • @SergeyLakhtarin
    @SergeyLakhtarin 2 роки тому

    Очень крутое видео!!!

  • @sergkuksov
    @sergkuksov Рік тому

    Спасибо за ролик! Есть глупый вопрос) получается экземпляр mongo_client создаётся при старте один и все роутер в его используют? Т.е. к базе постоянно подключен только один клиент? А не лучше создавать свое подключение для каждого пользователя, не будет ли это быстрее работать, типа чтобы не ждать пока БД другим ответит?

  • @AlexandrSpirit
    @AlexandrSpirit Рік тому

    Подскажите пожалуйста, почему соединение с БД монги не через Depends?
    В доках фастапи то же couchbase без Depends в функциях используется
    Пример с Depends: client:AsyncIOMotorClient=Depends(get_nosql_db)
    Использую Постгрес и алхимию. В функции использую конструкцию вида db: Session = Depends(get_db)
    Я правильно понимаю, при использовании стейта как и мидлваре для коннекта с БД, коннект к БД будет создаваться при каждом запросе к роутеру(эндпоинту) даже если это не требуется?

  • @aleksandrsheykin1219
    @aleksandrsheykin1219 2 роки тому

    Спасибо за твой труд, это очень круто и познавательно! Ты рассматривал Docker-compose в которые входили разные контейнеры с Nginx, Mongdodb,Python, и у меня возник вопрос, а можно ли ( и будет ли такой подход правилен) одну программу на Python разбить на сервисы и засунуть каждый в свой контейнер? Ну например один сервис будет создавать и наполнять очередь (FIFO), второй сервис забирать из этой очереди и обрабатывать каким-нибудь образом эти данные, а третий к примеру записывать в базу результат обработки...

  • @azamtoiri
    @azamtoiri 2 роки тому

    Спасибо тебе большое за это видео!
    Я так же подписан на тебя в Linkedin от туда узнал про твой канал, он просто прекрасен все просто и понятно рассказываешь. В будущем хочу стать таким же хорошим python разработчиком как и ты
    Кстати ты не планируешь становиться ментором или ты уже?)))

    • @luchanos
      @luchanos  2 роки тому

      Я уже) пока на паузе

  • @stijey
    @stijey 2 роки тому

    Нормас! А можно тоже самое, только с postgresql, миграциями, и без упрощений, чтоб база хранилась отдельно от докера? Я имею ввиду тутор такой сможешь запилить?!

  • @ibrahimoglu
    @ibrahimoglu 2 роки тому +1

    👍

  • @GRIMEANARCHY
    @GRIMEANARCHY Рік тому

    ЮЭРЭЛЬ 😀

  • @MultiAPTEKA
    @MultiAPTEKA Рік тому

    Братан, кайф)

  • @ybrbnf333
    @ybrbnf333 2 роки тому

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

    • @luchanos
      @luchanos  2 роки тому

      можно почитать про nginx и то, как деплоить приложение на конкретном фреймворке

  • @artemliuboshenko6639
    @artemliuboshenko6639 2 роки тому

    Николай, может на твоей схеме указать движения requests&&response&&порты к ним для большей информативности и глубокого понимания схемы работы API

    • @luchanos
      @luchanos  2 роки тому

      привет! спасибо! я думаю что про апи я сделаю отдельный ролик в материале, где мы напишем свой собственный веб-фреймворк)

  • @domochevsky4703
    @domochevsky4703 Рік тому

    что за сайтик, где набросал архитектуру приложения?

  • @olegkornienko568
    @olegkornienko568 2 роки тому

    ролик по fastapi +

  • @denisk730
    @denisk730 Рік тому

    +

  • @doszhanm6936
    @doszhanm6936 2 роки тому +1

    не надо обьявлять функцию как асинхронной, если она фактический не является таковой. Эта функция будет блокивать весь код fastapi. попробуй поставить sleep(30) в функцию ping, и постучаться в другие ендпойнды, они не будут отвечать пока не завершиться ping.

    • @luchanos
      @luchanos  2 роки тому

      Кто тебе такую глупость сказал про "не надо"? Веди его ко мне))) Я думаю ты не до конца понимаешь, что такое асинхронность и как её варить) потому что sleep(30) тебе склеит ЛЮБОЙ процесс Питона. В модуле asyncio есть асинхронный sleep, если заюзать его, написав await sleep(30), то все будет как надо.

    • @doszhanm6936
      @doszhanm6936 2 роки тому

      @luchanos вот именно, если бы было с применением await sleep, было бы все ок, но в данном случае ping выглядит как асинхронная, но на самом деле ничего асинхронного она не делает. Соответственно, такие функции желательно держать без async, пока кто-то не задумает из нее сделать действительно асинхронную функцию

    • @doszhanm6936
      @doszhanm6936 2 роки тому

      @@luchanos а то что я не до конца понимаю асинхронщину, в том виноват ты (как же круто свалить все на другого!). Твой плейлист с асинхронщиной уже не обновлялся долгое время ...

    • @luchanos
      @luchanos  2 роки тому +1

      @@doszhanm6936 я открою тебе секрет - у меня нет плейлиста с асинхронщиной
      И на собеседовании, если на какой-то вопрос не ответишь - тоже вали на меня)

    • @luchanos
      @luchanos  2 роки тому +1

      @@doszhanm6936 только сейчас понял твой сарказм))

  • @Advokat7V
    @Advokat7V 8 місяців тому

    докер это для разработки, деплоить с докером - это глупость!

    • @luchanos
      @luchanos  8 місяців тому

      значит практически все бигтех корпорации, исходя из вашей логики - глупцы

    • @Advokat7V
      @Advokat7V 8 місяців тому

      @@luchanos перед тем как нести чушь, нужно понимать как работает докер.

    • @luchanos
      @luchanos  8 місяців тому

      ​@@Advokat7V перед тем, как выпячивать своё всезнайство напоказ нужно хотя бы изредка думать о том, в какой форме вы его выпячиваете и что ваши комментарии читают "не только лишь вы"

    • @Advokat7V
      @Advokat7V 8 місяців тому

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

    • @luchanos
      @luchanos  8 місяців тому

      ​@@Advokat7V who are you to fucking lecture me?)) Слушай, заведи себе канал, начни делать ролики и просвещать народ, вкладывай своё время, деньги, душу и я с удовольствием приду и посмотрю как ты подкрепляешь свою точку зрения нормальными аргументами, а не "вы тут говно делаете". Хотя бы один сними, на тему сабжа, мы тебе будем благодарны. А то код писать научились, а общаться нормально - нет. Все очки талантов ушли в технические навыки. Я вижу сейчас только одну тупость и глупость - начинать тыкать незнакомому человеку и вешать ярлыки. Не сработаемся. Успехов.

  • @anatoliykondratenko1383
    @anatoliykondratenko1383 2 роки тому +1

    Автор возможно и неплохой специалист но преподавание не его конек.