Обновить
512K+

Python *

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

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

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

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

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

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

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

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

Читать далее

Интервью Гвидо ван Россума с core-разработчиком Python Бреттом Кэнноном

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

Это интервью Гвидо ван Россума с core‑разработчиком Python Бреттом Кэнноном, в котором они обсудили начало и развитие карьеры Бретта как программиста и активного участника сообщества разработчиков Python, развитие самого языка, сложность управления большим сообществом, кризис PEP 572 >:=, выход Гвидо на пенсию в 2018 г. и к чему это привело.

Читать далее

Все об устройстве WSPR с примерами на Python (часть 1)

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

WSPR — цифровой протокол, разработанный Джо Тейлором (K1JT) в 2008-2009 годах, с целью исследования распространения радиосигналов от коротковолновых передатчиков малой и сверхмалой мощности. В этой статье будут рассмотрены устройство и принципы работы протокола.

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

Читать далее

Фабрики в тестировании (Python, Django, pytest, factory_boy)

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

Здесь мы рассматриваем фабрики в тестировании. На очень элементарных примерах, с использованием языка python и инструментов Django, pytest, factory_boy.

Читать далее

Парсинг тарифов интернета и ТВ. Selenium + BeautifulSoup: трудности динамического контента и защиты от ботов

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

На этапе тестирования я отобрал 6 городов (Москва, Санкт‑Петербург, Новосибирск, Екатеринбург, Казань, Красноярск) и двух крупнейших провайдеров России — Ростелеком и Дом.ру. В планах масштабирование на большее количество городов и операторов.

Для парсинга тарифов у провайдеров применял связку Python + Selenium + BeautifulSoup, через хранимую процедуру складывал полученные данные в базу PostgreSQL.

Читать далее

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

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

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

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

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

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

Например:

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

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

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

Читать далее

Deploy Tarot — а что если спросить карты, можно ли сегодня деплоить?

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

Привет, я давно не заходил. Лет десять (или даже пятнадцать...) прошло с того момента, как я написал статьи о парсинге бинарных документов, типа doc, pdf или rtf, ради получения текста (кстати, я недавно обновил репозитории, немного пересобрал старые проекты, можете глянуть). Вы бы знали сколько воды с тех пор утекло, но это всё ностальгия и былое - давайте к серьёзному.

С пару недель назад я возвращался домой на метро и в голову пришла идея, которую не возможно было отбросить. А что если есть неуверенные люди (а они есть)? А что если есть неуверенные люди, которым нужен толчок свыше? А что если эти неуверенные люди среди нас, в разработке - на бэкэнде, в devops или среди продактов? А что если им всем помочь?..

И родился проект Deploy Tarot. Да, это расклады таро на успех деплоя. Что если я, техлид, сегодня задеплою новую версию API? Нет проблем, карты расскажут. А что если наш бизнес аналитик захочет обновить документацию? Арканы помогут понять. А вдруг наш CTO возьмётся за старое, вспомнит про порох в этих самых и... сделает масштабный рефактор (ИИ, ну вы знаете)? Колода определённо знает. А если наша офис-леди?.. Ну, вы поняли.

Читать далее

LoRA не помогла: как мы дообучали Mistral 7B на русском и что в итоге сработало

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

Каждый раз после созвона происходит одно и то же самое: кто-то открывает чат и пишет «итак, что мы решили?». Дальше — пятнадцать минут на то, чтобы восстановить то, что только что обсуждали час.

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

Реальность оказалась другой. Готовых русскоязычных решений нужного качества не было. Mistral 7B — одна из лучших открытых моделей на тот момент — на русском ошибался в склонениях, плохо следовал русскоязычным промптам и терял смысл в длинных диалогах. Стало понятно: придётся дообучать самим.

Читать далее

ИИ Workflow для определения и актуализации критериев поиска каскадов ликвидаций на рынке

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

Самоадаптирующаяся ИИ-система, актуализирующая критерии каскада ликвидаций

В 2026 году каскады ликвидаций меняют механику быстрее, чем любой статичный бот. Разбираю полный ИИ-воркфлоу на Claude: от фонового агента до фундаментального анализа рынка на открытых источниках

Читать далее

MCP vs Thin MCP: где AI агенты теряют скорость

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

MCP выглядит как удобный способ структурировать LLM-приложение, но за это приходится платить. При этом попытки «ускорить систему» через C++, IPC или смену сериализации не всегда дают ожидаемый результат. В статье разбираю, где на самом деле возникает latency и почему архитектура оказывается важнее, чем выбор технологий.

Читать далее

От Telegram-бота к web-приложению: как я перестал бороться с Excel и начал строить систему

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

Привет! Меня зовут Денис, я работаю аналитиком потерь на складе. В какой-то момент я устал от постоянной работы с Excel-выгрузками и решил это автоматизировать.

В итоге всё началось с простого Telegram-бота, а закончилось полноценным web-приложением с отдельным backend, интеграциями и нормальным интерфейсом.

Сегодня хочу рассказать про сам путь: как из “скрипта под задачу” постепенно вырастает система.

Читать далее

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

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

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

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

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

Как я писал библиотеку для Морского Боя на Python — разбор и история моего первого пет‑проекта

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

Пишу о том, как сделал первый проект - библиотеку для логики морского боя на Python - с какими трудностями столкнулся, как налаживал архитектуру и как не бросил

Нырнуть глубже

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

JWT авторизация в FastAPI: от теории к практике

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

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

Традиционный подход — сессии. Вы логинитесь, сервер создаёт сессию, запоминает ваш ID у себя в базе данных, а вам выдаёт куку с ID этой сессии. Всё работает, пока вы на одном сервере. А если у вас их два? Или десять? Куда девать сессии? Начинаются проблемы с синхронизацией, Redis, общими хранилищами…

Альтернатива — JWT (JSON Web Token). В этой статье мы с вами:

Читать далее

Лучшие промпты для генерации кода и программистов

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

Знакомая ситуация? Вы открываете файл контроллера на 2000 строк. Там перемешаны SQL-запросы, HTML-разметка, бизнес-логика и комментарии на ломаном английском. В голове начинает играть тревожная музыка, а внутренний голос шепчет: “Закрой это немедленно, пока оно не сломалось”.

В психологии это называется “когнитивная перегрузка”. Мозг просто отказывается парсить такое количество переменных одновременно. Раньше программистам приходилось часами медитировать над распечатками кода, как сыщикам, пытаясь прокачать навык “Внутренняя империя”.

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

Здесь мы разберем 6 фундаментальных паттернов промптинга, которые вытащат вас из любой ямы.

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

Apache Superset — боремся с фильтрами по дате. Часть 2

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

В этой статье продолжаем борьбу с фильтрами по дате в Apache Superset. Сегодня разберем, как реализовать подобие логики remove_filter в старых версиях (до 5), чтобы виртуальный датасет не оборачивался фильтрами.

Читать далее

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

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

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

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

Читать далее

Как мы хакнули ИИ-бенчмарк PAC1 без нейросетей

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

Недавно я участвовал в корпоративном хакатоне по обходу ИИ-песочниц. Задача: пройти закрытый бенчмарк PAC1, где ИИ-агенту нужно работать с виртуальной файловой системой (чтение логов, поиск файлов, отправка писем) и обходить ловушки безопасности (Indirect Prompt Injections).

Но реальность оказалась суровой: хваленые reasoning-модели постоянно галлюцинировали, ломали структуру JSON на выходе (выдавая свои "мысли" вместо чистого ответа) и просто сжигали бюджет на API, зацикливаясь на одной ошибке.

Потратив часть бюджета впустую, я решил: если ИИ не справляется, мы заменим его на старый добрый хардкод. Так родился концепт Zero-Cost Agent — алгоритмического лома, который симулирует поведение нейросети.

Читать далее