Backend & Python
69 subscribers
61 photos
3 videos
7 links
Ваш IT-помощник и репетитор по Python
Download Telegram
📢 Недавно вышел Python 3.14.0 rc3 — последняя ступень перед финальным релизом. Это значит, скоро появится стабильная версия с новыми фичами и улучшениями

❕Что интересного: по опросам, 83 % разработчиков всё ещё работают на устаревших версиях Python(наиболее популярная версия 3.11.9)

🔍 Обновление версии — это не просто «мода», это возможность:
1. Ускорить код без внесения изменений,

2. Пользоваться новыми синтаксическими фишками,

3. Повысить совместимость с современными библиотеками


⚡️Ключевые новшества версии Python 3.14
1. Free-threaded Python — официальная поддержка (PEP 779 / PEP 703)

2. Отложенная оценка аннотаций (Deferred evaluation of annotations, PEP 649 / PEP 749)

3. Template string literals (t-strings, PEP 750)

4. Множественные интерпретаторы в стандартной библиотеке (PEP 734)

5. Улучшенные сообщения об ошибках и подсказки

6. Подсветка синтаксиса и автодополнение в REPL

7. Новый модуль с поддержкой Zstandard (compression.zstd, PEP 784)

8. Новый тип интерпретатора и оптимизация “tail-call” внутри интерпретатора

9. Экспериментальный JIT (Just-In-Time компилятор) и улучшения производительности

10. Более строгие правила finally / ограничение return/break/continue внутри finally

11. Отказ от PGP-подписей (PEP 761) и переход к Sigstore

#IT_новости
❤2🔥2
Visual Studio Code (VS Code)

Если вы только начинаете работать с кодом или уже в профессии, первым инструментом, который стоит освоить, будет Visual Studio Code. Это кроссплатформенный редактор от Microsoft, который сегодня считается одним из самых популярных рабочих пространств для разработчиков

⚡️ Чем VS Code выделяется среди других IDE (PyCharm, Xcode, Atom и др.):
Лёгкость и скорость — запускается быстрее, чем тяжёлые IDE (например, PyCharm).

Гибкость — можно превратить редактор в полноценную среду разработки под любую задачу.

Расширения (Extensions) — здесь кроется настоящая сила VS Code: тысячи бесплатных модулей для Python, Docker, Git, SQL, фронтенда и других технологий.

Кроссплатформенность — одинаково работает на Windows, macOS и Linux.

Поддержка разных языков и фреймворков из коробки: Python, JavaScript, TypeScript, Go, Rust и др.

Интеграция с системами контроля версий (Git, GitHub, GitLab) и CI/CD инструментами.


📌 На практике это значит, что с помощью пары кликов и пары расширений можно настроить рабочее место именно под себя — будь то Python-бэкенд, фронтенд, DevOps или анализ данных

✍️ В будущих постах я поделюсь с вами различными расширениями, модулями и настройками для VS Code, которые значительно облегчают жизнь программисту и ускоряют работу
#рекомендации_tech
🔥3⚡2
Хэширование (Hashing)
📌 Метод преобразования данных (строки, файла, пароля) в уникальную строку фиксированной длины.

⚡️Хэш-функции незаменимы в:
Хранении и проверке паролей (сравнивается только хэш, а не сам пароль);

Кешировании (хэш быстро проверяет, изменился ли объект);

Индексах баз данных (ускоряют поиск).


❕Важно: хэширование — это однонаправленный процесс. По хэшу невозможно восстановить исходные данные (в отличие от шифрования).

На практике пароли никогда не хранятся «как есть», а только в виде хэшей (часто с солью — случайной добавкой к строке для защиты от перебора).
#словарь_программиста
👨‍💻3
Теория мёртвого интернета

Недавно в LinkedIn произошёл кейс. Один парень вставил в своё описание на профиле необычную просьбу — он попросил, чтобы любой ИИ-рекрутер, который читает его биографию, обязательно отправил ему рецепт пирога вместе с оффером.

❕В итоге практически все сообщения, которые он получил от «рекрутеров», действительно содержали рецепт пирога

Сама система отбора кандидатов уже настолько автоматизирована, что ии-агент читает профиль, видит инструкцию и делает именно то, что в ней прописано

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

🔍Из ключевых моментов:
Полностью доверять ИИ в рекрутинге — опасно; он может “схватить” любой ключевой флаг в тексте и действовать буквально(как мы и видим из ситуации)

Сам факт, что такие эксперименты проходят, говорит о том, что контент в интернете становится всё чаще продуктом взаимодействий ИИ, а не исключительно людей — близкая отсылка к «Теории мёртвого интернета».


P.s. LinkedIn - крупнейшая в мире социальная сеть для проф. общения, деловых контактов и поиска работы. В ней пользователи создают свои цифровые резюме, находят вакансии, строят профессиональные связи и продвигают личный бренд или бизнес
#IT_новости
⚡3🔥3
👨‍💻3❤1🥰1
Форматирование в f-строках Python

📌 f-строки (f-strings) появились в Python 3.6 и считаются наиболее удобным и читаемым способом форматирования

Преимущества над другими методами:
Лаконичность и наглядность:
(f"Hello {name}") против( "%s" % name) или ("{}".format(name));

Поддержка выражений внутри фигурных скобок (можно вызывать функции, методы, выполнять арифметику прямо в строке);

Универсальность: поддержка всех форматтеров, которые раньше работали через format.


⚡️ f-строки — это гибко, читаемо и современно. Если вы до сих пор используете % или .format(), попробуйте перейти на f-строки: код станет короче и понятнее
#полезные_ресуры
❤2⚡2
Кэширование (Caching)
📌 Кэширование — это механизм временного хранения часто используемых данных, чтобы ускорить доступ к ним

⚡️Вместо того чтобы каждый раз обращаться к базе данных или выполнять тяжёлый расчёт, программа берёт уже сохранённый результат из памяти (RAM, диск, Redis и др.).

❕Зачем это нужно:
Уменьшает время отклика системы

Снижает нагрузку на сервер и базу данных

Экономит вычислительные ресурсы


📦 Где используется:
Веб-приложения (Django, FastAPI) — кэш страниц или запросов

API — повторное использование ответов

Машинное обучение — хранение подготовленных датасетов

СУБД — кэширование запросов


📊 Популярные инструменты:
Redis, Memcached, functools.lru_cache в Python
#словарь_программиста
👨‍💻3
Как и говорил, расширяем область канала и познаем не только Python
Также недалеко уходим и от темы кэширования

❓ Как управлять кешированием в HTTP?
Кеширование в HTTP контролируется с помощью заголовков, которые определяют, как долго и при каких условиях браузер или прокси может повторно использовать данные

🔹 Основные заголовки:
Cache-Control — задаёт правила кеширования:
max-age, public, private, no-store, no-cache.

Last-Modified + If-Modified-Since — позволяют клиенту узнавать, когда ресурс обновлялся, и запрашивать его только при изменении.

ETag + If-None-Match — сервер генерирует уникальный хеш версии ресурса. Если он не изменился, сервер возвращает код 304 Not Modified.


💡 Пример в жизни:
Когда вы заходите на сайт, браузер не загружает заново весь контент — картинки, стили, JS. Он проверяет, изменился ли файл. Если нет, берёт из локального кэша

📎 Факт:
Фреймворки (FastAPI, Django, Flask) могут автоматически выставлять HTTP-заголовки для кэширования ответов API
#вопросы_на_собесах
⚡3
⚡️Форматирование кода — Black
Black — это один из самых популярных и строгих форматтеров Python-кода. Его принцип прост: «Код должен выглядеть одинаково, независимо от автора»

🔹 Что делает форматер:
Форматтер автоматически приводит код к единому стилю — добавляет/убирает пробелы, выравнивает отступы, расставляет кавычки и переносы строк.
Это помогает, когда проект ведёт несколько человек, и все пишут по одному стандарту (PEP8)

🧩 Black и его конкуренты:
autopep8 — базовый форматтер, который просто приводит код к PEP8, но не всегда последовательно

YAPF (Yet Another Python Formatter) — даёт больше гибкости и стилей, но именно из-за этого код может выглядеть по-разному в разных проектах

Ruff — также умеет форматировать, но его сила всё же в линтинге


🧠 Почему Black лучше:
Жёстко стандартизирован — никаких споров в команде

Минимум настроек — разработчики просто доверяют ему

Оптимизирован под большие кодовые базы

Идеально работает в связке с Ruff и Pylance, создавая целостную экосистему для чистого и безопасного кода

Также - легко интегрируется с VS Code и имеет большую скорость работы


⚙️ Подключить можно двумя способами:
1. Установить пакет: pip install black
2. Установить в Visual Studio code расширение Black

Затем добавить в settings.json:
{
"python.formatting.provider": "black",
"editor.formatOnSave": true
}

#рекомендации_tech
❤2🔥2
📢 FastAPI + asyncio в 2025
Свежие данные показывают: FastAPI + asyncio - лидеры 2025 года в мире backend-разработки на Python

❕Вот цифры, которые говорят всё сами за себя:
TechGig сообщает: FastAPI используется 38 % разработчиков Python в 2024 году и прибавил +9 % по сравнению с предыдущим годом

Опрос PyCharm: «Каждый третий разработчик Django также использует Flask или FastAPI, а около 25 % используют FastAPI»

CraftYourStartup приводит числа: FastAPI обрабатывает до 15 000–20 000 RPS в тестах, значительно обгоняя Flask и Django


🔍 Почему именно FastAPI + asyncio растут так быстро:

Асинхронность из коробки. Поддержка async/await позволяет обрабатывать тысячи запросов одновременно, не блокируя поток исполнения

Современный стек. Используется Pydantic для валидации данных и Starlette как асинхронное ядро — это делает API-разработку лаконичной и безопасной

Высокая производительность. FastAPI входит в топ самых быстрых Python-фреймворков, уступая лишь решениям на Rust и Go

Отличная документация и автогенерация Swagger UI. FastAPI сам создаёт интерактивную документацию для вашего API без дополнительного кода


⚡️ Вывод
Если вы выбираете между Flask, Django и FastAPI — эти данные ясно говорят: FastAPI в связке с asyncio сейчас наиболее перспективны в backend-разработке
#IT_новости
❤3
Git
📌 Git — распределённая система контроля версий
Она позволяет отслеживать изменения в коде, работать в команде и возвращаться к любой версии проекта.

🔹Что делает Git:
Сохраняет историю изменений

Позволяет работать над проектом нескольким разработчикам одновременно

Даёт возможность откатить проект к предыдущему состоянию


📘 Пример в жизни:
Представьте, что вы пишете диплом или крупный проект. Git — это ваш «контроль времени»: можно увидеть, кто что изменил, когда и почему

⚙️ Почему Git — стандарт в разработке:
Используется во всех компаниях

Интегрируется с CI/CD (GitHub Actions, GitLab CI)

Без Git ни один современный workflow не обходится


💡 Интересный факт:
Создатель Git — Линус Торвальдс, автор Linux. Он написал Git за 10 дней, чтобы решить проблемы с управлением исходным кодом ядра Linux
#словарь_программиста
👨‍💻3
❓ Что такое отображение (mapping) в Python?
Отображение (mapping) — это структура данных, которая хранит пары ключ–значение. Благодаря этому можно быстро находить значение по ключу, без необходимости перебирать весь список

⚡️В Python основным типом отображения является dict, а также — объекты, работающие по тому же принципу (например, collections.ChainMap, types.MappingProxyType)

💡 Особенности:
Ключи в отображениях уникальны и должны быть хешируемыми (например, строки, числа, кортежи)

Python поддерживает словари словарей, что делает их мощным инструментом для хранения сложных структур данных

#вопросы_на_собесах
❤2⚡1
Работаем✊🏼
🔥4
Ошибка при подключении SSH в GitLab:
конфликт ED25519 и RSA


Недавно столкнулся с ошибкой при работе с репозиториями GitLab через SSH. VS Code при попытке клонировать проект выдал ошибку подключения, хотя ключ уже был добавлен в GitLab

📍Причина:
SSH-клиент ожидал ключ ED25519, а в GitLab был добавлен ключ RSA. GitLab поддерживает оба типа, но SSH на локальной машине может быть сконфигурирован под конкретный алгоритм

Пример проблемы:
git@gitlab.com: Permission denied (publickey).
fatal: Could not read from remote repository.


📘 Решение:
1. Проверил список доступных ключей:
ssh-add -l


2. Убедился, что активен RSA, а не ED25519 и создал новый ключ ED25519:
ssh-keygen -t ed25519 -C "your_email@example.com"


3. Добавил его в GitLab (в профиле в разделе настроек)

🔍 Итог:
После обновления ключа подключение заработало, а VS Code корректно связался с GitLab через SSH

💡Совет:
- ED25519 предпочтительнее: быстрее и безопаснее
- Если GitLab “ругается” на ключ — проверьте тип шифрования
#рабочие_моменты
❤2👍2👏1