２カ月プログラミングを勉強してからWebアプリをリリースするまで

今日は昨日僕が公開した英語日記というWebアプリを作るまでの記録の残しておきたいと思います。

作ったアプリは↓のリンクから見ることが出来るので是非見てください！
そして、興味を持ってもらえたら使ってみて欲しいです。

[英語日記](https://english-diary.herokuapp.com/)

<h1>プログラミングの勉強をするにあたって、最初に決めたこと</h1>
まず最初に決めたことは毎日継続すること。
やっぱり何事も続けたもん勝ちだし、最初の段階で難しいからといって諦めてしまうと何にも出来ないようになっちゃいます。

次に決めたのはある程度の出費は惜しまないことです。
僕は勉強するにあたって学生でそんなにお金がないこともあって、出来るだけ安く技術書を買うためにメルカリで出来るだけ綺麗なのを買ってました。
あと、サブスクとしてProgateもプレミアムプランで利用しました。

<h1>プログラミングの勉強を始めてから最初にしたこと</h1>
まずは色んなとこで言われていますが、僕もProgateから始めました。
Ruby、Rails、HTML&CSSのコースを全てやりました。（実はHTML&CSSは前にもやったことがあります）
つまり、Progateで言うところのWeb開発パスっていうコースですね。ちゃんと修了証も貰えます。

それで次に実際の開発に移ろうと思ったのですが、予想以上にProgateでの練習と実際の開発ではハードルの高さが全然違うくて、ここで挫折しそうになりました。
たぶん、Progateを終えた人でプログラミングが続かない人はここで詰まってしまうのかもしれないです。

<h1>Progateを終えてから勉強したこと</h1>
そこでProgateを終えてからはもっとRubyの文法自体に詳しくなろうと思って、メルカリでチェリー本（[プロを目指す人のためのRuby入門](https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%92%E7%9B%AE%E6%8C%87%E3%81%99%E4%BA%BA%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AERuby%E5%85%A5%E9%96%80-%E8%A8%80%E8%AA%9E%E4%BB%95%E6%A7%98%E3%81%8B%E3%82%89%E3%83%86%E3%82%B9%E3%83%88%E9%A7%86%E5%8B%95%E9%96%8B%E7%99%BA%E3%83%BB%E3%83%87%E3%83%90%E3%83%83%E3%82%B0%E6%8A%80%E6%B3%95%E3%81%BE%E3%81%A7-Software-Design-plus-ebook/dp/B077Q8BXHC/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=LAGQ77Y3LQCX&dchild=1&keywords=%E3%83%97%E3%83%AD%E3%82%92%E7%9B%AE%E6%8C%87%E3%81%99%E4%BA%BA%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AEruby%E5%85%A5%E9%96%80&qid=1608601165&sprefix=%E3%83%97%E3%83%AD%E3%82%92%E7%9B%AE%E6%8C%87%E3%81%99%2Caps%2C270&sr=8-1))を買って、とりあえず手を動かしながら全部やりきりました。
チェリー本を読破するのにかかった時間がだいたい２週間ぐらいで、読んでからはやっぱりRailsにしてもRubyにしても理解がかなり深まりました。おすすめです。
でも、分かんないこともまだまだいっぱいあります。

その次は実際に開発しながら分からないところがあれば、チェリー本と[Ruby on Rails 5 アプリケーションプログラミング](https://www.amazon.co.jp/Ruby-Rails-5%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E5%B1%B1%E7%94%B0-%E7%A5%A5%E5%AF%9B-ebook/dp/B071YC72X1/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2J2ZRINK6AF1J&dchild=1&keywords=ruby+on+rails+5%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&qid=1608601362&sprefix=ruby+on+rails+5%2Caps%2C275&sr=8-1)を参考にしながらやっていきました。
この本はWantedlyを作った仲さんが使っていた本で尊敬しているのでメルカリで買いました（笑）
<h1>Webアプリをリリースするまで</h1>
開発しているとどうしても上手くいかないことが多々出てくるんですが、それを乗り越える為にはやっぱりググる力と英語力が大事だと思いました。
自分が躓くところって誰かが躓いている可能性が高いのでググれば大体対処法は分かります。<br>
そして、出来るだけ英語で一次情報から情報を手に入れた方が良いと思いました。
Qiitaとかにも載っている日本語の説明もめっちゃ分かりやすくて参考になるのですが、上手くいかなかった場合、結構お手上げ状態になってオフィシャルのドキュメントを読むしかないことが多かったです。
どうせ読むなら最初から読んでも良いかなと思いました。
<h1>最後に</h1>
たくさんのエラーに僕も出会いました。
２日かかっても解決しないものも正直ありましたし、昨日公開してからもOAuthでログイン出来ないようになったりして大変でした。
そういう時って結構萎えてプログラミングが嫌になるんですけど、昨日初めて公開した時はめちゃくちゃ嬉しかったです。
この喜びは続けたからこそ味わえるもので、途中で挫折して止めてしまっていたら味わえなかったので本当に続けて良かったなと思います。
<br>
本当の本当の最後に、来年はMacを買って英語日記のiPhoneアプリを作るのと競技プログラミングでコーディング力を磨いていきたいと思います。
<h1>参考にしたサイト・本</h1>
・チェリー本（[プロを目指す人のためのRuby入門](https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%92%E7%9B%AE%E6%8C%87%E3%81%99%E4%BA%BA%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AERuby%E5%85%A5%E9%96%80-%E8%A8%80%E8%AA%9E%E4%BB%95%E6%A7%98%E3%81%8B%E3%82%89%E3%83%86%E3%82%B9%E3%83%88%E9%A7%86%E5%8B%95%E9%96%8B%E7%99%BA%E3%83%BB%E3%83%87%E3%83%90%E3%83%83%E3%82%B0%E6%8A%80%E6%B3%95%E3%81%BE%E3%81%A7-Software-Design-plus-ebook/dp/B077Q8BXHC/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=LAGQ77Y3LQCX&dchild=1&keywords=%E3%83%97%E3%83%AD%E3%82%92%E7%9B%AE%E6%8C%87%E3%81%99%E4%BA%BA%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AEruby%E5%85%A5%E9%96%80&qid=1608601165&sprefix=%E3%83%97%E3%83%AD%E3%82%92%E7%9B%AE%E6%8C%87%E3%81%99%2Caps%2C270&sr=8-1))
・[Ruby on Rails 5 アプリケーションプログラミング](https://www.amazon.co.jp/Ruby-Rails-5%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E5%B1%B1%E7%94%B0-%E7%A5%A5%E5%AF%9B-ebook/dp/B071YC72X1/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2J2ZRINK6AF1J&dchild=1&keywords=ruby+on+rails+5%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0&qid=1608601362&sprefix=ruby+on+rails+5%2Caps%2C275&sr=8-1)
・[初心者歓迎！手と目で覚える正規表現入門](https://qiita.com/jnchito/items/893c887fbf19e17d3ff9)
・[[*Rails*] deviseの使い方（rails6版）](https://qiita.com/cigalecigales/items/16ce0a9a7e79b9c3974e)
・[RailsでFacebookとGoogleのOAuth連携。SNS認証の方法](https://qiita.com/nakanishi03/items/2dfe8b8431a044a01bc6)
・[【Rails】deviseを導入してみる](https://qiita.com/Hal_mai/items/350c400e8763ce0487a3)
・[【Rails】omniauth_callbacks_controllerについて](https://qiita.com/yoshi_4/items/580374b30242a265ec22)
・[【初心者向け】railsアプリをherokuを使って確実にデプロイする方法【決定版】](https://qiita.com/kazukimatsumoto/items/a0daa7281a3948701c39)
・[SQLite on Heroku](https://devcenter.heroku.com/articles/sqlite3)
・[Configuration and Config Vars for Heroku](https://devcenter.heroku.com/articles/config-vars)
・[OmniAuth Google OAuth2 Strategy](https://github.com/zquestz/omniauth-google-oauth2)
・[OmniAuth: Overview](https://github.com/heartcombo/devise/wiki/OmniAuth:-Overview)
・[Progate](https://prog-8.com/)