Темнота и Песня Вселенной
Спента Мешта
Расшифровка и треклист выпуска «Спента Мешта»
Нельзя импортировать из главного модуля
У вас есть http://main.py, или http://app.py, или http://run.py. Это ваш главный модуль, он же «точка входа». Вы запускаете своё приложение через этот модуль. В этом модуле импортировано всё, что нужно для запуска этого проекта. Из главного модуля нельзя импортировать ничего и никогда. Никакой вложенный модуль не может импортировать из главного модуля. Ваша рука не должна никогда даже близко находиться к набору from main import ….
Одна очередь
Почему «единая очередь» не везде? Например, в продуктовом магазине нужно выбрать кассу, где поменьше людей, и у людей корзины поменьше. Почему нельзя выстроить одну очередь, а к освободившейся кассе будет подходить следующий человек из очереди?
Подобное часто можно встретить на паспортном контроле в аэропорту: ты можешь стоять двадцать минут ждать, пока человека перед тобой дополнительно опрашивают и тщательно проверяют его документы. А буквально соседняя очередь двигается со скоростью два человека в минуту. В аэропорту Звартноц (международный аэропорт Еревана) как раз используют единую очередь, там даже под это выделен отдельный человек. И каждому говорят «идите к седьмому окошку», «идите к пятому окошку».
Понятно, что не важно, какое распределение, если ни одно окошко / ни одна касса не простаивает. И общее время обработки всё равно не изменится. Но время ожидания отдельного человека может сильно сократиться, плюс вклиниться в такую очередь будет заметно сложнее.
Долг знаний это норма
Что за долг знаний? Это когда вы уже можете что-то сделать, но пока не понимаете, как программа работает, как вам удалось. И речь не про простую копипасту, я про написание строк кода. Например, вы не понимаете, как работает библиотека requests, как расшифровывается API или что такое json, но уже можете сделать запрос на API сервис погоды и отправить прогноз пользователю через телеграм бот. Если при этом у вас есть ощущение «вроде работает, но я не понимаю как и почему», то это тот самый долг знаний.
Долг знаний — круто. Это значит, что вы движетесь вперед и растёте. Позже, когда придёт время, вы разберетесь со всем, что было непонятно ранее. Но эти скучные и даже нудные знания не нужны на старте, когда в вас горит желание сделать что-то полезное и наглядное.
Непонятно, как работает список? Почему он расширяется, и зачем тогда вообще использовать кортеж? Не страшно, потом разберетесь, узнаете про особенности всего, что вы используете в коде. А пока просто пишите код, который будет работать. Пишите как понимаете, смотрите на примеры из документации и переписывайте вручную то же самое (главное не копипастить).
Вы обязательно покроете долг знаний, не нужно позволять ему угнетать вас. Пишите как получится, а потом разберетесь, почему оно работает. Ведь если оно не будет работать, вам придётся разбираться здесь и сейчас, чтобы довести программу до желаемого вида.
Абсолютный путь относителен
Вы не знаете, на какой операционной системе будет работать ваше приложение. И в какую папку сложат ваш проект. Вы можете работать на макос, ваш коллега пишет на винде, а в продакшн запустят на убунте.
Необходимо надежно получать путь к файлу для чтения / записи, независимо от платформы и места хранения.
Нельзя указать просто захардкоженный абсолютный путь к файлу, просто потому что на всех ОС будет разный корень, не говоря уже о разных именах пользователя. Вам нужно знать путь к файлу и путь к корню, откуда вы работаете.
Вы не сможете использовать абсолютный путь к файлу в хранилище, так как не знаете корень хранилища заранее. К примеру, у вас может быть отдельно бакет S3 и отдельно путь к файлу. И только при обращении вы будете склеивать полный путь.
Абсолютный путь тоже строится относительно. Вы можете быть уверены, что файлы вашего проекта будут расположены именно в таком виде на любой ОС. Поэтому вы выбираете файл внутри вашего проекта, относительно которого вы будете строить абсолютный путь. Например, это файл, где вы читаете конфигурацию. Берете путь к файлу, через него получаете путь к корню вашего проекта, и уже относительно этого значения строите абсолютные пути.
И да, вот эти абсолютные пути, построенные относительно корня проекта, удобнее и надежнее, чем обычные относительные пути.
Используйте абсолютные пути. Всегда
Даже если «ну только в этот раз». Нет. И «только быстренько для отладки» тоже нет. Абсолютные пути должны быть всегда. Относительных путей не должно быть совсем. Никогда.
Чтение или запись файла? Указывайте абсолютный путь.
Почему? Относительный путь вычисляется относительно текущей рабочей директории. Абсолютный путь вычисляется относительно корня файловой системы. Что реже меняется? Вот это и выбираем.
Список ситуаций, когда можно использовать относительные пути:
•
Я люблю этап подготовки
Как классно готовиться. Например, готовиться снимать видео. Так и думаешь себе в голове, как классно всё расскажешь. Или готовиться писать пост. Уже планируешь, как красиво изложишь мысль (нет).
А этап подготовки перед этим ещё интереснее: оформить заметку, потом понять, что есть мысли по ещё нескольким темам, поэтому надо дополнить список. Затем увидеть, что список можно переоформить в виде таблицы, переделать ещё раз. и, вроде как, это называется «прокрастинация» — обратная сторона перфекционизма, когда ты делаешь всё, кроме того, что нужно, и находишь себе оправдание, ведь надо же сделать красиво, верно?
Только этап подготовки к путешествию не люблю. Каждый раз собирать вещи. тяжеловато.
Отслеживание посылки по трек-номеру или просмотр истории транспортного средства перед покупкой прямо в поисковой системе и кое-что другое
Быстрое получение нескольких определений (сразу из нескольких источников) слов/фраз/выражений/значений и т.п.
Просмотр последнего снимка проиндексированных поисковыми роботами страниц ( последние проиндексированные изменения)
Применив этот оператор, мы узнаем какие сторонние страницы ссылаются на указанную нами страницу (блог, сайт)
Можем узнать проиндексирована ли страница/сайт поисковой системой или ещё нет, если проиндексирована, то увидим информацию о странице/сайте.
Поиск похожих сайтов/страниц
Поиск страниц добавленных или обновленных в указанный диапазон дат
Поиск по входящим ссылкам на сайт
Быстрый поиск документов по заголовку
Быстрый и точный поиск нужного слова/нескольких слов в основном тексте страницы
Божественная комедия
«Божественная комедия» — спектакль по пьесе Исидора Штока, поставленный Театром кукол под руководством Сергея Образцова.
Премьера состоялась 29 марта 1961 года в Москве. В главных ролях были заняты актёры Зиновий Гердт и Семён Самодур.
Необходимо ли вам уметь хорошо писать тексты, если вы снимаете видео?
Учимся писать тексты.