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
🐍 Пошаговый гайд по Seaborn для начинающих

В статье показано, как быстро строить понятные и аккуратные графики в Python с помощью Seaborn, не утопая в настройках Matplotlib.

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

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

tags: #статья

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3🔥2
Что выведет код сверху?
Anonymous Quiz
39%
True
22%
False
33%
Невозможно определить
7%
Ошибка
13
Git_Cheatsheet.pdf
306.4 KB
👩‍💻 Удобная шпаргалка по Git для эффективной работы

Это структурированный справочник, в котором:
1. Настройка Git (конфигурация);

2. Создание новых проектов;

3. Изменение, добавление и удаление файлов в репозитории;

4. Слияние веток (merging);

5. Коммиты и множество других полезных команд под рукой.


tags: #полезное

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53
Вопрос с собеседования

Как устроена архитектура брокеров в Kafka?

Ответ: В Kafka каждая партиция топика имеет лидера — брокера, который обрабатывает все запросы на запись и (по умолчанию) чтение. Остальные брокеры, содержащие копии этой партиции, называются фолловерами. Все реплики партиции (включая лидера) формируют группу ISR (in-sync replicas).

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


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

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43👍3
🖥 Огромная шпаргалка по командам Linux

Собрал удобный конспект базовых команд Linux — чтобы всегда был под рукой. Подойдёт и новичкам, и тем, кто периодически забывает синтаксис.

Файлик в хорошем качестве оставил в комментариях.

tags: #полезное #linux

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥105
Вопрос с собеседования

Какие основные принципы написания unit-тестов?

Ответ: Unit-тест проверяет одну небольшую единицу поведения и изолирует её от внешних зависимостей. В тесте должна быть чёткая структура: подготовка данных, выполнение действия, проверка результата. Тест обязан быть детерминированным, то есть давать один и тот же результат при повторных запусках, без зависимости от времени, случайности и окружения.

Хороший unit-тест читается как спецификация: понятное имя, минимум лишней подготовки, понятная причина падения. Он должен быть быстрым и не ходить в сеть, базу и файловую систему. Если зависимость неизбежна, её подменяют заглушкой или моками, проверяя либо результат, либо контракт взаимодействия, но не оба сразу без необходимости.


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

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍96🔥2
🐍 Пишем самый примитивный компилятор на Python

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

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

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

tags: #статья

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос с собеседования

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

Ответ: Оператор is проверяет, ссылаются ли два объекта на одну и ту же область памяти, а не равны ли их значения. Для строк и чисел это может случайно работать на маленьких значениях из-за интернирования, но не гарантируется.

Для сравнения содержимого нужно использовать ==, иначе результат может быть непредсказуемым и зависеть от реализации интерпретатора.


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

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣6👍4
💻 Бесплатный инструмент для визуализации плана выполнения SQL-запросов

Просто вставляете EXPLAIN или EXPLAIN ANALYZE — и получаете понятное дерево выполнения запроса. Сразу видно, где запрос тормозит, какие индексы не используются, где начинается Full Table Scan и какие джойны работают неэффективно.

Удобный способ быстро понять, что именно не так с запросом, без ковыряния в сухом выводе EXPLAIN — забираем тут.

tags: #полезное

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4
Вопрос с собеседования

Какие бывают виды файловых объектов?

Ответ: В Python файловые объекты — это абстракции, предоставляющие унифицированный интерфейс для работы с разными источниками данных. Они делятся на три типа:

▶️Текстовые (TextIO) — работают со строками (str) и автоматически кодируют/декодируют данные. Например: open("file.txt", "r", encoding="utf-8").

▶️Бинарные (BufferedIO) — оперируют байтами (bytes) и чаще используются для изображений, видео или произвольных данных. Например: open("image.jpg", "rb").

▶️Низкоуровневые (raw) (RawIO) — предоставляют прямой доступ к устройствам или файлам без буферизации. Обычно используются внутри стандартной библиотеки, напрямую редко применяются.

Все эти типы реализуют интерфейсы из io — io.TextIOBase, io.BufferedIOBase и io.RawIOBase. Стандартная функция open() под капотом возвращает подходящий объект, в зависимости от режима.


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

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62
This media is not supported in your browser
VIEW IN TELEGRAM
🔖 Инструмент для генерации реалистичных тестовых данных

Это удобный веб-сервис, который генерирует моки за секунды — он выдаёт CSV, JSON, SQL, Excel и ещё кучу форматов, без кода и сложных настроек.

Идеально для заполнения тестовых баз и заглушек для API — забираем тут.

tags: #полезное

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
Вопрос с собеседования

В чем разница между методами get и setdefault при работе с словарями?

Ответ: Метод get просто возвращает значение по ключу, не изменяя словарь — если ключа нет, возвращается None или заданное значение по умолчанию. Метод setdefault делает то же самое, но если ключ отсутствует, он добавляет его в словарь с указанным значением и возвращает его.

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

Python Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
🐍 Полный курс по аналитике данных на Python

Нашли хороший курс из 7 модулей, где учат работать с данными на всех этапах — от сбора и обработки до визуализации и построения моделей.

Много практики, реальные кейсы и финальные проекты, которые можно добавить в портфолио. Отличный вариант, чтобы уверенно войти в аналитику данных и добавить Data Science в свой стек.

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

tags: #полезное

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Вопрос с собеседования

Как реализуется связь many-to-many в Django?

Ответ: Связь many-to-many в Django реализуется с помощью поля ManyToManyField, позволяющего одной модели быть связанной с несколькими объектами другой модели и наоборот. Для этого нужно определить поле ManyToManyField в одной из моделей:

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


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

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