Как стать автором
Обновить

Как научиться разработке на Python: новый видеокурс Яндекса

Время на прочтение6 мин
Количество просмотров251K
Всего голосов 70: ↑70 и ↓0+70
Комментарии41

Комментарии 41

Первое видео недоступно к просмотру
Проверьте ещё раз или из другого браузера, мы ничего не трогали.
Круто, спасибо за материал!
Лекция № 11. Вместо презентации видос, поправьте пожалуйста.
Сейчас исправим, спасибо.
Исправлено.
в 11м уроке в презентации должен быть видеофайл прикреплен?
Сейчас исправим, спасибо.
Исправлено.
Не нравится мне это — слишком много последнее время Python'а. Не вышло бы так же как с С++
А как вышло на С++?
Большая популярность привела к тому, что студенты выучив только его уже не к чему не стремились, что привело внедрение этого языка там где ему не место. Буквально 2 дня назад знакомый попросил подправить на сайте страницу зайдя на который я сначала подумал, что тариф на хостинге куплен самый дешёвый ибо страница с одной картинкой и одним input грузилась подозрительно долго. Хостинг оказался вполне нормальный, вот только сайт состоящий из 5 с половиной страниц был написан на Python с использованием Django. Ну куда это годится. И это тенденция только растёт. Как ниже автор написал — быстренько сваял с использованием готовых библиотек и ладненько. Ну подумаешь, что тормозит и жрёт ресурсы…
Ясно, спасибо. Я подумал, что вы имели ввиду C#, в который сейчас просто ломятся все кому не лень (из-за игр?) и опускают уровень в дно. Оказалось что-то даже немного похожее на наоборот, результат только один чёрт.
Если хелловорлд-сайт на Django тормозит, значит, или хостинг всё-таки хреновый, или надо искать ещё какую-то конкретную проблему, а не кивать на Django. Мне как-то хватает KVM на одно ядро и 1Гб на 5-6 не самых тяжёлых сайтов. Django, uwsgi за nginx, letsencrypt, PostgreSQL, redis, Celery, все дела.
Я не киваю на Django. Мой посыл в том, что это можно уложить было всё в несколько десятков строк кода (что было реализовано за вечер под пиво на чистом Python'е и он залетал), а не пихать движок весом в 20 мб, написать как бог на душу положит и успокоится. И я думаю, что такие результаты из-за массовости «продвижения» продукта. С другой стороны вы столько всего наставили на VDS явно не просто так, а для ускорения.
Мой посыл в том, что это можно уложить было всё в несколько десятков строк кода (что было реализовано за вечер под пиво на чистом Python'е и он залетал), а не пихать движок весом в 20 мб, написать как бог на душу положит и успокоится.
Я не думаю, что это правильный посыл сейчас. Даже самое минимальное приложение должно безопасно хранить пароли и сессии, экранировать SQL-запросы, очищать ввод от XSS-скриптов, предусматривать CSRF и много чего ещё. Реализовать всё это «за вечер под пиво»? Серьёзно?
С другой стороны вы столько всего наставили на VDS явно не просто так, а для ускорения.
Я ничего не «ускоряю», я просто стараюсь придерживаться лучших практик, насколько могу. Да, если засунуть больше сотни строк в SQLite, или использовать SQL для хранения K-V данных, сайт будет работать медленно. Значит ли это, что Postgres или Redis «ускоряют» сайт? Нет, я бы сказал, что это просто адекватные инструменты.
Серьёзно?

Только не нужно мне сейчас перечислять все возможные варианты безопасности накопленные за 30 лет веба, что бы попробовать оправдать использование фреймворков там где они не нужны. Ну нравится вам — используйте. А по мне так такой подход и привёл к тяжелому и медленному софту везде.
Кстати о защите. Вот это повеселило. И такой простой косяк следствие массовости.


Заголовок спойлера

image


Ну там и ниже вся подноготная. А вы говорите CSRF...

В только что сгенерированном проекте файл настроек выглядит так:
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

Плюс в документации чёрным по белому: “Never deploy a site into production with DEBUG turned on.

И да, на само́й 500 странице тоже есть пометка, инструкция практически: “You're seeing this error because you have DEBUG = True in your Django settings file.”

Конечно, можно сказать, что вся проблема − это низкий порог входа в Django. Но тогда представьте, чего может наворотить тот же разработчик, если начнёт писать (или тем более дописывать) веб-приложение на чистом Python. Утечкой трейсов дело явно не обойдётся.
5.5 страниц с одним input. По мне так django вполне подходит. Почему нет? Не из за инструмента ведь тормазило.
Это скорее про JavaScript ;)
Не знаю как точно называется такая метрика (масштабируемость мне кажется про другое), но если что-то нужно будет дописать или прикрутить к сайту в дальнейшем (блог, галерея, вывод данных из БД), всё равно потратите время на переход с этого же простого кода на django.
Для Python есть много модулей написанных на C++ (Catboost например) или на Си (numpy например). Расширение для языка можно написать как на C/C++ или кодогенерацией из «псевдоязыка» Cython. Нет ничего удивительного что язык сейчас так популярен. Многие открытые библиотеки написаны таким образом, чтобы всю «тяжелую» работу выполнять в быстром и соптимизированном компилятором коде расширения на С++, который «дергает за ниточки» код на python. Получается, что при правильном применении этого подхода мы не много проигрываем в производительности, но при этом пользуемся всеми плюсами языка со строгой динамической типизацией.
Вы не переживайте, один хрен на работу никто после таких курсов не попадает.
НЛО прилетело и опубликовало эту надпись здесь
Насколько мне известно таких планов сейчас нет.
Смотрю первую лекцию и хочу отметить, что для онлайн-слушателя сильно сбивается темп, когда люди из аудитории задают вопросы, а мы слышим только ответ, потому что люди либо не говорят в микрофон, либо сигнал с него не идет в видео. Есть предложение просить лекторов повторять заданные вопросы перед ответом, как это делают например лекторы cs231n и других курсов Стэнфорда. Вопросы зачастую бывают нетривиальные, еще они бывают глупыми, но важными, и вместо заминки слушатели получат больше деталей, и возрастёт вероятность того, что лектор правильно поймёт вопрос.
Яндекс уже много лет снимает лекции лучше всех в России, такое добавление в регламент повысило бы качество материала ещё сильнее.

upd: хех, только написал, и в видео заработал микрофон

Спасибо за материал. Радует, что в отличие от большинства видео-уроков здесь больше уделяется внимание непосредственному процессу разработки, а не в очередной раз рассказывают про реализацию основных алгоритмических конструкций языка.

Добрый день, в первой лекции про асинхронное программирование упоминается «предыдущая лекция про процессы». Она будет выложена отдельно? Не нашел ее на канале
не понравилось (посмотрел 1 целиком, 30 минут второй и 30 минут третей лекции). Сумбурно, очень поверхностно, непоследовательно, много неоднозначностей, лекторы рассказывают без интереса, не могут ответить на многие вопросы, ни разу не ораторы с поставленной речью. Непонятно в чем цель и кто целевая аудитория? спасибо, что выложили, но есть и более качественные курсы, на которые стоит потратить свое время.
Все лекции читали и подготавливали совершенно разные люди, никто из них не является профессиональным артистом или оратором со стажем. Зато все прекрасные специалисты, и с удовольствием делятся своим опытом.
Я предполагаю что все люди разные и для кого-то подача и способ рассказать свою мысль одного лектора, не вызывает желания досматривать. Не рубите весь курс из-за этого, посмотрите по 10-15 минут остальных лекций, мне лично будет приятно.

Ясно, что это первичный курс ;-) По крайней мере для меня. Но вот вопросики для самопроверки, которые были на курсе, наверное, были бы неплохим бонусом для тех, кто решил прослушать. Если как-то возможно — то заранее спасибо !

В первом видео 50:18 показывают пример с числами. Проверил тоже самое и у меня в обоих случаях True, почему так?
image
Тут ключевое чтобы это было сделано в CLI интерпретатора, а так работает и в python2 и python3

$ python2
Python 2.7.16 (default, Feb 29 2020, 01:55:37)
[GCC 4.2.1 Compatible Apple LLVM 11.0.3 (clang-1103.0.29.20) (-macos10.15-objc- on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 42
>>> b = 42
>>> id(a) == id(b)
True
>>> a = 1234567890
>>> b = 1234567890
>>> id(a) == id(b)
False

$ python3
Python 3.8.2 (v3.8.2:7b3ab5921f, Feb 24 2020, 17:52:18)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> a=42
>>> b=42
>>> id(a) == id(b)
True
>>> a = 1234567890
>>> b = 1234567890
>>> id(a) == id(b)
False
>>>

В п.12 прикреплено неправильное видео. Замените на вот это: https://www.youtube.com/watch?v=FFUYf8FHDlY

В п.12 отличная лекция по проблемам asyncio. Не понял только историю с самопальной реализацией файлового менеджера на тредах, при здравствующем aiofile, который умеет работать с файлами асинхронно.

Ответ прост, я еще не написал ни caio ни aiofile на тот момент. И если уже докапываться то на windows и MacOS по сути тот-же подход с потоками что и тут. Плюс ко всему сильно зависит от случая, если нужно максимально быстро открыть файл, потом прочитать из него 50 раз из 500 разных мест, то подход с потоками на небольших нагрузках будет быстрее чем aiofile.

А за ссылку спасибо исправлю как только буду за компьютером.

Всё ещё проще, aiofile не умел работать без тредов, когда записывалась эта лекция :)

Это не правда. В aiofile использовался posix aio.h там треды появились как раз позже. Ито для совместимости с windows и как более быстрая альтернатива posix aio.h для mac os

Оу, действительно, неправильно воспринял описание фичи про 2.0.0.

В любом случае, спасибо и за библиотеки, и за видео :)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий