Пікірлер
@enzocortez7758
@enzocortez7758 22 сағат бұрын
49:08 про отказ от PGP... а ссылку на SeXtore 😂 (как послышалось) надо б на экране было дать, если смотреть на альтернативной платформе вас (даже с учётом будущего, вдруг ютуб гавкнется), то на том же Rutube записи этого чата нет. Надо ключевой контент и хотя бы нейминг/ссылку выводить в сам контент (если не в подписи пото, то хотя бы прям в видео (это даже лучше))
@sergeyalexeev9213
@sergeyalexeev9213 4 күн бұрын
Никита, лучше расскажи, зачем мне в питоне знать как там там работает байт код, jit и прочая фигня. Ну реально, если мне где-то нужно оптимизироваться, проще переписать какой-то функционал на rust/c и получить в x10 или x100 ускорение, чем думать как там в питоне это работает (
@kaziamov
@kaziamov 4 күн бұрын
Михаил Корнеев, привет, вижу на трансляциях постоянную проблему с отключением камеры. У меня Canon и при долго записи она постоянно уходила сон. Я решил эту проблему кабелем постоянного тока с маркировкой как у батареии фотоаппарата. Продаются на любом маркетплейсы. Надеюсь поможет. Спасибо за эфиры!
@tumkir
@tumkir 6 күн бұрын
Жаль у вас оглавление в последних видео пропало.
@aleksandrdemidov6058
@aleksandrdemidov6058 6 күн бұрын
луковую архитектуру понял ) и все ( ... выключил )
@16bitart
@16bitart 7 күн бұрын
Пример с вебом, что гораздо удобнее бота stamps точка robonizer дот ком
@MaksimG73577
@MaksimG73577 7 күн бұрын
На python тоже есть книга про ddd и event driving
@MaksimG73577
@MaksimG73577 7 күн бұрын
Паттерны разработки на Python: TDD, DDD и событийно-ориентированная архитектура
@jcatstreams8550
@jcatstreams8550 4 күн бұрын
@@MaksimG73577 полная шляпа, лучше даже не смотреть
@АлександрИванов-ъ7р6ч
@АлександрИванов-ъ7р6ч 7 күн бұрын
Команда - молодцы, классный pet-проект. Из улучшений, я бы вместе с ошибкой показывал скрин страницы, чтобы можно было сразу проверить, и, как вариант, сделал кнопку "ложное срабатывание", чтобы получать обратную связь по ошибкам модели
@АндрейМеркулов-п6б
@АндрейМеркулов-п6б 9 күн бұрын
Любителям обязательной обработки ошибок рекомендую один раз собрать и отладить парсер на Selenium. Станет понятно, почему обычный except - это часто хорошее решение.
@МаксимМаксим-ю2щ
@МаксимМаксим-ю2щ 11 күн бұрын
Молодцы 👏 с удовольствием смотрю и читаю, слушаю, всех благ вам 🤝 Подскажите есть канал в Тг Григория Петрова ?
@MaxZaikin
@MaxZaikin 14 күн бұрын
I'm in :) Ребята спасибо за класный подкаст, слушаю вас с удовольствием на Apple Podcast
@the_king_dusty
@the_king_dusty 14 күн бұрын
34:00 на деле это не связано с многоядерностью. Мультипроцессоринг это о создании в системе отдельно скомпилированных GIL вызовов по факту экземляров(они могут быть как связаны так и нет с родительскими, при этом возможен шаринг), которые позволяют обойти блокировку. А деление ресурса в данном случае будет условным для операционной системы, поскольку на деле система позволяет бить их на самоконтроле отдавая управление самой системе как в части выделения памяти так и всего остального, и кажется интервьюер путает асинхронность и параллельность.
@andynaz7044
@andynaz7044 15 күн бұрын
23:54 Привет от 3.13 ! 25:01 Ну, это уже просто позорище...
@stephan_inside
@stephan_inside 15 күн бұрын
Jacob Kaplan-Moss рассказал о финансах Django Software Foundation - Not Found 404
@redneck_prm5429
@redneck_prm5429 15 күн бұрын
Толстые проекты на java долго стартуют не из-за jit, а из-за DI, который по сути полностью сделан на тормозной рефлексии.
@flowname
@flowname 11 күн бұрын
Ты профилировал? Рефлексия не такая тормозная, как class loaders. БОльшая часть времени старта приложения это почти всегда ожидание загрузки классов до их интерпретации.
@vadimv1501
@vadimv1501 16 күн бұрын
Я веб разработчик на python без большого опыта. Мне второй день не дает покоя та часть, где джанго сравнивают с рельсами например. Вы сказали что у джанго два режима: 1. Веб 1.0 двадцатилетней давности (видимо речь о шаблонах) 2. "Backend to fronted" (видимо речь о drf) Проблема в том что я не понимаю, есль ли какие-то еще вариации. Я знаком и с фласк и с фастапи, и они будто под второй тип тоже подходят. Но я не знаком с другими фреймворками на других языках, чем они так выгодно отличаются, я не очень понял. Подскажите куда смотреть чтобы понять разницу, или термины которые поискать. А то я живу сейчас в мире где лучший подход к вебу это rest + react
@Kolesnikov_industries
@Kolesnikov_industries 15 күн бұрын
и живи себе спокойно, в остальных плюс минус так же, просто кто то выебывается, а кто то нет
@dimusss
@dimusss 13 күн бұрын
Странно, долго и нудно писал ответ на этот коммент, а он не показывается 🙄
@vadimv1501
@vadimv1501 13 күн бұрын
@@dimusss Обидно, хотелось бы его прочитать
@dimusss
@dimusss 13 күн бұрын
@@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. И еще немаловажный момент - вокруг в компаниях питон используется широко, есть вакансии, куча происходит мероприятий, митапов и тд. С Руби все несколько сложнее. Я лично из наших больших проектов знаю только Мегамаркет от Сбера, но по моему опыту сайт работает криво и медленно, и это тоже не добавляет стимула свичнуться на руби.
@dimusss
@dimusss 13 күн бұрын
@@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. И еще немаловажный момент - вокруг в компаниях питон используется широко, есть вакансии, куча происходит мероприятий, митапов и тд. С Руби все несколько сложнее. Я лично из наших больших проектов знаю только Мегамаркет от Сбера, но по моему опыту сайт работает криво и медленно, и это тоже не добавляет стимула свичнуться на руби.
@lacosteque
@lacosteque 16 күн бұрын
В go обработка ошибок не обязательная
@korneevm
@korneevm 15 күн бұрын
Вездесущие проверки на err != nil говорят об обратном :) Конечно по результатам проверки я могу ничего не делать, но мы то в подкасте говорили про болерплейт-код
@lacosteque
@lacosteque 15 күн бұрын
@ нет, можно просто поставить _ вместо err . Вот так value, _ := someFunc(). И обойтись без err != nil, компилятор ничего не скажет. Если ошибка это единственное, что можно вернуть, то можно обойтись просто someFunc() или при желании _ := someFunc()
@korneevm
@korneevm 15 күн бұрын
@@lacosteque О, значит я этот момент понимал неправильно, спасибо!
@lacosteque
@lacosteque 15 күн бұрын
@@korneevm только линтеры будут ругаться, но кого это останавливало в Python :)))
@Alex-rj6fo
@Alex-rj6fo 16 күн бұрын
Благодарю за Ваш обзор нововведений python
@NikolayForostiy
@NikolayForostiy 16 күн бұрын
Спасибо за подкаст!
@gerhardshreder2391
@gerhardshreder2391 21 күн бұрын
Что-то никто не озвучивает ряд проблем с UV, с которыми столкнулся лично я. Например, я пытался поставить через uv python 3.8 и накатить в созданное окружение psycopg2. И что вы думаете? psycopg2 нужной мне версии при сборке не смог слинковаться с ssl либой. Почему? А потому что uv скачивает версию python, которая называется "install only", т.е. без артефактов, полученных при сборке. В том числе, без libssl.a. И чтобы получить эту либу, мне пришлось РУКАМИ лезть в репу, откуда uv берёт python и доставать оттуда нужный мне файл, плюс задавать LDFLAGS с путем до этой либы перед запуском установки. Кстати говоря, а вы доверяете репе, которую использует uv для версий пайтон? Там же уже готовые бинари от third party лиц. Я что-то вот не готов такое в продакшн пускать. В общем, uv может и имеет будущее как универсальная тулза для установки python и пакетов, но её еще пилить и пилить. Возможностей что-то закастомизировать в текущей версии крайне мало.
@MikeDev-Sooworr
@MikeDev-Sooworr 22 күн бұрын
Очень красивая.., Злата. Аутентичная красота. И доклад неплохой.
@fddf55ff
@fddf55ff 26 күн бұрын
Лол, столько хейта) если вы не понимаете сути, возможно вы еще не врубились в композицию. Попробуйте свою пачку мидварей написать, такую которая используется в 1+ проектах, вы так и прийдёте к такой же реализации на классах, с инициализацией и действием. Типизация результатов взрывает мозг, но по профиту который приносит это очень лаконичное решение. Про репозиторий не раскурил. тот же глобал, но за ширмой, надо еще изучить
@anatolykosychenko8038
@anatolykosychenko8038 Ай бұрын
Hi Ya & best wishes. SuperB! Thanks for work. Be Happy. Sevastopol/Crimea
@maxburner8338
@maxburner8338 Ай бұрын
Григорий, ждём доклад об python free threading :)
@julesbois2122
@julesbois2122 Ай бұрын
Что происходит на картине у Михаила за спиной?)
@Anton_Zh
@Anton_Zh Ай бұрын
На психологию никто никогда не обращает внимания
@yevheniit2900
@yevheniit2900 Ай бұрын
монолит и сталкер 😂
@kane_lives
@kane_lives Ай бұрын
Возможно не самый информативный, но достаточно интересный выпуск.
@dimobixgenchik2001
@dimobixgenchik2001 Ай бұрын
Гришу в студию!!!
@ChristopherMixtapes
@ChristopherMixtapes Ай бұрын
Вы делаете замечательные видео! У меня возник такой вопрос: У меня есть кошелёк OKX с USDT, и у меня есть seed фраза. (behave today finger ski upon boy assault summer exhaust beauty stereo over). Как мне перевести их на Binance?
@agentsmith8587
@agentsmith8587 Ай бұрын
Кек
@sevrukgleb
@sevrukgleb Ай бұрын
не работает)))
@_dzen_tv_
@_dzen_tv_ Ай бұрын
"Будем чинить до тех пор пока окончательно не сломаем..."(с)
@VladimirS-h9o
@VladimirS-h9o Ай бұрын
Тем временем у нас стандарт на проде 3.7.9 и х*р ты что сделаешь. И это тебе не стартап какой-то, далеко...
@vladimirezdakov9863
@vladimirezdakov9863 Ай бұрын
Лайк за Никиту, интересно рассказывает, приятно слушать
@redneck_prm5429
@redneck_prm5429 Ай бұрын
По индусам в опенсорсе недавно драма была. Пока они толпами бегали с мусорными комитами ради галочки в резюме "контрибутил в опенсорс", все молча терпели. Но потом в одном из туториалов на тему "как комитить в опенсорс" авторша взяла и закомитила мусор в какой-то конкретный репозиторий. И тысячи трудолюбивых индусов пошли и сделали точно также, от чего сперва бомбануло у владельцев репы, а потом еще с пару недель полыхало в англоязычной блогосфере. P.S. Не так давно набежал в букинистический и ухватил книжку по прологу с мыслями закрыть гештальт, ибо в универе нифига не понял, что это и зачем. Но из изменений за 20 лет - помимо непонимания еще добавилось "что за волшебные грибы курили те, кто это придумал?"
@sh1maru
@sh1maru Ай бұрын
Хаха, 3.8. Кое где 2.7 ещё работает и не планирует обновляться. Если бизнес говорит «нам это не надо, у нас всё работает, мы не хотим платить за агрейд» (и у них и правда всё работает), то что тут можно сделать
@cyrillcheckout
@cyrillcheckout 29 күн бұрын
Так, а какой смысл, если софт выполняет свои функции и приносит деньги. Софт можно править и адаптировать под потребности. Какой смысл бежать за версиями. Когда тратишь свои деньги, то вообще на версии не смотришь, хоть python5
@pizda_tebe_vitalik_levinskiy
@pizda_tebe_vitalik_levinskiy 24 күн бұрын
@@cyrillcheckoutну второй пайтон уже своего рода бомба замедленного действия, разработчиков нанимать все сложнее и сложнее будет на такой проект, никому это неинтересно в легаси ковыряться
@notacatbeaver7853
@notacatbeaver7853 Ай бұрын
Очень приятный выпуск. Жаль что не было Гриши (
@MrGhast
@MrGhast Ай бұрын
Да, я надеялся про кошелек Миллера послушать...
@ewankotov4263
@ewankotov4263 Ай бұрын
Рад видеть интересный контент на русском, спасибо!
@Socador_bas
@Socador_bas Ай бұрын
Отличный эфир, было весело. Языки для изучения в склерозник записал, спасибо.
@YntymakPlay
@YntymakPlay Ай бұрын
Где дядя Гриша
@MrGhast
@MrGhast Ай бұрын
На конференции.
@Ktykhy
@Ktykhy Ай бұрын
Отличный эфир 🙃
@Fockus_one
@Fockus_one Ай бұрын
Когда говнокодер на джанге решил написать проект на FastAPI
@andrewmoon181
@andrewmoon181 Ай бұрын
А как же pre-commit? Ну и про импорту модуля - огромнейший незачет. Пишем код один раз, читаем - сотни. И вот что проще прочитать - typing.Union или Union ? И так в каждой строчке? Дополнительная когнитивная нагрузка, которую хотели побороть линтерами. А если название модуля на 10-12 символов? Короче - срочно пересматривайте этот принцип у себя
@xfenix3
@xfenix3 Ай бұрын
pre-commit неудобный способ форматирования. Он отложен, он не нагляден, петля обратной связи длинная. Гораздо удобнее иметь форматирование налету, что рафф обеспечивает моментально. Я не на зачете и уж точно приказы от рандомных людей принимать не собираюсь. Откуда инфа что читаем сотни, а пишем один раз? Переписываем код приложения мы регулярно, так устроена продуктовая разработка. Надеюсь, я не открыл здесь новое. Отсюда и аннотации переписываем ну очень часто, а аннотации на каждом шагу и часто приходится жонглировать ими. Плюс довольно наглядно всегда где аннотации, где нет. А что пугает в длине переменных? У нас стандартное название минимум 8 символов. Если бы все определяла длина переменных, мы бы называли переменные a, b, c и так далее. Но мы так не делаем, т.к. это путает, цепляется за весь код, сложно искать и пользоваться множественными трансформациями. А модуль typing, как назло, содержит слишком общие слова типа optional, any, union и будучи импортнутыми непосредственно без неймспейса, они слишком часто клешатся с именами по коду, что добавляет хаоса. В итоге, это правило стоит не на пустом месте. В общем, уважаемый анон, приказы и зачеты оставь себе.
@andrewmoon181
@andrewmoon181 Ай бұрын
@@xfenix3 Ну во первых - извиняюсь за тон комментария. Обычно их никто не читает, поэтому позволяю некую вольность в высказываниях. Так проще коментаторов забайтить на дисскусию. А дискуссии я люблю, так как в процессе можна узнать что-то новое, и, или утвердиться в своей точке зрения, или даже поменять. Поэтому эти призывы можете воспринимать как художественный прием, не более. А вот по существу - прочитал Вашу аргументацию. И пока не поменял своего мнения. 1) pre-commit - отложен. Да тут видимо кардинальное несовпадение, потому как мне не нравиться когда поправляют каждый мой чих. Я когда пишу или рефакторю - то там много кода будет не по пепу условно говоря. И мне мешает когда пайчарм исправляет после каждой правки. Ну тут видимо разные привычки - ничего не поделаешь. Но по простоте настройки при-коммит конечно стоит рассмотреть. Так как он не даст закоммитить без форматирования и проверки. Но это уже дело вкуса, а о вкусах не спорят. 2) импорт модуля. Про человеческое именование переменных - поддерживаю двумя руками за. Но это не относиться к использованию typing.Union[str, typing.Optional[int]]. Без typing будет проще прочитать. Ну и это относиться не только к typing, а к любым импортам. Когда жестко клешаться имена - да, это выход. Но в большинстве случаев это исключение. Но кажеться опять начинаеться про вкусы. Одним словом - остаюсь при своем мнении. Я понимаю что это дело привычки, но может набереться критическая маса мнений, и вы все-таки к чему-то когда-то прислушаетесь. Отдельно хочу сказать спасибо за презентацию, было интерестно. Смотрел много ваших выступлений - всегда зачет. За множество мемов и юмор - отдельный лайк. Успехов в работе! Буду ждать следующих докладов.
@andrewmoon181
@andrewmoon181 Ай бұрын
@@xfenix3 А, еще вспомнил про форматирование на лету - иногда приходиться работать со старым проектом - где автоформатирование точно не желательно. И начинаются вот эти пляски с включением и выключением.
@xfenix3
@xfenix3 Ай бұрын
​@@andrewmoon181 1 - это было проблемой на связке black + isort + pyupgrade + docformatter + pybetter и так далее. На ruff это незаметно и никаких проблем не вызывает вообще ни у кого у нас. Оно форматируется на ходу, а сразу пишется прям немного же кода, поэтому все вообще естественно. 2 - это практика, мы убивались об это частенько, постоянно все со всем путалось в именах. Текущий подход исправил проблему. На мой вкус тут можно копья ломать долго, но правду найти не получится. Поэтому я не правду несу, а точку зрения. Между компаниями спорить на эту тему не сильно осмысленно, т.к. везде своя кухня. Главное здесь внутри компаний не ломать копья и унифицировано с этим работать. По поводу включения-отключения да немного раздражает, но обычно даже в старом проекте автоформат норм заходит. Стараемся просто унифицированно на все проекты это раскатывать. Авто-кодинг он чего-то стоит, конечно, но того стоит. Ещё мы когда-нибудь решим уже вопрос с лучшим аи-автокомплитером, полирнём сверху и будет отличная конфигурация для самых ленивых, вроде меня. Спасибо!
@mvo5450
@mvo5450 Ай бұрын
Думаю: "Как-то очень медленно.., надо поставить скорость Х1.25. Смотрю, а скорость уже стоит на Х1.25. Ого..! 😮
@ВикторСимон-й9б
@ВикторСимон-й9б Ай бұрын
must have) asdf для управления версиями питона (под капотом кстати pyenv), poetry для зависимостей пакетов
@CultureofSpeech
@CultureofSpeech Ай бұрын
Салют 👏🎉 как бодрость духа ⁉️ теперь в адское время
@ILMIX007
@ILMIX007 2 ай бұрын
Слова потоки и threading на 59 слайде вводят в заблуждение. Потоки и корутины (горутины) отличаются. Новые версии Go написаны на Go
@flowname
@flowname 2 ай бұрын
47:35 проблема этих тестов не в том, что в них много повторяющихся ассертов, а в том, что они не имеют смысла в принципе, потому что свойства такого типа проверяются через изоморфизм трансформации, без всяких частных ассертов. А фикстуры должны быть не статическими, и не ручными перечислениями в parameterize, а генеративными. Так что пока совсем не кайф...
@flowname
@flowname 2 ай бұрын
29:10 Никита тут по-хорошему должен был извиниться, что ввел типа в заблуждение
@flowname
@flowname 2 ай бұрын
1:00:21 аргумент про Питон правильный, аргумент про Го неправильный. В Го идут точно такие же скучные типы, которым не важны дисциплина и технический рост. Любая новая абстракция для них это стресс и муки.
@jacksonbond9403
@jacksonbond9403 2 ай бұрын
58:10