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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
Forwarded from YeaHub
🚀 YeaHub развивается

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

Теперь у нас есть:
— yeahub.ru — публичная SEO-ориентированная часть на Next.js с быстрым серверным рендерингом
— app.yeahub.ru — основное приложение: личный кабинет пользователя со статистикой, прогрессом и аналитикой

🔥 Лайвкодинг — наконец-то готов

Мы серьезно прокачали сервис лайвкодинга:
— добавили привязку задач к коллекциям (собеседованиям)
— сделали связь с компаниями
— теперь можно готовиться по задачам с реальных собеседований

Уже доступны задачи из: Сбер, Яндекс, Авито, VK, Ozon, Т-Банк и других компаний.

📌 Сейчас добавлено ~100 задач.

Да, это меньше, чем планировали — но пришлось сделать шаг назад, чтобы сделать десять вперед.

Мы полностью переработали:
— шаблон задач
— систему тесткейсов

Ранее была допущена ошибка, из-за которой пришлось вручную исправить 80+ задач 😢

Но теперь база готова к масштабированию — и мы можем быстро и правильно наполнять её дальше.

📈 Что дальше по лайвкодингу

Мы будем активно развивать этот сервис.
Это не только про собеседования — это инструмент для роста и прокачки.
Планируется много новых фич.

📅 Регулярные обновления контента

Мы выстроили процесс: каждую неделю 4–8 собеседований, 6–10 задач
И каждое обновление будем анонсировать, чтобы вы всегда были в курсе.

🛠 Сейчас в разработке (2 ключевых сервиса)

Агрегатор вакансий + платформа размещения вакансий
ATS-оптимизация резюме
— Бэкенд почти готов.
— Идёт дизайн.
— Фронтенд начнем совсем скоро.

🎯 Цель — выпустить оба сервиса в бэта до лета.

🧠 Новая структура обучения

Раньше было: Навык → Вопрос
Теперь: Навык → Тема → Вопрос

Это сильно упрощает обучение.

Теперь можно: готовиться точечно к собеседованиям или системно изучать темы

💻 Мы — open source

Мы не бросаем слов на ветер. Мы делаем.

Код проекта открыт https://github.com/YeaHubTeam:
— фронтенд
— мобильные приложения
— backend на Python (решили новый сервис делать публично, для новичков)
— автотесты

Это open source платформа, где новички могут учиться и смотреть на реальные практики.

❤️ Поддержка

Вы можете поддержать нас, оформив подписку. Это напрямую влияет на:
— добавление контента
— развитие платформы
— новые фичи

Вы можете быть уверены — мы не стоим на месте. Работа реально кипит: почти каждый день мержатся новые фичи, мы постоянно развиваем продукт и улучшаем уже существующие сервисы.

У нас полностью открытый код, и это не просто слова. Вы в любой момент можете зайти и посмотреть активность, коммиты и то, как проект развивается каждый день.

По подписке: сейчас стоимость — 800 рублей за месяц и 1800 рублей за 3 месяца. Это уже ниже, чем у аналогичных сервисов. При этом важно понимать — после выхода новых сервисов (агрегатор вакансий и ATS для резюме) цена будет пересмотрена.

Если хотите зафиксировать текущую стоимость — лучше сделать это сейчас:
https://app.yeahub.ru/settings#select-tariff

Мы строим продукт.
Мы двигаемся вперёд.
И мы делаем IT снова великим.
💪🚀✊🏻
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #thread #process
🤔 Что такое Thread? Чем он отличается от Process?

💬 Кратко:

В Ruby поток (Thread) — это легковесный исполнительный поток, который выполняется внутри одного процесса. Потоки позволяют параллельно выполнять несколько задач в рамках одного процесса, что позволяет более эффективно использовать ресурсы. Процесс же — это отдельная программа, которая работает в своем собственном адресном пространстве. Каждый процесс может содержать несколько потоков. Основное различие в том, что потоки разделяют память, а процессы работают в отдельных пространствах памяти.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #b-tree #binary_search #index
🤔 Почему поиск в B-tree работает быстрее полного перебора данных?



💬 Кратко:

Потому что B-tree отсеивает ненужные данные, двигаясь по дереву, а не проверяя каждую строку таблицы.

 

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

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

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

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

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

💬 Кратко:

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

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

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

💬 Кратко:

Для подсчета количества потомков класса можно использовать хук inherited. Этот хук вызывается каждый раз, когда новый класс наследуется от текущего класса.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #sql #nosql #database
🤔 Чем SQL отличается от NoSQL? Когда выбрать каждое решение?

💬 Кратко:

SQL (PostgreSQL) использует таблицы со строгой схемой, поддерживает сложные запросы и транзакции. NoSQL (MongoDB, Redis) — гибкие: документы, ключ-значение, графы. Выбирайте SQL для финансовых операций, NoSQL — для масштабируемости и неструктурированных данных (например, логов).

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

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

Репо для тех, кто любит учиться на реальных примерах. Тут собрано более сотни опенсорсных клонов популярных сервисов: от Airbnb до YouTube

Каждый проект снабжен ссылками на исходный код, демками, описанием стека и количеством звезд на GitHub. А у некоторых даже есть туторы по созданию

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

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

💬 Кратко:

Модуль в Ruby — это способ группировать методы, константы и другие модули для их дальнейшего использования в классах. Основное отличие модуля от класса — его нельзя создавать с помощью new. Модули часто применяются для организации кода и реализации множественного наследования через миксины.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #ruby #disadvantages #performance
🤔 Какие проблемы в Ruby (как в языке программирования) вы видите? Какие, по вашему мнению, нужно решать как можно быстрее?

💬 Кратко:

Ruby — это гибкий и удобный язык, однако есть несколько проблем, таких как низкая производительность по сравнению с другими языками (например, Go или Java), а также высокая нагрузка на память при выполнении интенсивных операций. Одной из проблем является отсутствие хорошей поддержки многозадачности и параллельных вычислений. Это можно улучшить через улучшение механизмов многозадачности и оптимизацию скорости выполнения.

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

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

💬 Кратко:
Связи между таблицами в базе данных реализуются с помощью ключей. Первичный ключ (PRIMARY KEY) уникально идентифицирует запись в таблице. Внешний ключ (FOREIGN KEY) в одной таблице ссылается на первичный ключ в другой, создавая связь. Это обеспечивает целостность данных: нельзя удалить запись, на которую есть ссылки. Основные типы связей: один-ко-многим, один-к-одному и многие-ко-многим.

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

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

Основной репозиторий системы оркестрации контейнеров Kubernetes. Здесь можно изучить архитектуру, API, механизмы управления кластерами и принципы работы с контейнерами в распределённой среде. Полезен для понимания низкоуровневых механизмов Kubernetes, разбора паттернов развёртывания и настройки высокодоступных систем.

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

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

💬 Кратко:

Lambda — это разновидность объекта Proc, который представляет собой блок кода с более строгим контролем аргументов. Она создаётся с помощью метода lambda или ->.

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

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

💬 Кратко:

File — это класс в Ruby, используемый для работы с файлами. С его помощью можно читать, записывать и манипулировать файлами.

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

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

💬 Кратко:

serial — это тип данных, который автоматически создает последовательность для генерации уникальных значений для столбца. sequence — это объект, который может использоваться вручную для генерации последовательных чисел. В отличие от serial, последовательность можно использовать в различных местах в базе данных.

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

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

Встречай Gitvizz, инструмент, который мгновенно превращает кодовую базу в интерактивные графы, чтобы наглядно увидеть, как всё связано

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

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

💬 Кратко:

Алиас метода позволяет определить новое имя для существующего метода. Это полезно для совместимости или улучшения читаемости кода.

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

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

💬 Кратко:

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

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #tcp #three #way
🤔 Как устанавливается TCP-соединение и где в этом процессе используется HTTP/HTTPS?

💬 Кратко:

TCP-соединение устанавливается с помощью трехэтапного рукопожатия между клиентом и сервером. Сначала клиент и сервер договариваются о параметрах соединения, и только после этого можно передавать данные. HTTP работает поверх TCP и использует уже установленное соединение. HTTPS добавляет этап шифрования с помощью TLS перед началом передачи HTTP-данных. TCP отвечает за доставку, HTTP — за формат и смысл сообщений.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#video #архитектура
📚 Road to Highload: видеопроект о проектировании архитектуры высоконагруженных систем

Инженеры Яндекс 360 накопили значительный опыт в проектировании и разработке систем, которыми ежедневно пользуются больше 95 миллионов человек ежемесячно.

В этом видеопроекте разработчики на практических примерах рассказывают, как создают архитектуру систем, которые держат 1 000 000 RPS и хранят петабайты мета-данных.

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

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

💬 Кратко:

Исключения (exceptions) — это специальные объекты, сигнализирующие об ошибке. Они применяются для управления неожиданными ситуациями. Исключение можно вызвать с помощью метода raise и отловить с помощью блока begin-rescue.

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

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