В Интернете выложили курс АНБ по Python

pgcpidrga3xedh9uqoeftyrjhbu.jpeg

Согласно информации издания ZDNet, теперь начинающие разработчики Python могут ознакомиться с учебными материалами по этому языку программирования от Агентства национальной безопасности (АНБ, англ. National Security Agency, NSA) США.

Программист Крис Свенсон (Chris Swenson) подал в АНБ запрос, используя Закон о свободе информации, о предоставлении ему доступа к учебным материалам агенства по Python. Через некоторое время он получил в ответ немного отредактированную четырехсотстраничную распечатку учебного курса COMP 3321 по Python, который преподается в АНБ. После этого Крис Свенсон отсканировал эту документацию с использованием механизма распознавания текста, чтобы сделать его доступным для поиска. Потом Свенсон разместил этот курс обучения в Digital Oceans Spaces. В настоящее время этот обучающий материал также доступен в Архиве Интернета.
Крис Свенсон в начале февраля 2020 года рассказал об этом событии на своей страничке в твиттере. Чуть позже один из пользователей уменьшил размер pdf-файла с курсом до 18 МБ для удобства.

«Если вы еще не знаете никаких языков программирования, то Python хорошо подходит для начального обучения. Если вы уже знаете другой язык, то вам будет просто понять Python», — написано в введении курса от АНБ.

Свенсон рассказал в интервью ZDNet, что «в основном простое любопытство» побудило его отправить запрос в АНБ по учебному материалу по Python. Оказалось, что АНБ удалило или откорректировало некоторые материалы и даже абзацы в своем обучающем курсе COMP 3321 для внешнего использования. Крис Свенсон пообещал, что будет продолжать попытки получить дополнительную информацию по этому и другим курсам от агентства.

Разработчик Python Кушал Дас (Kushal Das) проанализировал курс обучения от АНБ. Он обнаружил, что:

  • у АНБ есть внутренняя индексация пакета Python (http://bbtux022.gp.proj.nsa.ip.gov/PYPI) — вероятно это сделано для обучающих целей;
  • агентство использует GitLab по адресу gitlab.coi.nsa.ic.gov, а их галерея Jupyter работает по HTTPS;
  • обработка исключений была введена слишком поздно в этом курсе;
  • профилирование преподается с помощью cProfile, также АНБ учит использовать f-strings;
  • их инсталлер Python (pip mirror) размещен по адресу pip.proj.nsa.ic.gov/;
  • у них также есть внутренний дамп Википедии или это просто какой-то прокси-сервер для доступа к внешней версии — wikipedia.nsa.ic.gov/en/Colossally_abundant_number;
  • примечательно, что АНБ также опубликовало в курсе инструкции по установке Git для CentOS, Red Hat Enterprise Linux, Ubuntu и Windows, но не для Debian.

© Habrahabr.ru