Обновить
512K+

Python *

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

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

Автоухо ставил «поломку» в 71% случаев. Я грешил на дешёвые телефоны, но проблемой оказалась тишина

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

Сервис диагностики двигателей автомобилей по звуку ставил «поломку» в 71% случаев. Я грешил на дешёвые телефоны, но проблемой оказалась тишина

Если строите диагностику на аудио

RSS вырос до 3 ГБ, а tracemalloc показывает 180 МБ: как найти остальные 2,8

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

RSS растёт к лимиту контейнера, tracemalloc показывает прежние 180 МБ, а gc.collect() ничего не меняет. Разберём, как в такой ситуации отделить утечку Python-объектов от нативных аллокаций и удержания памяти системным аллокатором — и понять, где именно искать причину до OOMKilled.

Разобраться с памятью

Битрикс24 + Python: шесть функций, после которых REST становится проще

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

REST Битрикс24 можно удобно использовать из Python — для интеграций, миграций, аналитики и служебных скриптов. 

Разбираем библиотеку a24wh: шесть функций, которые упрощают запросы, пагинацию, batch-вызовы и обработку ошибок.

Читать далее

Kotlin? Swift? Flutter? Нет, кириллица: пишем production-приложение с картой и push-ами на 1С: Элемент

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

Привет, Хабр! (И тебе, 1С-ник, который открыл статью только чтобы убедиться, что пока точно не надо изучать новый продукт. И тебе, питонист, который сейчас будет морщиться. И тебе, мобильный разработчик, который уверен, что без Kotlin/Swift нормальное приложение не родится - держи кружку крепче.)

Эта статья будет посвящена технологии, на которой можно написать своё мобильное приложение за пару дней. И я вам на примере реализованного мною полноценного проекта логистического приложения покажу, что сейчас из себя представляет эта технология на нашей родной КИРИЛЛИЦЕ, и что на ней можно сделать прямо сейчас. И самое главное, как…

Читать далее

Ваш UI-фреймворк уже написан. Используем возможности Playwright

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

Приветствую, Хабр! Меня зовут Владислав Тимашенков, я занимаюсь автоматизацией тестирования в ГК Infowatch.

В этой статье мы построим основу лаконичного фреймворка для UI-автотестов. Настроим запуск браузера, подготовим авторизацию, создадим Page Object и напишем тест. Здесь не будет лишних обёрток и сложной инфраструктуры, не будет даже ИИ и прочего хайпа. Только проверенные решения на базе Playwright, готовые к использованию. 

Главная идея — максимально использовать возможности самого Playwright, а не строить вокруг него собственный слой абстракций. 

Читать далее

Электрическое поле равномерно заряженных пластин: вывод формулы, код на python и 3D‑визуализация

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

Рассмотрим следующую задачу:Пусть есть металлическая равномерно заряженная и очень тонкая(высота пренебрежимо мала по сравнению с размерами) прямоугольная пластина размера 2a на 2b. Поверхностная плотность заряда σ>0. Требуется определить

электрическое поле E(x0,y0,z0), созданное этой пластиной в любой точке x0,y0,z0 трёхмерного евклидова пространства. А также рассмотреть случай пластины в форме эллипса.

Читать далее

Я просто хотел часы, которые не нужно подводить. Всё закончилось Pi Zero и LLM

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

Это история о том, к чему привело моё желание иметь часы, которые в магазине не купишь.

Ещё с детских лет у моей кровати всегда стояли какие-нибудь дешёвые часы с красными семисегментными индикаторами и функцией радио, купленные в Walmart или Target. Это всегда были дешёвые, простые и живучие модели — вот только все они неизменно требовали ручной подстройки при переходе не летнее/зимнее время и при сбое питания. И после недавнего такого сбоя, когда я в очередной раз стоял у тумбочки, зажав кнопку «TIME» и лихорадочно нажимая кнопку «HOUR», моё терпение лопнуло: «Мы прожили уже четверть 21-го века. Должен же быть какой-то более совершенный способ!»

В моём представлении идеальные часы должны уметь сами настраивать время. Они должны автоматически переходить на летний/зимний режим (или нет, в зависимости от того, чем закончится этот законопроект) и компенсировать погрешность хода, всегда показывая точное время вплоть до миллисекунд. Плюс они должны показывать это время на семисегментном дисплее красными цифрами — не синими, не зелёными, не жёлтыми и уж точно не белыми. И всё это не должно требовать установки всяческих мусорных шпионских приложений.

Читать далее

ИИ Агент для скоринга торговых рекомендаций

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

👾 ИИ Агент для скоринга торговых рекомендаций

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

В итоге оценивается не красивая лента и не заявленный win rate, а статистически проверяемое качество решений автора.

Читать далее

Как я настроил безопасное шифрование данных для сайта с помощью протокола HTTPS и SSL/TLS сертификата

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

Представим что у вас есть свой сайт запущенный на VPS на голом HTTP, также вы уже купили домен и связали его со своим IP-адресом. 

Но спустя время вы решили, что не хотите, чтоб весь трафик между клиентами и сервером был виден любому желающему. 

Вспомнили, что есть протокол HTTPS, который по сути обычный HTTP, но на 5 и 6 уровне работает протокол SSL/TLS, который занимается шифрованием и аутентификацией.

Дело осталось за малым, перевести сайт с HTTP на HTTPS.

Читать далее

Побеждаем OOM в PyTorch: как обучать гигантские графы на обычной видеокарте

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

При обучении графных нейросетей и гигантских эмбеддингов на миллионы узлов стандартный torch.optim.SparseAdam в PyTorch моментально забивает RAM и VRAM, вызывая ошибку CUDA out of memory (OOM). В этой статье разбираем, как устроена легковесная Open Source библиотека Disk Sparse Adam (DSA), которая выносит состояния моментов на диск через memory mapping (mmap) и позволяет обучать огромные спарс-модели на обычной домашней видеокарте.

Читать далее

Из немыслимого в элементарное: парсинг сайта спортпита на Python без бэкграунда программиста

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

Привет, Habr!

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

Читать далее

FlatAdapter для преобразования иерархических структур

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

Превращаем иерархические структуры в набор плоских строк готовых для импорта в БД

flat-adapter преобразует нетипизированные вложенные mapping в детерминированный список плоских строк. Библиотека умеет приводить scalar-типы, обрабатывать optional-поля, извлекать значения по путям, разворачивать вложенные FlatAdapter-ы и строить декартово произведение списков.

Читать далее

Почему голосовые ИИ‑агенты перебивают людей: замерил на боевом API и починил правилами русского синтаксиса

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

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

Ниже — методика, замеры и решение, которое даёт 316 мс вместо 1200 при двух обрывах вместо тридцати восьми. Всё воспроизводимо, детектор — на правилах, без обучения и без GPU.

Читать далее

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

Голосовой ввод в любое окно Windows за секунду. Офлайн, на CPU, без единого гигабайта torch

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

Голосовой ввод для Windows за ~1 секунду | Полностью локально • CPU • Open Source

Как заставить Whisper распознавать речь почти в 4 раза быстрее на обычном CPU без GPU и без облака. Разбираю архитектуру WhisperType, сужение окна энкодера, потоковую обработку аудио, оптимизацию faster-whisper и подводные камни WinAPI.

Читать далее

Теорема Миттаг-Леффлера: главная теорема всего комплексного анализа

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

Возьмите функцию на комплексной плоскости, у которой производная существует всюду, кроме отдельных изолированных точек.

Что необходимо о ней знать, чтобы восстановить её целиком?

Ответ поразительный: достаточно списка точек, где функция не дифференцируема, и «силы» каждой поломки. Формулу написал шведский математик Гёста Миттаг-Леффлер, и она — одна из самых красивых в комплексном анализе.

В статье далее — электростатика на комплексной плоскости, спины у классических мультиполей, контрчлены как в квантовой теории поля, вывод \pi^2/6 в две строчки, самая дорогая ошибка Пуанкаре и разбор легенды о том, почему не бывает Нобелевской премии по математике. И картинки на matplotlib, разумеется, — с кодом.

Статья для тех, кто хочет по-настоящему понять суть основ комплексного анализа!

Читать далее

Agentic AI: стек агентного инженера

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

Этот материал навеян типичными требованиями к агентным Python-инженерам - теми списками требований к вакансии, где рядом стоят всякие PydanticAI/CrewAI/Langraph, MCP/A2A, фреймворки, оценки, векторные базы и тому подобное. Ну мне вот такое попадается, например, и заметил я, что большинство кандидатов люто плавают в этих вопросах. И даже перспективы перейти к физическому труду в обозримом будущем не мотивируют оных слегка прокачать нужные навыки - тем более что много-то и не нужно. Конечно, есть категория гениев, которая чаще всего встречается в анонимных комментариях на хабре, но я-то про обычных земных людей, с которыми встречаюсь на этой грешной земле, и на которых этот материал прежде всего и рассчитан. Так что, дорогой ноунейм, этот материал поможет тебе пройти интервью, и надеюсь, постоловаться еще какое-то время в наши скудные времена.

Ну и не забываем: все течет и меняется нынче быстро - так что и эти тезисы устареют скоро.

Читать далее

Погодный чёрный ящик часть 2: больше датчиков и gui на python

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

Всем привет, в этой статье мы доработаем проект офлайн логгер из прошлой статьи. Добавим датчики и напиши обработчик логов с sd карты!

Читать далее

Код решает, LLM помогает: как я строил AI-тренера для бегунов

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

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

План действительно поменялся. Не в субботу — в четверг.

Расследование заняло пару минут: в четверг у пользователя стояла лёгкая тренировка, и модель формально нашла в сообщении два признака — easy и Saturday — и уверенно (confidence: 0.92) выбрала тот объект, который был ближе, а не тот, который имел в виду человек. С точки зрения классификации всё было сделано правильно. С точки зрения пользователя — совсем не то, о чём он просил.

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

Читать далее

Реверс алгоритма из прошивки устройства на базе ARM-процессора, часть 2

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

Продолжаю тему реверса алгоритма, ссылка на первую статью: https://habr.com/ru/articles/1064990/. В этой части доведу реверс до конца, постараюсь показать как делать не надо, почему декомпиляция хорошо, а эмуляция лучше )

p.s. Тут нет 50 минут, листинги в спойлерах повлияли, их можно не читать.

Читать далее

ESP32 + MicroPython + трубка Гейгера: как за вечер собрать детектор радиации

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

Радиация окружает нас повсюду – естественный радиоактивный фон присутствует всегда и везде. Имея под рукой плату ESP32 за 8 долларов, OLED-дисплей за 3 доллара, MicroPython и трубку Гейгера – Мюллера, можно без труда собрать полноценный детектор радиации. Он сможет не только выводить текущие показатели на экран, но и отправлять данные на GMCMap, в Home Assistant и другие сервисы.

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

Читать далее