LLM в 200 раз быстрее: скоринг вместо генерации
Как превратить открытую LLM в быстрый локальный движок решений через скоринг следующего токена в SGLang: код, тесты на Qwen и сравнение с генерацией.
Многие вызовы LLM в продакшене вообще не требуют нового текста. Приложение заранее знает все допустимые ответы, и модели остается только выбрать один из них. Классический пример: тикет в поддержку «С меня дважды списали деньги за одну и ту же подписку», который нужно отправить в биллинг, техподдержку или отдел доступа к аккаунтам.
https://uproger.com/lokalnaya-llm-jev-skoring-sglang/
Как превратить открытую LLM в быстрый локальный движок решений через скоринг следующего токена в SGLang: код, тесты на Qwen и сравнение с генерацией.
Многие вызовы LLM в продакшене вообще не требуют нового текста. Приложение заранее знает все допустимые ответы, и модели остается только выбрать один из них. Классический пример: тикет в поддержку «С меня дважды списали деньги за одну и ту же подписку», который нужно отправить в биллинг, техподдержку или отдел доступа к аккаунтам.
https://uproger.com/lokalnaya-llm-jev-skoring-sglang/
❤4👍2🔥1
Как выучить Python с нуля в 2026 году: пошаговый план для начинающих
Пошаговый план изучения Python с нуля: установка, синтаксис, первые проекты, ошибки новичков и ответы на частые вопросы. С примерами кода.
Python — один из самых популярных языков программирования в мире.
В этой статье - пошаговый план, как выучить Python с нуля: от установки до первых проектов, с примерами кода, типичными ошибками новичков и ответами на частые вопросы.
https://uproger.com/kak-vyuchit-python-s-nulya/
Пошаговый план изучения Python с нуля: установка, синтаксис, первые проекты, ошибки новичков и ответы на частые вопросы. С примерами кода.
Python — один из самых популярных языков программирования в мире.
В этой статье - пошаговый план, как выучить Python с нуля: от установки до первых проектов, с примерами кода, типичными ошибками новичков и ответами на частые вопросы.
https://uproger.com/kak-vyuchit-python-s-nulya/
👍3❤2🔥1
LRU-кэш на Python: разбор задачи с собеседования (O(1), OrderedDict, TTL)
Разбираем LRU-кэш на Python за O(1): двусвязный список и хеш-таблица, решение через OrderedDict, TTL и потокобезопасность. Код, тесты и типичные ошибки.
LRU-кэш (Least Recently Used) - одна из самых популярных задач на собеседованиях Python-разработчиков уровня middle и senior. Она короткая, но сразу показывает, понимает ли кандидат сложность алгоритмов, умеет ли комбинировать структуры данных и пишет ли чистый код. В этой статье разберём задачу по шагам: от наивного решения к оптимальному за O(1), затем к Pythonic-версии через OrderedDict и к усложнениям, которые любят давать интервьюеры.
https://uproger.com/lru-cache-python-sobesedovanie/
Разбираем LRU-кэш на Python за O(1): двусвязный список и хеш-таблица, решение через OrderedDict, TTL и потокобезопасность. Код, тесты и типичные ошибки.
LRU-кэш (Least Recently Used) - одна из самых популярных задач на собеседованиях Python-разработчиков уровня middle и senior. Она короткая, но сразу показывает, понимает ли кандидат сложность алгоритмов, умеет ли комбинировать структуры данных и пишет ли чистый код. В этой статье разберём задачу по шагам: от наивного решения к оптимальному за O(1), затем к Pythonic-версии через OrderedDict и к усложнениям, которые любят давать интервьюеры.
https://uproger.com/lru-cache-python-sobesedovanie/
❤2👍2🔥1
Django 6.1: загрузка связанных данных по требованию, каскадное удаление силами БД и новая настройка почты.
Релиз вышел 5 августа. Три основных изменения:
1. Новые режимы загрузки полей
В этом примере Django выполняет два запроса: за книгами и за их авторами.
Режим `FETCH_RAISE` вместо неявного запроса выбрасывает исключение – полезно для обнаружения неожиданных обращений к БД.
2. Удаление на уровне базы
Для
Нюанс: `DB_CASCADE` не вызывает сигналы `pre_delete` и `post_delete`.
3. Несколько почтовых бэкендов
Настройка `MAILERS` позволяет описывать разные подключения словарём, а при отправке выбирать нужное через
Перед обновлением проверьте версии БД: нужны PostgreSQL 15+, MySQL 8.4+, MariaDB 10.11+ или SQLite 3.37+.
https://www.djangoproject.com/weblog/2026/aug/05/django-61-released/
Релиз вышел 5 августа. Три основных изменения:
1. Новые режимы загрузки полей
FETCH_PEERS при обращении к незагруженному полю получает данные сразу для объектов из того же QuerySet. Это помогает бороться с N+1:
from django.db import models
books = Book.objects.fetch_mode(models.FETCH_PEERS)
for book in books:
print(book.author.name)
В этом примере Django выполняет два запроса: за книгами и за их авторами.
Режим `FETCH_RAISE` вместо неявного запроса выбрасывает исключение – полезно для обнаружения неожиданных обращений к БД.
2. Удаление на уровне базы
Для
ForeignKey.on_delete появились `DB_CASCADE`, `DB_SET_NULL` и `DB_SET_DEFAULT`. Логику выполняет сама БД через SQL ON DELETE.Нюанс: `DB_CASCADE` не вызывает сигналы `pre_delete` и `post_delete`.
3. Несколько почтовых бэкендов
Настройка `MAILERS` позволяет описывать разные подключения словарём, а при отправке выбирать нужное через
using.Перед обновлением проверьте версии БД: нужны PostgreSQL 15+, MySQL 8.4+, MariaDB 10.11+ или SQLite 3.37+.
https://www.djangoproject.com/weblog/2026/aug/05/django-61-released/
Django Project
Django 6.1 released
Posted by Jacob Walls on Aug. 5, 2026
❤4👏2👍1
Одна библиотека для сериализации и проверки данных в Python
🔥 msgspec объединяет работу с JSON, MessagePack и валидацию типов.
Что внутри:
- Быстрая сериализация.
- Проверка данных по типам.
- Поддержка JSON и MessagePack.
- Типизированные структуры Python.
Установка: pip install msgspec
Стоит присмотреться, если в проекте много обмена структурированными данными и хочется совместить их обработку с проверкой.
https://github.com/msgspec/msgspec
🔥 msgspec объединяет работу с JSON, MessagePack и валидацию типов.
Что внутри:
- Быстрая сериализация.
- Проверка данных по типам.
- Поддержка JSON и MessagePack.
- Типизированные структуры Python.
Установка: pip install msgspec
Стоит присмотреться, если в проекте много обмена структурированными данными и хочется совместить их обработку с проверкой.
https://github.com/msgspec/msgspec
❤4🔥2👍1
📄️️️️️️ Agent Harness Course 2026 - как построить своего AI-агента с нуля
Пошаговый курс на ~8 недель (1–2 часа в день): от одного запроса к LLM до агента с инструментами, памятью, субагентами, защитой и тестами - и финального проекта.
Свой учебный харнес на чистом Python без единой зависимости, 7 запускаемых уроков, финальный проект, 19 тестов и разбор архитектуры настоящего open-source агента. Ai Ml — материал переработан, структурирован и дополнен кодом, схемами и справочниками.
Курс не учит «пользоваться ещё одним фреймворком». Он показывает, из чего сделан любой агент — Claude Code, Codex, Cursor, Devin, LearnHarness — и даёт собрать каждую деталь руками. После этого любой фреймворк читается за вечер, а любой баг агента - объясним.
https://github.com/justxor/agent-harness-course/
Пошаговый курс на ~8 недель (1–2 часа в день): от одного запроса к LLM до агента с инструментами, памятью, субагентами, защитой и тестами - и финального проекта.
Свой учебный харнес на чистом Python без единой зависимости, 7 запускаемых уроков, финальный проект, 19 тестов и разбор архитектуры настоящего open-source агента. Ai Ml — материал переработан, структурирован и дополнен кодом, схемами и справочниками.
Курс не учит «пользоваться ещё одним фреймворком». Он показывает, из чего сделан любой агент — Claude Code, Codex, Cursor, Devin, LearnHarness — и даёт собрать каждую деталь руками. После этого любой фреймворк читается за вечер, а любой баг агента - объясним.
https://github.com/justxor/agent-harness-course/
❤6👍3🥰1
Зачем вам Hugo и Jekyll? На Python теперь можно собрать статический сайт в три строки
Разработчик nanodjango показал, как превратить Django в генератор статических сайтов без сложной конфигурации и десятков файлов.
Всё приложение:
Устанавливаем зависимости:
Теперь достаточно положить Markdown-файлы в папку
Что особенно интересно:
- Markdown и HTML с поддержкой frontmatter.
- Автоматическая перезагрузка страниц при редактировании.
- Генерация статического сайта одной командой.
- Поддержка Django ORM, моделей и админки.
- Возможность превратить проект в полноценное веб-приложение без переписывания с нуля.
Сборка HTML:
Самая необычная возможность: можно управлять контентом через Django Admin и базу данных, а на выходе получать обычные статические HTML-файлы без серверной логики.
Подойдёт для документации, блогов, лендингов и небольших сайтов.
https://nanodjango.dev/blog/2026-10-static-site-builder/
Разработчик nanodjango показал, как превратить Django в генератор статических сайтов без сложной конфигурации и десятков файлов.
Всё приложение:
from nanodjango import Django
app = Django()
app.pages("/", path="pages")
Устанавливаем зависимости:
pip install nanodjango django-nanopages django-distill
Теперь достаточно положить Markdown-файлы в папку
pages/. Они автоматически превращаются в страницы с поддержкой Django-шаблонов.Что особенно интересно:
- Markdown и HTML с поддержкой frontmatter.
- Автоматическая перезагрузка страниц при редактировании.
- Генерация статического сайта одной командой.
- Поддержка Django ORM, моделей и админки.
- Возможность превратить проект в полноценное веб-приложение без переписывания с нуля.
Сборка HTML:
nanodjango manage website.py distill generate \
--output-directory=output/ --collectstatic
Самая необычная возможность: можно управлять контентом через Django Admin и базу данных, а на выходе получать обычные статические HTML-файлы без серверной логики.
Подойдёт для документации, блогов, лендингов и небольших сайтов.
https://nanodjango.dev/blog/2026-10-static-site-builder/
👍4❤3🔥3🤔1
Media is too big
VIEW IN TELEGRAM
10 лет программирования на Python за 10 минут. База, которая сэкономит тебе годы
Всё, что обычно понимаешь только через годы работы и код-ревью: как Python хранит данные, питонический стиль, структуры данных, декораторы, генераторы, dataclass, обработка ошибок, типы и тесты, uv и pyproject.toml, профилирование, asyncio и numpy. Без синтаксиса для новичков, только опыт.
00:00 Вступление
00:16 Год 1. Как Python хранит данные
01:10 Год 2. Пиши по-питоновски
01:58 Год 3. Структуры данных
02:47 Год 4. Функции как объекты
03:41 Год 5. Генераторы
04:30 Год 6. ООП по-питоновски
05:22 Год 7. Ошибки и ресурсы
06:01 Год 8. Типы и тесты
06:42 Год 9. Окружение и проекты
07:27 Год 10. Производительность
08:12 Итоги
https://www.youtube.com/watch?v=yQH3Hoo7JeM
Всё, что обычно понимаешь только через годы работы и код-ревью: как Python хранит данные, питонический стиль, структуры данных, декораторы, генераторы, dataclass, обработка ошибок, типы и тесты, uv и pyproject.toml, профилирование, asyncio и numpy. Без синтаксиса для новичков, только опыт.
00:00 Вступление
00:16 Год 1. Как Python хранит данные
01:10 Год 2. Пиши по-питоновски
01:58 Год 3. Структуры данных
02:47 Год 4. Функции как объекты
03:41 Год 5. Генераторы
04:30 Год 6. ООП по-питоновски
05:22 Год 7. Ошибки и ресурсы
06:01 Год 8. Типы и тесты
06:42 Год 9. Окружение и проекты
07:27 Год 10. Производительность
08:12 Итоги
https://www.youtube.com/watch?v=yQH3Hoo7JeM
🥴6👍5🔥1
Python: одна строка, которая изменит список, а потом выбросит исключение
Что выведет этот код?
Варианты:
A
B
C
D
Здесь проверяется сразу несколько особенностей Python: неизменяемость кортежей, изменяемость вложенных объектов и поведение оператора
Какой вариант правильный и почему?
Что выведет этот код?
data = ([1, 2],)
try:
data[0] += [3]
except TypeError:
print("Ошибка!")
print(data)
Варианты:
A
Ошибка!
([1, 2],)
B
Ошибка!
([1, 2, 3],)
C
([1, 2, 3],)
D
TypeError: 'tuple' object does not support item assignment
Здесь проверяется сразу несколько особенностей Python: неизменяемость кортежей, изменяемость вложенных объектов и поведение оператора
+=.Какой вариант правильный и почему?
❤3👍2🔥1
Если давно хотел разобраться в теме, но постоянно откладывал или терялся среди десятков материалов, этот курс на Stepik поможет выстроить обучение последовательно.
Что получишь:
- Понятные объяснения без лишней воды.
- Практические задания для закрепления знаний.
- Возможность учиться в удобном темпе.
- Структурированный подход вместо хаотичного поиска информации.
Подойдёт тем, кто начинает с нуля или хочет систематизировать знания.
Начни прокачивать навыки уже сейчас:
https://stepik.org/course/303477/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1😁1
Python: задача, на которой легко ошибиться даже опытному разработчику 🧠
Что выведет этот код?
Варианты:
A
B
C
D
Здесь проверяется неочевидная особенность Python: порядок вычисления правой части множественного присваивания и последовательность присваивания целевых переменных.
У задачи есть подвох, связанный с тем, в какой момент Python вычисляет индекс
Какой вариант правильный? Объясните порядок выполнения по шагам.
Что выведет этот код?
a = [0, 1, 2]
i = 0
i, a[i] = 1, a[i] + 10
print(a, i)
Варианты:
A
[10, 1, 2] 1
B
[0, 10, 2] 1
C
[0, 1, 12] 1
D
IndexError
Здесь проверяется неочевидная особенность Python: порядок вычисления правой части множественного присваивания и последовательность присваивания целевых переменных.
У задачи есть подвох, связанный с тем, в какой момент Python вычисляет индекс
a[i].Какой вариант правильный? Объясните порядок выполнения по шагам.