Shoeisha Technology Media

IT人材ラボ

注目の特集・連載

【Rails4ブロンズ】アプリの新規作成でPostgreSQLかMySQLを利用する場合のオプションの書き方は?

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

 Ruby on Railsの認定試験「Rails4技術者認定ブロンズ試験」(運営:Rails技術者認定試験運営委員会)の模擬問題にチャレンジする連載の第2回です。今回は、ActiveRecordや、ルーティングとActionContorller、ActionViewとヘルパーといった、Railsアプリの動作に大きく関わる機能について模擬問題を出題します。Railsアプリを日ごろ開発している方にはお馴染みなところだと思いますが、意外な知識の「穴」を突かれるかもしれません。そうした穴を埋められることは、資格取得に向けた学習の大きなメリットの1つでしょう。

Rails4技術者認定ブロンズ試験」対応の模擬試験問題です。株式会社Dive into Codeの野呂浩良が出題します。

問題1~5

問題1

アプリケーションで使うデータベースを新規作成するコマンドを選びなさい。

  • 1.rake db:migrate
  • 2.rake db:migrate:reset
  • 3.rake db:make
  • 4.rake db:create
  • 5.rake db:seed

解答・解説

データベースは、config/database.ymlファイル内に記述されたdatabase情報をもとにrake db:createコマンドで作成します。

1. は、テーブルを作成・変更するコマンドです。

2. は、データベースとテーブルを初期化して再作成するコマンドです。

3. は存在しません。

5. は、テーブル内に入れておく初期(シード)データを作成するコマンドです。

〔正解:4

問題2

アプリケーションを新規作成する際に、利用するデータベース管理システムをPostgreSQLあるいはMySQLにするために、ふさわしくないオプションの書き方を2つ選びなさい。

  • 1.-d postgres
  • 2.–database=postgresql
  • 3.-d mysql
  • 4.–database=mysql
  • 5.–database=postgres

解答・解説

データベース管理システムを指定するときには、-d DATABASE名あるいは--database=DATABASE名として記述します。PostgreSQLを指定する場合は、postgresqlと記述する必要があります。postgresではエラーになります。

〔正解:15

問題3

本番環境をPaaS上で動かしたい。本番環境のデータベース管理システムへの接続情報として、PaaS内の環境変数DATABASE_URLで定義された値を元に接続先databaseを設定したい。書き方としてふさわしいものを選びなさい。

※PaaS内の環境変数DATABASE_URL内には、url形式で正しく値が設定されている前提とする。

  • 1.config/database.ymlファイル内に以下を記載する。
    development:
      <<: *default
      url: <%= ENV['DATABASE_URL'] %>
  • 2.config/database.ymlファイル内に以下を記載する。
    development:
      <<: *default
      url: <%= env['DATABASE_URL'] %>
  • 3.config/database.ymlファイル内に以下を記載する。
    production:
      <<: *default
      url: <%= ENV['DATABASE_URL'] %>
  • 4.config/database.ymlファイル内に以下を記載する。
    production:
      <<: *default
      url: <%= env['DATABASE_URL'] %>
  • 5.config/environment.rbファイル内に以下を記載する。
    production:
      <<: *default
      url: <%= ENV['DATABASE_URL'] %>

解答・解説

データベース管理システムの接続先設定は、config/database.ymlに記載します。本番環境はproductionです。また、環境変数を使う場合は必ず大文字でENV['環境変数']と記載します。小文字では、NameError: undefined local variable or method `env' for main:Objectエラーが発生してしまいます。

〔正解:3

問題4

 blogsテーブル内のすべてのレコードを削除するメソッドを2つ選びなさい。

  • 1.Blog.destroy_all
  • 2.Blog.delete_all
  • 3.Blog.destroy
  • 4.Blog.delete
  • 5.Blogs.delete_all

解答・解説

 .destroy_allメソッドや.delete_allメソッドを使うと、該当モデルに紐付くテーブル内の全レコードを削除することができます。

 .destroy_allメソッドでは、全てのレコードに対してコールバックが発生するため、処理に時間がかかることがあります。

 .destroyメソッドや.deleteメソッドは、該当のidに一致する1レコードのみを削除します。

〔正解:12

問題5

環境内で利用しているRubyのバージョンを確認する方法として正しいものを3つ選びなさい。

  • 1.コンソール上で「rails c」コマンドを実行した後に「RUBY_VERSION」を実行する
  • 2.コンソール上で「ruby -v」コマンドを実行する
  • 3.コンソール上で「ruby –version」コマンドを実行する
  • 4.コンソール上で「ruby version」コマンドを実行する
  • 5.コンソール上で「ruby -V」コマンドを実行する

解答・解説

 ruby versionruby -Vというコマンドは存在しません。

〔正解:123

※この続きは、会員の方のみお読みいただけます(登録無料)。



  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 野呂 浩良(株式会社Dive into Code)(ノロ ヒロヨシ)

    MBAエンジニア講師。リクルートやワークスアプリケーションズなど異業種・異職種への転職を4度経験。あらゆる時間を計測し、未経験の職務でゼロから短期間に成果をあげる独自の生産性向上手法を確立。表彰多数。2014年にグロービス経営大学院大学MBAを取得。1年間の独立・起業過程でエンジニア人材の不足を痛感し、ゼロから独学でプログラミングを学習して2ヶ月でWEBアプリケーションを開発する。その経験と学習法を活かし、非エンジニアからエンジニアへ転向するためのプログラミング・スクール「Dive into Code」を創業。

    株式会社Dive into Code 代表取締役
    グロービス経営大学院大学MBA・経営学修士
    Rails3認定ブロンズ技術者

バックナンバー

連載:Rails4技術者認定ブロンズ試験 模擬試験問題集
IT人材ラボ
2016/06/07 18:16 /article/detail/54
All contents copyright © 2017-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.0