Я веб разработчик на python без большого опыта. Мне второй день не дает покоя та часть, где джанго сравнивают с рельсами например. Вы сказали что у джанго два режима: 1. Веб 1.0 двадцатилетней давности (видимо речь о шаблонах) 2. "Backend to fronted" (видимо речь о drf) Проблема в том что я не понимаю, есль ли какие-то еще вариации. Я знаком и с фласк и с фастапи, и они будто под второй тип тоже подходят. Но я не знаком с другими фреймворками на других языках, чем они так выгодно отличаются, я не очень понял. Подскажите куда смотреть чтобы понять разницу, или термины которые поискать. А то я живу сейчас в мире где лучший подход к вебу это rest + react
@@vadimv1501 Постараюсь снова написать комментарий... То о чем говорит Григорий про Django/Python на 36:40 минуте могу прокомментировать так. Не скажу про PHP мир, но в рельсах ощущается развитие, желание решать задачи современной разработки. По ощущениям Django где-то застряла и от версии к версии мало что меняется. Заглядывал в мир Рельс и поразился, насколько они стараются и делают жизнь разработчика современных проектов проще и предлагают актуальные, современные инструменты, кажется, почти для всего. Условно в пару команд: rails new theactors --database=postgresql --css=tailwind rails generate scaffold Actor first_name:string last_name:string image:attachment bday:date Можно сгенерировать вполне себе работающий шаблон CRUD проекта для модели Actor с заданными полями, стилями и запущенным Tailwind. У них сразу есть продуманная структура проекта, разбивка тех же настроек на окружения dev, prod и test. Есть готовое решение для создания современного фронтэнда полностью на рельсах - hotwired.dev/ У них есть даже способ оборачивать фронт в приложения - native.hotwired.dev/ (!) Еще у рельсов появился готовый инструмент для деплоя проекта в контейнерах - kamal-deploy.org/ В целом есть ощущение, что идет развитие, вкладываются деньги и есть реальная работа, направленная на решение современных задач. У Джанги же от версии к версии мало что меняется и разработчик должен сам решать, как ему решать ту или иную типовую задачу. Как деплоить джангу? Как сделать современный фронт - React/Vue/Angular или шаблоны+HTMX? Как параллельно в разработке запускать Tailwind/Webpack/Vite? Как сделать вебсокеты ? Чем обжимать картинки? и тд и тп, масса вопросов, от которых Джанга абстрагируется. Вот вам папка для шаблонов, вот папка для статики, кладите туда, что хотите. Про приложения я вообще молчу ) Но! При этом, лично я попробовав некоторые альтернативы Питону и Джанге - Рельсы, Ноду, Go - принял решение остаться на Питоне и Джанге, тк как у нас уже куча когда написано на питоне, можно копипастить решения из проекта в проект, основные боли мы уже знаем, к ним привыкли, а переходя в новый стек столкнешься с новыми проблемами и новыми болями, а кому это надо. P.S. И еще немаловажный момент - вокруг в компаниях питон используется широко, есть вакансии, куча происходит мероприятий, митапов и тд. С Руби все несколько сложнее. Я лично из наших больших проектов знаю только Мегамаркет от Сбера, но по моему опыту сайт работает криво и медленно, и это тоже не добавляет стимула свичнуться на руби.
@@vadimv1501 шок контент, вчера запостил второй раз ответ - его снова нет... пробую третий раз.. То о чем говорит Григорий про Django/Python на 36:40 минуте могу прокомментировать так. Не скажу про PHP мир, но в рельсах ощущается развитие, желание решать задачи современной разработки. По ощущениям Django где-то застрял и от версии к версии мало что меняется. Заглядывал в мир Рельс и поразился, насколько они стараются и делают жизнь разработчика современных проектов проще и предлагают актуальные, современные инструменты, кажется, почти для всего. Условно в пару команд: rails new theactors --database=postgresql --css=tailwind rails generate scaffold Actor first_name:string last_name:string image:attachment bday:date Можно сгенерировать вполне себе работающий шаблон CRUD проекта для модели Actor с заданными полями, стилями и запущенным Tailwind. У них сразу есть продуманная структура проекта, разбивка тех же настроек на окружения dev, prod и test. Есть готовое решение для создания современного фронтэнда полностью на рельсах - hotwired.dev/ У них есть даже способ оборачивать фронт в приложения - native.hotwired.dev/ (!) Еще у рельсов появился готовый инструмент для деплоя проекта в контейнерах - kamal-deploy.org/ В целом есть ощущение, что идет развитие, вкладываются деньги и есть реальная работа, направленная на решение современных задач. У Джанги же от версии к версии мало что меняется и разработчик должен сам решать, как ему решать ту или иную типовую задачу. Как деплоить джангу? Как сделать современный фронт - React/Vue/Angular или шаблоны+HTMX? Как параллельно в разработке запускать Tailwind/Webpack/Vite? Как сделать вебсокеты ? Чем обжимать картинки? и тд и тп, масса вопросов, от которых Джанга абстрагируется. Вот вам папка для шаблонов, вот папка для статики, кладите туда, что хотите. Про приложения я вообще молчу ) Но! При этом, лично я попробовав некоторые альтернативы Питону и Джанге - Рельсы, Ноду, Go - принял решение остаться на Питоне и Джанге, тк как у нас уже куча когда написано на питоне, можно копипастить решения из проекта в проект, основные боли мы уже знаем, к ним привыкли, а переходя в новый стек столкнешься с новыми проблемами и новыми болями, а кому это надо. P.S. И еще немаловажный момент - вокруг в компаниях питон используется широко, есть вакансии, куча происходит мероприятий, митапов и тд. С Руби все несколько сложнее. Я лично из наших больших проектов знаю только Мегамаркет от Сбера, но по моему опыту сайт работает криво и медленно, и это тоже не добавляет стимула свичнуться на руби.
Любителям обязательной обработки ошибок рекомендую один раз собрать и отладить парсер на Selenium. Станет понятно, почему обычный except - это часто хорошее решение.
Ты профилировал? Рефлексия не такая тормозная, как class loaders. БОльшая часть времени старта приложения это почти всегда ожидание загрузки классов до их интерпретации.
Вездесущие проверки на err != nil говорят об обратном :) Конечно по результатам проверки я могу ничего не делать, но мы то в подкасте говорили про болерплейт-код
@ нет, можно просто поставить _ вместо err . Вот так value, _ := someFunc(). И обойтись без err != nil, компилятор ничего не скажет. Если ошибка это единственное, что можно вернуть, то можно обойтись просто someFunc() или при желании _ := someFunc()
Благодарю за Ваш обзор нововведений python
Спасибо за подкаст!
I'm in :) Ребята спасибо за класный подкаст, слушаю вас с удовольствием на Apple Podcast
Я веб разработчик на python без большого опыта. Мне второй день не дает покоя та часть, где джанго сравнивают с рельсами например. Вы сказали что у джанго два режима:
1. Веб 1.0 двадцатилетней давности (видимо речь о шаблонах)
2. "Backend to fronted" (видимо речь о drf)
Проблема в том что я не понимаю, есль ли какие-то еще вариации. Я знаком и с фласк и с фастапи, и они будто под второй тип тоже подходят. Но я не знаком с другими фреймворками на других языках, чем они так выгодно отличаются, я не очень понял.
Подскажите куда смотреть чтобы понять разницу, или термины которые поискать.
А то я живу сейчас в мире где лучший подход к вебу это rest + react
и живи себе спокойно, в остальных плюс минус так же, просто кто то выебывается, а кто то нет
Странно, долго и нудно писал ответ на этот коммент, а он не показывается 🙄
@@dimusss Обидно, хотелось бы его прочитать
@@vadimv1501 Постараюсь снова написать комментарий...
То о чем говорит Григорий про Django/Python на 36:40 минуте могу прокомментировать так.
Не скажу про PHP мир, но в рельсах ощущается развитие, желание решать задачи современной разработки.
По ощущениям Django где-то застряла и от версии к версии мало что меняется.
Заглядывал в мир Рельс и поразился, насколько они стараются и делают жизнь разработчика современных проектов проще и предлагают актуальные, современные инструменты, кажется, почти для всего.
Условно в пару команд:
rails new theactors --database=postgresql --css=tailwind
rails generate scaffold Actor first_name:string last_name:string image:attachment bday:date
Можно сгенерировать вполне себе работающий шаблон CRUD проекта для модели Actor с заданными полями, стилями и запущенным Tailwind.
У них сразу есть продуманная структура проекта, разбивка тех же настроек на окружения dev, prod и test. Есть готовое решение для создания современного фронтэнда полностью на рельсах - hotwired.dev/
У них есть даже способ оборачивать фронт в приложения - native.hotwired.dev/ (!)
Еще у рельсов появился готовый инструмент для деплоя проекта в контейнерах - kamal-deploy.org/
В целом есть ощущение, что идет развитие, вкладываются деньги и есть реальная работа, направленная на решение современных задач.
У Джанги же от версии к версии мало что меняется и разработчик должен сам решать, как ему решать ту или иную типовую задачу.
Как деплоить джангу? Как сделать современный фронт - React/Vue/Angular или шаблоны+HTMX? Как параллельно в разработке запускать Tailwind/Webpack/Vite? Как сделать вебсокеты ? Чем обжимать картинки? и тд и тп, масса вопросов, от которых Джанга абстрагируется. Вот вам папка для шаблонов, вот папка для статики, кладите туда, что хотите. Про приложения я вообще молчу )
Но! При этом, лично я попробовав некоторые альтернативы Питону и Джанге - Рельсы, Ноду, Go - принял решение остаться на Питоне и Джанге, тк как у нас уже куча когда написано на питоне, можно копипастить решения из проекта в проект, основные боли мы уже знаем, к ним привыкли, а переходя в новый стек столкнешься с новыми проблемами и новыми болями, а кому это надо.
P.S. И еще немаловажный момент - вокруг в компаниях питон используется широко, есть вакансии, куча происходит мероприятий, митапов и тд. С Руби все несколько сложнее. Я лично из наших больших проектов знаю только Мегамаркет от Сбера, но по моему опыту сайт работает криво и медленно, и это тоже не добавляет стимула свичнуться на руби.
@@vadimv1501 шок контент, вчера запостил второй раз ответ - его снова нет... пробую третий раз..
То о чем говорит Григорий про Django/Python на 36:40 минуте могу прокомментировать так.
Не скажу про PHP мир, но в рельсах ощущается развитие, желание решать задачи современной разработки. По ощущениям Django где-то застрял и от версии к версии мало что меняется.
Заглядывал в мир Рельс и поразился, насколько они стараются и делают жизнь разработчика современных проектов проще и предлагают актуальные, современные инструменты, кажется, почти для всего.
Условно в пару команд:
rails new theactors --database=postgresql --css=tailwind
rails generate scaffold Actor first_name:string last_name:string image:attachment bday:date
Можно сгенерировать вполне себе работающий шаблон CRUD проекта для модели Actor с заданными полями, стилями и запущенным Tailwind.
У них сразу есть продуманная структура проекта, разбивка тех же настроек на окружения dev, prod и test. Есть готовое решение для создания современного фронтэнда полностью на рельсах - hotwired.dev/
У них есть даже способ оборачивать фронт в приложения - native.hotwired.dev/ (!)
Еще у рельсов появился готовый инструмент для деплоя проекта в контейнерах - kamal-deploy.org/
В целом есть ощущение, что идет развитие, вкладываются деньги и есть реальная работа, направленная на решение современных задач.
У Джанги же от версии к версии мало что меняется и разработчик должен сам решать, как ему решать ту или иную типовую задачу.
Как деплоить джангу? Как сделать современный фронт - React/Vue/Angular или шаблоны+HTMX? Как параллельно в разработке запускать Tailwind/Webpack/Vite? Как сделать вебсокеты ? Чем обжимать картинки? и тд и тп, масса вопросов, от которых Джанга абстрагируется. Вот вам папка для шаблонов, вот папка для статики, кладите туда, что хотите. Про приложения я вообще молчу )
Но! При этом, лично я попробовав некоторые альтернативы Питону и Джанге - Рельсы, Ноду, Go - принял решение остаться на Питоне и Джанге, тк как у нас уже куча когда написано на питоне, можно копипастить решения из проекта в проект, основные боли мы уже знаем, к ним привыкли, а переходя в новый стек столкнешься с новыми проблемами и новыми болями, а кому это надо.
P.S. И еще немаловажный момент - вокруг в компаниях питон используется широко, есть вакансии, куча происходит мероприятий, митапов и тд. С Руби все несколько сложнее. Я лично из наших больших проектов знаю только Мегамаркет от Сбера, но по моему опыту сайт работает криво и медленно, и это тоже не добавляет стимула свичнуться на руби.
Жаль у вас оглавление в последних видео пропало.
Любителям обязательной обработки ошибок рекомендую один раз собрать и отладить парсер на Selenium. Станет понятно, почему обычный except - это часто хорошее решение.
Jacob Kaplan-Moss рассказал о финансах Django Software Foundation - Not Found 404
Толстые проекты на java долго стартуют не из-за jit, а из-за DI, который по сути полностью сделан на тормозной рефлексии.
Ты профилировал? Рефлексия не такая тормозная, как class loaders. БОльшая часть времени старта приложения это почти всегда ожидание загрузки классов до их интерпретации.
В go обработка ошибок не обязательная
Вездесущие проверки на err != nil говорят об обратном :) Конечно по результатам проверки я могу ничего не делать, но мы то в подкасте говорили про болерплейт-код
@ нет, можно просто поставить _ вместо err . Вот так value, _ := someFunc(). И обойтись без err != nil, компилятор ничего не скажет. Если ошибка это единственное, что можно вернуть, то можно обойтись просто someFunc() или при желании _ := someFunc()
@@lacosteque О, значит я этот момент понимал неправильно, спасибо!
@@korneevm только линтеры будут ругаться, но кого это останавливало в Python :)))