Отличный видеокурс, спасибо автору за потраченное время, надеюсь что в будущем, вы порадуете нас еще большим обилием полезного контента!
@АртемМихайлов-м7цКүн бұрын
Отличный видос, но есть одна неточность - при составном индексе, если искать по первому полю(именно в порядке указания при создании индекса), использованному при построении индекса, все еще будет выполняться индексное сканирование,а по следующим полям - нет.
@SeniorPomidorDeveloperКүн бұрын
Сейчас уточнил у чата гпт, вот что говорит: Нет, если вы выполняете поиск по первому полю составного (композитного) индекса, указанному первым при создании индекса, обычно будет использован индексный поиск (Index Seek), а не индексное сканирование (Index Scan). Так что видимо я верно сказал. Но это всегда можно проверить . Взять explain analyze и на любой базе проверить. На практике будет уже точно понятно, так-как и я и чат гпт, вполне можем ошибаться.
@АртемМихайлов-м7цКүн бұрын
@@SeniorPomidorDeveloper Действительно, но разве этот поиск не происходит в контексте индекса(могу ошибаться, но, вроде как,в первом случае будет просмотрен весь индекс, а во втором субд сразу обратиться к нужному ключу в индексе). P.S. Спасибо что ответили на комментарий, еще и так быстро, еще ни разу не видел, чтобы автор отвечал на комментарии, но ролики более годовалой давности.))
@SeniorPomidorDeveloperКүн бұрын
Ну то что у меня не так много подписчиков и просмотров , в этом есть свои плюсы - могу пообщаться с каждым ) На счет индексов , именно этот вопрос не знаю как точно ответить. Надо теорию освежить .
@АртемМихайлов-м7цКүн бұрын
@SeniorPomidorDeveloper а есть ли у вас какие-нибудь чаты, тг-канал может быть, или может вы стримы проводите
@SeniorPomidorDeveloperКүн бұрын
Есть тг-чат , но там ничего особенного не происходит. Стримы тоже не делаю, ютюб просел немного последние время. Пол года уже готовлю большой курс-практикум по Джанго , на Степике скоро выйдет. Там будут довольно сложные задания по оптимизации ORM query и много других заданий с авто-проверкой.
@lagner63484 күн бұрын
"мы не без проблем запустили сервер..." - это и прекрасно. А то иногда возникает когнитивное искажение, что только у меня одного ничего не работает, даже копируя по инструкции 😅. Огромная благодарность за Ваши труды.
@SeniorPomidorDeveloper4 күн бұрын
Пожалуйста! Да, если такая штука что если на двух одинаковых серверах делать одно и тоже по инструкции то бывает что можно получить разные ошибки 😁
@DmKvinta4 күн бұрын
А что же вы хотите от малыша, которому еще может несколько дней от роду в историческом понимании времени. А что будет через лет 10)
@SeniorPomidorDeveloper4 күн бұрын
Ну да, возможно. Я знаю, мое мнение не популярное, но мне кажется что лет через 10 будет приблизительно тоже самое. Посмотрим 👀
@dmitriytarasov37418 күн бұрын
На 4:21 вы говорите: "Асинхронно, загрузили каждое ядро процессора". Не совсем понятно, это оговорка или вы действительно считаете, что асинхронный код в python способен задействовать все ядра процессора?
@SeniorPomidorDeveloper8 күн бұрын
Ну понятно что GIL делает свои ограничения , за счет input output мы и загружаем все ядра
@lagner63488 күн бұрын
Наверное, 30-40 лет назад это было очень удобно, но сейчас для рядовых операций по редактированию конфигов - micro хорош, с интуитивными и привычными хот кеями. Если очень хочется упороться в скорость и отказаться от мышки, то наверное стоит по пробовать VIM раскладку. Вопрос - надо ли? Куда чаще информацию ищем в доке/google/gpt/заметках. Огромная благодарность и низкий поклон за Ваши курсы.
@SeniorPomidorDeveloper8 күн бұрын
Конечно, в 99% случаях надо просто использовать свой привычный IDE для работы с кодом. Но бывает такое что внезапно отвалились сеть , ты берешь старую проводную клавиатуру, заходишь в серверную , там все гудит, подключаешь ее к железке, открываешь vim и вот , твой звездный час! 🤩
@Voipli-56710 күн бұрын
21:50 тогда можно и поле owner не указывать в сериализаторе, верно?
@SeniorPomidorDeveloper10 күн бұрын
Я думаю что скорее нужно. Но можете попробовать не указывать, только сообщите нам результат
@lilproduction341315 күн бұрын
Автору безграничное уважение и благодарность за курс.
@SeniorPomidorDeveloper15 күн бұрын
Спасибо за отзыв!
@lokrip429316 күн бұрын
Извините за вопрос, на реальных проектов оптимизация будет похоже что вы показываете в ваших курсов🙂
@SeniorPomidorDeveloper16 күн бұрын
Ну я по сути и рассказываю о том, что мы на работе делали ) В очень упрощенном виде , конечно, по тому что реальный код обрастает многими подробностями. Но основа оптимизации такая , да .
@lokrip429316 күн бұрын
@@SeniorPomidorDeveloper Спасибо большое за информацию!
@dreamhousem16 күн бұрын
Положа руку на сердце, признаюсь, что на текущий момент я джуниор - -. вместе с тем я написал несколько скриптов на PowerShell + GUI, например, для подключения рестарта устройства (скрипт открывает IP-адрес из CSV в браузере, проходит авторизацию (при этом делает проверку, надо ли авторизовываться), затем нажимает кнопки и отсчитывает оставшееся время и прочее). Все это благодаря ChatGPT. Более 200 строчек кода. Большую половину кода даже не пытаюсь понять.
@SeniorPomidorDeveloper16 күн бұрын
Я примерно также пишу , когда беру не очень знакомый язык или фреймворк. Недавно вот целый сайт собрал на vue.js строчек 1000 наверное, тоже половину не понимаю)
@hhhscvx20 күн бұрын
в очередной раз меня спасает этот видос
@Рафаэль-е8е25 күн бұрын
написал непроизвотельный код, потом сказал нейронке сделай производительный ) . Переписывает нейронка обычно без ошибок
@antondopira595729 күн бұрын
честно, удивлен что это задание на мидла, думаю джун тоже справится) Единственное что джун не осилит (сужу по себе), это тесты и наверное все?
@Execut0r77Ай бұрын
Дружище, я сам родился на Украине, и мне дико видеть тот уровень вранья, которым нас пытаются накачать, будто мы кого то там освобождаем.... Грустно........(
@FENIX-li3qvАй бұрын
Слушай я заметил что ты смотришь комментарии и хочу спросить подойдет ли то что входит плейлист Бэк энд django для общего представления о drf чтоб потом по документации дальше ориентироваться? Если я уже базово знаю django(Хз что можно назвать базовость но я написал CRUD ) ибо как я понял ты больше тут затрагиваешь работу с drf. Если нет или есть еще ресурсы которые ты можешь посоветовать(Кроме документации drf) для изучения drf было бы круто
@SeniorPomidorDeveloperАй бұрын
DRF это достаточно маленький фреймворк. Что он имеет: ViewSet - которые реализуют CRUD. Router , которые гибко создают урлы. И serializers , в них есть несколько не обязательных, но очень полезных штук для валидации и для вычислений типа SerializerMethodField. Ну вообще-то это все. Больше не о чем рассказывать. Более сложная тема это понять где и что использовать на практике. Но тут нет документации для такого. И вообще я такое не особо встречал. Может некоторые курсы на Udemy на английском что-то подобное дают. Мы сейчас готовим курс по коммерческой разработке на Джанго, я анонсирую на канале, в конце месяца наверно. Тема в которую действительно стоит углубляться это разные возможности Django ORM . Их очень много и они не простые . А про DRF я практически все в этом курсе с синей обложкой рассказал, кроме мелочей и деталей которые уже на практике надо проработать.
@FENIX-li3qvАй бұрын
Пока посмотрел 8 минут видео но уже более менее понял принцип, осталось только реализацию понять. Ты смог донести за 8 минут то что я не мог понять в документации за час, ибо меня там просто ставили перед фактом пиши это зачем почему когда?. Еще ты объясняешь принцип написания а не просто пишиш говоря что пишиш, мега круто
@SeniorPomidorDeveloperАй бұрын
Спасибо за отзыв!
@ТимурФахретдинов-ь5ьАй бұрын
как то раз посммотрел твой видос, этот еще не смотрел но тооот был хорошим, возвращаю свой долг в виде лайка и комента
@gr34a55Ай бұрын
классный курс! "это мои яблоки" (с)😄
@SeniorPomidorDeveloperАй бұрын
😮😮
@xurshidortiqov1171Ай бұрын
спасибо учитель
@isharonovАй бұрын
Большое спасибо, очень полезно!
@your_sssАй бұрын
не очень понял мув с монтированием корня проекта в контейнер, ноооо ладно. спасибо, полезно
@romanmed9035Ай бұрын
какую максимальную версию питона на данный момент можно использовать чтобы работало как на видео?
@SeniorPomidorDeveloperАй бұрын
Хороший вопрос. Я думаю чтобы точно не было проблем то такую же. Ну а если быть готовым самому что-то дофиксить то можно любую
@romanmed9035Ай бұрын
@@SeniorPomidorDeveloper спасибо. в видео достаточно старая. насколько понимаю из того что прочитал что после 3.11 какието большие изменения. вероятно 3.11 будет самое то?
@SeniorPomidorDeveloperАй бұрын
Мне кажется что после Python 2 каких-то больших изменений не было, все должно работать по обратной совместимости . Может версии других библиотек тоже придется обновять , и все
@romanmed9035Ай бұрын
@@SeniorPomidorDeveloper спасибо
@ssaass221Ай бұрын
Когда продолжение?
@SeniorPomidorDeveloperАй бұрын
Да вот жду пока 1000 лайков будет 😀
@ssaass221Ай бұрын
@@SeniorPomidorDeveloper Да блокнули ютуб в РФ, может тебе стоит на бусти постить свою работу, будет какой-то кеш.
@SeniorPomidorDeveloperАй бұрын
Думаю пора переходить на stepik
@hhhscvxАй бұрын
@@SeniorPomidorDeveloper Вы вроде думали насчет того, чтоб по FastAPI контент сделать, думаю актив хороший должен быть, щас смотрю уже вакансий больше чем на django, а материалов особо нет. С вашим умением доносить сложные вещи просто - получится имба На степике можно, куплю с радостью
@flekse4260Ай бұрын
Здравствуйте, подскажите пожалуйста, написал тест для сортировки, а он помимо выдуманных данных, которые мы прописывали в setUp, берет и данные из базы данных. Проверил остальные тесты, они тоже берут значения из базы данных. Не понимаю как такое возможно, ведь ниже вы писали: "В тесте проверяется то, что там создается . Так это работает, так задумано"
@SeniorPomidorDeveloperАй бұрын
Здравствуйте! Это может быть если в настройках в адресе тестовой базы вы написали адрес основной. Или наоборот. По умолчанию такого не должно быть. А тестовая база должна называться как основная + «_test». Как вариант, если что-то перепуталось то можно придумать какой новое название тестовой базы и прописать в конфигурации
@flekse4260Ай бұрын
@@SeniorPomidorDeveloper , подскажите пожалуйста, где изменить настройки адреса тестовой базы данных. Пересмотрел последние 3 видео и не нашел где вы настраиваете тестовую базу данных, а дело в том, что я делал все как вы. Единственное отличие: у меня windows и соответственно я дописал import django import os os.environ.setdefault("DJANGO_SETTINGS_MODULE", "books.settings") django.setup()
@SeniorPomidorDeveloperАй бұрын
Да это надо загуглить или у чат гпт лучше спросить. Не помню точно название переменной , где-то внутри DATABASE
@flekse4260Ай бұрын
@@SeniorPomidorDeveloper, хорошо, спасибо огромное, буду пробовать!!!
@flekse4260Ай бұрын
@@SeniorPomidorDeveloper, в общем и целом, я смог решить данную проблему и оставлю решение здесь, вдруг у кого-то возникнет такая же проблема. Вы были правы, по умолчанию тестовая база данных создается сама, и я даже проверил в PgAdmin, она у меня даже создавалась, но не использовалась. Я пробовал добавлять поле 'TEST'{'NAME': 'test_book_db', но это не помогло, помогло только создание нового файла 'test_settings.py' в котором прописал: from .settings import * DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'test_books_db', 'USER': 'books_user', 'PASSWORD': 'password', 'HOST': 'localhost', 'PORT': '', } } а потом добавил ссылку на этот файл в файле test_api.py: os.environ.setdefault("DJANGO_SETTINGS_MODULE", "books.test_settings") Спасибо вам!!!
@Fan_bamaYTАй бұрын
очень хороший формат
@elsafarov4724Ай бұрын
26:50 мешает голова, напишите пожалуйста запрос
@SeniorPomidorDeveloperАй бұрын
Это путь до файла. Потом имя класса, потом имя функции. Все пишется через точку.
@understandwhatАй бұрын
👍👍👍👍👍👍
@understandwhatАй бұрын
очень полезно, большое спасибо!
@zakchipsАй бұрын
Спасибо. Да, хотелось бы вернуться к Heroku по теме статики. картинки (медиа) конечно должны быть на s3 bucket, а вот есть ли варианты статики ? У матта леймана используется на Heroku whitenoise для раздачи статики. На обычной VPS с nginx всё привычнее и обозримее.
@SeniorPomidorDeveloperАй бұрын
Да, конечно тут что-то типа s3 надо использовать, есть пакеты для Django , к примеру boto3 , где можно его использовать просто также через field как FileField модели . Если настроить то никакой разницы не заметите с классическим способом с файловой системой .
@zakchipsАй бұрын
@@SeniorPomidorDeveloper Да, это всё отлично работает. картинки очень быстро с амазона подтягиваются. вот статику js css не пробовала, волнуюсь, не будет ли это долго по сравнению с папкой проекта
@SeniorPomidorDeveloperАй бұрын
Ну может и быстрее будет. От региона зависит. Где-то сервера Амазона будут более доступны . Да и разница в доли секунды скорее всего
@lagert53022 ай бұрын
Опять годнота,автор снова делает нас лучше
@dodokwak2 ай бұрын
Класс!
@timofey-03072 ай бұрын
GitHub action почему не использовать? Workflow. И что лучше?
@SeniorPomidorDeveloper2 ай бұрын
Да тоже отличный вариант, если интегрироваться с каким-то CI
@SeniorPomidorDeveloper2 ай бұрын
Что лучше. Кому что подходит , ну и что дешевле . Я CircleCI использую, он удобный и недорогой
@vater1222 ай бұрын
Спасибо, очень доступно объясняешь. Было весьма полезно.
@Debora2011nn2 ай бұрын
❤
@whosane99232 ай бұрын
Ну да , тут уже хероку становится более интересным )
@DmitryChushov2 ай бұрын
Огромное спасибо за труд!
@Анатолий-л6я5е2 ай бұрын
Спасибо, круто объяснил!
@132dannys2 ай бұрын
Удивительно, что ютуб решил не сообщать мне о выходе новых роликов, хоть я и подписан. Случайно заметил вторую часть про хероку..