![Senior Pomidor Developer](/img/default-banner.jpg)
- Видео 53
- Просмотров 903 119
Senior Pomidor Developer
Россия
Добавлен 19 июл 2019
Про Django REST Framework на русском языке. Хорошо, подробно и просто. Все как вы любите!
Django или FastAPI - кто быстрее?
Ссылка на репозиторий - github.com/chepe4pi/frameworks_compare
В ветках разные варианты приложения. Там же скрипт для генерации большого количества данных.
00:00 Тема урока и обзор приложения
04:00 Скрипт для генерации 1.000.000 записей
06:34 siege - инструмент нагрузочного тестирования
07:45 Django dev server - Нагрузочное тестирование
09:17 Gunicorn 1 worker 1 thread - DRF + ORM Нагрузочное тестирование
12:00 Gunicorn 4 worker 2 thread - DRF
14:15 Function based view без serializers
15:43 Async асинхронная функция вью на Джанго
18:45 Uvicorn - ASGI web server - нагрузим
19:35 asyncio.gather - тестируем асинхронные SQL запросы в базу
24:43 Логирование SQL
25:50 RAW SQL на Django - тестируем запросы...
В ветках разные варианты приложения. Там же скрипт для генерации большого количества данных.
00:00 Тема урока и обзор приложения
04:00 Скрипт для генерации 1.000.000 записей
06:34 siege - инструмент нагрузочного тестирования
07:45 Django dev server - Нагрузочное тестирование
09:17 Gunicorn 1 worker 1 thread - DRF + ORM Нагрузочное тестирование
12:00 Gunicorn 4 worker 2 thread - DRF
14:15 Function based view без serializers
15:43 Async асинхронная функция вью на Джанго
18:45 Uvicorn - ASGI web server - нагрузим
19:35 asyncio.gather - тестируем асинхронные SQL запросы в базу
24:43 Логирование SQL
25:50 RAW SQL на Django - тестируем запросы...
Просмотров: 16 257
Видео
Хакаем тестовое задание при помощи Chat GPT-4o + Django
Просмотров 20 тыс.2 месяца назад
00:00 Ни слова про ИИ 00:13 Тестовое задание по Django 02:32 Просим Chat GPT сделать нам задание 04:33 Настраиваем Django проект в PyCharm 09:04 Переносим код из Ghat GPT в проект Django 14:47 Конфигурируем Django в PyCharm Pro 15:58 makemigrations / migrate 16:23 createsuperuser 17:30 Генерим классы для админки admin.py 18:27 Создаем тестовые данные 21:25 Создаем HTTP запросы с помощью Ghat GP...
Модульный Монолит и Микросервисы. Что лучше для масштабирования и производительности?
Просмотров 13 тыс.3 месяца назад
00:00 Вступление 01:56 Компоненты архитектур и их сравнение 15:44 Преимущества Микросервисов: 15:56 Менее связанные? 17:43 Лучше масштабируются? 18:52 Более производительные? 20:47 Более легкие? 22:14 Можем делать разделение прав 22:38 Вывод 28:12 Заключение
Как найти работу программистом в 2024 году? Суровая правда
Просмотров 17 тыс.4 месяца назад
00:00 Вступление 00:36 Как стать It-менеджером в Индии 02:20 Курсы программирования это хорошо или плохо? 03:07 На какие вакансии откликаться? 03:57 На что первым делом смотрят в вашем резюме 04:22 Какие сейчас Джуниоры нужны? 04:48 Почему Миддл программистов собеседуют на системный дизайн? 05:38 Как продуктивно обучаться 05:59 Какие темы надо знать в IT 06:55 Бизнес-логика компании это тоже ва...
РЕФАКТОРИНГ: Паттерн Проектирования - "Шаблонный метод"
Просмотров 2 тыс.5 месяцев назад
Вот pull request с изменениями - github.com/AndreyFedorov78/mini_CRM_for_construction/pull/1/files Группа в телеграмме тут - t.me/tomato_python
Делаем тестовое задание, которое дали на собеседовании
Просмотров 16 тыс.10 месяцев назад
Код задания - github.com/chepe4pi/test_task 00:00 вступление 00:43 Смысл задания 01:40 Переделываем Python2 на Python3 02:22 Попробуйте сделать самостоятельно 02:56 Создаем и настраиваем классы 05:36 b = B(5) 07:00 assert(a.i 3) 07:47 assert(a.fnc(2) 2 * 2 * 3) 09:51 assert(b.fnc(10, 4) 10 * 4 * 5) 11:33 assert(a.isFirst() 1) 12:11 assert(a.isSecond 0) 13:17 assert(b.isFirst() 0) 14:00 assert(b...
РЕФАКТОРИНГ: Избавляемся от дублирования
Просмотров 5 тыс.10 месяцев назад
Вот pull request с изменениями - github.com/nikolaisolovev/bot-real-estate/pull/1/files Группа в телеграмме тут - t.me/tomato_python
Новая рубрика: Pomidor Review! Присылайте ваши проекты!
Просмотров 3,1 тыс.11 месяцев назад
телеграм канал - t.me/tomato_python
Оптимизация Django. 10 - Глобальное кеширование, django-cachalot
Просмотров 6 тыс.Год назад
Оптимизация Django. 10 - Глобальное кеширование, django-cachalot
Оптимизация Django. 8 - Redis и ручной кеш
Просмотров 10 тыс.Год назад
Оптимизация Django. 8 - Redis и ручной кеш
Оптимизация Django. 7 - Параллельные celery таски и их проблемы
Просмотров 5 тыс.Год назад
Оптимизация Django. 7 - Параллельные celery таски и их проблемы
Оптимизация Django. 6 - Celery таски - отложенный пересчет, SingleTone
Просмотров 9 тыс.Год назад
Оптимизация Django. 6 - Celery таски - отложенный пересчет, SingleTone
Оптимизация Django. 5 - Celery + Docker
Просмотров 15 тыс.Год назад
Оптимизация Django. 5 - Celery Docker
Оптимизация Django. 4 - Annotate и Aggregate в ORM. Вычисления в базе
Просмотров 7 тыс.Год назад
00:00 Вступление 01:02 пишем бизнес-логику приложения 04:35 SerializerMethodField 05:42 смотрим SQL запросы 07:51 вычисляем в базе через annotate и смотрим запросы 13:25 INNER JOIN которые нам сделала Django ORM 14:41 когда не нужно вычислять в базе 16:45 Пишем aggregate Sum, переопределяем list во view и дополняем response 26:08 смотрим какие формируются SQL запросы
Оптимизация Django. 3 - Оптимизация ORM-query
Просмотров 10 тыс.Год назад
Оптимизация Django. 3 - Оптимизация ORM-query
Оптимизация Django. 2 - проектирование приложения Django + DRF View API endpoint
Просмотров 12 тыс.Год назад
Оптимизация Django. 2 - проектирование приложения Django DRF View API endpoint
Оптимизация Django. 1 - Django + Docker
Просмотров 31 тыс.Год назад
Оптимизация Django. 1 - Django Docker
Разворачиваем Django приложение на Linux сервере
Просмотров 13 тыс.2 года назад
Разворачиваем Django приложение на Linux сервере
Django сервер на Linux: 12 Настройка Nginx
Просмотров 10 тыс.2 года назад
Django сервер на Linux: 12 Настройка Nginx
Django сервер на Linux: 11 Настройка Gunicorn
Просмотров 10 тыс.2 года назад
Django сервер на Linux: 11 Настройка Gunicorn
Django сервер на Linux: 10 Взаимодействия внутри сервер, порты и сокеты
Просмотров 4,5 тыс.2 года назад
Django сервер на Linux: 10 Взаимодействия внутри сервер, порты и сокеты
Django сервер на Linux: 9 Настройка среды для Django
Просмотров 7 тыс.2 года назад
Django сервер на Linux: 9 Настройка среды для Django
Django сервер на Linux: 7 Сетевые инструменты Linux
Просмотров 3,7 тыс.2 года назад
Django сервер на Linux: 7 Сетевые инструменты Linux
Django сервер на Linux: 6 Сетевые взаимодействия
Просмотров 3,7 тыс.2 года назад
Django сервер на Linux: 6 Сетевые взаимодействия
Django сервер на Linux: 5 про hardware
Просмотров 3,3 тыс.2 года назад
Django сервер на Linux: 5 про hardware
Django сервер на Linux: 4 про Linux
Просмотров 3,5 тыс.2 года назад
Django сервер на Linux: 4 про Linux
Отличный видос, спасибо! Жду следующего видосика по архитектуре.
Интересно на сколько бы стал медленнее FastAPI с SQLAlchemy? Не хватило этого момента конечно +) Да, и курс по FastAPI было бы интересно посмотреть. Спасибо!
Было очень интересно!Большое спасибо за сравнительный анализ!Результаты теста превзошли мои ожидания.
Сравни какой нибудь Rustовский фреймворк(Actix, Axum, Ntex) с Fastapi
Ответь пажалуйста, Можно ли на Django/DRF делать проекты с микросервесной архитектурой и популярно ли такое решение в реальной разработке ?
Делать можно. Но наверное такое не популярно. Хотя я не вижу больших причин почему нет
А где курс про OpenSource ??
Так это и есть курс по open source!
@@SeniorPomidorDeveloper Аа, спасибо. Подскажите пожалуйста вот в микросервисной архитектуре при деплое, что бы все работало на одном домене нужен nginx, его лучше разворачивать на отдельном сервере и за ним закреплять домен или nginx развернуть на сервере одного из микросервиса и за ним уже закрепить домен ? Может сделаете ролик про постройку и деплой микросерверов ? Это сейчас хорошая тема для ролика, на русском ютюбе есть ролики про микросервисы но про их деплой и настройку нету ))
Для микросервисов нужен load balancer. Кто будет выполнять его роль это уже другой вопрос. Это тема конечно не на видео, а на целый курс. Не уверен что я сейчас готов к такому.
Здравсвтуйте, данный курс покрывает всю теорию которая нужна для разработчика?
Здравствуйте! Это просто вводный курс про Linux, а также также практический рассказ, как поднять веб сервер для Django. На полноту не претендует.
В 50 лет чему учиться? В перспективе нужна прибавка к нищей пенсии. Большая зарплата не нужна. Не хочется делать конкуренцию молодым.
Может как-то связать свою профессию с IT? То что уже умеете и как-то прибавить digital решения?
Спасибо за ролик! Очень информативно. Можно тесты разных базы данных?
Пожалуйста. Пока не планировал , да и тут не получится ограничиться запросами на чтение. Надо и запись тестировать и кеширование на уровне базы и запросы с фильтром. индексы , короче большая тема.
@@SeniorPomidorDeveloper окей
Когда ищу класс User ,там нет именно User(AbstractUser), подскажите пожалуйста!
Вроде вот тут она теперь from django.contrib.auth.models import User
Потестируй кеширование
Кеширование рулит! Но в основном на тех данных которые повторно запрашиваются
На данный момент стоит ли проходить данный курс, или же лучше начать с курса у которого оранжевая обложка так как он более новый? Буду благодарен за ответ
Если особо не работали с Джанго и drf то лучше с этого начать. Какие-то вещи могут работать по-другому и с этим придется разбираться. Обычно в комментариях люди пишут про такое. Но этот курс дает базу , а оранжевый более сложный , где базу уже надо знать, хотя там она тоже будет, но вкратце
Здравствуйте! я не хочу находить недостатки в коде, так как тут импровизация, но у вас такая проблема получилось, когда вы добавили новую запись с суммой 77, он добавился два раза в тотал прайс 459 + 154 = 613. объясняете замечательно, удачи в вашей работе.
Здравствуйте! Еще бы вспомнить что там было) Ну да, тоже делаю ошибки , бывает. Спасибо за комментарий!
Здравствуйте , хотел бы у вас поинтересоваться , вы изучали алгоритмы? если да то можете посоветовать литературу или курсы какие нибудь?
Здравствуйте! У меня была книга Алгоритмы. Теория и практическое применение. | Стивенс Род Но сегодня я бы использовал чат gpt для изучения, просто быстрее и меньше усилий . А если совсем по серьезному то лучше даже с преподом их изучать, чем с книгой .
Хороший формат, думаю и для тех кто учиться, так и для джунов, и наверное и для мидлов будет полезно. Разработка с нуля тоже интересует. Спасибо!
Спасибо!
Автор, у тебя совершенно кривое сравнение результатов! Во-первых: ты не отключил middleware в Django коих у тебя в settings 7 штук, а в FastAPI ни одной. Во-вторых: ты сравниваешь DRF c FastAPI, а не Django. И, поверь, это большая разница. В-третьих: давно уже есть Async-CBV django. Может не надо бросаться переписывать на функции, а стоит документацию почитать? В-пятых: Если начнешь нормально сравнивать Django с FastAPI, поставь какой-нибудь сложный валидатор поля и удивись, что FastAPI резко начнет сдавать по скорости. В Pydantic есть проблема замедления при переключении контекста Rust<->Python, я обсуждал это лично с разработчиком Pydantic, и пока простого решения это обойти нет. Предлагаю автору посмотреть мой доклад про django-FTL, вероятно это улучшит понимание, как использовать django правильно для условного high load. Для реального highload стоит искать другие решения.
Дельные советы. Если тоже надумаете снимать видео, присылайте ссылку, с удовольствием посмотрю.
это было до второго пайдантика, да и никто не мешает датаклассы юзать
@@augustsionis6542 Мой комментарий упоминает именно вторую версию Pydantic, поскольку в первой версии Rust не использовался.
А как связать локальную sqlite3 с работающим контейнером. Тоже через volume, или нужно новый сервис как для Postgress?
Думаю через volume, это же просто файл
@@SeniorPomidorDeveloper Я делал так: version: "3.9" services: web_app: build: dockerfile: Dockerfile context: . # путь к Dockerfile image: meteo # название образа container_name: www # название контейнера ports: # слева порт на компьютере, справа порт внутри контейнера - "8000:8001" volumes: - ./db.sqlite3/:/db.sqlite3/ command: > bash -c "python manage.py runserver 0.0.0.0:8001" В контейнер полностью переносится локальная база, но в самой локальной базе сохранения нет. В этом проблема.
@@SeniorPomidorDeveloper Спасибо за ответ. Я пробовал: version: "3.9" services: web_app: build: dockerfile: Dockerfile context: . # путь к Dockerfile image: meteo # название образа container_name: www # название контейнера ports: # слева порт на компьютере, справа порт внутри контейнера - "8000:8001" volumes: - ./db.sqlite3/:/db.sqlite3/ command: > bash -c "python manage.py runserver 0.0.0.0:8001" Но у меня в контейнер копируется локальная БД и после закрытия контейнера она не сохраняется в локальном виде, т.е. том не связывается с локальной БД.
Я понял. Можно в чате уточнить, ссылка в профиле. Там вроде обсуждали какую-то проблему похожую
Я генерирую уникальные тексты для seo. Могу делать огромные сайты!
Я всегда думал что fastapi конкурент фласку, для написания микросервисов, а если делать монолит, то инструменты из капота джанги очень даже пригодятся, и они удобные
Ну это само собой. Просто хотелось как раз и потестить оверхед фреймворков в чистом виде
@@SeniorPomidorDeveloper да я понял вашу задумку, у вас как всегда топ контент, я просто не очень понимаю в принципе сравнение джанго и фастапи, думал они используются для разных целей
Не совсем так. Если мыслить чуть шире, то и монолит и микросервисы ведь используются для одних и тех же целей ) А вот из чего создавать компоненты бекенда веб-приложения, это вопрос спорный. Я бы даже сказал что монолит в чистом виде, как и микросервисы в чистом виде, это вещи довольно дискомфортные для разработки. Для среднего бизнеса, обычно есть приложение и у него несколько сервисов, не один но и не 20. На чем их писать, тут как раз и приходится делать выбор, и скорость ответа фреймворка, это то, что могло бы на этот выбор повлиять.
@@SeniorPomidorDeveloper понял, спасибо
Подскажите плиз какую прогу юзаете для мониторинга памяти?
Это istat menus
правильно только 2 вещи - нет смысла привязывать войну к историческим справкам которые недоказуемы (как в мировую немцы - кому-то попадались злые, а кого-то забрали на высокооплачиваемую работу в германию) и призыв не участвовать в непонятных рисковых процессах)) а остальное слишком сложно в происходящем чтобы пытаться зарефакторить в одну итерацию большие куски в функции "чёрного ящика" - типа подсунутых народу причин что война из-за "выхода украины из под россии" или "запрета расширения НАТО своими ядерными ПВО". надо смотреть что сейчас выдаёт война как функция а не что обещают её лозунги - таковы правила юнит-тестов и по результатам она просто очищает территории снг от русских и украинцев. вот после такой оптимизации уже можно предсказать зачем они это делают - думаю военные фирмы наняты азиатами или странами принимающими беженцев. если первые то для заселения своими ибо они быстрее всех заполоняют Землю без кризисов ну. если заказчики вторые то причина обнаружение месторождения полезных ископаемых которыми не хотят делиться с выжившими и не эвакуированными. никто никогда не спасает жертв - украинцам разрешили эмигрировать чтобы убрать претендентов на обнаруженные минералы и заодно использовать вдвое дешевле местной рабсилы. любой с высшим образованием (не купленным) знает что привязка политики к истории, религии и нации это увод внимания. но как Дон Хуана учил Кастанеду - нужно из всего извлекать выгоду, можно получить статус беженца это уже повышение и шанс. если большая машина войны начинает движение - то ВСЕ кто рядом должны бежать, даже высоких чиновников знал которые там погибли пытаясь что-то урвать на месте
has_permission нужно переопределять для post запроса? ведь has_object_permission имеет obj и условия с ней( а в post там не будет id и соответственно obj)
Думаю да. В случае с create
Здравствуйте, вы занимаетесь менторством ?
Здравствуйте! Раньше занимался. Сейчас пока сложно сказать, надо прикинуть по занятости. Напишите мне через группу, я там первый в списке админов. Ссылка на группу в профиле
Решил освоить Django. Посмотрел пару курсов в ютубе и совсем потерял надежду т.к все они говорят о самых банальных вещах и исключительно для новичков, и тут я нашел твой канал по рекомендации друга. Боже ты так хорош, такой материал который показываешь ты редко увидишь и в платных курсах. Благодаря тебе я снова загорелся желанием освоить Django, сижу днями и ночами разбирая каждое твое видео блага есть GPT с которым я буквально понимаю все о чем ты говоришь. Продолжай в том же духе и я уверен что твой труд оценят по достоинству )))
Спасибо за такой хороший отзыв! Буду продолжать )
Спасибо тебе большое за курсы, и за то что ты не берешь за это деньги! 25.07.2024, я нашел человека на которого буду стараться равняться в похожих ситуациях! Спасибо еще раз!
Спасибо что смотрите! )
Очень круто! Спасибо большое!
Zdravstvuite ! Raznica SOA vs mikroservisi ?
Насколько я помню, ключевая разница это что SOA используют систему шину для сообщений , а микросервисы полагаются на децентрализованное взаимодействие.
Было очень интересно, спасибо!
когда начинал вкатыватся в программирование и был чистым фронтом на работе надо было по-быстрому стать фулстеком и писать drf именно твои видосы оказались самыми полезными, большое спасибо а в этот видос очень сильно меня порадовал потому-что затронуты очень глубокие темы о которых я слышал только 1 раз краем уха, и не понимал что они значат в общем ты реально крут!
Спасибо большое за такой отзыв! Рад что мои видосы помогли, всегда приятно такое слышать.
А можно гайд по удаленному хранению статики и медиа, то есть хороший такой гайд по django-storages. В интернете оч мало информации по тому как сделать удаленное хранилище и передавать файлы статики например по sftp. Залайкайте пожалуйста, на ютубе не нашел такого контента:(
Хорошая тема. Довольно непростая . Хотя на первый взгляд кажется что ничего сложного. Может как-нибудь доберусь , сделаю
Спасибо за советы👍. Разработал свое приложение для изучения английского языка. Отличие моего приложения от аналогичных состоит в том, что в нем НУЖНО говорить, а не тыкать на кнопки с правильным ответом. И это, кстати, очень сильно прокачивает английский, именно speaking. Но вот, работу программистом так и не нашёл до сих пор( Друзья, если есть интересные предложения для разработчика python, напишите или порекомендуйте своим знакомым. Ах, да. Приложение для андроид можно скачать в рустор English People называется. Так же можно тренировать на сайте. Выпендрился 🤣 Ну что Senior, удивил? 🤭
Класс! Очень даже выпендрился 😀 это достойный результат. Думаю что работу еще получится найти. В любом случае, я думаю что время не прошло даром и получил много удовольствия.
24:25 Да, асинхронность помогает когда эти запросы работают не мгновенно, например, если бд развернуто на другом сервере и есть хоть какой-то пинг.
Более того, на сколько я понял, так как все запущено на одном компьютере, база замедляет работу сервера и делает асинхронный подход полностью бесполезным.
База замедляет асинхронный код в той же мере что и синхронный. Разве нет? В любом случае, предлагаю не перекидываться предположениями , а взять и проверить. Вроде это достаточно легко делается .
А откуда адрес редиски брать? 2:25
Хм. Он вроде у всех одинаковый
@@SeniorPomidorDeveloper, благодарю
@@SeniorPomidorDeveloper, у меня появился новый вопрос. Я не замечал чтобы в функциях ты закрывал соединение(к примеру redis_client.close()). Если мы прописали CACHES и используем cache, то этого делать не надо? Просто в ручную, прямиком с использование библиотеки redis, надо было подключаться(redis_client = redis.Redis(host=, port=)), а в конце, когда мы понаписали всё что хотели, надо redis_client.close()
@Antinormanisto @Antinormanisto наверно. Я всегда через caches использую
Мне кажется, у тебя страдает метрология -- ты скатился в сравнение погрешностей. Ты не учёл: 1) Паразитную нагрузку, создаваемую прочими приложениями (БД в докере, siege, DE, IDE. ОМГ, а ещё запись сразу 2 видеопотоков). А ещё есть тротлинг -- оказывается, у самого первого теста преимущество 2) Как следствие, ты скатился в сравнение погрешностей. Про доверительный интервал и сигму вообще молчу 3) Даже в школе проводят несколько экспериментов. Ну ладно, мне бы тоже было лениво сводить результаты 4) Мне кажется, что тесты на константной нагрузке вообще не имеют смысла. У всех тестов Availability >99.7%. То есть все перечисленные конфигурации справились с данным потоком клиентов. Выводов можно сделать ровно ноль. Кстати, codesenberg/bombardier будет сильно интереснее, чем siege
Я тут измеряю не нагрузку на приложение, в абсолютных величинах, а просто сравниваю какое время отклика дают разные фреймворки. А время отклика у них в разы отличается и в этом смысле тесты показательные. Тут в принципе нет смысла именно нагрузку на приложения измерять, так как приложения как такового нет, три строчки - два запроса. Тут как раз и было интересно как фреймворк будет отрабатывать почти в чистом виде. Конечно я повторял тесты по несколько раз , но зачем мне это в видео включать , оно и так получилось огромное , более 30 мин. Паразитная нагрузка конечно есть, но для всех участников теста она плюс минус одиночная, тут все в одинаковых условиях. И если бы было нужно именно понять как выдерживает нагрузку конкретное приложение, то стоило бы поднять всю инфраструктуру на серверах. Но так как приложения нет то и тестировать нагрузку в абсолютных величинах нет смысле . А сравнить фреймворки и вполне можно и локально. PS. Докером я не пользуюсь, слишком много оверхеда даёт, если локально разворачивать все гораздо быстрее работает.
Я так понимаю FastAPI работал на орм? На SQLAlchemy?
На голом sql работал. Также как и Джанго в последних этих тестах. Не знаю как будет на sqlalchemy. Думаю тоже 30% съест или типа того
@@SeniorPomidorDeveloper Спасибо за ответ)
Видео классное и интересное! Лайк! Голосую за курс по FastAPI
14:40 лучше добавлять в кортежи, они меньше занимают памяти и быстрее списков
Да вроде на общем фоне не дают разницы, в каких-то вычислениях с большими данными- наверное да. Но тут это копейки, по сравнению с тем сколько потребляет сама джанга.
@@SeniorPomidorDeveloper я тестил списки и кортежи не в веб приложении, а просто в запускал цикл с миллионом итераций. Сейчас почитал об этом подробнее и потестил еще раз. Размеры кортежа из 1млн элементов действительно меньше, а со скоростью есть ньюанс. Зависит от того как записывать
@@bernardsoul8936 Зависит от контекста, где-то в Джанго эта разница потеряется. Обычно мы не передаем на фронтенд 1мил объектов. Даже 10тыс не передаем. А вот в биг дата да, очень даже актуально.
@@SeniorPomidorDeveloper согласен)
Что мешает справа написать так же 2 строчки кода на sqlalchemy? + потестить бы скорость сериализации pydantic и в django
Не уместилось уже в видео, и так больше 30 мин, никто досмотреть не может .
@@SeniorPomidorDeveloper если не секрет, какой результат?)
Я имею ввиду что после нескольких часов съемки понял что уже не влазит. А что мешает вам самому это потестить? Обязательно это должен делать парень из ютюба, пока вы кофе пьете? Быстро за работу!
@@SeniorPomidorDeveloper а как же банальная программистская лень?) лучше спрошу у chatgpt)
🤣
говно твои тесты. тестируемое приложение надо на отдельном сервере запускать. а тут ты и сервер хостишь и по 100 потоков нагружаешь
Это понятно. Но стоит учесть что все тестируемые варианты находятся в равных условиях, по этому относительно друг друга эти результаты будут более менее верные. Но в абсолютных количествах, конечно эти цифры не имею смысла
Можно ролик про то, как правильно писать views, котороые могут создавать сложные объекты, когда один объект зависит от разных сущьностей, просто как новичку не совсем понятно, как писать такую логику на django?
А зачем писать логику , где один объект зависит от разных сущностей ? )
Допустим бывают случаи, когда мы с помощью переопределения метода perform_create() вытаскиваем user из запроса и связываем его с нашим объектом, а бывают же ситуации, когда помимо user необходимо наш объект связать с ещё какими-то сущностями, где правильно это писать ?
@@commonbro1871 На мой взгляд это не очень важно. По разному делают, бывает во вью, бывает в специальных классах логики. Пока это просто логика в одном экземпяре, можно оставить во вью. Как только мы что-то подобное должны еще где-то сделать, не копируем ни в коем случае, выносим в отдельный класс или функция и используем ее в двух местах. Вообще в разных проектах свои стандарты, но по мне так во вью норм, пока кода там не очень много и пока он не копипастится.
Как вам проводить нагрузочное тестирование между Django Ninja и DRF?
Спасибо!!!