Алексей, спасибо за такой контент! очень хорошо разъясняете... к сожалению недавно только увидел ваш канал и подписался) очень не хватало такого пару лет назад
Видео , супер 🔥🔥🔥. Пожалуйста , можете рассказать про реальный деплой проектов Django на веб-сервер и написание сигналов , Rest API. Что лучше GraphQL или Rest API? С меня лайк и комменты. Контент шикарный 👌
интересно. попробовал сегодня python3.9 на попытку прописать from core.views import base_view пишет ModuleNotFoundError: No module named 'core', погуглил с полчаса, но с моим уровнем знаний пока непонятно :(
Добрый день. Вы говорили, что хорошая практика оборачивать операции с БД в транзакции, в частности вы это делали в обработке исключений. Но эта практика хороша, только когда вьюха обрабатывает несколько записей бд. Верно? Когда например, идет обработка одной запись, например создать пользователя, то оборачивать в транзакцию смысла нет. Я прав? или все же и при обработке одной операции БД ее тоже стоит оборачивать в транзакцию.
если же это делаеться для себя (логирование ошибок и отправка например нам на почту чтобы мы видели где/как/почему), то что думаешь о таком проекте как Sentry, замена вот этому вот всему?
А почему используется наследование от BaseView, вместо того чтобы сделать отдельный миксин? Ведь тогда я не смогу отнаследоваться от какого-нибудь generic view например.
В моменте, где речь идет BaseView, если _response это статический метод, то почему на него идет ссылка через self? Опять-таки, если метод статический, зачем делать его с нижним подчеркиванием.
Пока непонятен формат курса. Я планирую провести опрос или опрос и стрим, чтобы пообщаться с людьми и понять желаемый формат, уже исходя из этого будет и стоимость. Офлайн в Мск это 100% самый эффективный вариант был бы. Но скорее всего с канала туда полтора человека наберутся всего, да и стоимость будет самая высокая - аренда места проведения, плюс огромные временные затраты, пока не уверен, что смогу набрать достаточное количество участников. Есть школы, которые набирают, но там огромные бюджеты на рекламу, опять же пока не уверен, что это оправдано. В общем пообщаемся со всеми желающими, поймём.
Можно один класс сделать который наследуется от вью и потом использовать его и с другими дженерик вью(лист, дитеил и тд) или для каждого нужно делать? Я знаю что они все наследуется от вью, но вот хз может в каком-то с этих классов переопределены какие-то методы, а эта вьюха все поломает?
traceback кидать в ответ сервера - такое себе. LOGGING в settings.py надо настроить корректно, чтобы то, что нужно, кидалось в консоль, а другое - слалось на почту. (sentry пока оставим в стороне)
Про логи есть видео ruclips.net/video/nAK-Tpc3NMI/видео.html Traceback можно кидать в тч и в консоль, удобно смотреть при разработке. На продаке понятно, что в логи.
Алексей, спасибо за материалы что освящаешь интересно и не принужденно. Но по данной теме что озвучил в видео возник вопрос. Если можно отлавливать ошибки в базовом классе, зачем тогда плодить в нижних слоях. Да я не исключаю ситуативные какие то ошибки которые нужно отловить в каком то методе Но если у меня к пример не сколько вьюшек с пост запросами можно же написать один обработчик на проверку пост запроса в базовом классе а не в каждом отдельности?
Потому что обработка всех ошибок от общего класса Exception затратна по ресурсам, поэтому необходимо ловить ошибки на как можно более низком уровне, а страховать все с помощью Exception на самом верхнем уровне, который будет ловить непредусмотренные ошибки. Причем после их поимки их необходимо также обработать где-то на более низком уровне.
Такое ощущение, что после монтажа вместо добавления в план курса, видео ошибочно заливают на ютуб, уже не первый раз :) p.s. Сколько курс стоить будет? И где он будет? На юдеми?
красавчик, на каждом кодревью бомбит про названия функций, а сам def ret это же всем сразу понятно, что является сокращением от return, return чего? что? куда? зачем?
Эта функция используется во всех FBV вьюшках и поэтому сокращение может быть оправдано просто потому, что так писать короче. $ в jquery тоже как бы не сильно говорящий, но такое название оправдано. При этом вы всегда можете назвать функцию get_accurate_formatted_django_json_response:)
ret используется во всех FBV, так что сокращение может быть оправдано так же, как оправдано сокращение $ в jquery. inner - вы бы предпочли wrapper? Это бы кардинально все изменило, добавило смыслов?
@@t0digital Как вы думаете, не зная язык JavaScript, но имея необходимые книги по JavaScript, можно создать простенькую браузерную игру, например Тетрис ?
Алексей, отличный темп и качество материала, благодарю!
Лайкосик ставлю сразу, еще до просмотра.
Алексей, спасибо. Не первый раз помог в учёбе. Ты крут.
Отлично ждём логирования
Уже на бусти:)
Воу полегче, последнее видео было 22 часа назад, это уже даже не каждый день
Алексей, спасибо большое за материал! Очень полезный!!!
Рад, что полезно!
Спасибо, что выполнили обещание! Продолжайте в том же духе!
Спасибо🙏
Открываю и сразу лайк
Всё здорово! Смотреть и полезно, и приятно.
Спасибо!
Подустал благодарить за крутой контент) Давайте от обратного, если я ничего не написал значит видео топовый топчик))
Нене, надо писать:)! Спасибо🙏
Классные ролики!
Хочу видео про тесты :)
Алексей, спасибо за такой контент! очень хорошо разъясняете... к сожалению недавно только увидел ваш канал и подписался) очень не хватало такого пару лет назад
Вот это плотность подачи нового контента)) я не успеваю пиво открыть, как выходит новый видос))
На бусти уже третий финальный видос лежит по этой теме:)
@@t0digital несколько дней вынашивал идею подписаться на бусти))) и вот решился сейчас на второй тир))) погнал смотреть про логгирование))
@@MadMike93 йеее 🤘
Супер!
Отличное видео, спасибо)
Всегда бы с такими темпами ;)
Большое спасибо!
Темп просмотров не радует:) похоже, формат видео каждый день не заходит
Благодарю, отличное видео
Рекомендую использовать пакет polog, там есть готовые декораторы для логирования ошибок.
спасибо тебе огромное за твои труды и твои видео, лайк автоматически
Мега полезно!
это было интересно) Спасибо)
Спасибо)
Теперь жду видео по логам 🙃
Оно уже на бусти:)
Видео , супер 🔥🔥🔥. Пожалуйста , можете рассказать про реальный деплой проектов Django на веб-сервер и написание сигналов , Rest API. Что лучше GraphQL или Rest API? С меня лайк и комменты. Контент шикарный 👌
Спасибо за полезное видео! Подписался на Boosty, и вам советую.
Павел, рад, что полезно! Спасибо!
интересно. попробовал сегодня python3.9 на попытку прописать from core.views import base_view пишет ModuleNotFoundError: No module named 'core', погуглил с полчаса, но с моим уровнем знаний пока непонятно :(
Спасибо. Расскажи подробнее про декораторы, пожалуйста
Не всё понятно, но захотелось начать откладывать деньги на ваш курс)
На практике всё расставится по полочкам:)
можно серию видео про Django REST framework?
не уверен, что будет серия, но какой-то материал будет, думаю
Добрый день. Вы говорили, что хорошая практика оборачивать операции с БД в транзакции, в частности вы это делали в обработке исключений. Но эта практика хороша, только когда вьюха обрабатывает несколько записей бд. Верно? Когда например, идет обработка одной запись, например создать пользователя, то оборачивать в транзакцию смысла нет. Я прав? или все же и при обработке одной операции БД ее тоже стоит оборачивать в транзакцию.
Добрый вечер, не проще обработать ошибки в мидлваре?)
если же это делаеться для себя (логирование ошибок и отправка например нам на почту чтобы мы видели где/как/почему), то что думаешь о таком проекте как Sentry, замена вот этому вот всему?
А почему используется наследование от BaseView, вместо того чтобы сделать отдельный миксин? Ведь тогда я не смогу отнаследоваться от какого-нибудь generic view например.
Так вроде можно и от двух классов наследоваться там где нужно
@@ИванИваныч-н3у можно, но такая объявлениие MyView(ExceptionHandlerMixin, DetailView) куда информативнее, чем MyView(BaseView, DetailView),
@@DES2048 а можно пример кода эксепшена на Mixin, в чем там принципиальные отличия ?
А как же EXCEPTION_HANDLER для drf?
[Django] В BaseView ошибка, в блоке кода except ... e.message работать не будет, нужно заменить на str(e)
Кто-то сливает на этот канал все видеоуроки от будущего курса!
подогреваю, подогреваю интерес:)
@@t0digital такими темпами, через неделю нечего уже будет рассказывать
Курс огромный. Пайтон там это только часть. Одного пайтона мало:) мне есть мнооого что рассказать и в рамках курса, и в рамках ютуба
Диджитализируй! С таким подогревом нарушу твои заповеди и возьму кредитку для курса 😆
@@t0digital Очень сильно ждем онлайн курс на Дальнем востоке
Почему лайк можно только один поставить, блин?!
В моменте, где речь идет BaseView, если _response это статический метод, то почему на него идет ссылка через self? Опять-таки, если метод статический, зачем делать его с нижним подчеркиванием.
какой тайм-код?
@@t0digital на 6:39, например, код
Спасибо за видео. А почему 400 ошибка возвращается?
400 bad request, что-то не так с запросом. Надо включить в джанге в настройках Debug = True и смотреть, из-за чего
@@t0digital Я имею ввиду почему в примерах вы возвращаете по дефолту такую ошибку, а не 500?
Алексей, привет.
А примерная стоимость курса ясна?
Мск. Офлайн=
Пока непонятен формат курса. Я планирую провести опрос или опрос и стрим, чтобы пообщаться с людьми и понять желаемый формат, уже исходя из этого будет и стоимость. Офлайн в Мск это 100% самый эффективный вариант был бы. Но скорее всего с канала туда полтора человека наберутся всего, да и стоимость будет самая высокая - аренда места проведения, плюс огромные временные затраты, пока не уверен, что смогу набрать достаточное количество участников. Есть школы, которые набирают, но там огромные бюджеты на рекламу, опять же пока не уверен, что это оправдано. В общем пообщаемся со всеми желающими, поймём.
@@t0digital Спасибо)
Можно один класс сделать который наследуется от вью и потом использовать его и с другими дженерик вью(лист, дитеил и тд) или для каждого нужно делать? Я знаю что они все наследуется от вью, но вот хз может в каком-то с этих классов переопределены какие-то методы, а эта вьюха все поломает?
Протестируйте, заодно разберетесь:) И на boosty видос про обработку ошибок через middleware, тоже хороший способ
traceback кидать в ответ сервера - такое себе. LOGGING в settings.py надо настроить корректно, чтобы то, что нужно, кидалось в консоль, а другое - слалось на почту. (sentry пока оставим в стороне)
Про логи есть видео ruclips.net/video/nAK-Tpc3NMI/видео.html
Traceback можно кидать в тч и в консоль, удобно смотреть при разработке. На продаке понятно, что в логи.
@@t0digital Если про dev речь, тогда пили 4 видео про django debug toolbar, вещь незаменимая)
Мне вообще не зашёл этот плагин. Если не SPA приложение, то может и полезно, но мы такие не пишем:)
Когда будет курс?
Скоро!
Алексей, спасибо за материалы что освящаешь интересно и не принужденно.
Но по данной теме что озвучил в видео возник вопрос.
Если можно отлавливать ошибки в базовом классе, зачем тогда плодить в нижних слоях.
Да я не исключаю ситуативные какие то ошибки которые нужно отловить в каком то методе
Но если у меня к пример не сколько вьюшек с пост запросами можно же написать один обработчик на проверку пост запроса в базовом классе а не в каждом отдельности?
В базовом классе отлавливаем то, что не отловилось и не обработалось в слоях ниже
Потому что обработка всех ошибок от общего класса Exception затратна по ресурсам, поэтому необходимо ловить ошибки на как можно более низком уровне, а страховать все с помощью Exception на самом верхнем уровне, который будет ловить непредусмотренные ошибки. Причем после их поимки их необходимо также обработать где-то на более низком уровне.
что это за Endel на фоне играет?))
Не нравится:)?
@@t0digital нравится конечно. Я сам на генеративную музыку/звуки подсел)
Видео стали настолько часто выходить, что я не успеваю смотреть
Пока тестирую такой формат. Если статистика канала вместо роста будет проседать - вернусь к прежней периодичности.
Такое ощущение, что после монтажа вместо добавления в план курса, видео ошибочно заливают на ютуб, уже не первый раз :)
p.s. Сколько курс стоить будет? И где он будет? На юдеми?
Я хочу посоветоваться со всеми о формате и стоимости курса. Сделаю стрим и там обсудим.
@@t0digital А какую сумму за курс тебе бы самому хотелось получить?
Большую. Зависит от формата курса.
@@t0digital Уже страшно 😹
Когда будет что то про С++?
Было бы интересно послушать)
Я не писал много на сях, поэтотму в моём исполнении в ближайшее время - нет
👍👍👍👍
Сейчас бы каждое view оборачивать в декоратор
Про способ с middleware через пару часов будет видео на boosty, кстати, заливается сейчас:)
Текст редактора покрупнее пожалуйста, многие смотрят на телефоне
красавчик, на каждом кодревью бомбит про названия функций, а сам def ret это же всем сразу понятно, что является сокращением от return, return чего? что? куда? зачем?
Эта функция используется во всех FBV вьюшках и поэтому сокращение может быть оправдано просто потому, что так писать короче. $ в jquery тоже как бы не сильно говорящий, но такое название оправдано. При этом вы всегда можете назвать функцию get_accurate_formatted_django_json_response:)
Скоро у меня случится передоз годными видео, не убивай свою аудиторию.
Провожу эксперимент, если статистика канала будет падать - вернусь в привычный ритм выхода видео
Диджитализируй! Все уже давно написали ботов, чтобы не портить статистику на случай смерти
мда, товарищ, нейминг конечно оставляет желать лучшего - ret, res, inner)
ret используется во всех FBV, так что сокращение может быть оправдано так же, как оправдано сокращение $ в jquery. inner - вы бы предпочли wrapper? Это бы кардинально все изменило, добавило смыслов?
Ну че как оно... не спать?
Не спать плохо, спать отлично!
Кто изучает JavaScript?
Думаю, всем полезно поизучать JavaScript:)
@@t0digital Как вы думаете, не зная язык JavaScript, но имея необходимые книги по JavaScript, можно создать простенькую браузерную игру, например Тетрис ?
Конечно
Кто-то взломал канал и сливает нам видео :D