Обновить
500.92

Python *

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

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

Анализ авиапроисшествий, расследованных МАК за 2014–2024 гг

Время на прочтение7 мин
Охват и читатели2.3K

Данный отчет представляет собой аналитическое исследование авиапроисшествий, произошедших в период с 2014 по 2024 годы и расследованных МАК. В основу анализа легли данные о происшествиях, включающие сведения о типах воздушных судов, числе погибших, географическом расположении инцидентов, а также причинах катастроф

Читать далее

Мультирегиональность в Selectel S3: работаем с регионами SPB и MSK из Python

Время на прочтение6 мин
Охват и читатели1.3K

Катастрофоустойчивое хранение данных — одна из актуальных задач при построении IT-инфраструктуры. Но ее решение может завести в тупик. Как оптимальнее организовать хранение данных, исключив домены отказа? Как разместить определенные данные ближе к целевой нагрузке или части аудитории? Как организовать асинхронную репликацию данных между Москвой и Санкт-Петербургом?


Всем привет! Меня зовут Гришин Александр, я продакт-менеджер в Selectel и отвечаю за развитие объектного хранилища и облачных баз данных. Под катом я расскажу, как с помощью мультирегиональности взаимодействовать с разными регионами S3 через Python и библиотеку boto3. Это поможет хранить и обрабатывать данные в Москве и Санкт-Петербурге, используя единую авторизацию и простой интерфейс. К тому же — улучшить катастрофоустойчивость и доступность данных, а еще снизить задержки при работе с объектами, когда инфраструктура распределена между городами.

Читать дальше →

Удаление дубликатов фото с помощью python и Claude. Как я использую вайб-кодинг

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

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

Термин «вайб‑кодинг» в среде пользователей, хоть немного погруженных в тему ИИ, уже не нужно расшифровывать и пояснять. Кажется, людей, не использующих LLM для программирования становится все меньше и меньше.

Читать далее

Мы взломали Google Gemini и скачали его исходный код (частично)

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

В 2024 году мы выпустили пост We Hacked Google A.I. for $50,000, в котором говорилось, как наша группа в составе Рони «Lupin» Карта (это я), Джозефа «rez0» Тэкера и Джастина «Rhynorater» Гарднера поехала в 2023 году в Лас-Вегас, чтобы искать уязвимости Gemini на проводимом Google мероприятии LLM bugSWAT. В этом году мы повторили нашу поездку…

Читать далее

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

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

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

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели953

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

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

Читать далее

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

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

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

Читать далее

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

Время на прочтение32 мин
Охват и читатели6.9K

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Читать далее

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

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

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

...

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

Время на прочтение11 мин
Охват и читатели11K

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

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