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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
Channel created
🤝 Добро пожаловать в экосистему YeaHub!

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

👩‍💻 C# 🤖 ML Engineer

👩‍💻 C/C++ 🖥 Data Science

👩‍💻 Java 👩‍💻 Python

🖥 PHP 👩‍💻 Frontend

👣 Rust 👣 Golang

🖥 Ruby 👩‍💻 Node.js

👩‍💻 QA 👩‍💻 Android

👩‍💻 iOS 👩‍💻 Game Dev

💻 DevOps 🖥 Общее IT

📆 Митапы 👨‍💻 Вакансии

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

💬 YeaHub Community: Общение, обмен опытом и поддержка единомышленников

В наших каналах вы найдете:
🔹 Вакансии и карьерные рекомендации
🔹 Мероприятия и митапы
🔹 Вопросы и задачи с собеседований
🔹 Практику, теорию, курсы и полезные советы

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


👍 Обучайтесь, общайтесь, растите вместе с https://yeahub.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Ruby Backend | YeaHub pinned «🤝 Добро пожаловать в экосистему YeaHub! YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников. Подпишитесь на наши каналы, чтобы не пропустить: 👩‍💻 C# 🤖 ML Engineer 👩‍💻»
👨🏻‍💻 Junior Ruby разработчик

NAUMEN — аккредитованная российская ИТ‑компания, создающая платформы, продукты и облачные сервисы для бизнеса и госсектора.

Что и как?

▪️ График 5/2
▪️ Опыт от 1 до 3 лет
▪️ Удалёнка

📩 Изучить вакансию
🤓 Какой из следующих методов используется для добавления элемента в конец массива в Ruby?
Anonymous Quiz
42%
append
25%
add
8%
insert
25%
push
#ЧеКак
🤔 Библиотека Pundit

Когда дело доходит до управления доступом в приложениях на Ruby on Rails, библиотека Pundit становится одним из самых популярных и удобных инструментов. Pundit предлагает простой и понятный способ реализации авторизации, что делает его идеальным выбором для разработчиков, стремящихся к чистому и поддерживаемому коду.

🚩Основные особенности

🟠Простота использования
Pundit следует принципу "конвенция над конфигурацией", что позволяет быстро начать работу без необходимости в сложной настройке.

🟠Ясная структура
Библиотека использует классы политик (policy classes) для определения правил доступа, что делает код более организованным и легким для понимания.

🟠Легкость интеграции
Pundit легко интегрируется с существующими приложениями на Rails, позволяя вам добавлять авторизацию без значительных изменений в архитектуре приложения.

🟠Поддержка различных уровней доступа
Вы можете определять различные правила доступа для разных действий (например, просмотр, создание, редактирование и удаление), что дает гибкость в управлении правами пользователей.

Пример

Для начала работы с Pundit нужно добавить его в ваш Gemfile:

gem 'pundit'


После установки вы можете создать политику для модели, например, Post:

class PostPolicy < ApplicationPolicy
def update?
user.present? && (record.user == user || user.admin?)
end
end


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

def update
@post = Post.find(params[:id])
authorize @post

if @post.update(post_params)
redirect_to @post, notice: 'Post was successfully updated.'
else
render :edit
end
end

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЧеКак
🤔 Какова роль подкаталогов app/controllers и app/helpers?

🟠Приложение/контроллеры. Контроллер обрабатывает веб-запрос пользователя. Rails ищет классы контроллеров в подкаталоге контроллера.
🟠Приложение/помощники: любые вспомогательные классы, необходимые для поддержки классов представления, модели и контроллера, хранятся в подкаталоге вспомогательного устройства.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЧеКак
🤔 Чем символ отличается от переменных?

🟠Это больше похоже на строку, чем на переменную.
🟠Строка в Ruby изменяема, а символ — нет.
🟠Необходимо создать только один дубликат символа.
🟠В Ruby символы часто используются для сопоставления с перечислениями.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЧеКак
🤔 Объясните, что такое ORM (модель объектно-отношений) в Rails?

ORM или модель отношений объектов в Rails указывает, что ваши классы сопоставляются с таблицей в базе данных, а объекты напрямую сопоставляются со строками в таблице.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЧеКак
🤔 Упомяните, каково соглашение об именах в Rails?

🟠Переменные: При объявлении переменных все буквы пишутся строчными буквами, а слова разделяются подчеркиванием.
🟠Класс и модуль: Модули и классы используют MixedCase и не имеют подчеркивания; каждое слово начинается с заглавной буквы
🟠Таблица базы данных: Имя таблицы базы данных должно состоять из строчных букв и подчеркивания между словами, а все имена таблиц должны быть в форме множественного числа, например bill_items.
🟠Модель: Он представлен непрерывным MixedCase и всегда имеет единственное число с именем таблицы.
🟠Контроллер: Имена классов контроллеров представлены во множественном числе, так что OrdersController будет контроллером таблицы заказов.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤓 Где указана пустая переменная (без значения)?
Anonymous Quiz
0%
some = 0
0%
some = ""
78%
some = nil
0%
some
22%
Все варианты
#ЧеКак
🤔 В чем разница между false и nil в Ruby?

В Ruby false — это объект FalseClass, представляющий логическое значение, а Nil — это объект NilClass, который указывает на отсутствие значения. Он имеет object_id 4.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓 Какой метод позволяет привести строку в нижний регистр?
Anonymous Quiz
0%
upcase()
8%
dcase()
8%
down()
50%
lowercase()
33%
downcase()
#Вакансии
🤔 Чем разница между строкой и символом?

Они оба действуют одинаково, только их поведение противоположно друг другу. Разница заключается в object_id, памяти и настройке процесса, когда они используются вместе. Символ принадлежит к категории неизменяемых объектов, тогда как строки считаются изменяемыми объектами.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓 Где записана сокращенная форма кода: x = x / 3
Anonymous Quiz
7%
x = / 3
73%
x /= 3
20%
x/3
0%
Нет сокращенной формы
#ЧеКак
🤔 Объясните, чем символ отличается от переменных?

🟠Это больше похоже на строку, чем на переменную
🟠В Ruby строка изменяема, но символ неизменяем.
🟠Необходимо создать только одну копию символа.
🟠Символы часто используются как соответствующие перечислениям в Ruby.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#ЧеКак
🤔 Что такое модуль? Какие есть варианты подключения модулей в класс?

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM