Планы на 2021

2022

  • writing
  • clojure
  • Q & A

Книги

Планы по чтению

other

  • timecode vim
  • timecode tmux
  • translate questions (quiz)
  • add advpyneng quiz

Бонусные лекции

Бонусные лекции PyNEng

Функции

  • *args, **kwargs
  • *, /
  • изменяемые типы данных в значении по умолчанию
  • что выносить в функцию, о каких вещах подумать чтобы было меньше зависимости между функциями

Бонусные лекции Flask

  • REST API with Flask
  • FastAPI

PyNEng

pyneng-12

  • Перенести вторую лекцию на воскресенье сразу после первой. Иначе за первую неделю много путанницы из-за того что работа с github отличается на курсе и в книге
  • 20.1 написать что путь надо разделять на каталог и файл
  • 23.2 написать что надо написать параметры в devices.yaml

Задания, тесты

  • Переделать тест 18.1a, текст в исключении изменился, надо проверять только Authentication чтобы работало

Alexey Zubarev Добавьте, пожалуйста, комментарий для задания 12.1

Утилиты ping в Linux и Windows возвращают разные return codes: Linux: Success: code 0 No reply: code 1 Other errors: code 2

Windows Success: code 0 No reply or network unrechable: code 0 Other errors: code 1

AdvPyNEng

  • 4.3 запись в yaml с идентификацией устройств. Явно написать что надо не только cli создать с click, но и написать код функций
  • 8.2 невнятно написано про вызов функции что будет ошибка до выполнения - она будет и после, только другая
  • улучшить описание ошибки в тесте 8.4/8.4a когда подключений меньше на 1
  • 10.1 не хватает тестов для str/repr
  • 18.2 написать что надо использовать async subprocess
  • тест 12.5 не проверяет что классы возвращаются
  • тест 12.3a не проверяет, что генерируется исключение KeyError для несуществующих ключей

в 12.3a не учитывается один вариант работы со словарем:

In [3]: t1.topology
Out[3]:
{('R1', 'Eth0/0'): ('SW1', 'Eth0/1'),
 ('R2', 'Eth0/0'): ('SW1', 'Eth0/2'),
 ('R2', 'Eth0/1'): ('SW2', 'Eth0/11'),
 ('R3', 'Eth0/0'): ('SW1', 'Eth0/3'),
 ('R3', 'Eth0/1'): ('R4', 'Eth0/0'),
 ('R3', 'Eth0/2'): ('R5', 'Eth0/0')}

In [5]: t1[('SW1', 'Eth0/3')] = ("SW2", "Eth0/0")

In [6]: t1.topology
Out[6]:
{('R1', 'Eth0/0'): ('SW1', 'Eth0/1'),
 ('R2', 'Eth0/0'): ('SW1', 'Eth0/2'),
 ('R2', 'Eth0/1'): ('SW2', 'Eth0/11'),
 ('R3', 'Eth0/0'): ('SW1', 'Eth0/3'),
 ('R3', 'Eth0/1'): ('R4', 'Eth0/0'),
 ('R3', 'Eth0/2'): ('R5', 'Eth0/0'),
 ('SW1', 'Eth0/3'): ('SW2', 'Eth0/0')}

Ansible для сетевых инженеров

  • Перенести книгу на readthedocs
  • Обновить 1-3 разделы на Ansible 2.9
  • Обновить раздел “7. Playbook” на Ansible 2.9
  • Дописать раздел “4. Модули ресурсов”
  • Написать раздел “5. Сетевые модули не привязанные к конкретной ОС”
  • Написать раздел “6. Получение структурированного вывода”

PyNEng книга/курс

  • перенести обновленные задания/тесты в репозиторий
  • Обновить раздел по Ansible до последней версии.
  • Добавить информацию по SQLite foreign key в 18 раздел
  • Написать вводное по поводу разделов 1 и 2
  • Написать про цепочку методов
  • Перевести задания на англ
  • Репозиторий с примерами кода pyneng-examples
  • Подборка с репозиториями/кодом для практики чтения кода

Языки

Немецкий

Поддерживать знания:

Испанский

  • memrise

Leave a Comment