52806
по всем вопросам @haarrp @itchannels_telegram - 🔥 best it channels @ai_machinelearning_big_data -ML @ArtificialIntelligencedl -AI @datascienceiot - ml 📚 @pythonlbooks -📚books
Если готовитесь к собесам 📈
>2320 вопросов с собеседований, по анализу данных, машинному обучению, cv, статистике, python. Вопросы разбирают сеньоры, которые сами проводят собесы и дают примеры правильных ответов
Можно сильно упростить прохождение собесов, если заранее изучить популярные вопросы 💼
Только реально вдумывайтесь в решение, а не просто заучивайте - иначе не сработает 😅
А здесь собрана целая папка для тех, кто любит машинное обучение и готовится к собесу.
🖥 Релиз профайлера данных Desbordante 2.0.0
🟡16 апреля 2024 года состоялся второй мажорный релиз профайлера данных Desbordante, который позволяет проводить поиск различных примитивов в таблицах. Исходный код проекта опубликован на GitHub под лицензией GNU Affero General Public License v3.0. Первая стабильная версия Desbordante вышла в декабре 2023 года.
🟡Desbordante может выполнять две категории задач: поиск различных примитивов, а также выполнение какой-либо работы с использованием алгоритмов поиска примитивов. Ядро Desbordante — консольное приложение, обладающее крайне простым сценарием использования: на вход подаётся csv-таблица, указывается искомый примитив, например, функциональная зависимость, алгоритм и, опционально, параметры, а на выход выдаётся набор найденных зависимостей. Кроме того, все компоненты Desbordante контейнеризованы.
🟡В рамках продолжения развития проекта команда Desbordante выложила на GitHub новые примеры скриптов на Python. «Поскольку проект в настоящее время недостаточно документирован, мы надеемся, что это будет полезно для наших потенциальных пользователей. Вы можете ознакомиться с ними здесь. Чтобы улучшить общий уровень документации, мы также опубликовали несколько руководств — см. раздел "Руководства"», — уточнили разработчики.
@pythonl
🖥 Задача о дубликатах в списке
Итак, задача: напишите функцию, которая принимает на вход несортированный связный список и удаляет из него все дубликаты.
Задачу можно решить как минимум 2 способами
🟡Движение по списку с использованием двух указателей
def remove_duplicates(first):
if not first:
return
nextone = first
while nextone:
runner = nextone
while runner.next:
if runner.next.val == nextone.val:
runner.next = runner.next.next
else:
runner = runner.next
nextone = nextone.next
return first
remove_duplicates принимает на вход один аргумент first, в который мы передаем начало списка.nextone, которая инициализируется значением first. nextone используем для перемещения по списку, она указывает на текущий элемент. То есть эта переменная является первым указателем. Переменная runner — второй указатель. def remove_duplicates(list_head):
if not list_head:
return
seen = set()
current = list_head
prev = None
while current:
if current.val in seen:
prev.next = current.next
else:
seen.add(current.val)
prev = current
current = current.next
return list_head
remove_duplicates принимает на вход один аргумент list_head, в который мы передаем начало списка. Она проверяет, пуст ли список. Если да, она возвращает результат и завершает работу. Если в списке содержится хотя бы один элемент, функция начинает их обрабатывать.seen, которое будем использовать для отслеживания уникальных значений связанного списка.
🖥 Перехват исключений в Python
В Python по сравнению с другими языками программирования очень много ситуаций, вызывающих исключения.
🟡Давайте рассмотрим их подробнее. Пусть у нас есть список:lst = [1, 2, 3]
Обратимся к несуществующему элементу списка:print(lts[4])
После выполнения кода выведется ошибка (исключение):IndexError: list index out of range
🟡Если же нам нужно продолжить работу без вывода исключения, его следует поймать с помощью конструкции try-except. Она имеет следующий синтаксис:
try:
# код, вызывающий исключение
except:
# обработка ошибки
try следует размещать код, который может содержать исключение. Если вдруг при выполнении этого кода возникнет исключительная ситуация, то выполнение кода не остановится, а перейдет в код блока except. В данном блоке следует прописать вывод сообщения, максимально точно описывающего суть возникшей ошибки.try никаких исключительных ситуаций не случилось, то полезный код просто выполнится, а код из блока except - нет.try поместим код с потенциальной ошибкой. А в блоке except укажем вывод в консоль сообщения 'error: elem is not exist':lst = [1, 2, 3]
try:
print(lst[4])
except:
print('error: elem is not exist')
'error: elem is not exist'try-except стиль написанного вами кода должен измениться. Теперь все места, в которых может возникнуть исключительная ситуация, нужно оборачивать в try, а в блоке except прописывать реакцию на это исключение.
🖥 Невероятно полезный сборник лекций по Python 🔥
Особенно актуально будет для тех, кто занимается научными вычислениями
Темы разобраны очень подробно, даже фундаментально, я бы сказал
Охват тем вы видите ниже
⏩Лекция №1
О python • Установка python • Python в качестве калькулятора • Скрипты python • Блокноты. Jupyter Notebooks • Основные типы объектов: числа и списки • Операторы потока управления
⏩Лекция №2
Компилируемость vs Интерпретируемость • Динамическая типизация • Аннотация типов • Изменяемые и неизменяемый типы объектов • Создание и удаление объектов. Сборщик мусора • О коллекциях в python • Последовательности: списки, кортежи и строки
⏩Лекция №3
Сторонние библиотеки и пакетные менеджеры • NumPy • Векторизация • Срезы • Умножение векторов • Логические операции • Векторизация на примере вычисления статистик • Случайные числа
⏩Лекция №4
Словари. dict • Функции • Взаимодействие с файловой системой • Работа с файлами. Сериализация: json и pickle • Построение графиков и визуализация данных • Matplotlib • Настройка деталей графиков • Анимация в matplotlib
⏩Лекция №5
Таблицы • Библиотека pandas • Столбцы в pandas • Таблицы pandas • Оперирование таблицами pandas • Дата и время • Анализ данных
⏩Лекция №6
Основы списковых включений • Итераторы • Генераторы • Декораторы
⏩Лекция №7
SciPy • Линейная алгебра • Дифференцирование и интегрирование функций • Поиск минимума • Решение нелинейных уравнений • Интерполяция и аппроксимация • Решение ОДУ • Обработка сигналов
⏩Лекция №8
Пользовательские классы • Наследование • Полиморфизм в python • Перегрузка специальных методов и операторов
⏩Лекция №9
Исключения • Пользовательские исключения • Стратегии контроля ошибок
⏩Лекция №10
Графический пользовательский интерфейс • PySide. Основы • События • Слоты и сигналы • Виджеты и макеты • Кнопки • Вывод данных • Ввод данных • Диалоговые окна
📎 Ссылка
@pythonl
🖥 Вычисление значения математического выражения из строки
▶️Есть строка наподобие '1/3+2/3', как видно она содержит математическое выражение.
Существует ли в Python модуль, который вычисляет значение таких выражений?
▶️С точки зрения безопасности, производительности и гибкости лучше воспользоваться numexpr
(в отличие от eval()):
# pip install numexpr
import numexpr as ne
print(ne.evaluate('1/3+2/3'))
# 1.0
numexpr поддерживает использование переменных, поддерживает NumPy, SciPy и т.д.
🖥 Сколько строк на C нужно, чтобы выполнить a + b в Python?
Когда мы пишем на Python код наподобие a + b, конкретное поведение операции + определяют типы a и b. Каждый тип в Python имеет собственную реализацию оператора + (если этот тип поддерживает +), и интерпретатор Python сам выбирает подходящую реализацию для вызова на основании типа операндов. Весь этот процесс называется динамической диспетчеризацией.
И перед тем, как произойдёт само действие a + b, под капотом происходит очень много всего, что и описывается в статье.
А вот схема выполнения операции a + b в Python:
⏩Код на Python компилируется в байт-код, исполняемый стековой виртуальной машиной (VM) в CPython. Команда BINARY_OP отвечает за исполнение операции + с двумя операндами, a и b
⏩Сама VM не знает, как выполнять + с двумя объектами. Она делегирует эту задачу абстрактному интерфейсу объектов
⏩Абстрактный интерфейс объектов в CPython определяет интерфейс, поддерживающий стандартные операции уровня объектов в CPython. Это позволяет VM единым унифицированным образом исполнять все операторы, не зная подробностей реализации системы объектов. Абстрактный интерфейс диспетчеризирует исполнение конкретной реализации внутри типов при помощи таблицы поиска указателей функций в заголовке объекта
📎 Статья
📎 Ещё одна статья в тему
@pythonl
🖥 Автоматизируем Python скрипты с Github Actions
Держите сверхполезное видео о том, как можно автоматизировать запуск любого скрипта на удаленном сервере бесплатно и без необходимости вручную настраивать этот сервер
План
• 00:00 - Начало
• 01:04 - Про Git и Github
• 07:03 - Настраиваем телеграм
• 11:46 - Получаем погоду
• 16:47 - Запускаем бота
• 24:33 - Создаем репозиторий
• 28:23 - Автоматизируем запуск
📎 YouTube
🖥 Код из видео
@pythonl
💻 Совет тем, кто ищет виртуальный сервер с лучшей DDoS защитой — выбирай Aéзa!
– Виртуальные сервера до 6.0 ГГц на флагманских процессорах;
- Множество услуг, включая аренду готового VPN или S3-хранилища;
– Профессиональная DDoS защита;
– Бесплатная Anycast DDoS защита для сайтов;
– Низкие цены от 4,94 евро за Ryzen 7950x3D;
– Круглосуточная премиум поддержка;
- Анонимный ВПН от 1.9 евро
– 15% кешбэка по ссылке
На этом приятности не заканчиваются!
🖥Бесплатные сервера!
Возьми сервер от Aéзa на 1 час или воспользуйся
сервисом бесплатной аренды от Aéзa - Терминатор.
Без регистрации, СМС и платежей 🖥
aeza.net
@pythonl
🖥 400 вопросов с ответами, которые должен знать Python-разработчик
Держите наиполезнейшую подборку, тут есть и теоретические вопросы вроде «Что такое геттеры и сеттеры» и очень практические вида «Как отправить email с помощью SMTP».
Самое то, чтобы освежить какие-то темы и структурировать знания
Enjoy)
📎 Ссылка
@pythonl
📌Python Data Science Bootcamp
Держите мощное практическое видео по работе с Pandas, Matplotlib, NumPy, Seaborn, Scikit-learn, Plotly
Ключевые моменты в видео:
01:28:00 — Pandas
02:54:02 — NumPy
03:05:26 — Визуализация данных с помощью Matplotlib
03:26:22 — Визуализация данных с помощью Seaborn
04:39:40 — Анализ данных
05:03:12 — Элементы ML, использование Scikit-learn
📎 Видео
@pythonl
🖥 Sending a WhatsApp Message using Python
Отправка сообщения WhatsApp с помощью Python
@pythonl
🖥 Ляп в Питоне: x + 1.0 < x
▶️Хотите взорвать себе мозг?
При смешивании типов возможно неочевидное поведение, можете проверить:
>>> x = (1 << 53) + 1
>>> x + 1.0 < x
True
x к другому типу была потеряна точность, а в другой части — нет.x конвертируется в тип float.x непредставим точно в виде float, поэтому выбирается ближайшее (меньшее здесь) представимое число: x —> float(x-1). Поэтому сумма получается неточной, вся цепочка выглядит так:x+1.0 -> float(x-1)+1.0 -> (x) -> float(x-1)
float < int происходит точно. Значение x (int) математически больше x+1.0 (float).
🖥 Google Analytics 4 и Python - практические приемы работы
⏩Очень детальное руководство о том, как с помощью Python выполнять запросы к API Google Analytics 4 (Data API), выгружать данные по стандартным отчетам, ну и сохранять статистику вашего ресурса Google Analytics 4 на компьютер.
В конце статьи есть все исходники запросов, чтобы вы смогли взять их за основу при написании собственной программы.
⏩Содержание
• Создание проекта
• Быстрый запуск API
• Добавление сервисного аккаунта в Google Analytics 4
• Загрузка приватного ключа на Google Диск
• Подготовка программы
• Выгрузка данных по отчетам
— Источники трафика (User acquisition)
— Привлечение трафика (Traffic acquisition)
— События (Evemts)
— Конверсии (Conversions)
— Страницы и экраны (Pages and screens)
— Целевая страница (Landing Page)
— Совершённые покупки (Ecommerce purchases)
— Демографические данные (Demographic details)
— Технические данные (Tech details)
📎 Статья
@pythonl
🚀 Едадил приглашает Python-разработчиков на борт!
Едадил – сервис Яндекса, где собраны скидки, спецпредложения и кэшбеки. Мы помогаем людям совершать выгодные покупки!
Мы в поиске талантливых Python-разработчиков, специализирующихся на асинхронном программировании и с опытом коммерческой разработки более 3 лет.
Если вы мастер своего дела и готовы к новым вызовам, присоединяйтесь к нашей команде!
Ищем специалистов из разных уголков России!
Что вас ждет?
● Работа в классном офисе в гибридном формате
● Конкурентоспособная заработная плата, соцпакет и возможности для профессионального роста.
● Работа в команде единомышленников над проектами, влияющими на жизнь миллионов пользователей.
Выбирайте подходящую вакансию:
– Asyncio Python-разработчик
– Python-разработчик с опытом в PostgreSQL, noSQL, Docker и Git
– Python-разработчик с навыками в Python 3.10, aiohttp, YQL, YTsaurus, Docker
Реклама ООО "Яндекс"
ИНН 7736207543
🖥 Как работает Python: интерпретатор, байт-код, PVM
Python — интерпретируемый язык программирования. Он не конвертирует свой код в машинный (в отличие от С и С++). Вместо этого, Python-интерпретатор переводит код программы в байт-код, который запускается на виртуальной машине Python (PVM).
Если интересно, как работает Python под капотом — welcome)
📎 Узнать
@pythonl
🖥 Пет-проект на Python за 50 минут с FastAPI
Держите мощный гайд о работе с FastAPI, параллельно объясняется много важных концепций, используется библиотека Pydantic, создаётся Docker-контейнер
Туториал поможет разобраться:
• Для чего используется FastAPI
• Как написать простейшее приложение на FastAPI
• Как применять Pydantic в FastAPI
• Как работать с базой данных из FastAPI
• Как делать запросы к базе данных через паттерн репозиторий
• Что такое роутер в FastAPI
• Как развернуть FastAPI приложение через Docker
• Как развернуть FastAPI приложение на реальный сервер в облаке
📎 Туториал
@pythonl
Бесплатная неделя онлайн-обучения основам Python от НИУ ВШЭ
Модуль 1 онлайн-курса «Программирование на Python» посвящен введению в Python. Вы познакомитесь с разными типами данных, логическими выражениями и условными конструкциями. Закрепите знания и выполните домашнее задание с автопроверкой. Онлайн-курс разработан для тех, кто хочет попробовать свои силы в программировании или освоить Python для автоматизации повседневных задач.
Старт: 22 апреля
Продолжительность: 2 месяца
Начните учиться бесплатно уже сейчас: по ссылке.
Реклама. НИУ ВШЭ.
ИНН 7714030726
Erid: 2SDnjeDDuTF
ИТ-специалисты, ваш выход
Выбирайте вакансию по душе, а Тинькофф обеспечит комфортные условия для работы и возможность экспериментировать в команде единомышленников. Откликнуться в команду Тинькофф
АО «Тинькофф Банк», ИНН 7710140679
🔵 Практический интенсив «Python-разработчик: основы за 2 дня» — 23-24 апреля в 19:00 мск.
О перспективах направления Python и многом другом расскажет Грегори Салиба, старший разработчик ЭквантаЛаб с опытом в разработке более 3 лет.
На вебинаре вы:
☑️ Самостоятельно напишете Telegram-бота с карточными мини-играми.
☑️ Познакомитесь с синтаксисом языка и сферами его применения.
☑️ Узнаете, чего ждут работодатели от junior-разработчиков и что делать, чтобы найти работу без опыта.
Переходите по ссылке, чтобы зарегистрироваться на бесплатный практический интенсив и забрать подарки 🎁
Скоро каждый сможет накодить личную мини-нейросеть и настроить её под себя.
Например, для отбора подходящих IT-вакансий. СИБУР как раз создал такой инструмент! Команда разработала НейроМенделеева, цифрового двойника учёного с голосом и мимикой. Он может рассказать об IT-направлениях компании, новых вакансиях или просто зарядить мотивацией, если поиск работы затягивается!
Читайте в статье, как СИБУРу удалось с помощью векторной базы данных, технологии MetaHuman и ChatGPT создать такую нейросеть. НейроМенделеев, кстати, материал и карточки этого поста сделал сам.
🔥Подборка лучших обучающих каналов для программистов.
➡️ Делитесь с коллегами и сохраняйте себе, чтобы не потерять
⚡Машинное обучение
Machine Learning - запускаем лучшие ИИ модели, пишем код, погружаемся в нейросети
Ml Собеседование - подготовка к собесу по мл, алгоритмам, коду
Ml ru - актуальные статьи, новости, код и обучающие материалы
Ml Jobs - вакансии ML
ML Книги - актуальные бесплатные книги МО
ML чат
🏆 Golang
Golang - изучи один из самых перспективных языков на ит-рынке
Golang собеседование - разбор задач и вопросов с собесов
Golang вакансии -работа для Go разработчика
Golang книги библиотека книг
Golang задачи и тесты
Golang чат
Golang news - новости из мира go
Golang дайджест
💥 Linux /Этичный хакинг
Linux Academy - гайды, секреты и лучшие материалы по Linux
Kali linux - погрузись в мир этичного хакинга и кибербезопасности
linux_kal - kali чат
Информационная безопасность
🚀 Data Science
Анализ данных - полезные фишки, код, гайды и советы, маст-хэв датасаентиста
Data Jobs - ds вакансии
Аналитик данных
Data Science книги - актуальные бесплатные книги
Big data
🛢Базы данных
Sql базы данных - научим работе с базами данных профессионально
Библиотека баз данных
SQL чат
Вакансии Sql аналитик данных
#️⃣C#
С# академия - лучший канал по c#
С# заметки — код, лучшие практики, заметки программиста c#
С# задачи и тесты
С# библиотека - актуальные бесплатные книги
C# вакансии - работа
🐍 Python
Python/django - самый крупный обучающий канал по Python
Python Собеседование - подготовка к собеседовению python и разбор алгоритмов
Pro python - статьи, новости, код и обучающие материалы
Python Jobs - вакансии Python
Python чат
Python книги
☕ Java
Java академия - java от Senior разработчика
Java вакансии
Java чат
Java вопросы с собеседований
Java книги
💻 C++
C++ академия
С++ книги
C++ задачи - подготовка к собеседовению мл, алгоритмам
C++ вакансии
⚡️ Frontend
Javascript академия - крупнейший js канал
React - лучшие гайды и советы по работе с react
Frontend - тутрориалы, уроки, гайды, код
PHP
Книги frontend
Задачи frontend
🦀 Rust
Rust программирование
Rust чат
Rust книги для программистов
📲 Мобильная разработка
Android разработка
Мобильный разработчик гайды и уроки
🇬🇧 Английский для программистов
🧠 Искусственный интеллект
ИИ и технологии
Neural - нейросети для работы и жизни
Книги ИИ
Artificial Intelligence
🔥 DevOPs
Devops для программистов
Книги Devops
🌟 Docker/Kubernets
Docker
Kubernets
📓 Книги
Библиотеки Книг для программситов
💼 Папка с вакансиями:
Папка Go разработчика:
Папка Python разработчика:
Папка Data Science
Папка Java разработчика
Папка C#
Папка Frontend
🖥 Малоизвестные библиотеки Python для анализа данных, которые сделают вашу жизнь проще
⏩Sketch использует алгоритмы машинного обучения для понимания контекста пользовательских данных и предоставляет соответствующие предложения по коду. Также Sketch может автоматизировать повторяющиеся задачи, находить ошибки и предлагать исправления, анализировать кодовую базу и предлагать предложения по оптимизации.
⏩MLxtend можно использовать как основной инструмент для задач машинного обучения или в качестве дополнения и вспомогательного инструмента к другим более известным библиотекам по анализу данных.
MLxtend включает такие модули как классификатор, кластеризатор, методы оценки, извлечение признаков,предварительная обработка, методы визуализации и т.д
Модуль классификации MLxtend предоставляет различные алгоритмы классификации и регрессии, включая многослойные персептроны, классификаторы, стекирования, логистическую регрессию и др.
⏩SciencePlots — это библиотека, которая предоставляет стили для библиотеки Matplotlib, чтобы получить профессиональные графики для презентаций, исследовательских работ и т.д.
📎 Читать подробнее
@pythonl
🖥 В альфа выпуск языка программирования Python 3.13.0a6 встроен JIT-компилятор
⏩ Опубликован альфа выпуск языка программирования Python 3.13.0a6, в который включена экспериментальная реализация JIT-компилятора, позволяющая добиться существенного повышения производительности. Для активации JIT в CPython добавлена сборочная опция --enable-experimental-jit. Для работы JIT требуется установка LLVM в качестве дополнительной зависимости.
📎 Подробнее
@pythonl
erid: LjN8KbbVG
Уже кое-что знаете о Python и машинном обучении и готовы начать карьеру в перспективной сфере Deep Learning?
Deep Learning это буквально суперсила, которая работает подобно человеческому мозгу. Рекомендации фильмов, переводчики или генерация ответов на вопросы как от Siri - эти и другие интересные задачи выполняют такие специалисты.
У karpovꓸcourses появилась программа, где вы с нуля освоите базовые и продвинутые инструменты глубинного обучения за 4 месяца.
Учиться вы будете на задачах, которые действительно встречаются на работе. А преподавать будут практикующие специалисты из Raiffeisen и Яндекса — поэтому в актуальности знаний можно не сомневаться.
Школа поможет вам с трудоустройством — 89% студентов находят работу в течение трёх месяцев благодаря карьерному сопровождению.
Научитесь создавать и обучать нейросети: https://clc.to/K348gA
По промокоду PYTHONL получите скидку 5000 рублей до 24.04.2024
Реклама. ООО "КАРПОВ КУРСЫ". ИНН 7811764627.
👩💻 Инструмент OSINT на Python для сканирования сайта и извлечения полезной информации.
▪Укажите начальный URL-адрес и автоматически соберите URL-адреса для сканирования через href, robots.txt и карту сайта
▪Извлеките полезную информацию для поиска:
- Электронные письма
- Ссылки в социальных сетях
- Поддомены
- Файлы
- Список просмотренных ссылок на сайты
- Rомментарии
- IP-адреса
▪Маркетинговые теги (UA, GTM и т.д.)
▪"Интересные" находки, такие как контент frame ancestors и ресурсы, возвращающие содержимое в формате JSON
▪ Внутри встроенный FireProx для автоматического создания эндпоинтов для каждого поддомена, смены исходного IP-адреса и очистки в конце
▪Поддержка HTTP/SOCKS прокси
git clone https://github.com/chm0dx/creepyCrawler.git
cd creepyCrawler
pip install -r requirements.txt
🖥 На портале репозиториев PyPI заблокировали 174 учётные записи из‑за неавторизированного доступа к ним хакеров
⏩Администраторы репозитория Python‑пакетов PyPI (Python Package Index) рассказали о неавторизированном доступе к 174 учётным записям пользователей сервиса. Представители PyPI предполагают, что доступ к записям пострадавших пользователей был получен из ранее скомпрометированных учётных данных в результате взломов или утечек баз пользователей других сервисов.
⏩Активность атакующих была выявлена администраторами после получения серии жалоб 31 марта 2024 года. В жалобах пользователи сообщали о получении уведомлений от PyPI об активации двухфакторной аутентификации и другой активности, но хозяева учётных записей не логинились на портале и сами ничего не меняли. Проанализировав логи авторизации, администраторы портала установили доступ третьих лиц к учётным записям 174 пользователей.
@pythonl
🖥 Релиз Nuitka 2.0 — компилятора для языка Python
Относительно недавно состоялся релиз Nuitka 2.0. Это проект компилятора для трансляции скриптов на языке Python в представление на языке C, которое затем можно скомпилировать в исполняемый файл, использующий libpython для обеспечения максимальной совместимости с CPython.
В программном решении используются штатные средства CPython для управления объектами.
📎 Подробнее
🖥Исходный код проекта Nuitka выложен на GitHub под лицензией Apache.
@pythonl
Вышла Django 5.0 🔥
Что добавили/обновили/исправили?
• В предыдущих версиях мы использовали nulls_last=False. Теперь nulls_first и nulls_last могут быть True или None. Поэтому теперь в некоторых местах вместо значения по умолчанию находится nulls_last = None
- nulls_last = False
+ nulls_last = None
if ordering_by == OrderingField.FIELD_START_AT:
nulls_last = True
my_model_obj._meta.private_fields = []
my_model_obj.refresh_from_db()
🖥 VS Code, python, контейнеры — как обуздать эту триаду и разрабатывать внутри контейнера
⏩Держите небольшой, но очень полезный туториал о настройке VS Code для работы с контейнерами при помощи Python.
После того, как вы всё настроете по примеру из статьи останется только нажать F1, и в появившейся строке ввода ввести "Open folder in container". После этого выбрать корневую папку проекта. После чего запустится сборка контейнера и папка откроется внутри контейнера.
📎 Статья
@pythonl