Обновить
1024K+

Python *

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

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

Как мы сделали AI code review через Ollama без облака?

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

Как запустить AI code review по git diff на своей машине через Ollama - без облака и API-ключей? Установка, конфиг и пример отчёта.

Читать далее

Швейцарский ножик для распознавания речи

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

ASR-системы в проде - это тяжёлые, специализированные решения под конкретные сценарии. Но что делать, если нужен универсальный инструмент, который умеет распознать длинное аудио, диаризовать спикеров, обработать пачку файлов и при этом не требует целого GPU кластера?

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

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

Читать далее

Как меня опрокинул автоматический скоринг Сбера

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

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

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

Читать далее

Изучаем FastAPI за одну статью: от «Hello World» до структурированного API

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

Если вы пишете бэкенд на Python или только собираетесь вкатиться в эту тему, вы точно слышали про FastAPI. Он обещает скорость NodeJS, автодокументацию из коробки и строгую типизацию. Звучит круто, но для новичка любая новая технология выглядит пугающе.

В этом гайде я хочу взять вас за руку и провести по всем базовым концепциям фреймворка. Мы напишем свой первый API-сервис с нуля, разберем частые ошибки новичков с асинхронностью и поймем, как писать чистый код с помощью APIRouter. Спойлер: баз данных и сложных ORM сегодня не будет, сосредоточимся на чистом понимании магии FastAPI.

Читать далее

Как обойти платную подписку Битрикс24 и вернуть своего бота к жизни: делаем свой провайдер событий на коробке

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

Привет, Хабр! (И тебе, страдалец, который три недели смотрит на мёртвого бота в Битриксе. И тебе, админ, который уже устал объяснять руководству, почему «оно перестало работать». И тебе, безопасник, который узнал, что данные компании летают через какой-то curator.pro и чуть не уронил кружку.)

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

Спойлер: стало хуже. Но мы справились.

Читать далее

Клиент заказал AI-бота. Но помог не он

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

Клиент пришёл за AI-чатботом для поддержки — 200 обращений в день, четыре оператора, вечная текучка. Мы прочитали 500 тикетов глазами и обнаружили: 68% закрываются обычным API-вызовом, ещё 14% — формой-визардом. А вот AI понадобился совсем для другого — кластеризация жалоб выявила бракованную партию товаров до того, как проблема стала массовой.

Читать далее

Pandas на Python: От чтения CSV до сложной аналитики за 1 статью

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

Сколько раз вы пытались открыть в Excel файл на пару миллионов строк и смотрели на зависший белый экран под звук взлетающего кулера? А сколько раз писали трехэтажные циклы for в чистом Python, чтобы просто сгруппировать данные и посчитать среднее?
Pandas — это Excel на максималках и швейцарский нож любого разработчика и аналитика. В этой статье я собрал абсолютную выжимку: 10 главных шагов для работы с таблицами. Разберем вечную путаницу между loc и iloc, правильную очистку от пропусков, группировки и джойны (merge).

Читать далее

Сделка с совестью на хакатоне или «Как победить с нерабочим кодом?» История одной команды…

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

🏆 1 место на хакатоне без работающего кода? Легко!

Мы заняли 3 место с рабочим сервисом. Победители показали картинки и получили премию Мэра. Мы проверили их GitHub: там пусто.

Внутри расследование:

Ссылки на код победителей (alert() вместо API).

Разбор метрик (SMAPE 79%).

Как связи решают всё.

Читайте, как выигрывают не технологии, а подрядчики. 👇

Погрузимся в историю...

Автоматизированный анализ графита по ISO 945: архитектура и инженерная реализация модуля

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

Всем привет! Я пытаюсь реализовать свою систему анализа металлов и сплавов. Занимаюсь своим проектом уже год. В составе системы уже около 15 модулей. И хочу представить один из них. Если кому-то интересно или есть изображения, которые нужно измерить, верифицировать с другими системами я только - за.

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

Определение чугуна

Чугун представляет собой сплав железа с углеродом, где содержание углерода превышает 2,14% (обычно от 2,5% до 4,5%). Благодаря своей жидкотекучести, малой усадке и относительно низкой стоимости, чугун является одним из основных конструкционных материалов в машиностроении, энергетике и строительстве.

При анализе чугуны разделяют по состоянию углерода и форме графитовых включений, что определяет их физико-механические свойства:

Читать далее

Декораторы в Python для самых маленьких и немного для взрослых

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

Представьте типичную ситуацию: вы написали отличный кусок кода. У вас есть десяток функций, которые делают полезную работу — например, ходят в стороннее API, парсят данные и аккуратно складывают их в базу. Код читаемый, лаконичный, всё работает как часы.

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

Что делает разработчик, который не знает про декораторы?

Читать далее

Анатомия WebSocket: человечный разбор RFC 6455

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

Как правило, работа с веб-сокетами сводится к паре строк: connect() и send(). Удобные абстракции библиотек превратили этот протокол в магическую трубу, по которой летают данные в обе стороны. Но магия заканчивается ровно в тот момент, когда соединение молча отваливается с кодом 1006, балансировщик рвет коннект, а в логах появляются странные ошибки фрагментации. В этой статье мы спустимся с небес высокоуровневых фреймворков на уровень байтов и битовых масок.

Мы пройдем полный путь WebSocket-соединения, опираясь на RFC 6455: от генерации ключа на стороне клиента до обмена закрывающими фреймами. Попутно разберем весь необходимый понятийный аппарат: что такое фреймы, какими они бывают, зачем их маскируют и фрагментируют и т.д. Цель не в том, чтобы научиться пользоваться конкретной библиотекой, а в том, чтобы понять, как протокол работает изнутри независимо от языка и реализации. Для иллюстраций по тексту статьи даны сниппеты на Python.

Погружаемся

Python уже не торт? Как и почему меняются приоритеты разработчиков

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

Последние годы Python был вроде универсального инструмента: на нем писали всё — от мелких скриптов до огромных ML-систем, а его первое место в рейтингах воспринималось как норма. Но к началу 2026-го заметно, что динамика меняется. Скорее всего — вслед за приоритетами. Уходит время, когда удобство и низкий порог входа перекрывали любые вопросы к производительности. Компании всё чаще смотрят на отдачу — сколько ресурсов съедает система и как ведет себя под нагрузкой. Давайте посмотрим, что там с местом Python’а в рейтингах, и оценим причины. 

Читать далее

Литания: создаем свой язык программирования с лексером, парсером и интерпретатором

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

В наше время программирование стало очень доступным из-за развития инструментов и языков. Написать «привет, мир» может практически каждый, а количество фреймворков для JavaScript уже воспевается в шутках. Теперь, чтобы выделиться и впечатлить друзей и коллег, нужно спускаться глубже. Придумаем свой язык шуточный программирования! 

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

Это упрощенная статья, которая расширит ваш кругозор, а у некоторых вызовет интерес и любопытство погрузиться в тему.

Читать далее

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

Вайбкодинг – не для гуманитариев? Юрист сделал кривой поиск по PDF и просит помощи…

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

Я столкнулся с простой (как мне изначально показалось – даже очень) задачкой. Мне в последнее время потребовалось часто проводить поиск в 4-х словарях. Государство мне их дало в виде 5 PDF файлов, выложенных онлайн. Это нормативные словари русского языка, слова из которых можно использовать в публичном пространстве.

Например, cash - можно использовать на русском как кэш, а не переводить как тайник или склад, поскольку в Словарь иностранных слов это слово уже включено. И это слово нам еще пригодится далее по тексту)

Читать далее

От микроменеджмента до автопилота: 4 стадии рефакторинга AI-кода на примере десктопного приложения

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

Реддит и Хабр забиты историями о том, как кто-то «написал приложение за вечер с помощью ChatGPT, вообще не зная программирования». Маркетологи называют это вайбкодингом — ты просто описываешь свои намерения, а ИИ выдает готовый продукт.

Я проверил, и вот мой спойлер: на масштабе чуть большем, чем программа на 500 строк, это не работает.

Август 2025 года. Мне понадобилась утилита со сложной логикой: конвертер выгрузок Telegram (JSON) в чистый текст для LLM. Проект десктопный, с GUI, графиками и парсингом. Вместо того чтобы писать код руками, я провел эксперимент: стать техлидом для связки актуальных на тот момент моделей (Claude 4.0 + Gemini 2.5 + Cursor).

Я заранее дал им архитектуру. Они собрали первый MVP. А затем, чтобы этот «MVP» (нет) не сложился как карточный домик через неделю, мне пришлось четырежды инициировать глобальный рефакторинг, потратить 40 часов на борьбу с галлюцинациями вокруг Matplotlib и разгребать цикличные зависимости.

Эта статья — рефлексия и разбор полётов. Это история о том, почему в 2026 году главный навык инженера — это умение видеть деревья за лесом и вовремя сказать ИИ: «Нет, твоя архитектура никуда не годится, всё переделываем».

Читать далее

Как слушать аудиокниги в Telegram без боли: история создания идеального облачного плеера на Python

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

Я очень люблю аудиокниги. Но перепробовав десятки офлайн-плееров и сервисов по подписке, понял: везде чего-то не хватает. То нет синхронизации, то слетает прогресс. В какой-то момент я психанул и написал свой плеер прямо в Telegram.

За время закрытого бета-теста бот переварил терабайты аудио. Мы довели UX до ума: сделали удобные заметки по таймкоду, реализовали систему папок, добавили статистику с геймификацией и научили бота делиться книгами в два клика. Сегодня я открываю его для всех. Под катом — история разработки на Python и обзор главных киллер-фич.

Читать историю разработки

Путь в аналитику данных: базовый минимум для старта

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

📊 Хотите стать аналитиком данных, но не знаете, с какой стороны подойти?

Я собрала чек-лист для старта в 2026 году, никакой воды - только то, что реально спросят на собеседовании:
🛠 Что учить: SQL (с оконными функциями), Python (Pandas), BI-системы.
🧠 Важный софт-скилл, о котором молчат курсы — управление ожиданиями заказчика.
🔮 Бонус: что нужно знать про DWH и ML, чтобы выделяться среди других джунов.

Читать далее

От WSGI к ASGI: как Python научился работать с асинхронным вебом

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

WSGI и ASGI — то, на чем стоит весь современный веб на Python. Это стандарты, которые описывают интерфейс между веб-сервером и приложением. Благодаря им сервер и фреймворк не образуют жесткую пару: любой WSGI-сервер запускает любое WSGI-приложение, любой ASGI-сервер любое ASGI-приложение. Uvicorn не знает ничего о FastAPI, FastAPI не знает ничего о Uvicorn, они знают только о том, что передать на вход и что ожидать на выходе.

Разберем, как все это устроено.

Погружаемся

Как я построил Graph RAG систему с точностью 96.7% за 5 дней: от научных статей до production-ready пайплайна

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

Я реализовал Graph RAG систему, которая комбинирует 5 техник из свежих научных статей (KET-RAG, HippoRAG 2, VectorCypher) в единый пайплайн с декларативным Datalog reasoning-движком, полной провенансной трассировкой и типизированным API. Результат: 174/180 (96.7%) на билингвальном бенчмарке из 30 вопросов, оценённых в 6 режимах retrieval. Три режима достигли 100%. В статье — архитектура, 10 уроков оптимизации и эволюция от 38% до 96.7% за 10 итераций.

Читать далее

Базовый минимум. Часть 3:  RAG-системы

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

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

В современных прикладных системах это ограничение часто скрыто за инструментами, поиском и дополнительными модулями. Однако именно архитектурный подход Retrieval-Augmented Generation, RAG стал стандартным способом расширения возможностей модели без ее дообучения. Он позволяет подключать внешние базы знаний, работать с актуальными документами и заметно снижать количество галлюцинаций.

В третьей части серии Базовый минимум разбирается как устроен RAG и как реализовать его минимальную рабочую версию на практике.

Читать далее