Python Developer
21.5K subscribers
1.81K photos
135 videos
13 files
1.96K links
Авторский канал действующего Python-разработчика

Сотрудничество: @bape_ads
Прайс: @bape_media

РКН: https://clck.ru/3GA6KW

Реклама на бирже:
https://telega.in/c/python_tg
Download Telegram
Вопрос с собеседования

Есть ли в Python дженерики, как в Java или C++?

Ответ: Да, но только на уровне аннотаций. С Python 3.5 появились обобщённые типы (List[T], Dict[K, V]) через модуль typing, но они нужны для статической проверки и никак не влияют на поведение программы во время исполнения.

tags: #собеседование

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍4🔥4
🐍 Как я научил квадрокоптер возвращаться домой без GPS

Автор столкнулся с задачей возврата дрона в исходную точку без GPS и написал Python-скрипт, который запоминает визуальные ориентиры на пути.

В статье показан сам алгоритм, примеры с OpenCV и пояснение, как это работает в замкнутом помещении.

Читать статью

tags: #статья

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍62😁1
В одно окно смотрели двое

Python Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣60😁116🤯1
Вопрос с собеседования

Что означает, что QuerySet в Django «ленивый»?

Ответ: «Ленивый» QuerySet означает, что Django не делает запрос к базе в момент создания QuerySet. Когда вы вызываете .filter(), .exclude(), .all() и т.п., сам запрос ещё не выполняется — создаётся только объект, описывающий будущий SQL.

Фактическое обращение к базе происходит только тогда, когда результаты действительно нужны: при итерации по QuerySet, вызове list(), count(), first(), exists() и других методов, которые требуют данных.

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


tags: #собеседование

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥146
🐍 Курс по разработке телеграм-ботов на Aiogram 3.4

Курс закроет весь базовый и средний уровень разработки ботов на Aiogram 3.4. Каждый урок — конкретный инструмент, который нужен в реальной разработке.

Разберёте:
▶️ Cоздание бота и точку входа на Aiogram 3.4;

▶️ Фильтры, обработчики и работу с сообщениями;

▶️ Роутеры и грамотную структуру проекта;

▶️ Клавиатуры: Inline, Reply, Builder — и где что уместно;

▶️ CallbackQuery и построение интерактивных сценариев;

▶️ FSM Context — последовательные шаги, формы, подтверждения;

▶️ Middleware — добавление логики между апдейтом и хендлером;

▶️ Интеграцию с базой данных и перенос логики на сервер;

▶️ Деплой бота, настройку окружения и типовые практики;

▶️ Mini Apps и работу с Telegram Web Apps.


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

Ссылка на курс

tags: #полезное

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍42
Фундаментальный закон

Python Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣54😁10
Вопрос с собеседования

Что знаешь о нереляционных базах данных?

Ответ: Нереляционные базы (NoSQL) не используют жёсткую табличную модель и работают с более гибкими структурами данных. Они не требуют фиксированной схемы, поэтому разные записи могут иметь разный набор полей.

Такие базы хорошо масштабируются горизонтально: данные распределяются по узлам кластера, что помогает выдерживать высокие нагрузки и большие объёмы. Поддерживаются разные модели хранения — ключ-значение, документная, столбцовая и графовая. Это позволяет выбирать подходящую структуру под конкретную задачу.

К распространённым системам относятся MongoDB (документы), Cassandra (столбцы), Redis (ключ-значение) и Neo4j (графы). Они применяются там, где важны масштабирование, скорость и гибкость данных.


tags: #собеседование

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥83👍1
🐍 Docker для самых маленьких: упаковываем Python-бота за 10 минут

В статье на примере Telegram-бота показывают, как упаковать Python-проект в Docker так, чтобы он запускался одинаково на любом сервере без ручной настройки окружения.

Автор шаг за шагом показывает создание Dockerfile, сборку образа, запуск контейнера и объясняет, как безопасно передавать токены и обновлять бота.

Читать статью

tags: #статья

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥75👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Та самая фраза, после которой отпадают любые вопросы 😂

Python Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣35😁8🔥6💯3
Вопрос с собеседования

В чём разница между вызовом start() и run() у threading.Thread?

Ответ: Метод start() создаёт новый поток и автоматически вызывает run() внутри него.

Если вызвать run() напрямую, он выполнится в текущем потоке, как обычная функция — без создания нового потока и без параллелизма.

Это ключевое различие: start() запускает отдельный поток исполнения, а run() просто выполняет код в том же потоке.


tags: #собеседование

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍4🔥4
🐍 Как устроена память в Python?

В статье разбирается, как Python работает с памятью — какие участки использует, как управляет объектами и очищает ненужные данные.

Рассказывается, как устроены ссылки, зачем нужен сборщик мусора и как избежать типичных проблем с утечками памяти.

Читать статью

tags: #статья

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍4🔥3
Тяжело нынче джунам

Python Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
23😁18💯3
Вопрос с собеседования

Что делают globals() и locals()?

Ответ:
Функции globals() и locals() возвращают словарь с переменными текущей области видимости.

▶️ globals() — это доступ ко всем глобальным именам в текущем модуле (то есть переменным, функциям и классам, определённым на верхнем уровне)

▶️ locals() — возвращает локальные переменные в текущем контексте: внутри функции, класса или блока

Они полезны для динамического анализа, отладки, метапрограммирования и при работе с eval() / exec().


tags: #собеседование

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍5
🐍 Ускорение роутера в Django в 51 раз

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

Автор описывает путь от диагностики проблемы до прироста в 51 раз в скорости обработки URL.

Читать статью

tags:
#статья

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Наглядно о том, как ИИ исправляет баги

Python Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣63😁8👍65💯2👨‍💻1
Вопрос с собеседования

Что делает nonlocal и где его можно использовать?

Ответ: nonlocal позволяет изменять переменную из ближайшей внешней функции, не создавая новую локальную. Он работает только внутри вложенной функции, когда нужно изменить переменную, объявленную во внешней, но не в глобальной области видимости.

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


tags: #собеседование

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥2👍1
🐍 Курс «Разработка бэкенд-приложений на Django»

Это курс, где вы не просто познакомитесь с Django, а реально научитесь собирать backend так, как это делают в продакшене: с API, тестами, ORM, деплоем и всей инфраструктурой вокруг.

В процессе обучения разберёте:
Структуру Django-проекта и рабочее окружение;

Модели, миграции, админку, сигналы;

ORM, транзакции и выполнение запросов;

DRF, REST, GraphQL, документацию и проверку эндпоинтов;

Юнит- и интеграционное тестирование (Pytest);

CI/CD, линтеры, типизацию и пайплайны;

Деплой через Gunicorn;

Middleware, авторизацию и рабочие подходы к безопасности;

Паттерны разработки, KISS/DRY/SOLID и «запахи кода».


В итоге получите рабочий backend с собственным API и понимание того, как доводить Django-проект до продакшен уровня.

Ссылка на курс

tags: #полезное

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
44👍2🔥1
Монетизировать можно всё что угодно — главное уметь 😉

Python Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁45🤣23🔥81
Вопрос с собеседования

Как Django обрабатывает HTTP-запрос?

Ответ: Когда в Django приходит HTTP-запрос, он проходит через несколько этапов. Сначала запрос попадает в систему маршрутизации (URLconf), где по адресу выбирается нужное представление. Затем вызывается функция или класс-представление, которое выполняет логику: может обратиться к моделям, подготовить данные и выбрать подходящий шаблон.

После этого шаблон формирует HTML-ответ на основе переданных данных, и Django отправляет его обратно клиенту.

Так Django организует работу по схеме MVT: URL → представление → логика и данные → шаблон → HTTP-ответ.


tags: #собеседование

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥6👍4🤣1
📱 Шпаргалка по PostgreSQL

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

Большая часть из них относится к СУБД PostgreSQL, поэтому каждый сможет найти для себя что-то полезное.

Читать статью

tags: #статья

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥3