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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#новости
😊 Marksmith: GitHub-стиль Markdown-редактора для Rails

Команда фреймворка Avo для разработки Rails-приложений, сделали Markdown-редактор в стиле GitHub, который можно легко интегрировать в Rails-проекты.

🟠 Похожий на GitHub тулбар.
🟠 Поддержка Active Storage.
🟠 Готов к использованию прямо из коробки.
Читать

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

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#вакансии
📞 Мок-интервью Ruby on Rails

Как пройти техническое собеседование без стресса
Соискатель: Глазков Алексей
Нанимающий: Удалов Сергей, Ruby Team Lead
Смотреть видео

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

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Tiny JITs для ускорения FFI

FFI (Foreign Function Interface) позволяет Ruby вызывать функции из динамически подключаемых нативных библиотек, но за это удобство приходится платить производительностью. Аарон Паттерсон (Aaron Patterson) недавно продемонстрировал, насколько заметной может быть эта "налог FFI", и предложил эксперимент: использовать JIT-компиляцию для FFI-привязок, чтобы значительно ускорить выполнение таких вызовов.

Если вы работаете с FFI и замечаете, что производительность страдает, возможно, стоит присмотреться к этому подходу. JIT-компиляция может стать тем самым инструментом, который сделает ваш код быстрее без необходимости переписывать его с нуля

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес
🤔 Какие виды циклов есть в Ruby? (loop, while, until, for, each, times, upto)

B Ruby есть несколько видов циклов: lоор для бесконечных итераций, while и until для выполнения до выполнения условия, for для итерации по коллекциям, а также методы each, times и upto для работы с коллекциями и числами.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#статьи
😐 Автоматизируем обновления Ruby с Updatecli и GitHub Actions

Обновлять Ruby вручную в каждом проекте — долго и неудобно. Но это важно для безопасности, производительности и стабильности.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#Собес
🤔 Какие типы данных есть в Ruby?

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Возможно, ты просто пошел по дедовым стопам

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

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
#полезное
😊 Генерация 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
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес
🤔 Что такое 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