Files
2026-test-labor-02/python/README.md
2026-06-22 23:15:10 +03:00

51 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Python решения
Эта папка зарезервирована для Python реализации решений, но в данном проекте основной фокус на bash-утилиты для диагностики и тестирования сетевого доступа.
## Почему только bash?
Задача этого проекта — быстрая и портативная диагностика:
- Сравнение методов доступа к GitHub репозиторию (HTTPS, SSH, GitHub CLI)
- Измерение скорости загрузки между разными серверами
- Демонстрация влияния HTTP-сжатия на скорость передачи
Для этих задач bash-скрипты идеальны:
- Не требуют установки зависимостей (только `curl`, `bc`)
- Работают на любой Unix-системе out of the box
- Быстрая диагностика и отладка
### Почему не Python?
Любое Python решение в итоге:
1. **Использует `curl` через обертку** (типа `plumbum`, `subprocess`) — тогда это просто Python-обертка над bash
2. или портебует **Реализации собственного HTTP-клиена**, что уже никак не будет "быстрым решением" и, вдобавок, потеряется функциональность:
- HTTPS с самоподписанными сертификатами
- SFTP, WebDAV, SMB и другие протоколы
- Пулинг соединений, redirect handling
- Прокси, cookies, headers, auth методы
Python-библиотеки (`requests`, `httpx`) хороши для приложений, но для простой диагностики они избыточны и требуют:
- Установку пакетов (`pip`, `poetry` и т.п.)
- Управление версиями зависимостей
- Дополнительный код для разбора результатов
- дополнительные 120-240 мс на каждый запрос из-за интерпретатора Python, что критично для замеров скорости
**Вывод:** Bash + `curl` = минимум зависимостей + максимум функциональности + прямой доступ к инструментам системы.
## Мой Python код
Если вас интересуют примеры моего Python кода, смотрите другие репозитории:
- [GitHub профиль](https://github.com/erjemin)
- [Селфхостед Gitea](https://git.cube2.ru/erjemin)
## Содержимое проекта
```
├── bash/ # Bash утилиты и скрипты
│ ├── speed_test.sh # Измерение скорости интернета
│ ├── compare_modes.sh # Сравнение методов доступа к GitHub
│ ├── compare_servers.sh # Сравнение скорости серверов
│ └── USAGE.md # Документация
└── python/ # Зарезервировано для будущих решений
```