Обновить
1024K+

Python *

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

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

Как автоматизировать сертификационное тестирование дисковых массивов: несколько секретов

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

Всем привет! Меня зовут Александр, я старший инженер по верификации в YADRO. В блоге уже были статьи о том, как мои коллеги из других отделов мучают наши дисковые массивы, — одна из них тут. Наш отдел тоже работает с системами хранения данных, но без издевательств над массивами: мы проводим сертификационное тестирование. Результат трудов — сертификат, подписанный с обеих сторон и подтверждающий совместимость нашего изделия и стороннего программного продукта или аппаратного средства. Для коммерческих и государственных организаций такие сертификаты — серьезный аргумент при планировании закупки оборудования или ПО.

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

Читать далее

Покоряем гору временных рядов: делаем прогноз для 200+ рядов с библиотекой Etna

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

Я работаю дата-сайентистом 5 лет и до сих пор испытываю боль, когда нужно сделать MVP по временным рядам. Начиная с того, как построить несколько графиков одновременно без «слипшихся» меток по осям, заканчивая поиском подходящего метода очистки ряда от аномалий. И всё это венчает цикл по каждому ряду с бесконечным жонглированием данными между numpy, pandas, sklearn, yet_another_library.

Если вы DS, и тоже, как и я, устали от вот этого всего, добро пожаловать под кат. Я покажу, как написать production-ready код для прогноза 200+ временных рядов от EDA до результата. Разберем на практике, как бороться с аномалиями, ловить смены тренда и в итоге – получить масштабируемое решение, а не очередной «велосипед».

Читать далее

Код, за который стыдно: 5 ошибок, которые нельзя допускать в Python

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

Python прощает многое: здесь нет строгой типизации, компилятора и ручного управления памятью. Код пишется легко, запускается с первого раза и проходит Code Review. А потом на продакшене случается страшное: данные пользователей перемешиваются, сервер «замирает» под нагрузкой или биллинг списывает деньги не в тот день.

Читать далее

Базовый минимум. Часть 1:  большие языковые модели

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

Чат боты с ИИ легко воспринимать как «умного собеседника». Они отвечают связно и выглядят почти по человечески. Но что на самом деле находится по ту сторону диалогового окна? В этом тексте собраны базовые понятия, без которых трудно без которых сложно уверенно использовать языковые модели в реальных задачах и понимать границы их возможностей.

Читать далее

Python вместо After Effects: пишем видео на Manim

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

Зачем двигать ползунки мышкой, если вы знаете Python? В статье разбираем Manim — библиотеку, с помощью которой создаются видео на канале 3Blue1Brown. Установка, отличие версий, рендеринг LaTeX-формул и код для вашей первой процедурной анимации. Превращаем скрипты в MP4 без единого кейфрейма.

Читать далее

Rust в действии: допечатка

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

Всем привет!

Мы гордимся тем, с каким успехом и рвением выпускаем на русском языке крутую литературу по языку Rust. Мы занялись этим, когда Rust ещё далеко не был мейнкуном мейнстримом - и нашим первым (и сразу же очень успешным) заходом в тему была ныне легендарная книга Тима Макнамары "Rust in Action". Она вышла в издательстве "Manning" в 2021 году, а на русском языке мы выпустили первый тираж "Rust в действии" в ноябре 2022 года. Очередная допечатка закончилась к новому 2026 году, и мы решили разместить здесь переводную статью о книге для привлечения внимания к свежей допечатке (тираж ограничен!)

С тех пор эта книга стала базовым введением в Rust и пропуском в отрасль, но мы на ней, конечно, не остановились. Далее мы выпустили:

Читать далее

Хакатон Норникеля: как мы выжали максимум из YOLO и заняли 2 место

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

Привет, Хабр! Пару лет назад мы с коллегами из Центра искусственного интеллекта СФУ искали способы набраться практического опыта в задачах компьютерного зрения. Одним из таких форматов оказались хакатоны — соревнования по решению ML-задач на реальных кейсах с жесткими дедлайнами.

За эти пару лет мы успели поучаствовать примерно в десяти хакатонах (Цифровой прорыв, Атомик Хак) и в половине из них доходили до призовых мест. Один из кейсов оказался особенно интересным из-за условий, в которых его пришлось решать. Это хакатон от Норникеля под названием «Интеллектуальные горизонты»

Читать далее

От идеи к реальности: как я собрал свой первый пет-проект по распознаванию языка жестов

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

ПРЕДЫСТОРИЯ

Полгода назад, ближе к концу первого курса, я стал думать о будущей работе. Возможно на волне хайпа мой выбор пал на Нейронные сети. Начал с классического машинного обучения, а потом нашел хороший курс по свёрточным (CNN) и рекуррентным сетям. CNN меня впечатлили гораздо больше. После пары учебных проектов вроде классификации кошек и собак захотелось сделать что-то сложнее. Так появилась идея: детектировать руку в кадре и определять жест из американского языка жестов (ASL).

Читать далее

Проснулся 1-го января и переписал библиотеку: релиз async_yookassa 1.0.0

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

Всем привет!

Вчера я выпустил крупное обновление 1.0.0 для своей библиотеки async_yookassa — неофициального клиента для асинхронного взаимодействия с API ЮKassa. О том, что изменилось, зачем я вообще взялся её писать и почему официальный SDK может "убить" вашего бота — в этой статье.

Читать далее

Как написать линтер для SQL-миграций

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

Привет! Меня зовут Алексей Сидоров, я Python-разработчик в команде краткосрочной аренды в Домклик. В этой статье разберём, как и зачем проверять код миграций схемы БД и как написать свой линтер.

Читать далее

Макрос-клавиатура которую я делал 5 лет

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

Меня зовут Нияз. Я ретушёр, дизайнер и иногда программист, а с недавних лет — ещё и отец двух мальчиков 🤘

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

Сегодня хочу показать результат этого пути — наше текущее творение.

Встречайте: макрос-клавиатура 23procg тип1

Читать далее

«Джуны старше 50 лет никому не нужны». Как я сменил воинскую службу на IT в 53 года

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

На рынке по-прежнему держится норма: после 40–50 лет карьеру лучше не трогать. Я 30 лет служил в морской авиации, а перед выходом на пенсию понял, что у меня остаётся немного вариантов для заработка — один из них: устроиться охранником в школу за 30 000 рублей с гордой надписью Security на курточке. Рассказываю, как решил поменять профессию, через что пришлось пройти и как в итоге в 53 года стал тестировщиком программного обеспечения.

Читать далее

Как я перестал слушать «Unknown Artist — Track 01» и написал свой распознаватель музыки

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

12 000 MP3 без тегов, 15 лет прокрастинации, один выходной на код. Асинхронный распознаватель на Python + Shazam: как обойти rate limiting, починить кривые кодировки и не съесть всю память. Код открыт.

Читать далее

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

CTE (Common Table Expression) / Django CTE

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

Как только ты начинаешь углубляться в изучение баз данных, так сразу на горизонте возникают такие понятия как подзапросы, CTE, представления и временные таблицы. По опыту работы в университете заметил, что с этими темами у людей часто возникают проблемы и недопонимания. В частности больше всего путаницы вносит именно CTE. 

Поэтому в этой статье я расскажу:

1. что такое CTE

2. зачем оно нужно 

3. что такое рекурсивные СТЕ

4. чем СТЕ отличается от временных таблиц, представлений и подзапросов

5. как СТЕ может плохо сказаться на производительности 

6. как использовать СTE в самом народном фреймворке Django

Использует SELECT со звёздочкой Макс - Lead Backend и автор YouTube-канала PyLounge. Поехали! 

Читать далее

Machine Unlearning. Часть 1: Почему моделям нужно уметь забывать

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

Большие языковые модели (LLM) сегодня умеют невероятно много — от генерации текста до сложного анализа данных. Но что происходит, если часть информации, на которой они обучались, нужно удалить? Просто убрать лишние данные и переобучить модель может быть слишком накладно и дорого.

Всем привет! Меня зовут Вадим, я Data Scientist в компании Raft. В этой статье я расскажу о достаточно новом направлении машинного разучивания (Machine Unlearning), которое позволяет моделям “забывать” не нужные знания без полного их переобучения.

Читать далее

ML на Мосбирже — почему мой грааль не работает?

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

Время после нового года решил провести с пользой и окунуться в машинное обучение. Заняться Machine Learning — и посмотреть получится что‑то или нет с российским рынком акций на Московской бирже.

Моей целью было построить такую систему, которая будет учиться на истории и в перспективе торговать лучше чем случайное блуждание 50/50. Но из‑за комиссий и спреда подобные блуждания изначально отрицательны — чтобы выйти в плюс надо как минимум покрывать комиссии.

Если говорить о результатах очень кратко, то технически всё работает, но вот финансовый результат на грани безубыточности.

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

Причём вся эта работа выглядит совершенно не так как показывается в фильмах про уолл‑стрит: фактически это написание скриптов и монотонный запуск и всё происходит полностью локально на компьютере.

Читать далее

Pydantic vs Adaptix – плюсы, минусы и области применения

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

Современная экосистема Python переживает большую трансформацию в подходах к обработке, валидации и (де)сериализации данных. Еще совсем недавно (десять лет назад) в питоне не было аннотаций типов, все использовали ручные проверки типов, да и в принципе мало кто заморачивался с контрактами для данных.

Читать далее

Абсолютные валютные курсы: математика, код и практика

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

📊 Знаете, что общего у температуры в городах и валютных курсов? И то, и другое — относительные величины. У вас есть разницы, но нет абсолютных значений.

Можно ли из одних лишь парных котировок вроде EUR/USD или USD/JPY вычислить внутреннюю, абсолютную стоимость каждого доллара, евро или йены? Оказывается, можно — и для этого не нужен волшебный экономический калькулятор.

В этой статье мы делаем то, что звучит как задача для детектива: восстанавливаем абсолютные значения из одних лишь отношений. С помощью чистого Python и метода наименьших квадратов мы превращаем сеть из 85 рыночных котировок в единую шкалу стоимости для 45 валют.

Что вас ждёт:

Матрицы, логарифмы и МНК — как линейная алгебра очищает финансовые данные от шума.

Рабочий код — от построения матрицы инцидентности до ежедневного расчёта.

Фокус с разоблачением — на примере USD/JPY покажем, как понять, что на самом деле движет парой: укрепление доллара или ослабление йены?

Масштабирование до 153 валют — как та же математика работает для всей мировой системы.

Если вы когда-либо задумывались, как устроена «кухня» валютного рынка за пределами парных графиков — эта статья для вас. Переходите, чтобы узнать, как превратить относительность в абсолют.

Читать далее

Как запустить 4 независимые нейросети на одном GPU (16 ГБ) под FastAPI

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

Как поднять мультимодальный AI-сервис (OCR, ASR, LLM, TTS) на одной GPU 16GB без облачных API?

Разбираем пошагово:

Подготовка VPS (Ubuntu + CUDA + драйверы)

FastAPI-архитектура с PyTorch/Transformers

Управление памятью (без OOM-ошибок)

Продакшен: systemd + Nginx + HTTPS + домен

Тестирование в Swagger

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

Для кого: DevOps, Python-разработчики, AI-интеграторы, стартапы.

Исходники в репозитории, демо-видео, лайфхаки по разработке прямо на сервере!

Читать далее

Джентльменский набор LLM-инженера: гайд по экосистеме языковых моделей

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

Каждый, кто хоть раз вводил pip install transformers, наблюдал, как терминал начинает безостановочно выводить простыню зависимостей: pytorch, accelerate, bitsandbytes, peft и многие, многие другие. Но если PyTorch является фундаментом, настоящим Атлантом, на плечах которого держатся тензорные вычисления, то какую роль играют его помощники?

В этой статье мы проведём ревизию джентльменского набора LLM инженера. Для этого мы изучим функционал, методы работы и даже заглянем в исходный код таких библиотек, как PyTorch, Transformers, Accelerate, Bitsandbytes, PEFT и Unsloth. Эти знания позволят вам видеть за списком импортов не просто названия, а четкую структуру, на которой держится ваше приложение.

Читать далее