Machine Learning | YeaHub
300 subscribers
298 photos
126 videos
531 links
Теория, подготовка к интервью и курсы для ML специалистов

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #weakref #reference #memory
🤔 Чем отличаются слабые и сильные ссылки?

💬 Кратко:

- Сильная ссылка увеличивает счётчик ссылок объекта и предотвращает его удаление.
- Слабая ссылка не влияет на счётчик, поэтому объект может быть удалён сборщиком мусора. Используется для кэшей и обработчиков событий.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #serialization #deserialization #data_format
🤔 Что такое сериализация и десериализация данных?

💬 Кратко:
Сериализация — это процесс преобразования объекта или структуры данных в формат, который можно сохранить (например, в файл) или передать по сети (например, в виде строки JSON или бинарного потока). Десериализация — обратный процесс восстановления объекта из этого формата. Это позволяет обмениваться данными между разными системами, языками программирования или сессиями приложения. Например, веб-сервер сериализует объект в JSON для отправки клиенту, а клиент десериализует JSON обратно в объект JavaScript.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #HTTP_caching #GET_request #browser_cache
🤔 Почему GET-запросы кешируются?

💬 Кратко:
GET-запросы кешируются, потому что они считаются идемпотентными и безопасными — они не изменяют состояние сервера. Кеширование позволяет браузеру и промежуточным прокси сохранять ответы на повторяющиеся GET-запросы, что уменьшает нагрузку на сервер и ускоряет загрузку страниц для пользователя.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#podcast #кейсы #проекты
📚 Machine Learning: Нейросети и машинное обучение

Подкаст "Machine Learning" — это захватывающее путешествие в мир нейросетей, машинного обучения и искусственного интеллекта, созданное для всех, кто хочет разобраться в технологиях, меняющих мир! Каждую неделю мы погружаемся в актуальные темы: от новейших архитектур нейросетей, таких как трансформеры, до применения ИИ в медицине, финансах, играх и творчестве. Вместе с ведущими экспертами, исследователями и практиками мы обсуждаем, как алгоритмы учатся, почему большие языковые модели вроде GPT революционизируют обработку данных, и какие этические дилеммы стоят за развитием ИИ.

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #threading #multiprocessing #asyncio
🤔 Какие способы распараллеливания задач существуют в Python?

💬 Кратко:
В Python есть три основных способа: threading (потоки) для I/O-bound задач, multiprocessing (процессы) для CPU-bound задач и asyncio (асинхронность) для высоконагруженных I/O операций. Из-за GIL потоки не дают прироста в CPU-задачах. Multiprocessing обходит GIL, создавая отдельные процессы. Asyncio использует кооперативную многозадачность в одном потоке.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #iterator #iterable
🤔 Какие методы должен поддерживать итерируемый объект или последовательность в Python?

💬 Кратко:

Итерируемый объект должен реализовывать метод __iter__, который возвращает итератор. Итератор, в свою очередь, должен реализовывать методы __iter__ и __next__. Последовательности часто дополнительно реализуют __len__ и __getitem__, что позволяет итерироваться по ним даже без явного __iter__. Python может использовать __getitem__, начиная с индекса 0, пока не получит исключение IndexError.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #lost #update
🤔 Что такое lost update и при каких условиях он возникает?

💬 Кратко:

Lost update — это ситуация, когда одна транзакция перезаписывает изменения другой, не учитывая их. Это происходит, когда несколько транзакций читают одно значение и затем записывают новое. Если нет механизма блокировок или версионирования, одно обновление теряется. Такая проблема возникает при низких уровнях изоляции.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#book #спам #математика
📚 Грокаем машинное обучение


Автор рассказывает, что такое машинное обучение и показывает его на примере выявления спама и распознавания изображений. Язык программирования — Python. Тут же раскрываются разные методы машинного обучения, освоить которые можно даже со школьным уровнем математики.

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #pandas #dataframe #list
🤔 Какие существуют способы создания DataFrame в Pandas?

💬 Кратко:

В Pandas DataFrame можно создать несколькими способами:

- Пустой DataFrame – pd.DataFrame().
- Из списка – pd.DataFrame(list).
- Из списка списков – pd.DataFrame(list_of_lists).
- Из словаря списков – pd.DataFrame(dict_of_lists).
- Из списка словарей – pd.DataFrame(list_of_dicts).
- Из Series – pd.DataFrame(pd.Series()).
- Из CSV или Excel – pd.read_csv(), pd.read_excel().

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #Python #operator_overloading #addition
🤔 Какие типы данных поддерживают операцию сложения (+) в Python?

💬 Кратко:
Оператор сложения (+) в Python поддерживается для чисел (int, float, complex), строк (str), списков (list), кортежей (tuple) и некоторых других типов, таких как set (через оператор |). Для пользовательских классов можно определить метод __add__.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #two_phase_commit #distributed_transaction
🤔 Почему «отправка в брокер до коммита» не решает транзакционность с двумя очередями?

💬 Кратко:

С двумя независимыми очередями вы упираетесь в проблему двойной записи и отсутствие атомарности между БД и обоими брокерами. Без 2PC (дорого/редко доступно) единственный практичный путь — Outbox + идемпотентные публикации.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#course #матанализ
📚 Введение в математический анализ

Курс представляет собой краткое введение в математический анализ. За 4 модуля слушатели познакомятся с базовыми понятиями математического анализа: последовательностями, пределами, непрерывностью, производными и интегралами.

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #asyncio #threading #concurrency
🤔 Когда стоит использовать asyncio вместо потоков?

💬 Кратко:
Asyncio стоит использовать вместо потоков, когда ваше приложение в основном выполняет операции ввода-вывода (I/O), такие как сетевые запросы, чтение файлов или взаимодействие с базами данных. Asyncio использует один поток и цикл событий, переключаясь между задачами при ожидании I/O, что эффективнее потоков для тысяч одновременных соединений. Потоки лучше подходят для CPU-bound задач или когда требуется параллельное выполнение кода, блокирующего GIL. Asyncio проще для управления конкурентностью и избегает проблем синхронизации потоков.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #architecture #scalability
🤔 Что такое "хорошая архитектура"?

💬 Кратко:

Хорошая архитектура:

- Решает бизнес-задачи (например, обрабатывает 10к запросов/сек).
- Гибкая: Позволяет легко добавлять функции.
- Масштабируемая: Растёт с нагрузкой без переписывания.
- Поддерживаемая: Код понятен новым разработчикам.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #UUID #sharding #database
🤔 Почему при шардировании лучше использовать UUID вместо числового ID?

💬 Кратко:
UUID (универсальный уникальный идентификатор) лучше подходит для шардирования, потому что он генерируется независимо на каждом узле без централизованного счетчика. Это исключает конфликты и узкие места при вставке данных. Числовые автоинкрементные ID требуют синхронизации между шардами, что снижает производительность и усложняет масштабирование.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#article #prompt #engineering
📚 Промптинг и суеверия. Что (не) надо добавлять к запросу в ChatGPT

Статья рассказывает о развитии промптинга — техники составления запросов к большим языковым моделям — и развенчивает мифы, связанные с «волшебными» фразами, которые якобы принципиально улучшают ответы. Автор объясняет, откуда появились популярные приемы (как «Let’s think step by step» или эмоциональные приписки), как они работают на самом деле, и почему многие из них являются скорее психологическими трюками, чем технически обоснованными улучшениями, а также обсуждает эволюцию роли промптинга в эпоху современных моделей, когда сам навык задавать запросы стал частью широкой практики взаимодействия с ИИ (напр., GPT-моделями).

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #cpu #bound
🤔 Как определить, что длительная CPU-операция не зависла?

💬 Кратко:

CPU-операция не считается зависшей, если она продолжает потреблять процессорное время. Это можно проверить через системные метрики или логирование прогресса. Отсутствие отклика не всегда означает зависание. Для контроля используют тайм-ауты, heartbeat-логи и профилировщики. Важно уметь наблюдать выполнение, а не полагаться на субъективные ощущения.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #regex #quantifier
🤔 Что означают основные конструкции регулярных выражений, например диапазоны символов и квантификаторы?

💬 Кратко:

Диапазоны символов задаются в квадратных скобках, например [a-z] — любые буквы от a до z. Квантификаторы определяют количество повторений, например *, +, {3}. Точка означает любой символ, а \d — цифру. Эти конструкции позволяют описывать сложные шаблоны строк.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #build #release #deployment
🤔 В чем разница между build и release?

💬 Кратко:

Build — это процесс преобразования исходного кода в исполняемый файл.

Release — это развертывание собранного кода в продакшн.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#video #машинное_обучение
📚 Курс «Машинное обучение» 2019

Курс состоит из 22-ух видео.
К.В. Воронцов, Школа анализа данных, Яндекс.

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #decorator #args #kwargs
🤔 Как передавать позиционные и именованные аргументы через декоратор?

💬 Кратко:
Для передачи аргументов через декоратор используется внутренняя функция-обертка, которая принимает *args и **kwargs. Это позволяет декоратору обрабатывать любые позиционные и именованные аргументы, переданные декорируемой функции. Внутри обертки эти аргументы передаются в исходную функцию с помощью распаковки.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа