Обновить
639.15

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Лучшие практики создания отказоустойчивых систем

Уровень сложностиСредний
Время на прочтение23 мин
Количество просмотров14K

Разработка отказоустойчивых систем представляет собой важнейшую компетенцию для инженеров, занятых созданием распределённых и масштабируемых приложений. Под отказоустойчивостью понимается способность системы сохранять работоспособность в условиях сбоев отдельных компонентов или недоступности внешних сервисов. В данной статье рассматриваются практики обеспечения устойчивости на уровне программного кода, в частности в контексте серверных приложений, реализованных на языках Python и Java.

Особое внимание уделяется методам повышения надёжности при временных сбоях, включая: повторные попытки выполнения операций с экспоненциальной задержкой (exponential backoff), использование шаблона circuit breaker, механизмы плавной деградации функциональности (graceful degradation), задание таймаутов, реализация идемпотентности, ограничение одновременных вызовов (bulkhead isolation), а также внедрение систем мониторинга и алертинга. Приводимые примеры охватывают типовые сценарии — обращение к внешним API, взаимодействие с базами данных и выполнение фоновых задач.

Читать далее

Отладка с sys._getframe в Python

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.4K

Привет, Хабр!

Сегодня в коротком формате разберемся с тем, что же творится внутри CPython, когда функции вызывают друг друга: sys._getframe, f_back, f_globals, f_locals, а также создадим свои декораторы.

Читать далее

Код, который не ест батарейку: программируем с умом и экономим ресурсы

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров2.4K

Энергосбережение в программировании — тема, которую часто обходит стороной, пока ноутбук не сядет посреди важной видеоконференции. В этой статье разбираемся, как писать код, который не только работает, но и делает это энергоэффективно. Много примеров, немного философии и максимум пользы.

Читать далее

API автотесты на Python с запуском на CI/CD и Allure отчетом

Время на прочтение32 мин
Количество просмотров11K

В этой статье разберём процесс написания API автотестов на Python, используя современные best practices. Кроме того, мы настроим их запуск в CI/CD с помощью GitHub Actions и сформируем Allure-отчёт с историей запусков. Цель статьи — не только показать, как писать качественные API автотесты, но и научить запускать их в CI/CD, получая удобные отчёты о результатах.

Читать далее

Лучшие статьи Хабра в марте 2025 года

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров3.6K

Снова приветствую вас на ежемесячном дайджесте! Цель - разобраться, чем жил Хабр в марте 2025: какие темы вызвали жаркие споры, а какие прошли незамеченными.

В прошлом месяце в комментариях прозвучала резкая критика: мол, топ статей превратился в «инфоцыганщину»: мотивацию, лёгкий заработок и истории успеха, вытесняющие глубокий технический контент. В этом выпуске мы не просто изучим статистику популярности, но и проверим, сохраняется ли тренд, а также разберём, какие статьи вызвали самый живой отклик - как восторженный, так и скептический.

Впереди - методология отбора, топ марта, анализ авторов и специальный раздел, где обсудим критику и её обоснованность.

Читать далее

Балансировка нагрузки LLM через Nginx

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров4.3K

💻 Применение Nginx для балансировки нагрузки LLM чат сессий

В сети много примеров подключения LLM модели к Telegram-боту, но при большом числе пользователей нет руководств по распределению нагрузки между процессами — все туториалы предлагают монолит с одной репликой. Эта статья объясняет, как балансировать нагрузку бота для тысяч пользователей, в том числе, после подключения model context protocol для интеграций

Читать далее

Параллельные вычисления, конкурентность и асинхронное программирование в Python: обзор для начинающих

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров14K

Однопоточные приложения на Python ограничены в производительности: они выполняют задачи последовательно и не используют преимущества многоядерных процессоров. Кроме того, такие программы не справляются с обработкой множества операций одновременно, особенно если речь идет о задачах, связанных с вводом-выводом, например сетевыми запросами или чтением файлов.

Производительность можно значительно улучшить, внедрив в код параллельные вычисления, конкурентность или асинхронное программирование. Для этого Python предлагает такие инструменты, как multiprocessing, threading и asyncio.

Читать далее

Как нам удалось упростить жизнь инженера-сметчика и сократить время на разработку сметы в 20 раз

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров3.9K

Если вы инженер-сметчик, то наверняка знаете, что такое ежедневная работа с огромными таблицами и бесконечными спецификациями. Кто-то, возможно, уже смирился с монотонностью, а кто-то разработал свои лайфхаки для ускорения обработки данных. Но сегодня расскажем о новом подходе, который помог нам упростить процесс составления сметы на монтаж системы вентиляции.

С чего все начиналось: с типичного дня сметчика

Однажды мне поставили задачу — подготовить сметы для нового объекта, включая раздел вентиляции. Как многие сметчики знают, вентиляция — это один из самых трудоемких разделов.

Читать далее

DeepSeek работа с API и оплата доступа из РФ

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров66K

Недавно выстрелила китайская нейросеть DeepSeek, сегодня разберёмся как работать с её API, как оплачивать из РФ и есть ли какие-то сложности.

Читать далее

Недопонятый язык Lua

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров38K

Lua — один из моих любимых языков программирования. Я использовал его для создания CMS на своём старом учебном сайте, для создания крутых IoT-устройств, для разработки мини-игр и экспериментов с децентрализацией сети. Однако экспертом по этому языку я нисколько себя не считаю. Разве что просто разбирающимся в нём пользователем. Я имею в виду, что работал с ним в различных контекстах и на протяжении многих лет, но не вникал глубоко в его реализацию или экосистему.

Так что меня немного расстраивает, когда я читаю о нём статьи и посты, в которых сквозит абсолютным непониманием сути и контекста применения этого языка. Чаще всего такие статьи выглядят как набор неких требований. Из последних могу вспомнить пост на LWN, где автор жаловался на «недокомплект» Lua, и обсуждение этого поста на Hacker News, которое побудило меня написать встречную статью, чтобы ответить на некоторые прозвучавшие в нём комментарии.
Читать дальше →

Как я запускаю 15+ самых разных ИИ на своей машине — open-source, self-hosted, с HTTP-доступом

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров31K

Я написал BrainBox — local-first сервис поддержки open-source ИИ-систем для генерации изображений, распознавания объектов на снимках, озвучки, распознавания текстов, транскрибирования аудиозаписей и других целей. Эти системы запускаются за фасадом веб-сервера, который устанавливает их и затем принимает и выполняет задачи в едином для всех систем формате. Задачи можно ставить из любого языка программирования с помощью отправки веб-запросов на сервер, а для Python дополнительно разработан удобный API. Проект доступен на pypi https://pypi.org/project/kaia-brainbox/ с подробной документацией и инструкцией на английском языке. Я надеюсь, что BrainBox поможет тем, кто хочет сделать небольшой проект с использованием ИИ, но не хочет разбираться в питоне и торче, или просто не знает, с чего начать.

Читать далее

Как я написал удобного Telegram-бота для взаимодействия со школьным дневником

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров9.7K

Когда я начал свой путь в парсинге, мне в голову сразу пришла идея написать клиент для удобного взаимодейстия со школьным дневником. В последствии я решил оформить его в виде Telegram-бота.

...

Читать далее

Байесовская собака: анализ пёсьего компаса

Уровень сложностиСредний
Время на прочтение23 мин
Количество просмотров7.4K

Ориентируются ли собаки по компасу, когда делают свои грязные дела? Оказывается — да! Если вам интересно, как можно это подтвердить в домашних условиях, используя компас, Байесовскую статистику и собаку (собака не включена), то добро пожаловать под кат. 

Читать далее

Ближайшие события

Экономия RAM с pandas.read_sql

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2K

Как экономить до 90% оперативной памяти при загрузке pandas DataFrame из базы данных?

Сравним различные способы выгрузки данных и найдем метод для снижения потребления оперативной памяти.

Читать далее

Все ли волки страшные: AUF или как приручить uplift?

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров1.7K

Всем привет! Меня зовут Мельников Виктор, я работаю Junior Data Scientist в хабе Розничного Бизнеса Департамента Продвинутой Аналитики в Альфа-Банке. В этой статье я расскажу про AUF – Open Source библиотеку Альфа-Банка. 

Её главная задача — автоматическое решение задач uplift-моделирования.

Позволяет ускорять разработку в десятки раз и убирает рутину, избавляя от привычного fit-predict. Приятным бонусом идёт полный отчёт по качеству модели, понятный как DS, так и бизнесу.

Дисклеймер: эта статья не про uplift-моделирование, а про библиотеку, которая решает задачу uplift-моделирования. Если хотите почитать про общую постановку задачи, посмотреть на математику, лежащую в основе uplift, в конце статьи оставил раздел с ссылками на полезные материалы.

Читать далее

Свои языки программирования: зачем компании изобретают колесо заново

Время на прочтение11 мин
Количество просмотров16K

Кажется, языков программирования уже предостаточно, но IT-гиганты продолжают плодить свои. Google, Apple, JetBrains — готовых решений хватает до отказа, а им все равно хочется иметь что-то свое, эксклюзивное. Дело в технологической необходимости, гордыне или «синдроме NIH», когда чужое не берут? Может, это попытка захватить контроль над всем технологическим стеком или хитрый маркетинговый ход для завоевания умов разработчиков? Давайте копнем глубже, чтобы разобраться.
Читать дальше →

Запускаем FLUX 1 Dev в Google Colab

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.9K

Ранее я уже делал статью про запуск в пару кликов моделей Stable Diffusion в Google Colab с помощью Fooocus (способ актуальный), сегодня мы проделаем похожее с моделью FLUX 1 Dev, но без web интерфейса.

Читать далее

Как я Telegram бота для текстовых квестов на ChatGPT делал

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.3K

Привет, Хабр! Хочу поделиться своим опытом создания Telegram-бота для текстовых квестов при помощи ИИ. Если вы любите текстовые квесты, писать ботов или просто интересуетесь GPT, то этот материал для вас.

Ссылка на репозиторий с исходным кодом: questTg.

Читать далее

AI (Computer Vision) для реальной жизни (или кто для кого готов)

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.6K

Профессия «плотник» полезна в обычной жизни, а что можно сказать о «программисте»? Когда государственной политикой является цифровизация, то правительство должно понимать: цифра она везде цифра! И в обычной жизни придется учитывать и такие истории.

Но сначала, чтоб не тратить время «продвинутых» хабберчан, краткое резюме:
1. уровень технической информации = junior
2. стек = python, ultralytics, YOLO (различных версий)
3. тема = распознование объектов, обучение модели
4. социальная польза = забота об экологии в городе Москва

История эта началась в нулевых, когда в очередной раз проходя мимо круга разворота автобусов, что находится у дома, я заплутал между громадного их количества, стоящих с включенными двигателями и чадящим прямо под окнами жителей.

детали под катом

Проанализировал более 260 тысяч футбольных матчей, чтобы поспорить с учёными-статистиками

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров15K

Потратил пару месяцев, чтобы спарсить матчи и понять, насколько футбол хаотичная и непредсказуемая игра. И выводы оказались довольно неоднозначными. Но обо всём по порядку

Читать далее

Вклад авторов