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

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

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

Для связи: @ruslan_kuyanets
Download 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
#Собес
🤔 Какая разница между последовательными и именованными аргументами метода?

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

👉Новости 👉Платформа
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