Featuretools — это Python-библиотека для автоматического создания признаков из реляционных данных и временных рядов.
Вместо того чтобы часами придумывать и кодить агрегации руками, ты описываешь структуру сущностей и их связи, а библиотека сама генерирует сотни осмысленных фич через механизм Deep Feature Synthesis.
Установка библиотеки:
pip install featuretools
При этом она умеет учитывать временные зависимости, чтобы не допустить утечки данных из будущего, и легко интегрируется в существующие ML-пайплайны.
🅿🆁🅾 𝐏𝐲𝐭𝐡𝐨𝐧
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
В этой статье мы разберем, как использовать классы для описания сущностей с данными и поведением, а также изучим три столпа ООП — наследование, инкапсуляцию и полиморфизм.
Плюс рассмотрим специальные методы, абстрактные классы и dataclasses на практическом примере.
🅿🆁🅾 𝐏𝐲𝐭𝐡𝐨𝐧
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍4
Библиотека для работы с системным хранилищем учетных данных (Keychain, KWallet, Secret Service). Позволяет безопасно хранить и получать пароли, используя механизмы защиты ОС.
Установка библиотеки:
pip install keyring
Пример использования:
import keyring
# Сохранение
keyring.set_password("my_app", "username", "secret123")
# Получение
password = keyring.get_password("my_app", "username")
Устраняет необходимость хранения паролей в конфигах или коде, используя защищенные системные хранилища.
🅿🆁🅾 𝐏𝐲𝐭𝐡𝐨𝐧
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
В этой статье мы разберем практические методы ускорения медленных автотестов — от параллельного запуска через pytest-xdist до замены sleep() на умные ожидания и рефакторинга тестовых данных.
Автор на реальном проекте сократил время прогона с 17 до 2 минут.
🅿🆁🅾 𝐏𝐲𝐭𝐡𝐨𝐧
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Datasketch — это библиотека, которая помогает работать с огромными данными, не загружая их полностью в память.
Она использует вероятностные алгоритмы, чтобы оценивать сходство между наборами данных и точно подсчитывать уникальные элементы в потоке, жертвуя незначительной точностью ради огромной экономии памяти и времени.
Установка библиотеки:
pip install datasketch
Если нужно быстро находить почти одинаковые записи в логах, сравнивать большие тексты или считать уникальных пользователей — этот инструмент сделает это с минимальными затратами ресурсов.
🅿🆁🅾 𝐏𝐲𝐭𝐡𝐨𝐧
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1
Vulture — это инструмент для статического анализа кода на Python, который помогает находить "мертвый" код, то есть код, который никогда не используется в проекте.
Установка библиотеки:
pip install vulture
vulture my_project/
Vulture анализирует код и выводит список неиспользуемых элементов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
SQLAlchemy предоставляет мощные инструменты для создания гибких SQL-запросов.
Пример:
from sqlalchemy import case
query = session.query(
User.name,
case(
(User.age >= 18, "Adult"),
(User.age < 18, "Child")
).label("age_group")
)
Пример:
from sqlalchemy import or_
query = session.query(User).filter(or_(User.name == "John", User.age == 25))
Пример:
from sqlalchemy import and_
query = session.query(User).filter(and_(User.name == "John", User.age == 25))
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤3
Python — это мощный и универсальный язык программирования, который подходит как для начинающих, так и для опытных разработчиков.
Он славится своей читабельностью и простотой синтаксиса, что позволяет быстрее осваивать его и создавать сложные приложения.
Please open Telegram to view this post
VIEW IN TELEGRAM
1😁2❤1
Один из методов защиты информации — это стеганография, техника, использующая невидимые элементы для скрытия секретных данных в более привычных для восприятия объектах, таких как изображения.
Как это работает:
🔵 Метод LSB (Least Significant Bit) изменяет наименее значимые биты пикселей изображения для кодирования сообщения. Эти изменения обычно незаметны для человеческого глаза.🔵 Изображение со скрытым сообщением выглядит практически идентично оригиналу, но содержит дополнительную информацию.
Установка библиотеки:
pip install stegano
Пример:
from stegano import lsb
# Скрытие секретного сообщения в изображении
secret = lsb.hide('image.png', 'Your secret message')
# Сохранение изображения со скрытым сообщением
secret.save('secret_img.png')
# Извлечение скрытого сообщения из изображения
print(lsb.reveal('secret_img.png'))
# Вывод → Your secret message
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Эффективные SQL-запросы помогают быстро получать данные и минимизировать нагрузку на базу данных. Вот пять ключевых советов для их создания:
Индексы ускоряют поиск данных. Убедитесь, что столбцы в условиях
WHERE, JOIN и ORDER BY индексированы.Пример:
CREATE INDEX idx_user_name ON users (name);
Выбирайте только те столбцы, которые вам нужны. Это уменьшает объем данных, передаваемых между базой данных и приложением.
Пример:
SELECT id, name FROM users WHERE age > 18;
Предпочитайте
INNER JOIN, если это возможно, и убедитесь, что столбцы для соединения индексированы.Пример:
SELECT u.name, o.order_id
FROM users u
INNER JOIN orders o ON u.id = o.user_id;
Для выборки ограниченного числа строк используйте
LIMIT и OFFSET. Это особенно полезно для пагинации.Пример:
SELECT * FROM users ORDER BY id LIMIT 10 OFFSET 20;
Команда
EXPLAIN помогает понять, как выполняется запрос, и выявить узкие места.Пример:
EXPLAIN SELECT * FROM users WHERE age > 18;
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
В Git есть две команды для удаления веток: -d и -D, каждая из которых имеет свои особенности.
git branch -d <ветка>
Если изменения не были слиты, Git выведет предупреждение и не позволит удалить ветку.
git branch -D <ветка>
⚠️ Будьте осторожны! Это может привести к потере данных, если ветка содержит незаконченные важные изменения.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤29👍10👀6😁1
Автор проводит серию замеров и выясняет, что в операциях создания и изменения объектов обычные датаклассы (особенно со слотами) значительно быстрее Pydantic.
Однако при парсинге и валидации данных извне мощь Pydantine раскрывается полностью — он делает это эффективнее и безопаснее, чем датаклассы со стандартным json.
Используйте Pydantic для разбора и валидации «сырых» данных, но храните и обрабатывайте результат в быстрых датаклассах.
Вывод прост:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
Сливая ветки в системе контроля версий, таких как Git, могут возникнуть merge-конфликты.
Чтобы решить конфликт, следуй этим шагам:🔢 Определи конфликтные файлы: Git подскажет, в каких файлах произошел конфликт.🔢 Открой конфликтные файлы: Найдешь секции, отмеченные <<<<<<<, =======, и >>>>>>>. Это указывает на разные версии изменений.🔢 Редактируй файл: Реши, какие изменения оставить, а какие удалить, затем сохрани файл.🔢 Добавь изменения: Выполни команду git add <имя_файла>.🔢 Заверши слияние: Используй команду git commit для завершения процесса.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Feedparser - это удобная библиотека Python, которая предоставляет простой и эффективный способ для чтения данных из различных RSS/Atom-лент.
Она обеспечивает легкий доступ к информации, содержащейся в различных форматах фидов, включая заголовки, описания, ссылки и другие данные.
Установка библиотеки:
pip install feedparser
Этот код загружает данные из RSS-ленты с веб-сайта и выводит заголовки и описания новостей.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Команды для работы с файлами:🟢 ls— вывод содержимого каталога;🟢 ls -la— вывод содержимого каталога в форматированном виде (в т.ч. скрытые файлы);🟢 cd dir— перейти в каталог dir;🟢 cd— перейти в домашний каталог;🟢 pwd— показать текущий каталог;🟢 mkdir dir— создать каталог dir;🟢 rm file— удалить файл;🟢 rm -r dir— удалить каталог dir;🟢 rm -f file— принудительно удалить файл;🟢 rm -rf dir— принудительно удалить каталог dir;🟢 cp file1 file2— скопировать file1 в file2;🟢 cp -r dir1 dir2— скопировать каталог dir1 в каталог dir2 (если каталога dir2 нет, он будет создан);🟢 mv file1 file2— переместить (или переименовать, если file1 и file2 находятся в одном каталоге) file1 в file2;🟢 ln -s file link— создать симлинк link на файл file;🟢 touch file— создать файл;🟢 cat > file— направить стандартный ввод в file;🟢 more file— вывод содержимого file;🟢 head file— вывод содержимого первых 10 строк file;🟢 tail file— вывод содержимого последних 10 строк file;🟢 tail -f file— вывод содержимого file по мере появления, начиная с последних 10 строк файла.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥5👀1
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9