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
🖥 Огромная шпаргалка по командам 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
🐍 Обучаемся основам компьютерного зрения

В статье рассказывается как запустить базовые задачи компьютерного зрения на компактном одноплатном ПК Lichee Pi 4A, используя Python и библиотеку Pillow.

Разбираются операции с изображениями, интерактивная работа с графикой, а также подключение модели YOLOX для распознавания объектов в реальном времени.

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

tags: #статья

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

Чем unit-тесты отличаются от интеграционных?

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

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


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

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74
🐍 Алгоритмы быстрого умножения чисел: от столбика до Шенхаге-Штрассена

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

Стандартный метод умножения “в столбик” эффективен для небольших чисел, но при увеличении разрядности его производительность снижается.

В статье рассматриваются более быстрые алгоритмы умножения, такие как метод Карацубы и алгоритм Шёнхаге–Штрассена, которые значительно ускоряют вычисления.

Что вы узнаете из статьи:
▶️ Как работает традиционный метод умножения “в столбик” и в чем его ограничения?
▶️ В чем суть алгоритма Карацубы и как он уменьшает количество операций?
▶️ Как применяется быстрое преобразование Фурье в алгоритме Шёнхаге–Штрассена для умножения больших чисел?
▶️ Какие математические приемы позволяют оптимизировать операции умножения?


Автор подробно объясняет каждый из методов, сравнивает их эффективность и демонстрирует применение на практике.

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

tags: #статья

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

Что такое Meta в Django и зачем он нужен?

Ответ: Meta — это вложенный класс, с помощью которого задаются дополнительные настройки модели или формы. Он не описывает поля напрямую, а управляет поведением объекта: имя таблицы (db_table), сортировка (ordering), ограничения (unique_together), человекочитаемые названия (verbose_name) и другие параметры.

Django использует метаклассы, чтобы считать информацию из Meta при создании модели и сконфигурировать её работу в ORM и админке. Переопределять механизм не требуется — достаточно определить class Meta внутри класса.


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

Python Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54
👍 Свежий курс по deep learning от MIT теперь в открытом доступе

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

В программе — современные нейросетевые архитектуры, генеративные модели, трансформеры, инференс и другие ключевые темы.

Хорошая возможность пройти deep learning по структуре топового университета, бесплатно и без упрощений — обучаемся тут.

tags: #полезное

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