Как стать автором
Обновить
11
0
Игорь @igorzakhar

Пользователь

Отправить сообщение

Что произойдёт, если вы отключите компьютер прежде, чем операционная система запишет данные на диск? Всё очень просто: данные будут потеряны.

А как же журналируемые файловые системы?

Эх. Прежде чем обсуждать, какой метод хеширования использовать, мы должны уточнить наиболее важное требование: можем ли мы генерировать новые короткие URL-адреса для того же самого длинного URL-адреса при последующих запросах, или мы должны возвращать уже сгенерированный. Последний подход намного сложнее реализовать, но обычно можно обойтись без этого. Я сходил на BitLy и убедился, что они этого не делают. Мы тоже не будем.

Для того же самого URL-адреса сервис Bitly возвращает ту же короткую ссылку, которая была сгенерированна ранее, проверил как через web интерфейс, так и черз запрос к API используя токен.

Сюда можно добавить про библиотеку contextlib с декоратором contextmanager.

Нет необходимости писать класс для нового контекстного менеджера, достаточно обернуть генератор в декоратор @contextmanager. Ссылка на доку: contextlib — Utilities for with-statement contexts

Пример из документации:

from contextlib import contextmanager

@contextmanager
def managed_resource(*args, **kwds):
    # Code to acquire resource, e.g.:
    resource = acquire_resource(*args, **kwds)
    try:
        yield resource
    finally:
        # Code to release resource, e.g.:
        release_resource(resource)

Использование:

with managed_resource(timeout=3600) as resource:
    # Resource is released at the end of this block,
    # even if code in the block raises an exception

Там много ещё чего.

В 1991 на рейсе Киров - Москва тоже предлагали поиграть. Выбор был из нескольких игр, помню, я выбрал "Автослалом", как в этом комментарии.

и "Эхопраксии"

venv не нужно устанавливать если python версии 3.3 и выше, т.к. в этих версиях модуль venv входит в стандартную библиотеку.

Да, в книге этому посвящена целая глава "Minix и Linux" и вставлены письма из их переписки.

Кое-где даже упоминается, что он вдохновлялся книгой создателя MINIX профессора Эндрю Таненбаума «Операционные системы: разработка и реализация» (Operating Systems: Design and Implementation). 

"Примерно через год, когда Линус приехал в Нидерланды на свое первое публичное выступление, он отправился в университет, где преподавал Таненбаум, надеясь получить от него автограф на своем экземпляре книги «Проектирование и реализация операционных систем» – книги, которая перевернула его жизнь. Он ждал под дверью, но Таненбаум так и не появился. Профессор был в отъезде, и встреча не состоялась."

"Just for Fun. Рассказ нечаянного революционера" Линус Торвальдс, Дэвид Даймонд

"Python. К вершинам мастерства (Fluent Python)." Автор: Лучано Рамальо

Дмитрии Докучаев, в журнале «Хакер» писал под ником Forb

Для примера, можно избавиться от if в этом месте:

...
if not os.path.exists('./areas/'):
	os.makedirs('./areas/')
...

У функции makedirs есть опциональный параметр exist_ok, я бы написал так:

os.makedirs(dir_name, exist_ok=True)

И в целом можно "высушить" код, в некоторых местах можно смело убирать else.

Также сделать except избирательным.

Это первое, что бросается в глаза, а так много чего ещё исправить можно.

Глядя на некотрые участки кода, хочется посоветовать ознакомиться с таким понятием как цикломатическая сложность.

Первый раз слышу термин "затемнение". Обычно в книгах и статьях встречается перевод "затенение" (shadowing variables).

Кстати, да, упустил этот момент. Уже исправлено.

Открывается новое окно webdriver, после чего запускается сайт со следующим содержанием:

После этого предложения, возможно, должен быть какой-то скриншот, но в статье его нет.

Информация

В рейтинге
4 522-й
Работает в
Зарегистрирован
Активность