Главная / Интернет-технологии /
Разработка приложений на Ruby on Rails / Тест 6
Разработка приложений на Ruby on Rails - тест 6
Упражнение 1:
Номер 1
Требуется ли знание языка SQL
для работы с базой данных в Rails
?
Ответ:
 (1) Да 
 (2) Нет 
Номер 2
способность данных существовать дольше, чем процесс, создавший его называется:
Ответ:
 (1) Персистентность 
 (2) Валидность 
 (3) Высокосохраняемость 
 (4) Надежность 
Номер 3
Rails generate model
генерирует:
Ответ:
 (1) Ресурс 
 (2) Контроллер 
 (3) Базу данных 
 (4) Представления 
 (5) Файл миграции 
 (6) Тесты 
 (7) Таблицы стилей 
 (8) Клиентские скрипты 
 (9) Модель 
Упражнение 2:
Номер 1
Проводится ли миграция базы данных автоматически при генерации модели?
Ответ:
 (1) Да 
 (2) Нет 
Номер 2
При создании миграций от коллизий защищает:
Ответ:
 (1) Название 
 (2) Система защиты от коллизий 
 (3) Временная метка 
 (4) Тип миграции 
Номер 3
Основой миграции является метод:
Ответ:
 change 
Упражнение 3:
Номер 1
class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :name
t.string :email
t.string :password
t.timestamps
end
end
end
Код миграции создаст таблицу с полями:
Ответ:
 (1) id
 
 (2) name
 
 (3) email
 
 (4) password
 
 (5) timestamps
 
 (6) created_at
 
 (7) updated_at
 
Номер 2
t.timestamps
генерирует столбцы:
Ответ:
 (1) id
 
 (2) created_at
 
 (3) updated_at
 
 (4) timestamps
 
Номер 3
Для отката миграции используется команда:
Ответ:
 (1) bundle exec rake db:rollback 
 (2) kill exec rake db:rollback 
 (3) remove exec rake db:rollback 
 (4) del exec rake db:rollback 
Упражнение 4:
Номер 1
Во всех ли случаях можно заменить метод миграционный метод change
на пару методов up
и down
?
Ответ:
 (1) Да 
 (2) Нет 
Номер 2
Если откатить миграцию, которая удаляет таблицу из базы данных, восстановятся ли данные, которые в ней хранились?
Ответ:
 (1) Да 
 (2) Нет 
Номер 3
Какими методами можно сохранить запись в базе данных?
Ответ:
 (1) Note.new("text")
 
 (2) Note.new("text").save
 
 (3) Note.create("text")
 
 (4) Note.create("text").save
 
 (5) Note("text").save
 
Упражнение 5:
Номер 1
@note = Note.create("note text")
@note.update_attributes(text: "new text")
puts @note.text
Данный код выведет на экран:
Ответ:
 (1) note text
 
 (2) new text
 
 (3) Note.create("text").save
 
 (4) Note("text").save
 
Номер 2
Для уничтожения объекта в базе данных используется метод:
Ответ:
 destroy 
Номер 3
Проверкой допустимости входных данных является:
Ответ:
 (1) Валидация 
 (2) Мемоизация 
 (3) Персистентность 
 (4) Аутентификация 
 (5) Авторизация 
Упражнение 6:
Номер 1
describe User do
before do
@user1 = User.new(name: "User1", email: "user1@example.com")
@user2 = User.new(name: "User2", email: "user2@example.com")
end
subject { @user1 }
it { should respond_to(:name) }
it { expect(@user2).to respond_to(:email) }
end
Данный тест проверяет:
Ответ:
 (1) Проверяет валидность @user1.name
 
 (2) Проверяет валидность @user2.name
 
 (3) Проверяет валидность @user1.email
 
 (4) Проверяет валидность @user2.email
 
Номер 2
Валидация наличия атрибутов задается параметром:
Ответ:
 (1) presence
 
 (2) null
 
 (3) not_null
 
 (4) nil
 
Упражнение 7:
Номер 1
Свойство length
принимает
Ответ:
 (1) Максимальное число 
 (2) Минимальное число 
 (3) Рекомендуемое число 
 (4) Пару чисел, максимальное и минимальное 
 (5) Хэш 
Номер 2
Валидация формата атрибута задается параметром:
Ответ:
 format 
Номер 3
class User < ActiveRecord::Base
validates :text, presence: true, format: { with: /(Ruby on )?Rails/i }
end
Данный код проверяет:
Ответ:
 (1) Поле text
обязательно 
 (2) Поле text
необязательно 
 (3) Текст может быть Ruby on Rails
 
 (4) Текст может быть Ruby
 
 (5) Текст может быть Rails
 
Упражнение 8:
Номер 1
Введите метод, который выполняется до сохранения данных в БД
Ответ:
 before_save 
Номер 2
Индексация для базы данных это:
Ответ:
 (1) Точка входа в базу 
 (2) Ускорение поиска по полям с индексом 
 (3) Назначение полей стандартными 
 (4) Шифрование 
Номер 3
По правилам безопасности в базе данных должен храниться:
Ответ:
 (1) Открытый пароль 
 (2) Хеш пароля 
Упражнение 9:
Номер 1
Возможно ли получить пароль по его хешу?
Ответ:
 (1) Да 
 (2) Нет 
Номер 2
Мемоизация значит, что
Ответ:
 (1) Значение переменной будет выведено лишь один раз и использоваться многократно 
 (2) Использовать мемоизированную переменную можно лишь один раз 
 (3) Каждый раз значение мемоизированной переменной требует пересчета 
 (4) При повторном использовании будет брошено исключение 
Упражнение 10:
Номер 1
Какой метод, мемоизирует переменную?
Ответ:
 (1) let
 
 (2) set
 
 (3) mem
 
 (4) memoize
 
Номер 2
Безопасно проводить аутентификацию позволяет встроенный метод:
Ответ:
 has_secure_password