Ruby Backend | YeaHub
55 subscribers
111 photos
30 videos
406 links
Теория, подготовка к интервью и курсы для Ruby разработчиков

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #database #index #performance
🤔 Как вы определяли, какие индексы нужны для оптимизации?

💬 Кратко:

Необходимость индексов определяется путем анализа медленных запросов с помощью логов БД или инструментов мониторинга. Индексы обычно создаются для столбцов, которые часто фигурируют в условиях WHERE, JOIN или ORDER BY. Главный принцип — индексировать те запросы, которые выполняются медленно и критичны для приложения, избегая избыточности, так как индексы замедляют операции записи.

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

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

Здесь вы найдете разнообразный IT-контент: от глубоких технических обсуждений до увлекательных и расслабляющих бесед. Наши эпизоды охватывают широкий спектр тем, связанных с разработкой и новейшими технологиями, чтобы каждый разработчик нашел что-то для себя. Присоединяйтесь к нам, чтобы углубить свои знания, оставаться в тренде и вдохновляться новыми идеями!

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #singleton #method #eigenclass
🤔 Что такое Singleton-метод?

💬 Кратко:

Singleton-метод — это метод, который определён для одного конкретного объекта, а не для класса, к которому он принадлежит.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #monkey_patching #open_class #overriding
🤔 Что такое monkey patching?

💬 Кратко:

Monkey patching — это изменение или добавление методов в существующие классы или модули. Это мощный инструмент, но его неправильное использование может создать конфликты и баги.

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

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

💬 Кратко:
В идеальной микросервисной архитектуре каждый сервис должен иметь свою собственную базу данных для достижения полной независимости развёртывания и масштабирования. Это позволяет командам выбирать наиболее подходящую технологию хранения данных для своей предметной области. Однако на практике строгое следование этому правилу может привести к излишней сложности, дублированию данных и проблемам с согласованностью. Решение часто является компромиссом, где критичные сервисы имеют отдельные БД, а менее важные могут безопасно делиться одним экземпляром.

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

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

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

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

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

💬 Кратко:

Основные различия между proc и lambda в Ruby:

- lambda строго проверяет количество аргументов, а proc — нет.
- При использовании return в lambda, она возвращается только из самой себя, тогда как proc завершает выполнение всего метода.

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

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

💬 Кратко:

Последовательные аргументы передаются в определённом порядке, а именованные можно передавать в произвольном порядке, используя ключи.

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

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

💬 Кратко:
GET-запрос предназначен только для получения данных, а не для их создания. Согласно стандарту HTTP, GET является безопасным (safe) и идемпотентным (idempotent) методом, что означает, что он не должен изменять состояние сервера. Использование GET для создания ресурса нарушает эту семантику, может привести к непредсказуемому поведению (например, кеширование, повторные запросы браузером) и проблемам с безопасностью, так как параметры запроса видны в URL и истории браузера.

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

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

Podcast by IT-компания Kolesa Group. В целом он обо всём и вся. Интересно для прослушивания на досуге

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

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

💬 Кратко:

Ruby поддерживает основные типы данных: числа (Integer, Float), строки (String), булевы значения (true, false), массивы (Array), хэши (Hash), символы (Symbol), диапазоны (Range), а также специальные значения (nil).

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

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

💬 Кратко:

В Ruby есть четыре типа переменных:

- Локальные (local_variable) — видны только внутри блока, метода или класса.
- Переменные экземпляра (@instance_variable) — принадлежат конкретному объекту.
- Переменные класса (@@class_variable) — делятся между всеми экземплярами класса.
- Глобальные ($global_variable) — доступны из любого места программы.

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

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

💬 Кратко:

Кроме DISTINCT, уникальности записей можно добиться с помощью GROUP BY по всем нужным столбцам, использованием оконных функций (например, ROW_NUMBER()) с фильтрацией, или путем агрегации и последующего разворачивания данных. Каждый метод имеет свои применения в зависимости от контекста.

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

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

Простое руководство по изучению Ruby с примерами кода.

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

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

💬 Кратко:

Модуль — это контейнер для методов и констант, который нельзя инстанцировать как объект. В классы его можно подключить через include (включает методы как методы экземпляра), extend (добавляет методы как методы класса) или prepend (переопределяет методы класса).

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

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

💬 Кратко:

Методы наследуются от родительского класса, если они не переопределены. Методы можно переопределить в дочернем классе, чтобы изменить их поведение.

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

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

Простой способ изучить основные команды Ruby, постепенно продвигаясь дальше к более сложным задачам.

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

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

💬 Кратко:

Методы с ? в конце обычно возвращают логическое значение (true или false) и используются для проверки условий. Методы с ! означают, что они изменяют объект на месте или имеют потенциально "опасное" поведение по сравнению с их безопасной версией.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #open_class #overriding #dynamic_programming
🤔 Что означает open class?

💬 Кратко:

Open class — это способность Ruby изменять или дополнять существующие классы в любой момент программы. Это позволяет добавлять новые методы или переопределять существующие.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #sql #aggregation
🤔 Как написать SQL-запрос для выбора профилей с >10 постами?

💬 Кратко:

Используйте GROUP BY и HAVING для фильтрации по количеству постов:
SELECT profile_id, COUNT(*) as post_count 
FROM posts
GROUP BY profile_id
HAVING COUNT(*) > 10;


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

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

Целью курса является обучение слушателей теоретическим основам объектно-ориентированного подхода, практическим методам визуального проектирования и технологии разработки программного обеспечения с использованием компьютеризированных систем разработки (CASE

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

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