カテゴリー
サインイン 新規登録
学習時間 15時間
難易度 中級
質問投稿
価格 ¥1,980
月額 ¥2,980
Unlimited会員はこちらの教材を含む100種類以上のUnlimited対象教材が学び放題

Ruby on RailsでAkinator風の人物特定エンジンの開発を通して、実践的な絞り込みを学ぼう!

Ruby on Railsを使って、データベースからの「絞り込み」を学びます。 動的にクエリを組み立てる仕組みや絞り込みアルゴリズムの設計と実装を解説します。

5
最終更新 2022/5
やまだのぶひこ

複雑なアプリケーションのデータベースからの「絞り込み」を習得しよう!

■ なぜ「絞り込み」を学ぶとよいのか

データベースを使ったシステムでは、絞り込みが必要になります。

データベースの絞り込みは奥が深く様々なシステムで多用されますが、プログラムするときに求められる絞り込みの条件は様々であり複雑な条件を求められることもあります。

そして世の中に複雑な条件のデータベースを扱った情報は少なく、中でも開発頻度の高い「絞り込み」関する情報が少ないため執筆しました。

■ どういう風に学ぶのか

本教材ではAkinator風の条件を絞り込みながら人物・キャラクターを特定するプログラムエンジンを題材にして「絞り込み」を学びます。

Akinatorとは「思い描いた人物を当てる」ゲームで、質問を何回も繰り返し思い描いた人物を絞り込んでいくアプリケーションです。
※参考:https://jp.akinator.com/

そしてAkinatorを題材にすることで、下記の内容が学習できます。

  • ゲームをプレイするたび絞り込みの条件と結果が変わるプログラムを実装
  • 絞り込み条件を動的に組み立てる方法
  • 実装した絞り込みが正しく動作している確認方法

ぜひAkinatorの実装を通じて、データベースからの「絞り込み」の習得にお役に立てられたら幸いです。

学習内容

  • クエリの動的組み立て方
  • 絞り込みアルゴリズムの設計と実装
  • POROの実装(絞り込みに関する処理を独自のクラスで実装します)
  • ゲーム要素として、ゲームスタート〜ゲーム終了までの流れ
  • seedによるデータ作成

作成物のイメージ

Image from Gyazo

本教材の対象者

  • progateなどのRailsの教材を見ながら簡単なサンプルアプリケーションを作ったことがある方
  • Rubyは学んだことがあるけど、Railsはあまり触ったことがない方
  • 入門書の内容は理解できるが、複雑なアプリケーションだとどういうプログラムになるのかイメージが沸かない方
  • 入門書の内容は理解できるが、同じレベルの内容を入門書(正解)がない状況で実装できるか不安な方
  • データベースの検索処理を実装しても「正しく動いているか」不安に感じてしまう方
  • ゲーム性のある作品をつくってみたい方

受講における必要条件

  • HTML/CSSの基礎知識(<div><ul><img>などのタグの使い方とCSSを用いた装飾の仕方を理解している)
  • Rubyの初歩的な知識(変数、配列、連想配列、if文、each文、メソッド・クラスの概念を理解している)
  • Ruby on Railsの初歩的な知識(モデルからデータを取得して画面に表示する程度のアプリケーションを作ることができる)
  • 簡単なコマンドラインの知識(cd、ls、pwd、mkdir、cat、viを使ったことがある)

学ばないこと

  • HTML・CSSの解説は詳しくしていません。細かく知りたい方はご自身で調べてください。
  • 本教材ではローカル環境で作品を作るところまでを対象としているためクラウド等へデプロイすることは触れていません。

本教材の対応バージョン

  • Rails6系

本教材で質問対応可能なOSや環境

  • MacOS

カリキュラム

Section 0 はじめに
Section 1 新規Railsアプリケーションを作成する
Section 2 スタート画面を作成する
  • 2-1 スタート画面(仮)を作成する
  • 2-2 bootstrapを使えるようにする
  • 2-3 タイトル画像を表示させる
  • 2-4 ゲームで当てれる漫画リストを表示する
  • 2-5 ゲームのスタート処理を実装する

講師のプロフィール

教材のレビュー

5.0
2件の評価
100%
0%
0%
0%
0%
はるたろう 1年以上前
絞り込みのいい勉強になりました。 また質問に詳しく回答をもらうことができて、自分の足りない点を解りました。 ある程度Rialsでアプリを作成できる方には、勉強になるいい教材だと思いました。
tryoma0326 1年以上前
条件分岐の考え方をわかりやすく学習できた。 解説も丁寧で参考になりました。