This media is not supported in your browser
VIEW IN TELEGRAM
Тестируй Python-код не «на ощупь», а через три уровня.
Сначала юнит-тесты для базовой логики, затем фикстуры для реального окружения (файлы, БД, HTTP-моки), и сверху — hypothesis для автоматического поиска скрытых багов.
Так тесты будут короткими, а покрытие и надёжность — максимальными.
Сначала юнит-тесты для базовой логики, затем фикстуры для реального окружения (файлы, БД, HTTP-моки), и сверху — hypothesis для автоматического поиска скрытых багов.
Так тесты будут короткими, а покрытие и надёжность — максимальными.
import pytest
from hypothesis import given, strategies as st
# 1) Простой юнит-тест
def test_add():
assert add(2, 3) == 5
2) Фикстура для окружения (временный файл)
@pytest.fixture
def temp_file(tmp_path):
file_path = tmp_path / "data.txt"
file_path.write_text("42")
return file_path
def test_read_data(temp_file):
assert read_data(temp_file) == 42
3) Property-based тест (генерация случайных входных данных)
@given(st.integers(), st.integers())
def test_add_random(a, b):
assert add(a, b) == a + b
Быстрый запуск только упавших тестов:
pytest --lf
🔥20❤8👍3😱2
This media is not supported in your browser
VIEW IN TELEGRAM
Теперь доступен полный стек для кастомизации и тонкой настройки модели:
- из видео в 3D-сцену за одну секунду
- преобразование ЛЮБОГО входа (картинка, видео, 3D-приоры) в ЛЮБОЙ выход: 3DGS, depth, камеры, normal-карты, point-cloud
- готовый код для обучения и свои пайплайны
Можно сразу пробовать онлайн-демо или собирать свою модель.
Демо: https://huggingface.co/spaces/tencent/HunyuanWorld-Mirror
Код: https://github.com/Tencent-Hunyuan/HunyuanWorld-Mirror
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍6🔥3😱1
Почему «Async Django» часто решает не ту проблему
Django теперь умеет ASGI и async-views, но автор статьи отмечает: переход на async сам по себе почти ничего не ускоряет. Чтобы получить выгоду, весь код должен быть переписан под асинхронность, а в реальных проектах прирост обычно минимальный.
Где async реально нужен?
В задачах с большим количеством ожидания: внешние API, WebSockets, стриминг ответов. Там async даёт ощутимую экономию.
Но есть нюанс:
Django стал «двухрежимным» фреймворком - синхронные и асинхронные части живут рядом, усложняя архитектуру. ORM всё ещё в основном синхронная, и это становится бутылочным горлышком.
Поэтому для большинства проектов выгоднее оставить sync Django и вынести тяжёлые операции в фоновые задачи (Celery, RQ). Это проще, надёжнее и предсказуемее.
Итог:
Async Django - круто с инженерной точки зрения, но бизнес-ценность есть далеко не в каждом сценарии. Для большинства приложений классический Django остаётся лучшим выбором.
https://www.loopwerk.io/articles/2025/async-django-why/
Django теперь умеет ASGI и async-views, но автор статьи отмечает: переход на async сам по себе почти ничего не ускоряет. Чтобы получить выгоду, весь код должен быть переписан под асинхронность, а в реальных проектах прирост обычно минимальный.
Где async реально нужен?
В задачах с большим количеством ожидания: внешние API, WebSockets, стриминг ответов. Там async даёт ощутимую экономию.
Но есть нюанс:
Django стал «двухрежимным» фреймворком - синхронные и асинхронные части живут рядом, усложняя архитектуру. ORM всё ещё в основном синхронная, и это становится бутылочным горлышком.
Поэтому для большинства проектов выгоднее оставить sync Django и вынести тяжёлые операции в фоновые задачи (Celery, RQ). Это проще, надёжнее и предсказуемее.
Итог:
Async Django - круто с инженерной точки зрения, но бизнес-ценность есть далеко не в каждом сценарии. Для большинства приложений классический Django остаётся лучшим выбором.
https://www.loopwerk.io/articles/2025/async-django-why/
👍14🔥7❤6
В продакшене важно правильно сигнализировать системе об успехе или ошибке.
В Python это делается через sys.exit(<код>):
0 — успешное завершение
неноль — ошибка, которую может поймать CI/CD, Docker, cron или любой supervisor
В примере выше try/except использует это правило:
- при ошибке деления выводится сообщение и скрипт завершается с кодом 1
- при успешной операции — вывод “Operation successful!” и код 0
Такой паттерн обязателен для CLI-утилит, сервисных скриптов, пайплайнов и автоматизации: он делает выполнение предсказуемым и даёт внешним системам корректно реагировать на сбои.
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤6🔥4🤩1
Уже завтра(11 ноября) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤2
Что умеет:
- следит за локальными и удалёнными Docker-хостами в одном окне
- умно перезапускает контейнеры с настраиваемой логикой повторов
- шлёт алерты в Telegram, Slack, Discord, Gotify и почту
- обновляет контейнеры по расписанию
- позволяет разворачивать Docker Run и Compose-пресеты прямо из UI
- показывает health-чеки и события в реальном времени
Github: https://github.com/darthnorse/dockmon
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤4👍3
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 27 ноября пройдет Pytup — митап для разработчиков, ML-инженеров и энтузиастов Python. Встречаемся в Екатеринбурге и онлайн, чтобы в неформальной обстановке обсудить новые подходы, решения и вызовы индустрии.
Разработчик системы контроля качества умных устройств на производстве Яндекс Алисы Арсений Саблин поделится, как используется Python при тестировании станции с Алисой. Техлид VK Tech Никита Улько разберет чистую архитектуру с практической точки зрения. А технический менеджер проектов Yandex Cloud Егор Гордовский расскажет о работе дата-центров.
Помимо докладов участников митапа в Екатеринбурге ждут дискуссионные столы по актуальным темам, нетворкинг с экспертами из разных компаний, а также гонки на роверах и соревнования по игре в змейку.
📅 27 ноября в 17.00 (по Екб)
📍 Екатеринбург
🛜 Офлайн/онлайн
Регистрируемся
Разработчик системы контроля качества умных устройств на производстве Яндекс Алисы Арсений Саблин поделится, как используется Python при тестировании станции с Алисой. Техлид VK Tech Никита Улько разберет чистую архитектуру с практической точки зрения. А технический менеджер проектов Yandex Cloud Егор Гордовский расскажет о работе дата-центров.
Помимо докладов участников митапа в Екатеринбурге ждут дискуссионные столы по актуальным темам, нетворкинг с экспертами из разных компаний, а также гонки на роверах и соревнования по игре в змейку.
📅 27 ноября в 17.00 (по Екб)
📍 Екатеринбург
🛜 Офлайн/онлайн
Регистрируемся
❤9👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Напиши функцию, которая распарсит вложенные структуры (списки, кортежи, множества, генераторы) в одну последовательность, но не трогает строки и не падает из-за циклов.
Вот как сделать это без рекурсии, только через стек:
def flatten(obj):
stack = [obj]
seen = set()
while stack:
x = stack.pop()
if isinstance(x, (str, bytes)):
yield x
elif isinstance(x, (list, tuple, set)):
xid = id(x)
if xid in seen:
continue
seen.add(xid)
stack.extend(reversed(list(x)))
else:
yield x
# пример
data = [1, [2, 3], ("ab", [4, 5]), 6]
data.append(data) # создаём цикл
print(list(flatten(data)))
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍5🔥4🤩2
🤖 Python + ИИ — лёгкий старт и быстрый рост в карьере разработчика.
Освойте с нуля один из популярных языков программирования и усильте свой вес на рынке знанием ИИ-инструментов для разработчиков на расширенном курсе «Python-разработчик».
Вы научитесь:
- разрабатывать веб-приложения и API;
- работать с фреймворками Django, Flask, FastAPI и с базами данных SQL, PostgreSQL;
- разбираться в принципах ООП, многопоточности, асинхронности.
Вы выполните более 90 практических заданий, добавите в портфолио 23 проекта и научитесь проходить технические интервью. А сразу после окончания курса пройдёте собеседования в наших компаниях-партнёрах: Ozon Банке, Авито и ВТБ.
Весь ноябрь в Нетологии — чёрная пятница: заберите курс со скидкой 50% и получите приятные подарки.
➡️ Узнать подробности
Реклама. ООО "Нетология". ИНН 7726464125 Erid 2VSb5wAW1AZ
Освойте с нуля один из популярных языков программирования и усильте свой вес на рынке знанием ИИ-инструментов для разработчиков на расширенном курсе «Python-разработчик».
Вы научитесь:
- разрабатывать веб-приложения и API;
- работать с фреймворками Django, Flask, FastAPI и с базами данных SQL, PostgreSQL;
- разбираться в принципах ООП, многопоточности, асинхронности.
Вы выполните более 90 практических заданий, добавите в портфолио 23 проекта и научитесь проходить технические интервью. А сразу после окончания курса пройдёте собеседования в наших компаниях-партнёрах: Ozon Банке, Авито и ВТБ.
Весь ноябрь в Нетологии — чёрная пятница: заберите курс со скидкой 50% и получите приятные подарки.
➡️ Узнать подробности
Реклама. ООО "Нетология". ИНН 7726464125 Erid 2VSb5wAW1AZ
❤3🔥2👍1😱1
⚡️ Rust vs Python - как найти баланс между скоростью и простотой
JetBrains выпустили подробный разбор, где сравнивают Python и Rust без фанатизма — по скорости, синтаксису, памяти, экосистеме, конкурентности и даже по карьерным сценариям.
Главный вывод: Python нужен там, где важна скорость разработки и богатая экосистема, Rust, когда критична производительность, безопасность и масштабируемость. Всё чаще их используют вместе: Python для логики, Rust для самых горячих участков.
Ключевые моменты
Рост и популярность
- Python уверенно расширяет аудиторию: быстрый вход, огромная экосистема, удобство для ML, веба и автоматизации.
- Rust годами остаётся самым любимым языком разработчиков — благодаря безопасности памяти, скорости и надёжности.
Типы и управление памятью
- Python — динамическая типизация и удобный GC: легко начать, но ошибки всплывают в рантайме.
- Rust — строгая типизация, система владения и заимствований, отсутствие GC: ошибки ловятся на этапе компиляции, производительность предсказуема.
Производительность и конкурентность
- Python ограничен GIL: хорош для I/O, но CPU-параллелизм требует multiprocessing или расширений.
- Rust не имеет GIL — настоящая параллельность, «бесстрашная» конкурентность и контроль безопасности компилятором.
Экосистема
- Python — PyPI, Jupyter, зрелые фреймворки для DS/ML, веба, автоматизации.
- Rust — Cargo и crates.io, сильная база для CLI, системного софта, WebAssembly.
Комбинация Python + Rust
- Тренд — ускорять Python-проекты Rust-модулями.
- Библиотеки типа pydantic-core или Ruff показывают огромный прирост скорости.
- PyO3 делает интеграцию очень простой: Rust-код можно вызывать как обычный Python-модуль.
Карьера
- Python - широкие вакансии, огромный спрос в данных и ML.
- Rust - меньше позиций, но выше специализация в инфраструктуре, системной разработке и высоконагруженных сервисах.
Как выбирать
- Нужна скорость разработки и гибкость — Python.
- Нужна производительность и надёжность — Rust.
- Нужны и то, и другое — гибридный подход Python + Rust.
Подробный разбор - в блоге JetBrains:
https://blog.jetbrains.com/rust/2025/11/10/rust-vs-python-finding-the-right-balance-between-speed-and-simplicity/
#Rust #Python #Programming #Backend #Performance
@pythonl
JetBrains выпустили подробный разбор, где сравнивают Python и Rust без фанатизма — по скорости, синтаксису, памяти, экосистеме, конкурентности и даже по карьерным сценариям.
Главный вывод: Python нужен там, где важна скорость разработки и богатая экосистема, Rust, когда критична производительность, безопасность и масштабируемость. Всё чаще их используют вместе: Python для логики, Rust для самых горячих участков.
Ключевые моменты
Рост и популярность
- Python уверенно расширяет аудиторию: быстрый вход, огромная экосистема, удобство для ML, веба и автоматизации.
- Rust годами остаётся самым любимым языком разработчиков — благодаря безопасности памяти, скорости и надёжности.
Типы и управление памятью
- Python — динамическая типизация и удобный GC: легко начать, но ошибки всплывают в рантайме.
- Rust — строгая типизация, система владения и заимствований, отсутствие GC: ошибки ловятся на этапе компиляции, производительность предсказуема.
Производительность и конкурентность
- Python ограничен GIL: хорош для I/O, но CPU-параллелизм требует multiprocessing или расширений.
- Rust не имеет GIL — настоящая параллельность, «бесстрашная» конкурентность и контроль безопасности компилятором.
Экосистема
- Python — PyPI, Jupyter, зрелые фреймворки для DS/ML, веба, автоматизации.
- Rust — Cargo и crates.io, сильная база для CLI, системного софта, WebAssembly.
Комбинация Python + Rust
- Тренд — ускорять Python-проекты Rust-модулями.
- Библиотеки типа pydantic-core или Ruff показывают огромный прирост скорости.
- PyO3 делает интеграцию очень простой: Rust-код можно вызывать как обычный Python-модуль.
Карьера
- Python - широкие вакансии, огромный спрос в данных и ML.
- Rust - меньше позиций, но выше специализация в инфраструктуре, системной разработке и высоконагруженных сервисах.
Как выбирать
- Нужна скорость разработки и гибкость — Python.
- Нужна производительность и надёжность — Rust.
- Нужны и то, и другое — гибридный подход Python + Rust.
Подробный разбор - в блоге JetBrains:
https://blog.jetbrains.com/rust/2025/11/10/rust-vs-python-finding-the-right-balance-between-speed-and-simplicity/
#Rust #Python #Programming #Backend #Performance
@pythonl
❤14👍8🔥2😁1