Media is too big
VIEW IN TELEGRAM
Прежде чем читать длиннющий релиз новой версии Python 3.14, посмотрите это видео Евгения Афонасьева, тимлида разработки Antifraud в Авито 🚀
За 12 минут он рассказал, какие фичи стоят внимания внедрения в работу, про небольшие, но приятные обновления тоже не забыл.
📺 Смотрим и обсуждаем по ссылке!
За 12 минут он рассказал, какие фичи стоят внимания внедрения в работу, про небольшие, но приятные обновления тоже не забыл.
Please open Telegram to view this post
VIEW IN TELEGRAM
👎4❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Python: Как просто загрузить файл по SSH
Хочешь загрузить файл на удалённый сервер по SSH прямо из Python-скрипта? Это легко сделать с помощью библиотеки paramiko - она предоставляет чистую и надёжную реализацию SSH-протокола.
Просто установи paramiko (
Убедись, что у пользователя есть права на запись в целевую директорию на сервере. Подписывайся, больше фишек каждый день!
Хочешь загрузить файл на удалённый сервер по SSH прямо из Python-скрипта? Это легко сделать с помощью библиотеки paramiko - она предоставляет чистую и надёжную реализацию SSH-протокола.
Просто установи paramiko (
pip install paramiko), укажи данные подключения и используй SFTP-сессию для отправки файла. Убедись, что у пользователя есть права на запись в целевую директорию на сервере. Подписывайся, больше фишек каждый день!
import paramiko
Настройки подключения
hostname = "your-server.com"
port = 22
username = "your_username"
password = "your_password" # или используй ключ вместо пароля
Локальный и удалённый пути
local_file = "local_file.txt"
remote_file = "/remote/path/local_file.txt"
Создаём SSH-клиент
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
ssh.connect(hostname, port=port, username=username, password=password)
# Открываем SFTP-сессию и загружаем файл
sftp = ssh.open_sftp()
sftp.put(local_file, remote_file)
sftp.close()
print("Файл успешно загружен!")
except Exception as e:
print(f"Ошибка: {e}")
finally:
ssh.close()
👍4🔥2
⚡ Продвинутый совет: как просто и эффективно тестировать Python-код
Быстрый путь к надёжным тестам — комбинировать pytest + pytest-fixtures + property-based testing.
Что использовать
✅ pytest — базовый и самый удобный тест-раннер
✅ fixtures — изолированная настройка окружения: временные файлы, сетевые заглушки, БД
✅ hypothesis — генерация рандомных входов → ловим скрытые баги, а не только «ручные» кейсы
Пример подхода
- Пишем минимальный happy-path тест → проверяем базовый сценарий
- Добавляем fixture для окружения → код тестируем в «боевых» условиях
- Добавляем hypothesis → находим граничные условия и edge-кейсы без ручной боли
Легкий шаблон
1) Быстрый юнит-тест на базовую логику
2) Тест с fixture (файлы/БД/сетевые mock)
3) Property-based тест для устойчивости
Почему это мощно
- меньше ручной рутины
- больше покрытие edge-кейсов
- стабильность на прод-нагрузке
- тесты остаются быстрыми и простыми
👌 Бонус: запускай только изменённые тесты
Это ускоряет цикл разработки в разы.
Делай минимум — получай максимум. Это путь зрелого Python-инженера.
#python #pytest #unittesting #softwaretesting #devtips #engineering
Быстрый путь к надёжным тестам — комбинировать pytest + pytest-fixtures + property-based testing.
Что использовать
✅ pytest — базовый и самый удобный тест-раннер
✅ fixtures — изолированная настройка окружения: временные файлы, сетевые заглушки, БД
✅ hypothesis — генерация рандомных входов → ловим скрытые баги, а не только «ручные» кейсы
Пример подхода
- Пишем минимальный happy-path тест → проверяем базовый сценарий
- Добавляем fixture для окружения → код тестируем в «боевых» условиях
- Добавляем hypothesis → находим граничные условия и edge-кейсы без ручной боли
Легкий шаблон
1) Быстрый юнит-тест на базовую логику
2) Тест с fixture (файлы/БД/сетевые mock)
3) Property-based тест для устойчивости
Почему это мощно
- меньше ручной рутины
- больше покрытие edge-кейсов
- стабильность на прод-нагрузке
- тесты остаются быстрыми и простыми
👌 Бонус: запускай только изменённые тесты
pytest --lf
Это ускоряет цикл разработки в разы.
Делай минимум — получай максимум. Это путь зрелого Python-инженера.
#python #pytest #unittesting #softwaretesting #devtips #engineering
❤2👍2🔥1