Линтеры: Ruff vs flake8 vs pylint - рекомендации и настройка (наш выбор - Ruff)
💡 Линтер анализирует код до выполнения и помогает находить ошибки, нарушения стиля и потенциальные уязвимости
🔸 flake8
Классика. Проверяет стиль по PEP8, расширяется плагинами, медленный на больших проектах; используется в старых проектах, где важно “не ломать традиции”
🔸 pylint
Строгий и “болтливый”. Проверяет всё - от импортов до докстрингов. Но слишком шумный и нередко требует тонкой настройки. Хорош для образовательных целей, но раздражает в production-коде
🔸 Ruff
Написан на Rust → в десятки раз быстрее flake8/pylint. Поддерживает их правила + форматирование, импорт-сортировку и даже часть функций Black. Интегрируется с VS Code “из коробки” через расширение. Конфигурация простая — можно обойтись без .toml, просто задать параметры в settings.json
📌 Наш выбор: Ruff — современно, быстро, минималистично. Идеален для связки: Ruff + Black + Pylance
#рекомендации_tech
💡 Линтер анализирует код до выполнения и помогает находить ошибки, нарушения стиля и потенциальные уязвимости
🔸 flake8
Классика. Проверяет стиль по PEP8, расширяется плагинами, медленный на больших проектах; используется в старых проектах, где важно “не ломать традиции”
🔸 pylint
Строгий и “болтливый”. Проверяет всё - от импортов до докстрингов. Но слишком шумный и нередко требует тонкой настройки. Хорош для образовательных целей, но раздражает в production-коде
🔸 Ruff
Написан на Rust → в десятки раз быстрее flake8/pylint. Поддерживает их правила + форматирование, импорт-сортировку и даже часть функций Black. Интегрируется с VS Code “из коробки” через расширение. Конфигурация простая — можно обойтись без .toml, просто задать параметры в settings.json
📌 Наш выбор: Ruff — современно, быстро, минималистично. Идеален для связки: Ruff + Black + Pylance
#рекомендации_tech
⚡1👨💻1
This media is not supported in your browser
VIEW IN TELEGRAM
Когда в Тюмени снова заглушили связь:
🤩2🤣1
Python всё ещё доминирует в AI/ML и веб-разработке в 2025 году
📢 По данным блога JetBrains «The State of Python 2025» язык Python остаётся основным выбором разработчиков:
🔍 Почему это важно для вас - при выборе направления (backend, AI, data) Python остаётся универсальным “мастер-ключом”
💡Если стоит выбор, какой язык учить или совершенствовать — ставьте на Python. Он ещё далёк от заката
#IT_новости
📢 По данным блога JetBrains «The State of Python 2025» язык Python остаётся основным выбором разработчиков:
Python занимает второе место по популярности среди языков программирования за последние 12 месяцев, и 57 % разработчиков используют только его
41 % разработчиков используют Python именно для машинного обучения
Python применим в веб-разработке, API-сервисах, автоматизации и аналитике
🔍 Почему это важно для вас - при выборе направления (backend, AI, data) Python остаётся универсальным “мастер-ключом”
💡Если стоит выбор, какой язык учить или совершенствовать — ставьте на Python. Он ещё далёк от заката
#IT_новости
The JetBrains Blog
Why Is Python So Popular in 2025? - The JetBrains Blog
From powering AI and data science to driving web development and automation, Python continues to dominate in 2025. Discover why in our blog post.
⚡2
Делюсь сайтом, который в прошлом мне помог в изучении Python
Metanit — существует уже много лет и регулярно обновляется. Здесь нет воды — только структура, примеры кода и объяснения по делу
💻 Что можно изучить на Metanit?
Python: базовый синтаксис, ООП, работа с файлами, веб-разработка (Flask/Django), модули, регулярки и многое другое. Всё подано максимально просто
Базы данных: SQL, PostgreSQL, SQLite, множественные примеры запросов и объяснение core-концепций
Web: HTML, CSS, JavaScript, основы frontend и работа с браузером
Backend-стек: C#, С++, Java - большие, структурированные курсы
#полезные_ресуры
Metanit — существует уже много лет и регулярно обновляется. Здесь нет воды — только структура, примеры кода и объяснения по делу
💻 Что можно изучить на Metanit?
Python: базовый синтаксис, ООП, работа с файлами, веб-разработка (Flask/Django), модули, регулярки и многое другое. Всё подано максимально просто
Базы данных: SQL, PostgreSQL, SQLite, множественные примеры запросов и объяснение core-концепций
Web: HTML, CSS, JavaScript, основы frontend и работа с браузером
Backend-стек: C#, С++, Java - большие, структурированные курсы
#полезные_ресуры
❤2👨💻1
У многих с этого семестра начнется новая дисциплина АДОМО/ Анализ данных и основы машинного обучения на Python💻
Базовый стек, который вам потребуется для изучения этой дисциплины:
1. Pandas — чтобы грузить таблицы из CSV/Excel, чистить, фильтровать, считать сводки
2. NumPy — для быстрых математических операций
3. Matplotlib/Seaborn — чтобы рисовать графики и диаграммы
4. Scikit-learn — библиотека с готовыми алгоритмами ML
+3 библиотеки для разработки моделей данных
Если у вас возникнут трудности с данной дисциплиной, то можете обратиться ко мне за помощью. Делаю лабораторные, тесты, итоговые работы🙌🏻
Базовый стек, который вам потребуется для изучения этой дисциплины:
1. Pandas — чтобы грузить таблицы из CSV/Excel, чистить, фильтровать, считать сводки
2. NumPy — для быстрых математических операций
3. Matplotlib/Seaborn — чтобы рисовать графики и диаграммы
4. Scikit-learn — библиотека с готовыми алгоритмами ML
+3 библиотеки для разработки моделей данных
Если у вас возникнут трудности с данной дисциплиной, то можете обратиться ко мне за помощью. Делаю лабораторные, тесты, итоговые работы🙌🏻
❤3🔥1🤣1
Возвращаемся в рабочую среду и начнем c основных рекомендаций ❕
Статическая типизация: Pylance / Pyright + настройка в VS Code
Python остаётся динамическим, но типизация уже стала обязательной в серьёзных проектах
Зачем нужна типизация:
- IDE заранее подсказывает ошибки (Optional[str] вместо str)
- Повышает читаемость и надёжность
- Работает без изменения логики программы
🔸 Pyright
Type checker от Microsoft, написан на TypeScript, работает молниеносно
Можно использовать как CLI-инструмент или как встроенный механизм в VS Code
🔸 Pylance
Надстройка над Pyright, обеспечивающая умные подсказки, автодополнение и статический анализ прямо в VS Code
🔧 Оптимальная конфигурация:
Не бойтесь "жёлтых и синих подчёркиваний " от Pylance — они учат писать лучше и чище
#рекомендации_tech
Статическая типизация: Pylance / Pyright + настройка в VS Code
Python остаётся динамическим, но типизация уже стала обязательной в серьёзных проектах
Зачем нужна типизация:
- IDE заранее подсказывает ошибки (Optional[str] вместо str)
- Повышает читаемость и надёжность
- Работает без изменения логики программы
🔸 Pyright
Type checker от Microsoft, написан на TypeScript, работает молниеносно
Можно использовать как CLI-инструмент или как встроенный механизм в VS Code
🔸 Pylance
Надстройка над Pyright, обеспечивающая умные подсказки, автодополнение и статический анализ прямо в VS Code
🔧 Оптимальная конфигурация:
"python.languageServer": "Pylance",
"python.analysis.typeCheckingMode": "strict",
"python.analysis.autoImportCompletions": true,
"python.analysis.diagnosticMode": "workspace"
Не бойтесь "жёлтых и синих подчёркиваний " от Pylance — они учат писать лучше и чище
#рекомендации_tech
❤1🤣1👨💻1
Немного о работе
Alembic — безопасные миграции
📍Из реального опыта
Когда проект начинает расти, а таблиц в базе становится всё больше, ручное управление изменениями структуры превращается в хаос....
Alembic - это инструмент миграций, встроенный в экосистему SQLAlchemy
Логика:
Alembic позволяет отслеживать изменения моделей и генерировать SQL-команды для обновления схемы базы. Например, добавили новое поле в модель — Alembic создаст миграцию и применит её к БД
⚙️ Что важно:
#рабочие_моменты
Alembic — безопасные миграции
📍Из реального опыта
Когда проект начинает расти, а таблиц в базе становится всё больше, ручное управление изменениями структуры превращается в хаос....
Alembic - это инструмент миграций, встроенный в экосистему SQLAlchemy
Логика:
Alembic позволяет отслеживать изменения моделей и генерировать SQL-команды для обновления схемы базы. Например, добавили новое поле в модель — Alembic создаст миграцию и применит её к БД
⚙️ Что важно:
Используйте --autogenerate с осторожностью — проверяй скрипты перед применением
В проде всегда делайте бэкап перед миграциями
Храните все миграции в git, чтобы команда работала синхронно
#рабочие_моменты
⚡2🤣1
Вернемся к АДОМО, разберем одно из основных заданий. На нем будет строиться большинство лабораторных работ по данной дисциплине. Также это вам понадобится при написании итоговой контрольной работы
На данной дисциплине одним из важных моментов выступает - анализ. В Python за это отвечает модуль pandas. Это основной инструмент для работы с табличными данными
Для того, чтобы его использовать нужно прописать подключение и назвать более кратким и понятным:
Далее идет чтение данных: загружаем данные из CSV-файла в переменную data. В результате data — это таблица, аналогичная Excel-таблице или SQL-таблице
3 строка - это метод .shape, который возвращает размерность таблицы в виде кортежа (упорядоченная неизменяемая коллекция)
Значения:
rows — количество строк
cols — количество столбцов
И в конце мы выводим то, что получаем по итогу кода:
#АДОМО
На данной дисциплине одним из важных моментов выступает - анализ. В Python за это отвечает модуль pandas. Это основной инструмент для работы с табличными данными
Для того, чтобы его использовать нужно прописать подключение и назвать более кратким и понятным:
import pandas as pd
Далее идет чтение данных: загружаем данные из CSV-файла в переменную data. В результате data — это таблица, аналогичная Excel-таблице или SQL-таблице
data = pd.read_csv("Набор данных.csv", sep=',')3 строка - это метод .shape, который возвращает размерность таблицы в виде кортежа (упорядоченная неизменяемая коллекция)
rows, cols = data.shape
Значения:
rows — количество строк
cols — количество столбцов
И в конце мы выводим то, что получаем по итогу кода:
print(f"Всего объектов: {rows}")
print(f"Всего признаков: {cols}")#АДОМО
👨💻3❤2🤩1🤣1
Продолжим серию постов по АДОМО 💻
Сегодня разберем следующий модуль, который часто используют в лабораторных
NumPy(numpy - Numerical Python) - это библиотека для численных вычислений
Модуль предоставляет возможность:
1. пользоваться многомерными массивами (ndarray)
2. работать с пропущенными значениями (np.nan)
3. использовать быстрые векторные операции и математические функции (mean, std, sum и др.)
Также numpy закладывает основу для знакомого нам pandas и sklearn с matplotlib, которые я разберу в дальнейшем
🧩 Разберем одну из задач лабораторных работ:
Нужно создать данные с пропущенными значениями и впоследствии иметь возможность проанализировать их
Пойдем постепенно:
1. Аналогичное подключение как и в прошлом посте:
2. Прописываем список с пропущенными значениями
np.nan — специальное значение NumPy, обозначающее пропуск
Это не 0, не пустая строка и не None
Это NaN(Not-a-Number) - значение, когда компьютер пытается выполнить математическую операцию, не имеющую числового результата (например, 0 / 0 или корень из отрицательного числа). Это «ошибка» или «пустота» в числовых данных
3. Создаем объект Series из списка
Этот объект - аналог столбца в Excel или SQL
Теперь - это структура для анализа данных и мы сможем к ней применить методы .mean(), .sum(), .isna() и т.д.
Полноценный код выглядит следующим образом:
#АДОМО
Сегодня разберем следующий модуль, который часто используют в лабораторных
NumPy(numpy - Numerical Python) - это библиотека для численных вычислений
Модуль предоставляет возможность:
1. пользоваться многомерными массивами (ndarray)
2. работать с пропущенными значениями (np.nan)
3. использовать быстрые векторные операции и математические функции (mean, std, sum и др.)
Также numpy закладывает основу для знакомого нам pandas и sklearn с matplotlib, которые я разберу в дальнейшем
🧩 Разберем одну из задач лабораторных работ:
Нужно создать данные с пропущенными значениями и впоследствии иметь возможность проанализировать их
Пойдем постепенно:
1. Аналогичное подключение как и в прошлом посте:
import numpy as np
import pandas as pd
2. Прописываем список с пропущенными значениями
data = [5, 3, np.nan, 7, 4, 2, np.nan, 6, 8, 5,
3, np.nan, 7, 4, 2, 6, np.nan, 8, 5, 3]
np.nan — специальное значение NumPy, обозначающее пропуск
Это не 0, не пустая строка и не None
Это NaN(Not-a-Number) - значение, когда компьютер пытается выполнить математическую операцию, не имеющую числового результата (например, 0 / 0 или корень из отрицательного числа). Это «ошибка» или «пустота» в числовых данных
3. Создаем объект Series из списка
study_hours = pd.Series(data)
Этот объект - аналог столбца в Excel или SQL
Теперь - это структура для анализа данных и мы сможем к ней применить методы .mean(), .sum(), .isna() и т.д.
Полноценный код выглядит следующим образом:
import numpy as np
import pandas as pd
data = [5, 3, np.nan, 7, 4, 2, np.nan, 6, 8, 5,
3, np.nan, 7, 4, 2, 6, np.nan, 8, 5, 3]
study_hours = pd.Series(data)
#АДОМО
❤2💯2🤣1
📢 После нескольких постов по модулям и библиотекам, давайте вообще обсудим какие библиотеки и для чего нужны в работе, в каких сферах применяются и какие точно нужно знать
На протяжение нескольких дней будем идти по сферам, сегодня основные модули и библиотеки для анализа:
1. Основные встроенные библиотеки
Это модули, которые идут вместе с Python и используются практически в любом проекте.
2. Анализ данных
Основной стек дисциплины АДОМО и общего анализа
#полезные_ресуры
На протяжение нескольких дней будем идти по сферам, сегодня основные модули и библиотеки для анализа:
1. Основные встроенные библиотеки
Это модули, которые идут вместе с Python и используются практически в любом проекте.
math - работа с математическими функциями: корень, логарифмы, тригонометрия, константы (pi, e) и др. Используется в вычислениях, анализе, моделировании
decimal - точная десятичная арифметика. Используется там, где критична финансовая точность (деньги, бухгалтерия). В отличие от float, не даёт ошибок двоичного округления
datetime - работа с датами и временем: создание дат, форматирование, вычисление разницы. Нужно в логировании, аналитике, backend-разработке
random - генерация случайных чисел, выбор элементов, перемешивание. Применяется в симуляциях, тестировании и ML
os - работа с файловой системой и операционной системой: пути, директории, переменные окружения. Базово применяется для backend и DevOps
sys - работа с параметрами запуска программы, потоками ввода/вывода, системными настройками
json - работа с JSON-форматом. Используется в API, веб-разработке и обмене данными
re - регулярные выражения. Анализ текста, валидация данных и парсинг
2. Анализ данных
Основной стек дисциплины АДОМО и общего анализа
numpy - массивы, математика, линейная алгебра, работа с np.nan.
Фундамент анализа данных и ML
pandas - табличные данные (Series, DataFrame), фильтрация, агрегация, очистка
scipy - расширенная математика: оптимизация, статистика, интегралы, линейная алгебра
statsmodels - статистическое моделирование, регрессии, тестирование гипотез
openpyxl - работа с Excel-файлами (.xlsx)
#полезные_ресуры
🔥2👍1🤣1