Блин эти мамкины программисты достали только время зря потратил) какойто джун мысль сформировать не можешь) ты бы лучше реальные примеры показал вместо кликбейтного титла
В fast api нужно придумать свои костыли, когда как в django особенно в DRF все элегантно и чётко с соблюдением лучших практик, убедился на личном опыте)
Насчет бест практис неверно, джанго построен на active records, его не разбить по чистой архитектуре на слои, чтобы были независимо орм модели и отдельно модели домена.
Не нужно DRF, он монструозен и зависит от особенностей самого Django. Есть Django Ninja, он даёт вам подход FastAPI на Django, при этом полную свободу.
У Джанго хорошая, встроенная админка, понятная и встроенная орм, на все типовые задачи есть кастомизируемые решения, система авторизации... Да чёрт возьми, всё есть. У фастапи же всё нужно пилить самому с 0, ставить какие-то библиотеки сторонние, и самое отвратительное (хоть и напрямую к фреймворкаму не относится) - это алембик для миграций в бд
@@PythononPapyrusRU они напрямую пишут в файле миграций, проверяйте что сгенерил алембик перед запуском миграций. Бывает багует если внутри модели ссылаешься на emun. И что это вообще за софт такой, перед запуском которого надо смотреть, что он там нагенирил
Спасибо за видео, убедил использовать FastAPI, люблю свободу:) Не знаю, ответит ли автор, но тем, кто шарит за программирование, хочу понять некоторые моменты: собираюсь отучиться на айтишника (сначала в колледже), потом в унике, понимаю, что все смотрят на это по-разному, но в этом есть необходимость... ну так вот, но бросать самостоятельно развиваться в сфере не планирую, хотелось бы услышать "зрелый" совет: с чего начать изучать Python, по книгам, по курсам, по различным сайтам, комбинируя? Есть ли смысл сосредотачиваться на самом Python'е, углубляться в Алгоритмы и СД, ООП и т.д И как понять, что можно переходить на следующую ступень? Python мне нужен для backend'a, но скорее всего, я через время займусь ML/AI, поэтому в данном случае Python - константа (для тех людей, кто недолюбливает этот язык или считает его неуместным)
А кто мешает чистую архитектуру использовать в django model -> repository -> use case -> interactor -> controller -> view? И ещё не понятно что в fastapi не MVC в базовом варианте?))
@@h3ckphy246 я например 6 лет работаю бекендером на пайтоне, до этого 3 года на PHP и проблема в том что для java и c# с интернатуры начинают рассказывать про архитектуру приложения... А в пайтоне нужно этими вопросами самому интересоваться. Но говорить что какой то фреймворк не даёт что то сделать неправильно. Что на django, flask, fast api, aiohttp и так далее можно подключать разные базы данных и если не пользоваться generic в джанго то можно строить архитектуру отличную от того что обычно все показывают в видео уроках.
Я согласен, можно построить хорошее приложение. Проблема тут другая: сам django построен плохо и шанс что в проекте будет какая-то уникальная архитектура очень мал. То есть, большинство об этом не задумываются, а дополнительные библиотеки только усложняют процесс. В fastapi тоже можно плохо написать код, но там нет конкретных правил как в django: используй generic, ставь сюда модель, здесь используй ОРМ запросы
@@PythononPapyrusRU Отношусь уважением к контенту что вы делаете. Просто хочу подчеркнуть для начинающих что не фреймворк плохой, а бывает плохая прокладка между креслом возле компьютера и клавиатурой. Если не использовать generic разделить инфраструктуру и доменную логику... Я чисто вижу проекты где люди прописывают логику во view слое и получается что если нам нужно её протестировать то нужно писать http запрос)))
@@yuriyokal7307 вот тут то и понимаешь, что если джанговские дженерики для нормального кода не подходят, то с джанговской архитектурой что-то не так. (старая она)
FastApi асинхронный и быстрее. Всё, это единственное преимущество. Остальные доводы типа сложно подключить Mongo или архитектура не такая - это уже вопрос кривизны рук, знания фреймворка и внедряемой технологии.
FastAPI очень новый? Первый релиз был опубликован 15 декабря 2018 года!!! Это типа "очень новый"?)) А я думал очень новые это блэкшип и лайтстар))) "все вот это придется писать самому" - а что все? алхимию установить в одну команду? если ты делал это однажды, то проблем не возникнет, сам джанго дольше настраивать будешь)) Нужно было упомянуть что MVC в джанго это не тот привычный MVC паттерн из учебников, в джанго даже его извратили по своему. Почему не озвучена проблема "а где писать бизнес логику в джанго" об это спотыкается каждый. В итоге тебе все равно приходится переизобретать архитектуру проекта)) В добавок если ты понимаешь джанго, то у тебя нет особых проблем сделать структуру проекта в стиле фласка/фастапи.
Охохохо я конечно сам вообще с автором не согласен, но вот "алхимию установить в одну команду" Ага конечно Она безусловно простенькая, но один хер придется расписать все самому буквально, когда как в джанго это из коробки
использую кривую логику из контроллера напрямую обращаться к entity и прописывать бизнес логику в контроллере и говорить что джанго не даёт внедрять архитектуру, печалька чему вкатывателей учат...
Забудьте об этом) Айти сейчас другое, быстро не получится вкатиться. Если хотите на работу, то подготовьте подушку безопасности на ближайшие полтора или 2 года и начинайте ботать с азов computer science.
@@yuriyokal7307 да, но как вспомню, что буквально 4 года назад брали просто за знания синтаксиса, аж не по себе становится. Я учил CS, потом переходил с одного направления на другое, изучал python, js, go, потом случайно попал на работу фулл-стеком
@@ДаниилСоловьев-э6ш ботать с азов computer science? не соглашусь в корне с этим выражением. imagine лицо человека, который полгода тратит свою подушку безопасности, но еще не начал вкатываться даже в яп, в веб. слишком громкое выражение "ботать". можно посмотреть, поучить, что интересует - потыкать, этого хватит трейни вполне даже сейчас.
Не имеет смысла тратить время на изучение fastapi, к тому же когда есть lightstar. А Django как и Laravel это стандарт индустрии. Это своя отдельная вселенная со своими нюансами. Если кому-то нужен инструмент что бы быстро перекладывать json в базу и обратно то для этих целей есть go, который делает это в разы быстрее
Лайтстар очень молодой как раз. Если ты пишешь апишки для микромагазинов продажи всякого хлама, то конечно можешь тащить джанго и что угодно. Но обычно отталкиваются от экспертизы команды разработки и от того какой фреймворк заапрувили безопасники. Лайтстар крутой, но сырой) А вот как раз фастапи это уже стандарт практически, к тому же с обновлением пайдантика до 2 версии он стал практически таким же быстрым, как лайтстар с мсгспек. Джанго использовать в 2023 году хоть для чего-то вообще намекает на отсталость техлида в команде.
@@deadbasside694 ага, поэтому он используется в продакшене уже столько лет крупнейшими компаниями. Какие именно моменты в архитектуре сорцов джанги тебя смутили? Не пытался ли ты понять почему так было сделано?
@@Fartek2 откуда цифры что сейчас мало проектов начинается на django. Это по-прежнему популярнейший фреймворк на python. Он развивается и приобретает новые фичи. То что хайп переключился на другой язык программирования не значит что в новых проектах он не используется. Я, например, вижу что Django более распространен как на рынке труда, так и в качестве фреймворка для новых проектов. Фриланс рынок тоже насыщен более в сторону Django. С обучающими материалами как платными, так и бесплатными все дела обстоят точно так же
DRF ужасен. Сериализаторы убогие и не интуитивные. Django filters плох, лучше самому писать. Асинхронки нету, серверы буду жрать нереально. Сейчас лучшие варианты: 1) Нужен HTML? Django (+alpine,+htmx) + Django Ninja. 2) API only + нужно быстро но красиво? Fastapi + Dependency Injector (DDD, repository pattern) + Django ORM/Admin/Migrations. 3) API only и времени заказчик даёт вагон? (не актуально в 99% случаев) Fastapi + Dependency Injector (DDD, repository pattern) + sqlalchemy/mongoengine Проблема с sqlalchemy в основном в том, что ORM только для синхронки, а для асинхронки юзай core. Проблема со всеми остальными Postgres orm в кривейших миграциях и отсутствии ряда фишек. Так что у нас 3 orm на выбор, может ещё peewe, не особо знаком. 4) Микросервисы? Не много? Если не много, то monorepo на django + fastapi/django ninja. И сплитим аккуратно. Но в целом надо думать тут. 5) Микросервисы? Много? Киваем куда-то в сторону коллег с Java (Spring Boot) / JS (Nest) На питоне можно написать микросервис, но не целую микросервисную архитектуру (в разумные сроки и с разумным к-вом багов имею ввиду), нет фреймворка.
чушь какаято. ролик ни о чем. если вы чего то не можете сделать в джанго значит вы плохо его знаете. а если в нем все таки чего то нет что вам нужно то всегда можно найти и прикрутить туда нужную библиотеку на питоне. к тому же большая часть работы в интернете это сопровождение уже готового проекта на джанго или его допиливание и тд. короче если вы новичок зашли сюда чтото выбрать то вам полюбому джанго. а если вы про то и сами разберетесь что и для чего вам нужно без роликов на ютубе. особенно новички недооценивают систему авторизации. многие фишки безопасности скрыты в недрах джанго вы никогда или не скоро сможете что такое же написать
Благодарю! Отличный канал. Удачная рекомендация.
Блин эти мамкины программисты достали только время зря потратил) какойто джун мысль сформировать не можешь) ты бы лучше реальные примеры показал вместо кликбейтного титла
Очень наглядно, прям четко ответ на мой запрос. Спасибо, подписался)
В fast api нужно придумать свои костыли, когда как в django особенно в DRF все элегантно и чётко с соблюдением лучших практик, убедился на личном опыте)
Насчет бест практис неверно, джанго построен на active records, его не разбить по чистой архитектуре на слои, чтобы были независимо орм модели и отдельно модели домена.
@@_balancy_ разбить, но с некоторой болью в пятой точке))
@@duckstalk если джанго орм не юзать, можно)
Познавательный канал! Посоветуйте начинающему программисту на каком языке проще и лучше написать доску объявлений?
Мне подсказали, что джуну намного легче будет начать с Django ( и DRF ), а уж потом, начинать знакомиться с FastAPI
но на django создать админа или работа с административной модели легче
иы ускорил, или ты реально такой трындычливый?
Все понятно, учишь Джанго + DRF, а потом следом FastAPI и дополнительные ОРМы
Не нужно DRF, он монструозен и зависит от особенностей самого Django. Есть Django Ninja, он даёт вам подход FastAPI на Django, при этом полную свободу.
@@trankov Не слышал о таком еще, спасибо
Да, DRF огромный, но на нем много проектов пишут. Однако, Django Ninja классная вещь, тоже о ней не слышал
@@trankov не видел вакансий для Django Ninja, в отличии от DRF
@@unstoppableharrison140 один из типовых бессмысленных комментариев. Ок, не видели. Спасибо за ненужную информацию.
Основной посыл:
- фастапи для микросервисов
- Джанго для монолита
Если знаешь фронтенд фреймворк то Фаст апи наверное хорошим дополнением будет
спс за инфу
Для реализации регистрации в fast api есть прекрасная библиотека fastapi-users
У Джанго хорошая, встроенная админка, понятная и встроенная орм, на все типовые задачи есть кастомизируемые решения, система авторизации... Да чёрт возьми, всё есть. У фастапи же всё нужно пилить самому с 0, ставить какие-то библиотеки сторонние, и самое отвратительное (хоть и напрямую к фреймворкаму не относится) - это алембик для миграций в бд
Согласен с встроенными функциями, но какая проблема в алебмике?
@@PythononPapyrusRU они напрямую пишут в файле миграций, проверяйте что сгенерил алембик перед запуском миграций. Бывает багует если внутри модели ссылаешься на emun. И что это вообще за софт такой, перед запуском которого надо смотреть, что он там нагенирил
FastAPI вроде в 3 раза быстрее + асинхронный?
тссс, это секрет
Спасибо за видео, убедил использовать FastAPI, люблю свободу:)
Не знаю, ответит ли автор, но тем, кто шарит за программирование, хочу понять некоторые моменты:
собираюсь отучиться на айтишника (сначала в колледже), потом в унике, понимаю, что все смотрят на это по-разному, но в этом есть необходимость...
ну так вот, но бросать самостоятельно развиваться в сфере не планирую, хотелось бы услышать "зрелый" совет: с чего начать изучать Python, по книгам, по курсам, по различным сайтам, комбинируя? Есть ли смысл сосредотачиваться на самом Python'е, углубляться в Алгоритмы и СД, ООП и т.д
И как понять, что можно переходить на следующую ступень? Python мне нужен для backend'a, но скорее всего, я через время займусь ML/AI, поэтому в данном случае Python - константа (для тех людей, кто недолюбливает этот язык или считает его неуместным)
Админка кстати у django классная
А разве на django пилят вебсервер ? На работу со статикой вроде есть как обычно nginx/apache
Можно ли работать бекендером не зная сильно Джанго? А работать с FastAPI или Flask?
Да, конечно
А кто мешает чистую архитектуру использовать в django model -> repository -> use case -> interactor -> controller -> view? И ещё не понятно что в fastapi не MVC в базовом варианте?))
ничего не мешает, просто большинству это нахер не надо. Лишь бы побыстрее состряпать что-то да запустить
@@h3ckphy246 я например 6 лет работаю бекендером на пайтоне, до этого 3 года на PHP и проблема в том что для java и c# с интернатуры начинают рассказывать про архитектуру приложения... А в пайтоне нужно этими вопросами самому интересоваться. Но говорить что какой то фреймворк не даёт что то сделать неправильно. Что на django, flask, fast api, aiohttp и так далее можно подключать разные базы данных и если не пользоваться generic в джанго то можно строить архитектуру отличную от того что обычно все показывают в видео уроках.
Я согласен, можно построить хорошее приложение. Проблема тут другая: сам django построен плохо и шанс что в проекте будет какая-то уникальная архитектура очень мал. То есть, большинство об этом не задумываются, а дополнительные библиотеки только усложняют процесс.
В fastapi тоже можно плохо написать код, но там нет конкретных правил как в django: используй generic, ставь сюда модель, здесь используй ОРМ запросы
@@PythononPapyrusRU Отношусь уважением к контенту что вы делаете. Просто хочу подчеркнуть для начинающих что не фреймворк плохой, а бывает плохая прокладка между креслом возле компьютера и клавиатурой. Если не использовать generic разделить инфраструктуру и доменную логику... Я чисто вижу проекты где люди прописывают логику во view слое и получается что если нам нужно её протестировать то нужно писать http запрос)))
@@yuriyokal7307 вот тут то и понимаешь, что если джанговские дженерики для нормального кода не подходят, то с джанговской архитектурой что-то не так. (старая она)
порекомендуйте модуль аутентификации для fastAPI для ламера. Спасибо
fastapi-users
www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=fastapi-users.github.io/fastapi-users/10.1/configuration/full-example/&ved=2ahUKEwjR-aL3zdqEAxUD_rsIHSkkA3gQFnoECBsQAQ&usg=AOvVaw1gBIdyvgEGXSOF9n-m5cke
Удивился но посмотрел. Ну по моему это все равно что ставнивать стол и сумку. Это разные инструмены для разных задач и условий.
Django же поддерживает Redis, разве нет? 10:20
Да
FastApi асинхронный и быстрее. Всё, это единственное преимущество. Остальные доводы типа сложно подключить Mongo или архитектура не такая - это уже вопрос кривизны рук, знания фреймворка и внедряемой технологии.
FastAPI очень новый? Первый релиз был опубликован 15 декабря 2018 года!!! Это типа "очень новый"?)) А я думал очень новые это блэкшип и лайтстар))) "все вот это придется писать самому" - а что все? алхимию установить в одну команду? если ты делал это однажды, то проблем не возникнет, сам джанго дольше настраивать будешь)) Нужно было упомянуть что MVC в джанго это не тот привычный MVC паттерн из учебников, в джанго даже его извратили по своему. Почему не озвучена проблема "а где писать бизнес логику в джанго" об это спотыкается каждый. В итоге тебе все равно приходится переизобретать архитектуру проекта)) В добавок если ты понимаешь джанго, то у тебя нет особых проблем сделать структуру проекта в стиле фласка/фастапи.
Охохохо
я конечно сам вообще с автором не согласен, но вот "алхимию установить в одну команду"
Ага конечно
Она безусловно простенькая, но один хер придется расписать все самому буквально, когда как в джанго это из коробки
Python крутой по этому в 2023 я перешёл на golang и микросервисы.
блин а ссылочку сразу бы указали на тему "у меня было видео о том что невсегда нужны микросервисы"
сижу читаю fastaapi и Jinja2 😁
Этот вопрос скорее для вкатывателей в ай ти. Что учить, чтобы быстрее найти работу
использую кривую логику из контроллера напрямую обращаться к entity и прописывать бизнес логику в контроллере и говорить что джанго не даёт внедрять архитектуру, печалька чему вкатывателей учат...
Забудьте об этом) Айти сейчас другое, быстро не получится вкатиться. Если хотите на работу, то подготовьте подушку безопасности на ближайшие полтора или 2 года и начинайте ботать с азов computer science.
@@ДаниилСоловьев-э6ш а у вас получилось вкатиться?)
@@yuriyokal7307 да, но как вспомню, что буквально 4 года назад брали просто за знания синтаксиса, аж не по себе становится. Я учил CS, потом переходил с одного направления на другое, изучал python, js, go, потом случайно попал на работу фулл-стеком
@@ДаниилСоловьев-э6ш ботать с азов computer science? не соглашусь в корне с этим выражением. imagine лицо человека, который полгода тратит свою подушку безопасности, но еще не начал вкатываться даже в яп, в веб. слишком громкое выражение "ботать". можно посмотреть, поучить, что интересует - потыкать, этого хватит трейни вполне даже сейчас.
Не имеет смысла тратить время на изучение fastapi, к тому же когда есть lightstar. А Django как и Laravel это стандарт индустрии. Это своя отдельная вселенная со своими нюансами.
Если кому-то нужен инструмент что бы быстро перекладывать json в базу и обратно то для этих целей есть go, который делает это в разы быстрее
Лайтстар очень молодой как раз. Если ты пишешь апишки для микромагазинов продажи всякого хлама, то конечно можешь тащить джанго и что угодно. Но обычно отталкиваются от экспертизы команды разработки и от того какой фреймворк заапрувили безопасники. Лайтстар крутой, но сырой) А вот как раз фастапи это уже стандарт практически, к тому же с обновлением пайдантика до 2 версии он стал практически таким же быстрым, как лайтстар с мсгспек. Джанго использовать в 2023 году хоть для чего-то вообще намекает на отсталость техлида в команде.
на счет: "всего 2 варианта" это не правда
покажешь как парсить соц сети с промедутком в 10-15 минут на фастапи используя ребит?
может ещё показать как hello world написать ?
@@moderaptorа ты сможешь?
@@artemunix5223 не, я ток трусить хрень в интернете могу. а так у меня свой бизнес
😀
все у автора в джанго очень очень сложно проблема не в джанго а в авторе
У Django не MVC, a MVT
MVT это реализация MVC в Django
@@ДаниилСоловьев-э6ш , ну, тим не менше, кажуть, не плутати ці поняття. Холіварна тема)
😂 поржал. Парень точно не знает Django, Монго сложно подключить? Удаляй питон парень))))
В джанго кусок говна вместо архитектуры, зайди в исходники. Так что не обольщайся)
@@deadbasside694 ага, поэтому он используется в продакшене уже столько лет крупнейшими компаниями. Какие именно моменты в архитектуре сорцов джанги тебя смутили? Не пытался ли ты понять почему так было сделано?
@@kieled6530 в Джанго правда очень много бойлерплейта
@@kieled6530 очень мало новых проектов начинаются на Джанго, так что про код в продакшене спорно
@@Fartek2 откуда цифры что сейчас мало проектов начинается на django. Это по-прежнему популярнейший фреймворк на python. Он развивается и приобретает новые фичи. То что хайп переключился на другой язык программирования не значит что в новых проектах он не используется. Я, например, вижу что Django более распространен как на рынке труда, так и в качестве фреймворка для новых проектов. Фриланс рынок тоже насыщен более в сторону Django. С обучающими материалами как платными, так и бесплатными все дела обстоят точно так же
👏👍
DRF ужасен. Сериализаторы убогие и не интуитивные.
Django filters плох, лучше самому писать.
Асинхронки нету, серверы буду жрать нереально.
Сейчас лучшие варианты:
1) Нужен HTML?
Django (+alpine,+htmx) + Django Ninja.
2) API only + нужно быстро но красиво?
Fastapi + Dependency Injector (DDD, repository pattern) + Django ORM/Admin/Migrations.
3) API only и времени заказчик даёт вагон? (не актуально в 99% случаев)
Fastapi + Dependency Injector (DDD, repository pattern) + sqlalchemy/mongoengine
Проблема с sqlalchemy в основном в том, что ORM только для синхронки, а для асинхронки юзай core.
Проблема со всеми остальными Postgres orm в кривейших миграциях и отсутствии ряда фишек.
Так что у нас 3 orm на выбор, может ещё peewe, не особо знаком.
4) Микросервисы? Не много?
Если не много, то monorepo на django + fastapi/django ninja.
И сплитим аккуратно. Но в целом надо думать тут.
5) Микросервисы? Много?
Киваем куда-то в сторону коллег с Java (Spring Boot) / JS (Nest)
На питоне можно написать микросервис, но не целую микросервисную архитектуру (в разумные сроки и с разумным к-вом багов имею ввиду), нет фреймворка.
в алхимии давно уже с 1.4 версии есть асинк, сейчас уже релиз 2.0 официально вышел(тоже полная поддержка асинка)
@@Fartek2 в 1.4 он такой себе. и в доках писали, что не продакшин реди. спасибо, гляну 2.0. ещё бы celery добавили поддержку asyncio
@@ShowNoMercy в celery асинк? типа для асинхронных библиотек, которые будут в нем исполняться или какой смысл?
ПаттЭрны... аааа... Кровь из ушей. пАттерны, мазафака, Википедия гугл фирштейн?
чушь какаято. ролик ни о чем. если вы чего то не можете сделать в джанго значит вы плохо его знаете. а если в нем все таки чего то нет что вам нужно то всегда можно найти и прикрутить туда нужную библиотеку на питоне. к тому же большая часть работы в интернете это сопровождение уже готового проекта на джанго или его допиливание и тд. короче если вы новичок зашли сюда чтото выбрать то вам полюбому джанго. а если вы про то и сами разберетесь что и для чего вам нужно без роликов на ютубе.
особенно новички недооценивают систему авторизации. многие фишки безопасности скрыты в недрах джанго вы никогда или не скоро сможете что такое же написать
Факт
😠
Очень очень очень очень очень ...