🧠 Восстановление искажённых измерений с дневным смещением
У вас есть температурные измерения за 10 дней, но каждый день датчик добавляет случайное смещение (bias), постоянное в течение дня. Также есть шум измерений.
📊 Ваша задача:
1. Оценить bias по дням
2. Восстановить истинную температуру
3. Посчитать RMSE между восстановленной и настоящей температурой
📦 Генерация данных
🔍 Разбор: как оценить смещение
Идея: температура в течение дня плавно колеблется, но bias в этот день одинаков для всех точек. Если мы "сгладим" значения (например, скользящим средним), то можем аппроксимировать общий тренд — и вычесть его, получив оценку bias.
🔧 Способ: вычтем сглаженный тренд, затем усредним остатки по дню:
```python
# Сглаживаем тренд
df["trend"] = df["measured_temp"].rolling(window=12, center=True, min_periods=1).mean()
# Остатки (приближение к bias)
df["residual"] = df["measured_temp"] - df["trend"]
# Оценка bias как среднее отклонение внутри дня
bias_est = df.groupby("day")["residual"].mean()
df["estimated_bias"] = df["day"].map(bias_est)
# Восстановим температуру: measured - bias
df["restored_temp"] = df["measured_temp"] - df["estimated_bias"]
```
📊 Результаты
Оценим ошибку восстановления:
```python
from sklearn.metrics import mean_squared_error
rmse = mean_squared_error(df["true_temp"], df["restored_temp"], squared=False)
print(f"RMSE восстановления: {rmse:.4f}")
```
> ✅ Обычно RMSE ≈ 0.5–0.7 — это близко к стандартному отклонению шума, значит bias устранён успешно!
💡 Вывод
✔️ Простая техника — сглаживание + усреднение отклонений — позволяет оценить дневные смещения
✔️ Без знания "истинной" температуры можно получить довольно точную реконструкцию
✔️ Это напоминает реальные задачи очистки данных от сенсорных сдвигов или ошибок калибровки
📈 Отличный пример практики Data Science с уклоном в математику, временные ряды и обработку шумов!
У вас есть температурные измерения за 10 дней, но каждый день датчик добавляет случайное смещение (bias), постоянное в течение дня. Также есть шум измерений.
📊 Ваша задача:
1. Оценить bias по дням
2. Восстановить истинную температуру
3. Посчитать RMSE между восстановленной и настоящей температурой
📦 Генерация данных
import pandas as pd
import numpy as np
np.random.seed(42)
days = pd.date_range("2023-01-01", periods=10, freq="D")
true_temp = np.sin(np.linspace(0, 3 * np.pi, 240)) * 10 + 20
bias_per_day = np.random.uniform(-2, 2, size=len(days))
df = pd.DataFrame({
"datetime": pd.date_range("2023-01-01", periods=240, freq="H"),
})
df["day"] = df["datetime"].dt.date
df["true_temp"] = true_temp
df["bias"] = df["day"].map(dict(zip(days.date, bias_per_day)))
df["measured_temp"] = df["true_temp"] + df["bias"] + np.random.normal(0, 0.5, size=240)
🔍 Разбор: как оценить смещение
Идея: температура в течение дня плавно колеблется, но bias в этот день одинаков для всех точек. Если мы "сгладим" значения (например, скользящим средним), то можем аппроксимировать общий тренд — и вычесть его, получив оценку bias.
🔧 Способ: вычтем сглаженный тренд, затем усредним остатки по дню:
```python
# Сглаживаем тренд
df["trend"] = df["measured_temp"].rolling(window=12, center=True, min_periods=1).mean()
# Остатки (приближение к bias)
df["residual"] = df["measured_temp"] - df["trend"]
# Оценка bias как среднее отклонение внутри дня
bias_est = df.groupby("day")["residual"].mean()
df["estimated_bias"] = df["day"].map(bias_est)
# Восстановим температуру: measured - bias
df["restored_temp"] = df["measured_temp"] - df["estimated_bias"]
```
📊 Результаты
Оценим ошибку восстановления:
```python
from sklearn.metrics import mean_squared_error
rmse = mean_squared_error(df["true_temp"], df["restored_temp"], squared=False)
print(f"RMSE восстановления: {rmse:.4f}")
```
> ✅ Обычно RMSE ≈ 0.5–0.7 — это близко к стандартному отклонению шума, значит bias устранён успешно!
💡 Вывод
✔️ Простая техника — сглаживание + усреднение отклонений — позволяет оценить дневные смещения
✔️ Без знания "истинной" температуры можно получить довольно точную реконструкцию
✔️ Это напоминает реальные задачи очистки данных от сенсорных сдвигов или ошибок калибровки
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Data Secrets
Кто обучает будущих архитекторов AGI
Каждый второй стартап пишет «AI-native» в питч-деке, но остаётся вопрос: кто вообще готовит тех, кто сможет строить такие системы?
Это преподаватели и эксперты-практики, которые не только работают в индустрии, но и делятся знаниями со студентами. Они читают курсы, вытаскивают студентов в реальные проекты и актуализируют программы в университетах.
Yandex ML Prize 2025 как раз про таких — про тех, кто стоит у истоков индустрии, хотя их обычно не видно в релизах и исследованиях. В этом году премия от Яндекса вручает гранты и поддерживает преподавателей, которые формируют будущую экосистему ML в России.
Прием заявок на премию открыт до 22 июня. Категории: от преподавателей со стажем до руководителей целых ML-программ.
Каждый второй стартап пишет «AI-native» в питч-деке, но остаётся вопрос: кто вообще готовит тех, кто сможет строить такие системы?
Это преподаватели и эксперты-практики, которые не только работают в индустрии, но и делятся знаниями со студентами. Они читают курсы, вытаскивают студентов в реальные проекты и актуализируют программы в университетах.
Yandex ML Prize 2025 как раз про таких — про тех, кто стоит у истоков индустрии, хотя их обычно не видно в релизах и исследованиях. В этом году премия от Яндекса вручает гранты и поддерживает преподавателей, которые формируют будущую экосистему ML в России.
Прием заявок на премию открыт до 22 июня. Категории: от преподавателей со стажем до руководителей целых ML-программ.
Forwarded from Machinelearning
Media is too big
VIEW IN TELEGRAM
По словам Павла Дурова, его платформа и компания Илона Маска xAI заключили годовое соглашение. xAI заплатит Telegram $300 млн. за интеграцию чат-бота Grok прямо в мессенджер. Помимо этого, Telegram также будет получать 50% от выручки с подписок на Grok, которые будут продаваться внутри платформы.
Илон Маск позже написал в X: "Контракт еще не подписан". Однако он не стал уточнять детали, оставив вопрос открытым. Пока что официальная позиция Telegram – сделка есть, и она принесет пользователям лучший ИИ на рынке уже этим летом.
Новость пришла на фоне важных для Telegram событий: сервис преодолел отметку в 1 млрд. активных пользователей в месяц в этом году и разместил облигации на $1.5 млрд.
Pavel Durov
Anthropic сняла ограничения с функции веб-поиска в Claude: теперь даже бесплатные пользователи смогут получать ответы на основе актуальных данных из интернета. Ранее, доступ к этой опции, которая анализирует информацию в реальном времени, был эксклюзивом для платных подписчиков. Это изменение позволит чаще обновлять знания модели и точнее решать задачи.
Параллельно стартовало тестирование голосового режима в мобильном приложении. Пользователи могут общаться с Claude в формате диалога, выбирая из 5 вариантов голоса и получать краткие текстовые сводки прошлых бесед. По умолчанию для диалогов задействована модель Sonnet 4.
support.anthropic
OpenAI активно прорабатывает функцию "Вход через ChatGPT", позволяющую пользователям авторизовываться в сторонних приложениях через свои аккаунты ChatGPT. Компания уже собирает заявки от разработчиков, желающих интегрировать эту опцию в свои сервисы. Пилотный запуск для тестирования уже доступен в Codex CLI — инструменте для работы с ИИ в терминале. Разработчики могут подключить ChatGPT Free, Plus или Pro к своим API-аккаунтам, получая бонусные кредиты ($5 для Plus и $50 для Pro).
Это стратегический ход для расширения экосистемы. С 600 млн активных пользователей ежемесячно, "Вход через ChatGPT" может стать ключевым элементом, помогая OpenAI конкурировать с Google и Apple в сфере единого входа и онлайн-сервисов. Точные сроки публичного релиза пока неизвестны.
techcrunch
К своему юбилею Google Photos получает мощное обновление, сфокусированное на ИИ-редактировании. Сервис, где ежемесячно редактируют 210 млн. снимков, теперь предлагает умные подсказки по улучшению кадра одним нажатием. Можно тыкнуть пальцем или обвести область — нейросеть предложит подходящий инструмент. Главные новинки — "Reimagine" и "Auto Frame", ранее доступные только на Pixel 9.
"Reimagine" меняет выбранный объект или добавляет новый по текстовому запросу через генеративный ИИ. "Auto Frame" автоматически кадрирует фото, а нейросеть дорисовывает фон. Плюс Google добавит QR-коды для альбомов, чтобы удобно собирать фото с мероприятий. Правда, обновленный редактор появится на Android в июне, а владельцам iPhone ждать до конца года.
arstechnica
С 28 мая стартовал прием заявок на ежегодную премию Yandex ML Prize 2025. Эта награда — реальное признание и поддержка для тех, кто растит новые кадры ML в России. Премия существует с 2019 года как память об Илье Сегаловиче, и за шесть лет её получили уже 60 выдающихся педагогов и руководителей.
Податься могут вузовские преподаватели, ученые из исследовательских центров и руководители образовательных программ в области Сomputer Science. Победителей ждут денежные призы и полезные гранты на Yandex Cloud, которые точно пригодится в работе: делать новые курсы, организовывать хакатоны и проводить исследования вместе со студентами.
Заявки принимают до 22 июня. Само награждение, как обычно, пройдет осенью.
habr.com
@ai_machinelearning_big_data
#news #ai #ml
Please open Telegram to view this post
VIEW IN TELEGRAM
Таблицы интегралов и другое.pdf
55.9 MB
Таблицы интегралов и другие математические формулы
Г. Б. Двайт
Содержит подробные таблицы неопределенных и определенных интегралов, много других математических формул.
Г. Б. Двайт
Содержит подробные таблицы неопределенных и определенных интегралов, много других математических формул.
🧠 Загадка: 9 + 9 = ??
На первый взгляд — обычные примеры. Но смотри внимательнее:
Стандартная арифметика тут не работает. Найдём скрытую логику:
Разберём:
• 5 × 5 = 25 → 25 + 1 = 26
• 6 × 6 = 36 → 36 + 2 = 38
• 7 × 7 = 49 → 49 + 3 = 52
Кажется, формула такая:
🔍 **x + x = (x × x) + (x − 4)**
Тогда:
```
9 + 9 = 9 × 9 + (9 − 4) = 81 + 5 = ✅ **86**
```
📌 Ответ: **86**
#Логика #Головоломка #Математика #Mindset #Пазлы
На первый взгляд — обычные примеры. Но смотри внимательнее:
5 + 5 = 26
6 + 6 = 38
7 + 7 = 52
9 + 9 = ??
Стандартная арифметика тут не работает. Найдём скрытую логику:
Разберём:
• 5 × 5 = 25 → 25 + 1 = 26
• 6 × 6 = 36 → 36 + 2 = 38
• 7 × 7 = 49 → 49 + 3 = 52
Кажется, формула такая:
🔍 **x + x = (x × x) + (x − 4)**
Тогда:
```
9 + 9 = 9 × 9 + (9 − 4) = 81 + 5 = ✅ **86**
```
📌 Ответ: **86**
Мультимодальная модель от NVIDIA уверенно занимает первое место на OCRBench v2, показав лучшую точность парсинга документов среди всех моделей.
📄 Что это такое:
Llama Nemotron Nano VL — лёгкая vision-language модель для интеллектуальной обработки документов (IDP), которая:
• разбирает PDF
• вытаскивает таблицы
• парсит графики и диаграммы
• работает на одной GPU
– Вопрос-ответ по документам
– Извлечение таблиц
– Анализ графиков
– Понимание диаграмм и дешбордов
📊 OCRBench v2 — крупнейший двухъязычный бенчмарк для визуального анализа текста, и именно NVIDIA Nano VL показывает лучший результат.
#Nemotron #NVIDIA
Please open Telegram to view this post
VIEW IN TELEGRAM
🤖 AlphaEvolve: ИИ от DeepMind, который создаёт новые алгоритмы
В мае 2025 года DeepMind представила AlphaEvolve — универсального ИИ-агента, способного самостоятельно разрабатывать и оптимизировать алгоритмы. Это не просто генератор кода: AlphaEvolve сочетает мощь языковых моделей Gemini с эволюционными методами поиска и автоматической проверкой решений.
🧠 Что умеет AlphaEvolve?
- Решение сложных математических задач: AlphaEvolve улучшил нижнюю границу числа поцелуев в 11 измерениях с 592 до 593 — впервые за десятилетия :contentReference[oaicite:0]{index=0}.
- Оптимизация алгоритмов умножения матриц: Превзошёл алгоритм Штрассена 1969 года, сократив количество умножений для 4×4 матриц с 49 до 48 :contentReference[oaicite:1]{index=1}.
- Улучшение инфраструктуры Google: Повысил эффективность дата-центров на 1%, оптимизировал дизайн TPU и ускорил обучение моделей Gemini :contentReference[oaicite:2]{index=2}.
⚙️ Как это работает?
AlphaEvolve использует:
1. Исходный алгоритм и функцию оценки.
2. Языковую модель Gemini, чтобы генерировать варианты решения.
3. Автоматическую проверку для оценки эффективности каждого варианта.
4. Эволюционный цикл: лучшие решения сохраняются и используются для генерации новых.
Такой подход позволяет AlphaEvolve находить решения, которые ранее были недоступны даже экспертам.
📊 Результаты
- В 75% случаев AlphaEvolve воспроизводил известные оптимальные решения.
- В 20% случаев находил новые, более эффективные решения.
- В оставшихся 5% — результаты были хуже известных, что подчёркивает необходимость дальнейших исследований :contentReference[oaicite:3]{index=3}.
🌐 Почему это важно?
AlphaEvolve демонстрирует, что ИИ способен не только повторять известные решения, но и создавать новые знания. Это шаг к ИИ, который может активно участвовать в научных открытиях и инженерных разработках.
🔗 Подробнее
#DeepMind #AlphaEvolve #ИИ #Алгоритмы #Наука #Технологии #Gemini
В мае 2025 года DeepMind представила AlphaEvolve — универсального ИИ-агента, способного самостоятельно разрабатывать и оптимизировать алгоритмы. Это не просто генератор кода: AlphaEvolve сочетает мощь языковых моделей Gemini с эволюционными методами поиска и автоматической проверкой решений.
🧠 Что умеет AlphaEvolve?
- Решение сложных математических задач: AlphaEvolve улучшил нижнюю границу числа поцелуев в 11 измерениях с 592 до 593 — впервые за десятилетия :contentReference[oaicite:0]{index=0}.
- Оптимизация алгоритмов умножения матриц: Превзошёл алгоритм Штрассена 1969 года, сократив количество умножений для 4×4 матриц с 49 до 48 :contentReference[oaicite:1]{index=1}.
- Улучшение инфраструктуры Google: Повысил эффективность дата-центров на 1%, оптимизировал дизайн TPU и ускорил обучение моделей Gemini :contentReference[oaicite:2]{index=2}.
⚙️ Как это работает?
AlphaEvolve использует:
1. Исходный алгоритм и функцию оценки.
2. Языковую модель Gemini, чтобы генерировать варианты решения.
3. Автоматическую проверку для оценки эффективности каждого варианта.
4. Эволюционный цикл: лучшие решения сохраняются и используются для генерации новых.
Такой подход позволяет AlphaEvolve находить решения, которые ранее были недоступны даже экспертам.
📊 Результаты
- В 75% случаев AlphaEvolve воспроизводил известные оптимальные решения.
- В 20% случаев находил новые, более эффективные решения.
- В оставшихся 5% — результаты были хуже известных, что подчёркивает необходимость дальнейших исследований :contentReference[oaicite:3]{index=3}.
🌐 Почему это важно?
AlphaEvolve демонстрирует, что ИИ способен не только повторять известные решения, но и создавать новые знания. Это шаг к ИИ, который может активно участвовать в научных открытиях и инженерных разработках.
🔗 Подробнее
#DeepMind #AlphaEvolve #ИИ #Алгоритмы #Наука #Технологии #Gemini
Хотите попасть в аналитику, но теряетесь в море информации и не понимаете, какие навыки действительно важны? Боитесь, что без опыта вас не возьмут на работу? И да, ещё один популярный вопрос — а что, если мне 30/40/50+ лет?
Андрон Алексанян — эксперт по аналитике с 8-летним опытом и по совместительству CEO Simulative — покажет рабочие схемы и чёткий план, как устроиться в аналитику быстрее, даже если у вас нет опыта
Что будет на вебинаре?
— покажут реальные примеры, как оформить резюме и портфолио, чтобы привлекать внимание;
— обсудите, какие отклики работают, а какие сразу отправляют в корзину;
— изнанка найма: инсайдерский взгляд на процессы отбора
🕗 Важно досмотреть вебинар до конца, чтобы получить бонус от Simulative, который поможет бустануть карьеру
Please open Telegram to view this post
VIEW IN TELEGRAM
🦆 Как использовать DuckDB с Python: практическое руководство по аналитике
DuckDB — это современная in-process аналитическая СУБД, разработанная как “SQLite для аналитики”. Она идеально подходит для обработки больших объёмов данных на локальной машине без необходимости поднимать сервер или использовать тяжёлые хранилища.
📦 Что делает DuckDB особенной?
- Работает как библиотека внутри Python (через `duckdb`)
- Поддерживает SQL-запросы напрямую к pandas DataFrame, CSV, Parquet, Arrow и другим источникам
- Оптимизирована под аналитические запросы: агрегации, группировки, фильтрации
- Мгновенно работает с большими файлами без предварительной загрузки
🧪 Пример рабочего сценария:
1️⃣ Чтение и анализ Parquet-файла:
2️⃣ Интеграция с pandas:
3️⃣ Объединение нескольких источников:
🧠 Почему это важно:
- 📊 Вы можете использовать SQL и pandas одновременно
- 🚀 DuckDB быстрее pandas в большинстве аналитических задач, особенно на больших данных
- 🧩 Поддержка стандартов данных (Parquet, Arrow) даёт нативную интеграцию с экосистемой Data Science
- 🔧 Не требует настройки: просто установите через
🎯 Применения:
- Локальный анализ данных (до десятков ГБ) — без Spark
- Объединение таблиц из разных форматов (Parquet + CSV + DataFrame)
- Прототипирование ETL-пайплайнов и построение дашбордов
- Быстрая агрегация и отчёты по логам, BI-данным, IoT-стримам и пр.
📌 Советы:
- Используйте
- Результаты запросов можно конвертировать обратно в pandas через
- DuckDB поддерживает оконные функции,
🔗 Подробный гайд:
https://www.kdnuggets.com/integrating-duckdb-python-an-analytics-guide
#DuckDB #Python #DataScience #Analytics #SQL #Pandas #Parquet #BigData
DuckDB — это современная in-process аналитическая СУБД, разработанная как “SQLite для аналитики”. Она идеально подходит для обработки больших объёмов данных на локальной машине без необходимости поднимать сервер или использовать тяжёлые хранилища.
📦 Что делает DuckDB особенной?
- Работает как библиотека внутри Python (через `duckdb`)
- Поддерживает SQL-запросы напрямую к pandas DataFrame, CSV, Parquet, Arrow и другим источникам
- Оптимизирована под аналитические запросы: агрегации, группировки, фильтрации
- Мгновенно работает с большими файлами без предварительной загрузки
🧪 Пример рабочего сценария:
1️⃣ Чтение и анализ Parquet-файла:
import duckdb
duckdb.sql("SELECT COUNT(*), AVG(price) FROM 'data.parquet'")
2️⃣ Интеграция с pandas:
import pandas as pd
df = pd.read_csv("data.csv")
result = duckdb.sql("SELECT category, AVG(value) FROM df GROUP BY category").df()
3️⃣ Объединение нескольких источников:
duckdb.sql("""
SELECT a.user_id, b.event_time
FROM 'users.parquet' a
JOIN read_csv('events.csv') b
ON a.user_id = b.user_id
""")
🧠 Почему это важно:
- 📊 Вы можете использовать SQL и pandas одновременно
- 🚀 DuckDB быстрее pandas в большинстве аналитических задач, особенно на больших данных
- 🧩 Поддержка стандартов данных (Parquet, Arrow) даёт нативную интеграцию с экосистемой Data Science
- 🔧 Не требует настройки: просто установите через
pip install duckdb
🎯 Применения:
- Локальный анализ данных (до десятков ГБ) — без Spark
- Объединение таблиц из разных форматов (Parquet + CSV + DataFrame)
- Прототипирование ETL-пайплайнов и построение дашбордов
- Быстрая агрегация и отчёты по логам, BI-данным, IoT-стримам и пр.
📌 Советы:
- Используйте
read_parquet
, read_csv_auto
и from_df()
для гибкой загрузки данных - Результаты запросов можно конвертировать обратно в pandas через
.df()
- DuckDB поддерживает оконные функции,
GROUP BY
, JOIN
, UNION
, LIMIT
, подзапросы и многое другое — это полноценный SQL-движок🔗 Подробный гайд:
https://www.kdnuggets.com/integrating-duckdb-python-an-analytics-guide
#DuckDB #Python #DataScience #Analytics #SQL #Pandas #Parquet #BigData
🔥 Успех в IT = скорость + знания + окружение
Здесь ты найдёшь всё это — коротко, по делу и без воды.
Пока другие ищут, где “подглядеть решение”, ты уже используешь самые свежие инструменты!
AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Собеседования DS: t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
Devops: t.me/DevOPSitsec
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/java_library
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://t.me/gamedev
Haskell: t.me/haskell_tg
Физика: t.me/fizmat
💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://t.me/addlist/mzMMG3RPZhY2M2Iy
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy
Подпишись, если хочешь быть в числе тех, кого зовут в топовые проекты!
Здесь ты найдёшь всё это — коротко, по делу и без воды.
Пока другие ищут, где “подглядеть решение”, ты уже используешь самые свежие инструменты!
AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Собеседования DS: t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
Devops: t.me/DevOPSitsec
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/java_library
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://t.me/gamedev
Haskell: t.me/haskell_tg
Физика: t.me/fizmat
💼 Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://t.me/addlist/mzMMG3RPZhY2M2Iy
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
📕Ит-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy
Подпишись, если хочешь быть в числе тех, кого зовут в топовые проекты!
This media is not supported in your browser
VIEW IN TELEGRAM
Хотите логировать или модифицировать поведение импортируемых модулей?
Используйте механизм sys.meta_path и свои кастомные import hooks!
Зачем это нужно:
• Автоматический патчинг сторонних библиотек
• Логирование импорта для аудита или отладки
• Подмена модулей “на лету” для тестирования или “горячих фиксов”
Пример — ловим каждый импорт и выводим имя модуля:
import sys
class ImportLoggerFinder:
def find_spec(self, fullname, path, target=None):
print(f'Импортируется: {fullname}')
return None # Не вмешиваемся, просто логируем
sys.meta_path.insert(0, ImportLoggerFinder())
# Теперь при любом импорте будет выводиться имя загружаемого модуля
import json
import math
import requests
# Вы увидите:
# Импортируется: json
# Импортируется: math
# Импортируется: requests
С помощью такого подхода можно делать глубокий аудит, динамические патчи или реализовать кастомные протоколы импорта для своих нужд. Очень мощный, но малоизвестный инструмент стандартной библиотеки!
Сохрани себе, чтобы не потерять 😎
Please open Telegram to view this post
VIEW IN TELEGRAM