Обновить
1024K+

Python *

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

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

Я устал настраивать ПК и написал свое приложение для Windows на Flutter

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

Привет. Меня зовут Никита.

Наверняка многим знакома ситуация: кто‑то из друзей или родственников просит «почистить комп», «передалать PNG в JPG» или «раскидать свалку файлов в загрузках».

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

Так появился мое приложение SmartLauncher.

Читать далее

Новости

Микросервис потоковой конвертации видео (Python, FFmpeg)

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

Недавно перед нами встала задача быстро реализовать микросервис для конвертации видео. Стандартным решением для таких целей является FFmpeg, который умеет читать файлы чанками (запросы HTTP Range) с URL и выводить результат в stdout. Поэтому я решил попробовать подход с потоковой конвертацией.

Важно уточнить, что под «потоковой обработкой» здесь подразумевается передача данных в виде последовательности чанков (Chunked Streaming), а не классический Continuous Streaming, как в случае с live-видео.

Читать далее

Ускоряем игру «Жизнь» с помощью CUDA / Triton

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

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

Игра «Жизнь» — это простой клеточный автомат, поэтому она должна хорошо поддаваться GPU-ускорению. Правила просты: каждая ячейка в двухмерной сетке или жива, или мертва. На каждом шаге мы подсчитываем живых соседей ячейки (включая диагонали). Если ячейка жива, она остаётся живой, если живы два или три её соседа. В противном случае она умирает. Если клетка мертва, она оживает, если живы ровно три соседа. Из этих простых правил возникает потрясающий объём сложности, о котором написаны подробные статьи.

Для простоты я буду рассматривать только сети N×N и пропущу вычисления на краях. Всё будет работать на Nvidia A40, а бенчмарк производительности я буду проводить при N=216. Пока мы будем хранить каждую ячейку в виде 1 байта, поэтому весь массив займёт 4 ГБ.

Весь код выложен в репозитории GitHub.

Читать далее

Рейтинг языков программирования на GitHub: анализ 2024–2025 в JupyterLab и Anaconda

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

Мы не стали спорить с TIOBE и RedMonk и собрали свой рейтинг языков программирования на основе GitHub. Данные за 2024–2025 показывают неожиданные вещи: JavaScript впереди, TypeScript резко растёт, а Rust и Go выигрывают по качеству проектов. Разбираем, что стоит за цифрами и где могут быть искажения.

Читать далее

Более 25 лет в Python не решаются исправить это

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

Сегодня (2026.04.01) прошло ровно 9731 день с тех пор, как сообщество Python узнало об изъяне в работе со строками.

Это было так давно, что у Python еще не было мажорных версий (для холиваров приходилось использовать PHP).

Так давно, что еще не существовало ни pythonchallenge.com, ни его прародителя notpron.com - легендарных убийц времени программистов.

Это было в прошлом тысячелетии. А именно - 1999 году, когда, согласно летописям, реализовали тип string. В том же году ведущий разработчик Jim Fulton опубликовал исследование, где без купюр указал на проблему.

Как ни странно, она не решена до сих пор.

Читать далее

Хватит винить кривые руки. Твой язык программирования энергетически тебе не подходит

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

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

На днях HR-отдел отклонил мое резюме на позицию джуна. Вместо фидбека я получил ответ «В нашей команде слишком много козерогов, и нашему тарологу не понравился ваш Сатурн». Сначала я хотел возмутиться, но потом подумал. Может звезды не врут? Возможно наш звездный язык программирования определяется в зависимости от расположения планет во время первого запуска IDE.

Я провел фундаментальное исследование, проанализировал натальные карты Гвидо ван Россума, Страуструпа и прочих, и составил первый в мире точный гороскоп языков программирования.

И результат меня поразил...

Читать далее

Симулятор JWST на Python: как критика Хабра заставила выучить астрофизику и почему мы сделаем открытие раньше NASA

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

Некотороевремя назад я пришел на Хабр с простеньким ML‑скриптом, который искал обитаемые экзопланеты. Я ждал похвалы, но вместо этого получил в комментариях ведро ледяной воды: «Где валидация? Что будет при сдвиге распределения? Машинное обучение без физических лимитов — это декорация!».

Вызов был принят. Я выбросил наивный подход, запер XGBoost в клетку суровых законов термодинамики и переписал всё с нуля.

Спустя недели разработки и чтения научных статей я представляю ExoLogica AI 2.0. Теперь это не табличный калькулятор, а 14-ступенчатый астрофизический конвейер. Он считает долю железного ядра, оценивает гидродинамическое сдувание атмосферы и — самое главное — генерирует синтетические спектры для телескопа Джеймса Уэбба (JWST) на лету.

Под катом: почему знаменитый индекс подобия Земле (ESI) безнадежно устарел, за что наш скрипт выбросил в мусорку кандидатов от Корнеллского университета, и почему гаражный опенсорс с Хабра имеет все шансы сделать великое открытие раньше, чем бюрократы из NASA.

Читать далее

ИИ управляет КОМПАС-3D — и это уже можно трогать руками

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

Два месяца назад я выложил первую версию MCP для КОМПАС-3D. Реакция была предсказуемая: “круто для демо, но в реальной работе не взлетит”. Тогда они были правы.

Сейчас агент получает задачу, строит 3D-деталь, добавляет отверстия, проверяет дерево построения, сохраняет документ и возвращает скриншот. Сам.

Более того, теперь ИИ забирает на себя не только объемную геометрию, но и плоскую документальную рутину. Ему можно делегировать создание чертежа, автоматическое заполнение штампа и экспорт результата в DXF одним запросом.

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

Например:

Можно взять уже открытую деталь, спросить у неё текущее состояние через get_3d_context и узнать, что базовое тело уже создано, а в дереве висит 11 элементов. Агенту не нужно угадывать или строить всё с нуля - он понимает, на каком этапе находится модель, и сразу переходит к следующим шагам.

Можно не высчитывать координаты плоскостей вручную. Инструмент resolve_selection_3d по описанию сам находит нужную грань (например, «верхняя плоская») и возвращает её системный идентификатор. Агент просто берёт эту ссылку, ставит на неё новый эскиз и делает вырез точно там, где нужно.

Можно убедиться, что команды не просто улетели в пустоту, а реально сработали. Тул list_feature_tree_3d отдаёт агенту список шагов: базовый эскиз, выдавливание, вырез, отверстие, фаска. То есть ИИ доводит деталь до конкретной истории построения, которую вы потом можете открыть руками и проверить.

Читать далее

Не бойтесь динамического программирования

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

Говорят, все боятся задач на динамическое программирование (aka ДП), потому что их решения выглядят как из задачника по матанализу. А мне оно всегда нравилось. Одна изящная формула — и задача решена.

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

Разбор трех задачек

Мы сделали лучший REST фреймворк для Django

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

Привет! Меня зовут Никита Соболев, я core-разработчик языка программирования CPython, а так же core-разработчик фреймворка Litestar, пакета django-stubs и множества других пакетов для Django.

Сегодня я расскажу, как мы сделали самый быстрый и самый семантически корректный фреймворк для создания апишек на Джанго. Поговорим про конкурентов, покажу очень крутые интеграции, поделюсь своей философией и правилами, которые использовались для создания фреймоврка, ну накину на вентилятор для интереса.

Если хотите похоливарить в коментах на тему того, какой фреймворк самый лучший и удобный – залетайте! Обсудим.

Читать далее

Где была Алиса Селезнева. Искал ее адреса с помощью Python

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

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

Читать далее

Снимаем показания счётчика электроэнергии МИР С-05.10 c помощью Raspberry по Bluetooth

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

Из любопытства была у меня идея попробовать снять показания со счётчика удалённо, но так как был уже установлен древний дубовый счётчик Энергомера СЕ102, то вкладываться в замену не хотелось. Однако межповерочный интервал начал подходить к концу и я начал задумываться насчёт замены счётчика на более продвинутый (с интерфейсами связи). Начал выбирать варианты в виде LoRaWan, Zigbee, RS-485, но оказалось, что по современному законодательству счётчики электроэнергии меняет ресурсоснабжающая организация (так называемый «гарантирующий поставщик»). С надеждой ждал, что электрик придёт и поставит современный навороченный счётчик с кучей интерфейсов, но всё оказалось не совсем так...

Представитель ресурсоснабжающей организации установил новый счётчик МИР С-05.10-230-5(80)-G2Z1B-KNQ-S-D.

Читать далее

Космос из школьного кабинета: Как мы научили ИИ законам Кеплера после «разноса» от ученых

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

Существует стереотип, что современная наука об экзопланетах — это прерогатива NASA и ученых с миллионными грантами. Мы — команда обычных школьников и наш наставник — решили доказать, что для открытия новых миров достаточно ноутбука, Python и понимания того, что Машинное Обучение (ML) без физики — это просто генератор случайных чисел.

Это история проекта ExoLogica AI: путь от сокрушительного провала на конференции до создания гибридного интеллекта, который видит то, что иногда пропускают профессиональные телескопы.

Читать далее

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

Мой первый опыт обработки вебхуков: как я учился делать надёжный бэкенд на Python

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

Мой первый опыт обработки вебхуков: как я учился делать надёжный бэкенд на Python

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

Я студент, изучаю backend-разработку на Python. Недавно в рамках учебного проекта столкнулся с задачей: нужно было сделать интеграцию с платёжным сервисом. Они присылают уведомление (вебхук), когда пользователь оплатил заказ, а я должен обновить статус в базе.

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

Читать далее

Реставрация ruGPT-3 XL или как я вернул к жизни забытую русскую языковую модель

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

Несколько дней к ряду я занимался реставрацией легаси модели ai-forever/rugpt3xl, это классическая языковая модель от SberDevices на 1.3B параметров, крошка по современным меркам, на которой сберовцы обкатывали свои научные наработки аж в далёком 2021м году. Подробнее о ней можно почитать в статье “A family of pretrained transformer language models for Russian” на Google Scholar.

Да, она foundation, то есть умеет только продолжать текст, не может выполнять инструкции или работать в режиме чата. Но обучена она на корпусе русского языка и этот самый русский генерит очень бодро. У неё есть две примечательные особенности: её обучали с нуля, архитектура представляет собой глубокую модификацию GPT-2.

Читать далее

Теперь silero-tts v5 на русском языке умеет задавать вопросы

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

Мы недавно писали про обновление нашего публичного синтеза, silero-tts. В прошлый раз мы существенно увеличили скорость, качество и добавили поддержку омографов.

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

Как вы догадались, эта фича — это постановка вопросов.

Хочу послушать вопросы

Большие языковые модели играют в Бесконечное Лето

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

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

Я готовил инструкцию для локального развертывания DeepSeek, и меня осенило. Визуальная новелла — это текст. Очень много текста. Большие языковые модели созданы для работы с текстом.

Я развернул несколько моделей, познакомился с интерфейсом Ollama, пропатчил игру на движке Ren’Py и автоматизировал эксперимент. Под катом — технические подробности, а сюжетные повороты спрятаны под спойлер.

Читать далее

GUI ценой приватности: разбор вредоносного форка Zapret 2 GUI

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

Из за замедления YouTube, Discord и других популярных сервисов в РФ спровоцировало настоящий бум инструментов для обхода DPI. Флагманский проект zapret от @bol-van - мощное решение, но его консольный интерфейс пугает рядового пользователя. На этой почве выросли десятки GUI-оболочек «для домохозяек»..

Однако за красивым интерфейсом и обещанием «обхода в один клик» может скрываться нечто большее, чем просто прокси-клиент. В этой статье я разберу форк «Zapret 2 GUI» (автор censorliber), который набрал сотни звезд на GitHub, но при детальном анализе оказался полноценным инструментом для шпионажа и компрометации системы..

Читать далее

Вайбкодинг есть, а вайбрезультатов нет?

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

Поклонники вайбкодинга и агентных инструментов говорят, что стали продуктивнее в 2, в 10, а то и в 100 раз. Кто-то собрал целый браузер с нуля. Впечатляет!

Тогда скептики резонно спрашивают: где все приложения? Если разработчики стали (возьмём консервативную оценку) хотя бы вдвое продуктивнее, где искать вдвое больше произведённого ПО? Такие вопросы исходят из допущения, что мир хочет больше программ, а значит, если их дешевле делать, их будут делать больше. Если вы с этим согласны — где тогда этот избыток, который можно назвать «AI-эффектом»?

Посмотрим на PyPI — центральный репозиторий Python-пакетов. Он большой, публичный и стабильно измеримый, так что AI-эффект должен быть хорошо заметен.

Читать далее

От 0.034 до 0.791 и обратно: Legal RAG, 17 итераций и стена масштабирования

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

Я участвовал в ARLC 2026 — юридическом AI-челлендже по построению RAG-пайплайна поверх корпуса судебных решений и законов. Соло, с Claude Code в качестве напарника. За 5 дней и 17 итераций прошёл путь от 0.034 до 0.791 на warmup — а потом вышел в финал и потерял 42% на 300 документах вместо 30. Внутри — архитектура, код, математика F-beta, три провала и честный разбор работы с AI-ассистентом.

Читать далее
1
23 ...