Комментарии 41
Первое видео недоступно к просмотру
Сейчас проверим, спасибо.
Мой посыл в том, что это можно уложить было всё в несколько десятков строк кода (что было реализовано за вечер под пиво на чистом Python'е и он залетал), а не пихать движок весом в 20 мб, написать как бог на душу положит и успокоится.Я не думаю, что это правильный посыл сейчас. Даже самое минимальное приложение должно безопасно хранить пароли и сессии, экранировать SQL-запросы, очищать ввод от XSS-скриптов, предусматривать CSRF и много чего ещё. Реализовать всё это «за вечер под пиво»? Серьёзно?
С другой стороны вы столько всего наставили на VDS явно не просто так, а для ускорения.Я ничего не «ускоряю», я просто стараюсь придерживаться лучших практик, насколько могу. Да, если засунуть больше сотни строк в SQLite, или использовать SQL для хранения K-V данных, сайт будет работать медленно. Значит ли это, что Postgres или Redis «ускоряют» сайт? Нет, я бы сказал, что это просто адекватные инструменты.
Серьёзно?
Только не нужно мне сейчас перечислять все возможные варианты безопасности накопленные за 30 лет веба, что бы попробовать оправдать использование фреймворков там где они не нужны. Ну нравится вам — используйте. А по мне так такой подход и привёл к тяжелому и медленному софту везде.
Кстати о защите. Вот это повеселило. И такой простой косяк следствие массовости.
Ну там и ниже вся подноготная. А вы говорите 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. Утечкой трейсов дело явно не обойдётся.
Яндекс уже много лет снимает лекции лучше всех в России, такое добавление в регламент повысило бы качество материала ещё сильнее.
upd: хех, только написал, и в видео заработал микрофон
Спасибо за материал. Радует, что в отличие от большинства видео-уроков здесь больше уделяется внимание непосредственному процессу разработки, а не в очередной раз рассказывают про реализацию основных алгоритмических конструкций языка.
Ясно, что это первичный курс ;-) По крайней мере для меня. Но вот вопросики для самопроверки, которые были на курсе, наверное, были бы неплохим бонусом для тех, кто решил прослушать. Если как-то возможно — то заранее спасибо !
$ 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
не умел работать без тредов, когда записывалась эта лекция :)
Как научиться разработке на Python: новый видеокурс Яндекса