ディスカッションありのクイズ一覧

  1. 以下のモデルの定義がある場合の正しい説明はどれか

    class Person < ApplicationRecord
      validates :name, length: { minimum: 2 }
      validates :bio, length: { maximum: 500, too_long: "最大%{count}文字まで使えます" }
      validates :title, length: { minimum: 10 }, allow_blank: true
    
    end
    
    コメント2件を全てみる
    1. nameは2文字以上必要である

    2. bioは500文字以下の必要がある

    3.  

      titleはどんな場合でも10文字以上必要である

    4. bioに501文字以上入力してsaveしようとした場合、errorsのメッセージに「最大500文字まで使えます」という値がセットされる。

  2. (Rails5系前提)
    以下のコマンドについての説明で正しいものはどれか

    rails generate migration AddUserRefToProducts user:references
    
    コメント2件を全てみる
    1. 以下の(ような)マイグレーションファイルが作られ、user_idというカラムが追加される。

      class AddUserRefToProducts < ActiveRecord::Migration[5.0]
        def change
          add_reference :products, :user, foreign_key: true
        end
      end
      
    2. 外部キー制約が設定されるようなマイグレーションファイルが作成される

    3.  

      references型とinteger型は同義である。

    4.  

      user_idカラムにnullは許容されなくなる

  3. バージョン管理をしたくないファイルを定義するファイルはどれか

    コメント2件を全てみる
    1.  

      .config

    2. .gitignore

    3.  

      .secret

    4.  

      .local

  4. フレームワークについて正しいものはどれか

    コメント3件を全てみる
    1.  

      ライブラリと同義である

    2. 開発を効率化するための枠組みのことである

    3. Ruby on RailsはRubyのフレームワークである

    4.  

      プログラミング言語(RubyやPHP)だけではWebサービスは作れない(= Railsなどのフレームワークを使わないとWebサービスは作れない)

  5. fugaブランチの作成と切り替えを一挙に行いたいです。

    コメント3件を全てみる
    1. git checkout -b fuga

    2.  

      git branch -c fuga

    3.  

      git checkout branch fuga

    4.  

      git c b hoge

  6. 公開鍵暗号方式についての説明で正しいものはどれか

    コメント3件を全てみる
    1.  

      受信者の秘密鍵で暗号化し、受信者の公開鍵で復号する

    2. 受信者の公開鍵で暗号化し、受信者の秘密鍵で復号する

    3.  

      送信者の秘密鍵で暗号化し、送信者の公開鍵で復号する

    4.  

      送信者の公開鍵で暗号化し、送信者の秘密鍵で復号する

  7. マイグレーションファイルについて正しい記述はどれか

    コメント1件を全てみる
    1. マイグレーションファイルを1から全て再実行するためにdb:migrate:resetをした

    2.  

      マイグレーションファイルを作りdb:migrateを行なった。その後マイグレーションファイルに誤りを見つけたので一部修正し再度db:migrateを行なった。

    3.  

      マイグレーションファイルを1から全て再実行するためにdb:migrateを実行した。

    4.  

      マイグレーションファイルを1から全て再実行するためにdb:resetを実行した

  8. 公開鍵暗号方式についての説明で正しいものはどれか

    コメント2件を全てみる
    1. SSH接続する際に必要になる概念である

    2. 公開鍵暗号方式を応用したものがディジタル署名である

    3. SSLは公開鍵暗号方式を活用している

    4.  

      ssh-keygenコマンドで鍵ペアが作成され、id_rsaというファイルが公開鍵にあたる

  9. gitのresetコマンドについての説明で正しいものはどれか

    コメント2件を全てみる
    1.  

      reset --hardaddのみを取り消す

    2. resetreset --mixedは同義である

    3. reset --mixedaddcommitを取り消す

    4. reset --softcommitのみを取り消す

  10. ポート番号についての説明で誤っているものはどれか

    コメント2件を全てみる
    1.  

      HTTPは80番ポートが使われる

    2. HTTPSは8080ポートが使われる

    3.  

      SSHは22番ポートが使われる

    4.  

      DNSは53番ポートが使われる

  11. 次のうちWebアプリケーションの脆弱性を狙う攻撃はどれか

    コメント2件を全てみる
    1. XSS

    2. CSRF

    3. SQLインジェクション

    4.  

      DNS

  12. 認証、認可について正しいものはどれか

    コメント2件を全てみる
    1.  

      本人確認は「認可」にあたるものである

    2.  

      サービスの利用許可は「認証」にあたるものである

    3. IDとPWでログインするというのは「認証」にあたる

    4. このユーザーは記事の投稿はできるが削除はできないというのは「認可」にあたる

  13. 以下の定義がある時に使えるようになるメソッド(=エラーにならない)はどれか

    class Book < ApplicationRecord
      belongs_to :author
    end
    
    コメント2件を全てみる
    1. book.author
      book.author = author
      
    2.  
      book.authors.build
      book.authors.create
      
    3. book.author_id
      
    4. book.author.id
      
  14. 他の開発者が新しくfooブランチを作ってGitHubにプッシュしました。そのブランチをまるっと自身のローカルにも持ってきて動作確認してみたいです。

    コメント7件を全てみる
    1.  

      git remote pull origin foo

    2.  

      git pull origin foo

    3.  

      git merge foo

    4. git fetchのあとgit checkout -b foo origin/foo

  15. 退避した変更を元に戻したいです。

    コメント7件を全てみる
    1.  

      git escape pop

    2.  

      git escape fetch

    3. git stash pop

    4.  

      git stash fetch

  16. URLについての説明で誤っているものはどれか

    コメント4件を全てみる
    1.  

      プロトコルの情報が必要である

    2.  

      ドメインの情報が必要である

    3.  

      WebにおいてはHTTP, HTTPSが基本的には使われる

    4. IPアドレスではアクセスできない

  17. インデックスについて説明したものはどれか

    コメント1件を全てみる
    1. addされたものがインデックスに入ってくるイメージ

    2. commitするとリポジトリに反映される

    3.  

      一度インデックスに入れてしまうと取り消すことはできない

    4.  

      git indexでインデックスにあるファイルを全て確認できる

  18. ブラウザについての説明として正しいものはどれか

    コメント2件を全てみる
    1. HTML文書を解釈しWebページを表示する

    2.  

      いわるゆ「サーバ」に該当するものである

    3. IEやChromeなどにあたるものである

    4.  

      クライアントからのリクエストをもとに、ブラウザが適切なHTMLを組み立てて返却する

  19. JSONについて正しいものはどれか

    コメント6件を全てみる
    1.  

      プログラミング言語の一つである

    2. フォーマットの一つである

    3.  

      開始タグと閉じタグによって表現される

    4.  

      文字列と数値は表現できるが配列は表現できない

  20. 以下の定義に関して正しい説明はどれか

    class User
      has_many :articles
    end
    
    class Article
      belongs_to :user
    end
    
    コメント3件を全てみる
    1. ユーザーを削除した時に記事も削除したい場合はdependent: :destroyオプションをつける

    2. ユーザーを削除しても記事を残しておきたい場合はdependent: :nullifyoptional: trueオプションをつける必要がある

    3. 以下の三つはどれも同じSQLを発行する

      current_user.articles.create
      
      Article.create(user_id: current_user.id)
      
      Article.create(user: current_user)
      
    4.  
      User.articles
      

      でユーザーに紐づく記事を取得できる