В Python 3.15 одна звёздочка заменяет вложенный цикл
Раньше для объединения списков писали:
Теперь достаточно:
Двойная звёздочка объединяет словари:
При совпадении ключей побеждает последнее значение — удобно собирать настройки из нескольких источников.
Распаковка убирает один уровень вложенности. В Python 3.14 такой синтаксис внутри comprehensions вызовет
https://peps.python.org/pep-0798/
Раньше для объединения списков писали:
rows = [[1, 2], [3], [4, 5]]
flat = [x for row in rows for x in row]
Теперь достаточно:
flat = [*row for row in rows]
# [1, 2, 3, 4, 5]
Двойная звёздочка объединяет словари:
configs = [
{"debug": False, "timeout": 10},
{"timeout": 30},
]
config = {**part for part in configs}
# {'debug': False, 'timeout': 30}
При совпадении ключей побеждает последнее значение — удобно собирать настройки из нескольких источников.
Распаковка убирает один уровень вложенности. В Python 3.14 такой синтаксис внутри comprehensions вызовет
SyntaxError.https://peps.python.org/pep-0798/
❤13👍5🔥2
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
👨🏻💻 AI в бэкенд-задачах — на Podlodka Backend Crew
Код теперь может написать агент, но за результат всё ещё отвечаете вы. Организаторы Podlodka Backend Crew собрали конференцию о том, как работать с бэкендом после того, как AI написал код.
Причём в программе нет докладов в жанре «у нас все получилось» — только реальная практика. Конференция пройдёт с 26 по 30 октября.
🧠️️️️ Участники сезона:
• Разберут пулл‑реквесты от агента и попробуют предотвратить возможные инциденты на рулетке кейсов
• Выяснят, какие неожиданные ловушки скрываются в OpenAPI и на что обращать внимание при разработке контрактов
• Разберут антипаттерны в AI-юнит-тестах, узнают, как их избежать с помощью современных инструментов, и заберут себе новый агентский скилл
• Спроектируют бэкенд дейтинг-приложения на архитектурной кате и решат, где в нём действительно нужен AI.
Формат Podlodka Backend Crew — комфортный онлайн: 5 дней, утренние и вечерние сессии в Zoom.
Отдельный плюс — цена: заметно ниже привычных конференций, при этом вы не просто слушаете о чужом опыте, а разбираете PR и отвечаете за релиз, проектируете систему в команде и расследуете чужие провалы.
Такого вовлечения не получить на обычной конференции.
🔗 Изучайте программу и присоединяйтесь: https://podlodka.io/becrew
Промокод на скидку для подписчиковbackendcrew
Код теперь может написать агент, но за результат всё ещё отвечаете вы. Организаторы Podlodka Backend Crew собрали конференцию о том, как работать с бэкендом после того, как AI написал код.
Причём в программе нет докладов в жанре «у нас все получилось» — только реальная практика. Конференция пройдёт с 26 по 30 октября.
🧠️️️️ Участники сезона:
• Разберут пулл‑реквесты от агента и попробуют предотвратить возможные инциденты на рулетке кейсов
• Выяснят, какие неожиданные ловушки скрываются в OpenAPI и на что обращать внимание при разработке контрактов
• Разберут антипаттерны в AI-юнит-тестах, узнают, как их избежать с помощью современных инструментов, и заберут себе новый агентский скилл
• Спроектируют бэкенд дейтинг-приложения на архитектурной кате и решат, где в нём действительно нужен AI.
Формат Podlodka Backend Crew — комфортный онлайн: 5 дней, утренние и вечерние сессии в Zoom.
Отдельный плюс — цена: заметно ниже привычных конференций, при этом вы не просто слушаете о чужом опыте, а разбираете PR и отвечаете за релиз, проектируете систему в команде и расследуете чужие провалы.
Такого вовлечения не получить на обычной конференции.
🔗 Изучайте программу и присоединяйтесь: https://podlodka.io/becrew
Промокод на скидку для подписчиков
❤1⚡1🔥1👏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👍1🔥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
❤2👍1