カテゴリー
サインイン 新規登録

間違いや改善の指摘

内容の技術的な誤り・誤字脱字やミスのご報告・解説やトピックの追記/改善のご要望は教材をさらに良くしていく上でとても貴重なご意見になります。

少しでも気になった点があれば、ご遠慮なく投稿いただけると幸いです🙏

実際には誤りではなく勘違いであっても、ご報告いただけることで教材のブラッシュアップにつながります。

質問ポリシー①

教材受講者みなさんのスムーズな問題解決のために、心がけていただきたいことがあります。

教材の内容に関する質問を投稿しましょう

教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。

その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。

0-1

概要

漫画を当てるAkinator風アプリを作りながら実践的な絞り込みを学ぼう! 【Rails】

本教材はプログラミング言語Rubyの上で動作するWebアプリケーションフレームワークであるRuby on Railsを使ってAkinator風のゲームアプリを作成します。

Akinatorとは、みなさんが頭にイメージしたキャラクターを当ててくれるゲームです。
時間はかかりませんのでどんなゲームなのか先ずは触れてみてください。

参考)Akinator

本教材はデータベースを使ったデータの絞り込みに慣れることを目標とします。
データベースの絞り込みは奥が深く様々なシステムで多用されますが、プログラムするときに求められる絞り込みの条件は様々であり複雑な条件を求められることもあります。
読者のみなさんがプログラムを書く中で、そんな状況に直面したときスムーズな一歩が踏み出せるため、実践的な絞り込みを身につけましょう。

教材を進めて行く上で質問項目がございましたら、「質問」の箇所からご質問ください。 (Mac OS以外での開発環境における質問対応はできかねますのでご了承ください。)

学習内容

  • Ruby on Railsを使った「データベースからの絞り込み」を学びます。
  • 絞り込み条件を動的に組み立てる方法を学びます。

受講における必要条件

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

RubyやRuby on Railsを一度も触ったことがない方は、まずはProgate等で学習することをおすすめします。

この教材の対象者

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

学ばないこと

  • HTML・CSSの解説は詳しくしていません。細かく知りたい方はご自身で調べてください。
  • 本教材では「絞り込み」を学ぶことに焦点を当てているため、クラウド等へデプロイすることは触れていません。

本教材の対応バージョン

Rails6系。

作成するアプリケーションのイメージをつかもう

本教材ではTechpitnatorというアプリを作ります。
思い浮かべている漫画を質問に答えていくことで当てるアプリです。
本家Akinatorは、思い浮かべている人物を当てるゲームですが、本教材Techpitnatorでは漫画を当てるゲームにします。

完成イメージです。
完成イメージ

目次

0章 はじめに

本教材を進める上での環境を整えたり、設計を解説します。

1章 新規Railsアプリケーションを作成する

新規Railsアプリケーションの作成を行い、開発の準備を行います。

2章 スタート画面を作成する

ゲームのスタート画面を開発します。見た目を効率よく整えるためにBootstrapの導入も行います。

3章 ゲーム開始〜質問回答画面を作成する

質問・回答する画面を開発します。

4章 絞り込みアルゴリズムを作成する。その1

絞り込みを行うアルゴリズムを開発します。はじめに、連載中かどうかの絞り込みを開発します。

5章 絞り込みアルゴリズムを作成する。その2

絞り込みアルゴリズムに、ジャンルでも絞り込みを追加します。

6章 絞り込みアルゴリズムを作成する。その3

絞り込みアルゴリズムに、連載誌でも絞り込みを追加します。

7章 質問データを追加してゲームを完成させる

ゲームを完成させ、実際に遊んでみます。

8章 あとがき。ゲームの成長性と課題について

本ゲームの将来を考えたときの可能性や課題について考えます。