Главная /
Разработка приложений на Ruby on Rails
Разработка приложений на Ruby on Rails - ответы на тесты Интуит
В курсе рассказывается как начать веб-разработку на Ruby on Rails.
Список вопросов:
- # Для выполнения команды от имени администратора в Unix системах используется команда
- # Отметьте команды, которые можно использовать для запуска локального сервера с приложением:
- # Соотнесите символы и их назначения
- # Является ли обязательным наличие интегрированной среды разработки (IDE) для программирования на Rails?
- # Является ли обязательным наличие системы контроля версий, например, Git для программирования на Rails?
- # Является ли обязательным наличие установленного Ruby для программирования на Rails?
- # RVM, rbenv и pik являются
- # Отметьте обобщенное название пакетов Ruby?
- # Что такое гемсет?
- # Отметьте команды создания нового проекта
- # Что такое Gemfile?
- # Стандартным адресом запуска сервера является
- # Стандартным портом для запуска сервера является
- # Создание Git репозитория производится командой
- # Команда git add .
- # Для команды git commit, которая фиксирует изменения
- # Отправка изменений на Git сервер производится командой
- # Могут ли несколько человек использовать один и тот же репозиторий для работы над общим проектом?
- # Терминальная команда rm нужна для: $ rm -f spec/factories/microposts.rb
- # add_index :cats, [:names, :created_at] Данная строка:
- # validates :user_id, presence: true presence нужен для:
- # class Table < ActiveRecord::Base ... :room end Вместо многоточия введите метод для связи, который говорит о том, что стол связан с одной комнатой
- # class Table < ActiveRecord::Base ... :room end Вместо многоточия введите метод для связи, который говорит о том, что комната связана со многими столами:
- # Как известно, в комнате может стоять несколько столов, но стол стоит в одной комнате. Соотнесите методы и их действия:
- # Возможно ли установить значение поля created_at при сохранении записи в базе данных с помощью ActiveRecord?
- # Сохранится ли в базе данных пользовательское значение поля created_at у сгенерированного экземпляра класса с помощью Factory Girl?
- # Метод let! используется для:
- # Метод let является ленивым, это значит:
- # default_scope используется для
- # order('created_at ...') Ввелите ключевое слово, для указания сортировки по возрастанию (в нижнем регистре):
- # order('created_at ...') Ввелите ключевое слово, для указания сортировки по убыванию (в нижнем регистре):
- # lambda - это:
- # class Room < ActiveRecord::Base has_many :tables, dependent: :destroy end Данный код говорит о том, что:
- # expect do Table.find(table) end.to raise_error(ActiveRecord::RecordNotFound) Данный код нацелен на:
- # Метод be_empty в RSpec it "should destroy associated microposts" do microposts = @user.microposts.to_a expect(microposts).to ... end Введите ключевое слово, которое тестирует массив на нулевой размер:
- # "a" * 10 Код вернет:
- # user.microposts.count:
- # <%= will_paginate @dogs %> <%= will_paginate %> В контексте контроллера Dogs данные строки:
- # <%= will_paginate @dogs %> <%= will_paginate %> В контексте контроллера Cats данные строки:
- # <%= render @dogs %> Данная строка:
- # SQL инъекция это:
- # Более безопасным поиск по базе данных считается:
- # REST архитектура под собой подразумевает:
- # Абстракция данных это:
- # Какая из предложенных строк кода строит ассоциации с помощью промежуточной таблицы?
- # Напишите команду, включающую сторонний модуль и предоставляя методы к экземплярам класса:
- # Какая из предложенных строк кода говорит об автоматическом удалении записей из таблицы, связанной с другой, из которой удаляются записи?
- # Какая из предложенных строк кода говорит об установке внешнего ключа?
- # class Relationship < ActiveRecord::Base belongs_to :follower, ... : "User" end Введите ключевое слово, которое указывает на используемую модель:
- # validates :followed_id, presence: true Какое ключевое слово указывает на требование обязательного заполнения поля?
- # Является ли служебное слово self обязательным в данном случае? self.cats.create!(...)
- # resources :products, only: :new do ... do get 'short' end end Вместо многоточия вставьте ключевое слово, чтобы получить такие пути: short_product GET /products/:id/short(.:format) products#short new_product GET /products/new(.:format) products#new
- # resources :products, only: :new do ... do get 'short' end end Вместо многоточия вставьте ключевое слово, чтобы получить такие пути: short_products GET /products/short(.:format) products#short new_product GET /products/new(.:format) products#new
- # Тег <section> предназначен для:
- # Возможно ли многоуровневое вложение частичных шаблонов?
- # Выберите название языка запросов к элементам XML-документа:
- # Выберите название технологии асинхронного обращения к серверу:
- # Понятие ненавязчивого JavaScript предполагает:
- # Один правильный ответ xhr :post, :create, relationship: { followed_id: other_user.id }
- # def create respond_to do |format| format.js { code: 404 } format.html { render :404 } end end При синхронном запросе данный код возвращает:
- # def create respond_to do |format| format.js { code: 404 } format.html { render :404 } end end При асинхронном запросе данный код возвращает:
- # DOM представляет из себя:
- # Соотнесите знаки в DOM и их назначение:
- # Возможно ли добавлять в модель пользовательские методы?
- # Метод specify является синонимом метода:
- # Выберите типичную последовательность действий для написания простейшего приложения
- # Для установки гемов Bundler берет информацию из файла
- # Модель - это:
- # Данные в базе данных хранятся в виде
- # Rails scaffolding запускается командой:
- # Миграция базы данных это
- # В Rails скелет приложения генерируется командой
- # В RESTful архитектуре заголовки HTTP запросов используются (установите соответствие):
- # В RESTful архитектуре имена методов используются (установите соответствие):
- # Выберите термин, описывающий одним словом проверку допустимости данных
- # Отсутствие пути в файле рутирования приведет:
- # Установите порядок упрощенного процесса обработки запроса браузера к серверу (установите соответствие):
- # Rails команда "много к одному"
- # В Rails базовым классом из представленных является
- # Путь get "static_pages/home" определяет
- # Команда rails generate controller AdminsPages help
- # Возможно ли проводить миграцию базы данных или ее откат частично лишь до определенной версии?
- # Разработка через тестирование(TDD) подразумевает под собой
- # Возможен ли запуск приложения с одним или более проваленными тестами?
- # Код require 'spec_helper' describe "Help page" do it "should have the content 'Help'" do visit '/static_pages/help' expect(page).to have_title("Page help") expect(page).to have_content("Click me to help you") end end проверяет:
- # <% ... %> служит для
- # <%= ... %> служит для
- # yield предназначен для
- # Guard используется для
- # gem 'rails', '4.0.2' group :development, :test do gem 'sqlite3', '1.3.8' gem 'rspec-rails', '2.13.1' end group :production do gem 'pg', '0.15.1'' end group :test do gem 'capybara', '2.1.0' end Во время тестирования будут использованы гемы:
- # Хелпер это>
- # Выберите возможные способы запуска Rails консоли:
- # По умолчанию rails консоль запускается в окружении (environment):
- # Комментарии используются для:
- # Отметьте верные результаты после выполнения соответствующих им команд:
- # в результате выполнения puts "#{3+3}*3" в консоль будет выведено:
- # в результате выполнения puts '#{3+3}*3' в консоль будет выведено:
- # Получить длину слова можно методом>
- # Выберите все допустимые значения типа Boolean:
- # "hello".include? Вопросительный знак в конце имени метода означает:
- # a = nil s = "Hello, man!" puts s if s.empty? || !a Выведет ли данный код приветствие на экран?
- # def a print z end def z return "z" end print a данный код выведет на экран:
- # Массив является:
- # a = "The quick brown fox jumps over the lazy dog".split Соотнесите методы и их результаты:
- # a = "The quick brown fox jumps over the lazy dog".split puts a.sort.join(" ") В результате будет выведено:
- # (3..45) называется:
- # (1..8).each { |count| print "#{count} " if count > 7 } Данный код выведет на экран:
- # Выберите верное утверждение:
- # cat = { name: "Barsik", color: "Brown" } cat[:eyes] = "green" cat[:color] = "white" p cat В результате будет выведено:
- # Возможна ли данная ситуация: cats = { :name=>"Barsik", :name=>"Matroskin" :name=>"Vaska" } ?
- # methodName({a1: "a1", a2: "a2"}) methodName a1: "a1", a2: "a2" Являются ли данные строки равноценными?
- # Служебное слово new
- # В Ruby классы могут иметь>
- # Частичный шаблон это:
- # CSS фреймворк это:
- # Чтобы показать, что используется HTML5, файл index.html должен начинаться со строки:
- # JavaScript код, известный как “HTML5 shim”, предназначен для:
- # Элементам html можно назначить:
- # В пределах одной страницы у элементов:
- # link_to предназначен:
- # image_tag предназначен:
- # точка . в .center указывает на то, что правило стилизует:
- # знак фунта # в #center указывает на то, что правило стилизует:
- # Файлопровод предназначен для:
- # Препроцессор - это:
- # Порядок обработки файла hello.js.erb.coffee:
- # Может ли один и тот же файл обрабатываться несколькими препроцессорами?
- # В таблицах стилей псевдоатрибут hover нужен для:
- # Переменная в SASS задается с помощью знака:
- # div { background-color: #blue; p{ background-color: #red } } Данный SASS код:
- # В ERB <%# ... %> служит для:
- # Файл routes.rb используется для:
- # match '/info', to: 'App#info', via: 'get'
- # Код match ’/about’ автоматически создает именованные маршруты для использования в контроллерах и представлениях. Введите маршрут, который вернет '/about'
- # Код match ’/about’ автоматически создает именованные маршруты для использования в контроллерах и представлениях. Введите маршрут, который вернет 'http://localhost:3000/about'
- # Введите именованный корневой маршрут
- # Требуется ли знание языка SQL для работы с базой данных в Rails?
- # способность данных существовать дольше, чем процесс, создавший его называется:
- # Rails generate model генерирует:
- # Проводится ли миграция базы данных автоматически при генерации модели?
- # При создании миграций от коллизий защищает:
- # Основой миграции является метод:
- # 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 Код миграции создаст таблицу с полями:
- # t.timestamps генерирует столбцы:
- # Для отката миграции используется команда:
- # Во всех ли случаях можно заменить метод миграционный метод change на пару методов up и down?
- # Если откатить миграцию, которая удаляет таблицу из базы данных, восстановятся ли данные, которые в ней хранились?
- # Какими методами можно сохранить запись в базе данных?
- # @note = Note.create("note text") @note.update_attributes(text: "new text") puts @note.text Данный код выведет на экран:
- # Для уничтожения объекта в базе данных используется метод:
- # Проверкой допустимости входных данных является:
- # 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 Данный тест проверяет:
- # Валидация наличия атрибутов задается параметром:
- # Свойство length принимает
- # Валидация формата атрибута задается параметром:
- # class User < ActiveRecord::Base validates :text, presence: true, format: { with: /(Ruby on )?Rails/i } end Данный код проверяет:
- # Введите метод, который выполняется до сохранения данных в БД
- # Индексация для базы данных это:
- # По правилам безопасности в базе данных должен храниться:
- # Возможно ли получить пароль по его хешу?
- # Мемоизация значит, что
- # Какой метод, мемоизирует переменную?
- # Безопасно проводить аутентификацию позволяет встроенный метод:
- # Переменная params является:
- # SSL используется для:
- # <%= "Hello Developer!" if !Rails.env.environment? %> В каких средах будет напечатано сообщение?
- # при запуске приложения без дополнительных параметров будет запущена среда:
- # Можно ли запустить приложение одновременно в нескольких средах?
- # Сколько путей в файле routes.rb генерирует строка "resources :users" без дополнительных модификаторов? Введите число:
- # В RESTful архитектуре имена методов используются ...
- # Соотнесите названия стандартных методов и HTTP заголовки:
- # Выберите метод для посещения страницы для Capybara во время тестирования:
- # Фабрики используются для:
- # Граватар это
- # Изображение на Граватаре однозначно определяются по:
- # visit signup_path ... "Name", with: "Bart" click_button "Create my account" Для заполнения поля занчением на HTML странице в Capybara используется метод:
- # visit signup_path ... "Create my account" Для нажатия кнопки на HTML странице в Capybara используется метод:
- # При тестировании метод change:
- # Данный код def create @user = User.new(user_params) if @user.save redirect_to @user else render 'new' end end
- # Соотнесите хелпер и результат его работы:
- # Техника строгих параметров предполагает:
- # params.require(:title).permit(:text) говорит о том, что:
- # Требуется ли в обязательном порядке прибегать к флеш-сообщению, чтобы показать пользователю список ошибок заполнения формы для модели Active Record?
- # Метод для возврата слова во множественном числе:
- # Flash используется для:
- # Session используется для:
- # Фрагмент текстовых данных, хранимый на компьютере пользователя называется:
- # Для ограничения ресурса только созданием допишите: resources :sessions, ...
- # should have_selector('р1.bold') проверяет наличие на странице:
- # Метод should have_selector('p.center') из Capybara проверяет наличие на странице:
- # Метод should_not have_link('Sign in', href: signin_path) из Capybara проверяет наличие на странице:
- # params[:session][:email] является:
- # Cookies используется для:
- # В каких случаях исходя из действий на странице будет показано сообщение? def index flash[:error] = 'WOO HOO' render 'index' end
- # В каких случаях исходя из действий на странице будет показано сообщение? def index flash[:error] = 'WOO HOO' redirect_to :root end
- # В каких случаях исходя из действий на странице будет показано сообщение? def index flash.now[:error] = 'WOO HOO' render 'index' end
- # class ApplicationController < ActionController::Base protect_from_forgery with: :exception include SessionsHelper end Строка include SessionsHelper добавляет:
- # помощники автоматически включаются:
- # Может ли пользователь сам успешно изменить данные Cookies?
- # Метод urlsafe_base64 предназначен для:
- # Метод before_save из ActiveRecord предназначен для:
- # Метод before_create из ActiveRecord предназначен для:
- # Метод its предназначен для:
- # Ключевое слово private:
- # Введите ключевое слово, возвращающую ссылку на текущий объект:
- # cookies.permanent имеет срок жизни:
- # self.title = "SUPERTITLE" автоматически конвертируется в
- # Оператор присваиваивания ||= позволяет:
- # application.js из директории assets/javascripts/ используется для:
- # Для добавления js-скрипта в файлопровод его нужно прописать в файле:
- # Возможно ли удалить cookies до истечения времени жизни?
- # Что такое граватар?
- # FactoryGirl это:
- # Партиал (partial) это:
- # <%= form_for(@user) do |f| %> <%= f.label :name %> <%= f.text_field :name %> <%= f.label :age %> <%= f.number_field :age %> <%= f.label :email %> <%= f.text_field :email %> <%= f.label :password %> <%= f.password_field :password %> <%= f.label :password_confirmation, "Confirm Password" %> <%= f.password_field :password_confirmation %> <%= f.submit "Save changes" %> <% end %> Какие поля будут автоматически предзаполнены при загрузке страницы?
- # magazine.new_record? Данный метод проверяет:
- # При построении формы с помощью form_for(@book) будет формироваться запрос:
- # Введите название метода, который перезагружает переменную из базы данных:
- # Можно ли с помощью RSpec протестировать ответ сервера?
- # Можно ли с помощью Capybara протестировать ответ сервера?
- # Выберите название объекта, из которого можно получить данные ответа от сервера, например код состояния HTTP
- # before_action :signed_in_user, only: [:edit, :update] Данный код:
- # redirect_to :root, notice: "Please enter title" unless title_blank? Данная строка кода выполняет:
- # FactoryGirl.create(:user, name: "Ken", email: "ken@foo.com") Данный код генерирует:
- # Напишите название объекта, из которого можно получить данные запроса от клиента к серверу, например запрашиваемый url
- # session[:a] ||= "a" p = session[:a] || "b" В результате переменной p будет присвоено значение:
- # Вместо многоточия введите код для выборки всех собачек из базы данных: @dogs = ...
- # Gem Faker предназначен для:
- # Методы с восклицательным знаком в конце названия в ActiveRecords предназначены для:
- # gem 'will_paginate' вводит в приложение
- # class AddTitleToBooks < ActiveRecord::Migration def change add_column :books, :title, :string, default: "Unknown book" end end Данный листинг говорит о том, что: