中嶋 孝史の日記

毎日30分本気でブログを書きます。どんどん成長する姿をよかったら見ていってください。

僕がProgateのRailsを勧める理由 2020年4月12日

おはようございます。昨日西野亮廣エンタメ研究所のサロンメンバーとZoomしたいとつぶやいたところ、思いのほか反響があって、やっちゃった感が満載なkeep in touch ~「ふれる」を続ける~ 中嶋孝史です。

 

さて今回のテーマは

 

僕がProgateのRailsを勧める理由

 

です。

 

はじめに

今回かなり気合が入ってます。というのも今サイクリスト用のSNSを作ろうとしていて、それに伴ってそもそもProgateのRailsで習ったことをまとめていたら、楽しくなりすぎて18枚にも及ぶスライドを作ってしまったからです(笑)

 

今回はスライドの画像を使いながらProgateでRailsを勉強するとこんなことができるよっていうのが伝えられればいいなと思います。

 

Railsを勧める理由

f:id:rikuya37:20200412063728p:plain

 

f:id:rikuya37:20200412063734p:plain

 

まずはProgateの説明からしていきます。ご存じの方も多いと思いますが、Progateはオンラインプログラミング学習サービスで、月額980円で様々なプログラミング言語やそのフレームワーク(プログラミングのパッケージ)を学ぶことができます。

 

f:id:rikuya37:20200412063739p:plain

 

そのProgateの講義のうちの一つがRailsです。RailsRuby on Railsの略でRubyというプログラミング言語フレームワークでWebアプリケーション開発などができます。ProgateではTwitterのようなSNSサイトを作りながらその仕組みを学んでいきます。

 

f:id:rikuya37:20200412063744p:plain

 

実際に作るページとその機能です。かなりいっぱい作るので文字だらけで見づらいですね。次のページから各々のページの説明をしていきます。

 

f:id:rikuya37:20200412063749p:plain

 

まずはトップページとサービスの紹介ページです。サイトに訪れた時に一番最初に来るページで、ここから他のページ(新規登録ページやログインページ)に飛べます。ログイン後はアクセスする必要がないので、アクセスできないように制限します。

 

f:id:rikuya37:20200412063754p:plain

 

 

次は投稿一覧ページです。みんなが登校した内容を閲覧できるページで、投稿内容・投稿したユーザー名・ユーザーの画像が見れます。投稿はログインしているユーザーだけ閲覧可能にしたいので、ログアウト状態ではアクセスを制限します。

 

f:id:rikuya37:20200412063758p:plain

 

次に新規投稿ページと投稿編集ページです。どちらも投稿するテキストを保存する場所で、Twitterに合わせて1文字以上140文字以内の制限をかけています。編集時は、元々の投稿を残したままページに移り、いちいち元の投稿内容を確認しなくていいようにします。

 

f:id:rikuya37:20200412063803p:plain

 

 

次に投稿詳細ページです。投稿ごとの詳細(投稿ユーザー名・ユーザーの画像・投稿内容・投稿日時・いいねの数)が表示され、投稿したユーザーが閲覧する場合のみ編集・削除のリンクが表示されるように制限します。

 

f:id:rikuya37:20200412063808p:plain

 

 

次にユーザー一覧ページとユーザー編集ページです。ユーザー編集ページはそのユーザーのみしかアクセスできず、新規登録ではできなかった画像の追加が可能です。

 

f:id:rikuya37:20200412063812p:plain

 

次に新規登録ページです。ユーザー名・メールアドレス・パスワードで設定でき、パスワードはそのままデータベースに保存すると危険なので暗号化されて保存されます。

 

f:id:rikuya37:20200412063817p:plain

 

次にログインページです。メールアドレスとパスワードがデータベースに保存されてい内容と一致している場合ログインできるようになります。ただパスワードは暗号化されて保存されてますので入力したパスワードを暗号化して一致しているかを確認します。

 

f:id:rikuya37:20200412063822p:plain

 

最後にユーザー詳細ページといいねページです。ユーザー詳細ページではそのユーザーのみ編集リンクが表示され、いいねページではユーザーがいいねした投稿を閲覧できます。

f:id:rikuya37:20200412063827p:plain

 

 

続いてRails講座で身に付く能力について説明します。

 

f:id:rikuya37:20200412063831p:plain

 

まずは複数ページの表示方法やその流れの理解です。おそらくプログラミングを始めたばかりの人はHTMLやCSSを学習して1枚のページを作ることは出来ると思いますが、複数ページを作ったときにその流れや情報の受け渡しの仕方がわからないと思います。その方法を実際に作りながら学ぶことができます。

 

f:id:rikuya37:20200412063836p:plain

 

 

次にデータベースの追加やその活用です。今回は投稿内容を保存するPostテーブル・ユーザー内容を保存するUserテーブル・いいねを保存するLikeテーブルの3つを使い機能を作っていきます。データベース自体使う機会が多いので使い方わからないよって方におすすめです。

 

f:id:rikuya37:20200412063842p:plain

 

 

次にログインユーザーの権限と投稿の制限です。このサービスに投稿された内容はログインした人しか閲覧できないようにするため、ログイン状態を見極めます。また入力欄が空欄だったりした場合にエラー文が出るように設定をします。

 

f:id:rikuya37:20200412063846p:plain

 

 

最後に一番重要なパスワードの取り扱いです。パスワードや個人情報などをそのまま保存しておくことは大変危険ですので、保存するときに暗号化します。この講義で、暗号化の方法や、ログイン時に一致確認をする方法を学べます。

 

f:id:rikuya37:20200412063851p:plain

 

さぁいかがでしたでしょうか?プログラミング学習を始めたけど何をしたらいいかわからないと思う人は多いと思います。そんな方々に是非ともRailsを学んでこんなこともできるんだって感動を味わっていただければいいなと思います。

 

それでは最後までご覧いただきありがとうございます。

明日からまた薄い内容になると思いますがぜひご覧いただければ幸いです。