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

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

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

... sudo (superuser do).

su - substitute user

sudo - substitute user and do

Символ ! в bash служит для навигации по истории команд. Двойной !! является синонимом для !-1(первая с конца команда в истории команд).

$ man history 
...
    Event Designators
       An event designator is a reference to a command line entry in the  history  list.   Unless
       the  reference  is  absolute,  events  are relative to the current position in the history
       list.

       !      Start a history substitution, except when followed by a blank, newline, = or (.
       !n     Refer to command line n.
       !-n    Refer to the current command minus n.
       !!     Refer to the previous command.  This is a synonym for `!-1'.
       !string
              Refer to the most recent command preceding the current position in the history list
              starting with string.
       !?string[?]
              Refer to the most recent command preceding the current position in the history list
              containing string.  The trailing ? may be omitted if string is followed immediately
              by a newline.
       ^string1^string2^
              Quick  substitution.   Repeat  the  last  command,  replacing string1 with string2.
              Equivalent to ``!!:s/string1/string2/'' (see Modifiers below).
       !#     The entire command line typed so far.
...

Последний аргумент предыдущей команды вроде как не просто символ ! , а в связке !$

У вас ошибка в определении инкремента и декремента:

На самом деле: инкремент - увеличение, декремент - уменьшение.

Почему len — не метод

Я задавал этот вопрос разработчику ядра Раймонду Хэттингеру в 2013 году, смысл его ответа содержится в цитате из «Дзен Python»: «практичность важнее чистоты» (https://www.python.org/doc/humor/#thezen‑of‑python). В разделе «Как используются специальные методы» выше я писал, что функция len(x) работает очень быстро, если x — объект встроенного типа. Для встроенных объектов интерпретатор CPython вообще не вызывает никаких методов: длина просто читается из поля C‑структуры. Получение количества элементов в коллекции — распространенная операция, которая должна работать эффективно для таких разных типов, как str, list, memoryview и т. п.

Иначе говоря, len не вызывается как метод, потому что играет особую роль в модели данных Python, равно как и abs. Но благодаря специальному методу __len__ можно заставить функцию len работать и для пользовательских объектов. Это разум­ный компромисс между желанием обеспечить как эффективность встроен ных объектов, так и согласованность языка. Вот еще цитата из «Дзен Python»: «осбые случаи не настолько особые, чтобы из‑за них нарушать правила».

Лучано Рамальо, «Python. К вершинам мастерства» 2 изд., с. 45

"Кен Томпсон" на вашем фото не похож на Кена Томпсона про которого говорится в статье.

На вашем фото "Кен Томпсон" это https://www.kenthompsonsculpture.com/about

Кен Томпсон про которого говорится в статье:

Фото из англоязычной Википедии. Thompson in 2019
Фото из англоязычной Википедии. Thompson in 2019

"Бонни и Клайд" на современный лад

Возможно, не спорю.

Документация python не рекомендует использовать встроенную функцию exit()(как и quit()), кроме как в REPL, т.к. при некоторых условиях эта функция может быть недоступна.

"They are useful for the interactive interpreter shell and should not be used in programs."
Ссылка на официальную документацию python.

Ребенку было года 3, когда нужно было первый раз в уже "осознанном" возрасте сдавать кровь из вены. До этого сдавали только кровь из пальца и делали прививки, после которых у него появился страх перед посещениями врачей.

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

Я честно сказал ребенку о том, что через какое-то время придется идти сдавать кровь из вены и у врача будет "иголочка", которой он будт делать "укольчик" в руку, но бояться не стоит т.к. мы всё это "отрепетируем". В течении недели мы "репетировали".

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

После этого ребенок не боится игл и пр., любое посещение процедурных кабинетов для сдачи анализов сопровождаются словами мед.работников - "такой маленький и не боится".

Размер заголовков "регулируется" количеством символов # перед текстом заголовка

Однако, очевидно, что все пункты следует выделить каким-то образом, например **жирным шрифтом**, чтобы отслеживалась структура.

Разделы в README обычно принято отделять заголовками (маркдаун тэги #, ##, ### и т.д.) , а не жирным шрифтом.

Получил свой экземпляр, надеюсь что это не последний такой спецвыпуск у Хакера. Буду ждать в следующем выпуске обе части "Анатомии эльфов".

При оформлении заказа ввести в специальное поле код купона Редакторы

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

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

Эх. Прежде чем обсуждать, какой метод хеширования использовать, мы должны уточнить наиболее важное требование: можем ли мы генерировать новые короткие 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

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

1

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность