ruby on rails

Ruby on Rails初心者がdeviseを使ってWebアプリ開発!

 

アプリ概要

インターン先で、Rubyを使用して開発をすることがあったので、その練習のために作成したWebアプリです。

用途としては、大学生がサークルや部活のイベントを掲載できる掲示板です!

と言っても、実際に運用することが目的ではなくあくまでタイトルにあるとおり、

Ruby on Rails初心者がdeviseを使ってWebアプリ開発!

が目的です。

すなわち、deviseを使用した開発ができるようになること。

ついでに、heroku、mysql、githubなど、開発に必要な周辺知識を身につけることでした。

正直手探り過ぎたので、チュートリアルのように作成手順はまとめることはできていませんが、こんなものができるよ~といった紹介をします。

アプリの詳細

制作したアプリがこちらです。(時期によっては、herokuの無料期間が終了して見れないかもしれません。)

https://nagoya-app.herokuapp.com/

ソースコードはこちらです。

https://github.com/ibkuroyagi/nagoya-app

イベントを新規登録したらメールで確認通知が来るようになっています。

また、admin (管理者)は大学の新規追加権限を持っています。

最も苦労した点

正直、アプリ開発自体はそこまで難しくはありませんでした。

MVCモデルを理解すること、1対多、多対多、の関係をモデルで構築することは最初は惑いましたが、rails tutorialを参考に楽しくできました。

 

個人的に、最も辛かった部分は、herokuでデプロイをする部分です。

何度やってもメールの設定が上手くいかずに苦労しました。

ローカルでは動くのに、本番環境では全く動かなくなることが何度かあり、

コンピュータアーキテクチャに関して詳しくなりたいとしみじみ感じていおりました。

 

そして、Internal Server Errorに苦しめられました。

これが出てくると、「はぁ~。できたな。。さって、頑張るか!!」と気合いを入れる習慣を身につけました。

 

そして、何度か修復不可能な状態になり、git reset –hardコマンドのお世話になりました。

rails db:migrate:resetは何度やったか分かりません。

heroku run rails db:resetもやりました。

herokuではこれで、消えないことを誰よりもよく理解しているのではないかというほどやりました。

そして、実際にインターン先で運用されているアプリを見て、やってはいけないということも痛感しております。

 

さらに、Send Gridを使用した際に、調子に乗ってgit add ., git commit , git pushをした結果、APIをのせてしまい、アラートのメールを頂きました。

良い思い出です。(API自体が失効されています。)

 

.bash_profileも触ったことがありませんでしたが、格闘の末、なんとなくですが、触れるようになりました。

vimも避けていましたが、使わざるを得なくなり、ぎこちなくも触れるようになりました。

 

rubyの自由な書き方に、何度か苦しめられました。

初心者なので、様々な方の記事を参考にするのですが、問題に対して、解決法が同じことを書いてあるのか、それとも全く別のアプローチなのかを見分けることに苦労しました。

 

あとは、不意に訪れるPIDファイルが見つかりません問題にも苦しめられました。

普段は, Windows10 home を使用しているのですが、この時だけは先輩にMacbook Airを借りて開発をしていました。

その違いもなかなか大変だったかなと思います。

最後に

結論として、総じていい経験になりました。

 

ここで、苦労した経験は必ず役立つと思うので、その日まで知識を殺さないように触っていこうと思います。

 

オススメのプログラミングスクールをご紹介

タイピングもままならない完全にプログラミング初心者から

アホいぶきんぐ
アホいぶきんぐ
プログラミングってどこの国の言語なの~?

たった二ヶ月で

いぶきんぐ
いぶきんぐ
え!?人工知能めっちゃ簡単にできるじゃん!

応用も簡単にできる…!!

という状態になるまで、一気に成長させてくれたオススメのプログラミングスクールをご紹介します!

テックアカデミーのPython+AIコースを受講した僕が本音のレビュー・割引あり! というプログラミング完全初心者だった僕が Tech Academy(テックアカデミー)のPython×AIコース を二ヶ月間...

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です