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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#Собес
🤔 Что такое Hash в Ruby? Чем Hash отличается от массива?

Hash - это коллекция пар ключ-значение, где каждое значение связано с уникальным ключом. В отличие от массива, где элементы упорядочены и индексируются числами, в хэше порядок не важен, и доступ к значениям осуществляется через ключи.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Генерация OpenAPI-схемы из сериализаторов в Rails-приложениях

На митапе Kyobashi.rb Andrey Novikov поделился крутым подходом к автоматической генерации OpenAPI-схемы прямо из сериализаторов в Rails-приложениях.

Теперь не нужно вручную описывать каждое поле или endpoint — всё делается автоматически на уровне стека Rails. Это экономит время, уменьшает количество ошибок и делает документацию всегда актуальной.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Что такое Range и зачем его используют?

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 Лучший паттерн для Hotwire-приложений

🟠 Создаём компонент для отображения
🟠 Когда бэкенд что-то делает, используем turbo_stream, чтобы перерисовать компонент с новыми данными
🟠 То же самое работает, когда модель обновляется через Turbo Streams из фонового задания (ActiveJob).

Но можно вообще просто добавить broadcasts_refreshes в модель. Всё будет автообновляться само.


def create
@room = Current.organization.rooms.find_slugged!(params[:room_id])
@room.generate_introduction_email_later!

drafter = Rooms::FollowUp::IntroductionDrafter.new(room: @room, loading: true)
render turbo_stream: turbo_stream.replace(drafter.id, drafter)
end


👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Что такое File?

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Что такое include и extend и в чем разница между ними?

include добавляет методы модуля в экземпляры класса, тогда как extend добавляет их в сам класс. Это используется для разделения функциональности и повышения гибкости.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Новый DSL для CI и отказ от облачных решений

В Rails 8.1 появился новый DSL для настройки Continuous Integration (CI). В сочетании с gh-signoff это даёт всё необходимое, чтобы отказаться от облачных CI-решений. Современные разработческие машины обладают безумно мощными процессорами.

Введён bin/ci — инструмент для стандартизации CI-воркфлоу на основе нового DSL, который описывает шаги в config/ci.rb.

bin/ci запускает все тесты, линтеры и security-сканеры.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Какой путь поиска метода в иерархии классов?

Ruby ищет метод сначала в самом объекте, затем в его классе, подключенных модулях (через include ), суперклассах и в конечном итоге в классе BasicObject .

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Какая разница между последовательными и именованными аргументами метода?

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
😊 Возрождение Ruby в эпоху ИИ

Интересный взгляд на потенциальные преимущества #Ruby в разработке ИИ.

Создание эквивалентной функциональности на Ruby обходится примерно в три раза дешевле, чем на TypeScript. Это может открыть новые возможности для решений в области ИИ.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Что такое exception? Когда они применяются? Как вызвать exception? Как отловить exception?

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#новости
🤯 Ruby + AI на первой странице Hacker News

Ruby предлагает удобный DSL для работы с AI, исключая сложную конфигурацию и предлагая чистый код. RubyLLM предоставляет единый API для всех провайдеров, таких как OpenAI, Anthropic, Google и DeepSeek, с минимальными зависимостями, делая работу с AI простой и эффективной.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Поддерживает ли Ruby множественное наследование?

Ruby не поддерживает множественное наследование классов, но предоставляет модули ( modules ), которые можно подключать с помощью include И extend дЛя достижения подобного эффекта.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Когда спросил у бати его пароль

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Как наследуются методы? Можно ли переопределить метод?

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 Советы по отладке Ruby в 2025 году

В 2025 году отладка Ruby стала ещё удобнее с debug.rb и Ruby LSP. Эти инструменты позволяют интегрировать отладку напрямую в вашу среду разработки, ускоряя поиск ошибок и повышая производительность. Используйте их для более эффективной работы с кодом и оптимизации процесса отладки.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Зачем метод super?

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM