Обновить
800.86

Python *

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

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

Научил ИИ-агента помнить важное и забывать лишнее в SQLite

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

Я делаю локально работающего ИИ-агента и столкнулся с тем, что стандартный подход «закинуть текст в векторную базу, достать по косинусу» для долгоживущего агента не работает: контекст замусоривается, факты конфликтуют, ничего не забывается. Вместо этого реализовал графовую когнитивную память поверх одного файла SQLite: эпизодические и семантические узлы, типизированные рёбра, именованные сущности, гибридный поиск (FTS5 + vector + graph) с Reciprocal Rank Fusion, кривую забывания Эббингауза и фоновую LLM-консолидацию. В статье — полная архитектура с кодом, SQL-схемой и формулами. Код и минимальный пример — в репозитории.

Дальше long-read

Событийный цикл в asyncio: как Python-код работает поверх механизмов Linux

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

Большая статья для тех, кто, как и я, споткнулся об asyncio и так не разгадал до конца «магию» событийного цикла. Попробовал распутать этот клубок через подробный рассказ (в как можно более доступной форме) о внутренних механизмах Линукса и самого asyncio, которые лежат в основе событийного цикла. К концу статьи, надеюсь, магия исчезнет, а взамен придет ясное понимание фундамента. Статья будет полезна и тем, кто работает с asyncio на других платформах.

Погружаемся

Шпаргалка для новичков — от GIT до Деплоя

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

Всем привет!

Недавно я провел опрос среди подписчиков моего Telegram-канала "Код на салфетке", спросив их о возникающих проблемах и ошибках при деплое. Ответов накопилось немало, и большинство из них касались применения Docker. Однако были и комментарии о том, как организовать проект и репозиторий.

В этой статье мы обсудим ключевые моменты, которые помогут вам правильно организовать git-репозиторий, подготовить Docker-файлы, а также сделать процесс деплоя более гладким. Кроме того, мы подробно рассмотрим механику деплоя на двух примерах: деплой приложения на облачную платформу Dockhost и классический деплой на VPS с помощью Docker Compose.

Читать далее

Проблемы БД или почему большой продакшн спасут только массовые расстрелы запросов

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

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

Привет, Хабр! Именно так считает наш сегодняшний гость – Дмитрий Немчин, руководитель направления эксплуатации инфраструктуры данных в Т-банке и по совместительству член программного комитета Data Internals, профессиональной конференции
по инженерии, базам и системам хранения и обработки данных.

В беседе Дмитрий рассказал о своём пути в данные и программный комитет конференции, поделился интересными кейсами и проблемами, связанными с ростом объёмов данных и необходимостью управления ресурсами. А также объяснил, как дата-инженеру остаться востребованным в будущем, где ИИ может проникнуть абсолютно во все сферы жизни.

Читать далее

Процедурная генерация двухмерной полигональной карты

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

Привет Хабр ! Это моя первая статья на тему процедурной генерации. Здесь я рассмотрю конкретную задачу по генерации, её решение и опишу ключевые использованные принципы. Пишу эту статью для того, чтобы поделиться идеями и опытом, которых мне не хватало, когда я взялся за дело две недели назад. Я не буду делать полный разбор проекта, а лишь опишу и визуализирую принцип.

Читать далее

Сделать мобильного робота автономным? Это просто

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

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

Читать далее

Асинхронно копируем объекты между регионами S3 с помощью Python

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

Привет, Хабр! Я Александр Гришин, отвечаю за развитие облачных баз данных и объектного хранилища в Selectel. В своей практике часто сталкиваюсь с разными задачами клиентов. Среди них, например: реализовать репликацию данных между удаленными друг от друга регионами, отработать домен отказа «Регион» и повысить уровень отказоустойчивости своих сервисов, убрав привязку к одному городу и инфраструктуре. Сегодня я расскажу, как легко реализовать асинхронную репликацию данных в инфраструктуре Selectel, используя Python и boto3. Погнали!
Читать дальше →

CPython — сборка мусора изнутри, ч.1

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

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

Если вам интересно, давайте попробуем разобраться вместе.

Читать далее

Год с uv — инструментом управления Python-проектами: плюсы, минусы и стоит ли переходить

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

uv — это новый инструмент управления Python-проектами, разработанный командой Astral. За год активного использования автор протестировал его в разных условиях: от учебных задач до сложных production-проектов.

В статье — честный разбор сильных и слабых сторон uv, его отличий от других менеджеров окружений, реальных ограничений и сценариев, где он работает особенно хорошо.

Читать далее

Как я с DeepSeek писал информационную систему (электронный журнал) для образовательного центра за пару дней

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

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

Центров этих в районе десятка по стране. И до этого года все они работали на базе общей информационной системы.

Меня попросили что-то придумать с этим. О том, что нас отключат от системы, я узнал немного заранее. Рассмотрел open-source варианты систем, которые могут выполнять подобную задачу, и пришел к выводу, что проще написать такую систему с нуля (приоритетом было, чтобы преподаватели легко перешли на новую систему). Но прикидывая, сколько моих человеко-часов уйдет на эту задачу (да ещё и бесплатно), я плавно сливался с этой темы.

Собственно, я и не собирался ничего делать, но вспомнил, что хотел испытать, на что способна ИИ-шка при написании подобных задач с нуля. Обычно я мучаю DeepSeek и пару других gpt для простеньких скриптов, фикса багов, других проблем с Легаси, и просто для тупых вопросов. Поэтому решил в DeepSeek эту задачку и закинуть. Такого, честно, я не ожидал :)


Читать далее

Как написать простейшую нейросеть на python, простыми словами о сложном

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

В мире Data Science написание нейронных сетей, кажется чем‑то очень трудоёмким, доступным для понимания лишь математикам с многолетним опытом. Многие руководства, начинаются со сложных объяснений backpropagation, градиентного спуска и т.п, от которых у новичков складывается впечатление, что написание нейросетей — им не по силам. В данной статье, я хочу развеять подобные убеждения и показать пример, написания простейшей нейронной сети на python. Мы не будем углубляться в теоретические основы высшей математики. Вместо этого, мы просто возьмем данные, напишем код, посмотрим на результат и проанализируем его.

Читать далее

Как создать MCP-сервер и научить ИИ работать с любым кодом и инструментами через LangGraph

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

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

Читать далее

Raspberry Pi, веб‑камера и Python — все, что нужно для создания ИИ‑тренера по фортепиано

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

Здравствуйте! Меня зовут Ада Ло́пес, я студентка первого курса факультета «Креативные технологии и ИИ» в Университете Хауэст в Кортрейке.

Этот проект — моя первая полностью самостоятельная работа по интеграции искусственного интеллекта с «железом». Фортепианный тренер на базе ИИ — интерактивный комплекс для помощи начинающим в обучении игре на фортепиано. Система предоставляет обратную связь в реальном времени и отслеживает исполнение заранее заданной мелодии.

Под катом — весь путь создания проекта. Мы пройдем от обучения ИИ-модели и создания корпуса — до построения контура обратной связи и решения проблем с потоковой передачей данных в реальном времени. Опыт получился отличным! Он был наполнен отладкой, открытиями и множеством ночных тестов.

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

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

Ruff: мой опыт выселения legacy-линтеров и повышения производительности кода

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

Какими инструментами для линтинга и форматирования Python-кода вы пользуетесь? Black, Isort, Flake? Их существует множество, каждый следует своей цели, некоторые могут пересекаться по функциональности. Одни могут нравиться за автономность, другие — за возможности конфигурирования. И наверняка вы слышали о Ruff, который обещается заменить собой все.

Привет, Хабр! Я Гена, Python-разработчик в Selectel. В этой статье я опишу свой опыт перевода проекта на Ruff: что понравилось, что — не очень, к чему готовиться и, если все же решитесь, то как это сделать. Добро пожаловать под кат.

Читать далее

Запускаем несколько интерпретаторов в коде на Python — невероятная скорость

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

5 июня 2025 года был принят PEP-0734. Судя по информации на официальном сайте, он является продолжением PEP-0554. Этот PEP предлагает добавить новый модуль, interpreters, для поддержки проверки, создания и запуска кода в нескольких интерпретаторах в текущем процессе. А если идти дальше, то он является частью PEP-0684, которые предлагает один GIL на интерпретатор.

Несколько полноценных интерпретаторов работающих рядом. Какие плюсы?

— Один процесс;
— Один тред, но руками можно создавать еще;
— По GILу на интерпретатор, все еще можно получить плюшки настоящей многозадачности по сети;
— Работает с asyncio.

В этой статье вы узнаете как работает эта фича под капотом и в реальном питоне. Приятного чтения!

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

Вышел Python 3.14. Насколько он быстр?

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

В ноябре 2024 года я написал пост «Действительно ли Python такой медленный?», в котором протестировал множество версий Python и отметил стабильный прогресс производительности языка.

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

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

Читать далее

Как ChatGPT удалил в нашем чате 555 спам-сообщений с точностью 98,38%

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

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

Сначала я написала простого бота на aiogram, который фильтровал сообщения по ключевым словам. Но этого оказалось недостаточно...

Код на Python, скрины и цифры

Финансовое моделирование в Python и Excel: мой путь перехода на код

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

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

Ниже я расскажу:

- Почему я, как гуманитарий, начала осваивать Python.
- Как связка Excel + Python работает на практике.
- Как один и тот же проект ведёт себя в этих двух мирах.

Окунуться в мир финансов и расчета прибыли