ノスタルジア

プログラミングや個人開発、なんでもない日々のことについてのブログ

僕が今までやったRuby on Railsの勉強

僕がプログラミングを初めて1年と9ヶ月ほど経ちました。

ほぼ独学でこれまで勉強してきましたが、途中で挫折する人も多いかと思います。

 

少しでも挫折する人を減らせるよう、参考になるか分かりませんが自分が今までやってきたプログラミングの勉強方法を紹介させて頂きます。

 

とは言っても、実は結構昔にプログラミングスクールに2週間ほど通ったことがあります。

でもそのとき「あっ、これ無理だ。」と思いすぐ挫折しました

※決してプログラミングスクールが良くないわけではありません。質問した時は丁寧に教えてくれました。僕の理解力の問題です(笑)

 

そこからだいぶ期間が空いて、その2週間で学んだことの98%は忘れてしまっていましたが、どうしても作りたいサービスがあったため、プログラミングの勉強を開始しました。

 

まずはドットインストールでHTMLとCSSの勉強を始めました。

 

ドットインストール

https://dotinstall.com/

 

HTMLはなんとなーくわかった気がしましたが、CSSはよくわからないまま動画を観ていました。

とりあえずHTMLとCSSの動画をそれぞれ2周した後、次はドットインストールで「Ruby入門」の動画を観てみました。

 

Rubyを選んだ理由は特になく、その当時たまたま出会ったプログラマーの方に「web系のサービス作りたいんだったらRubyが良いよ」と言われたのでそのまま鵜呑みにしてRubyの勉強を始めました。

 

ドットインストール Ruby入門

https://dotinstall.com/lessons/basic_ruby_v3

 

HTMLやCSSの動画もそうですが、1つの動画が全て3分以内に収められているため、全部で26個の動画がありますがサクッと一気に観れました。

ただ、後半はさっぱり分けもわからず「とりあえず観る」といった感じで進めていたのを覚えています。Ruby入門の動画も分からないなりになんとか2周しました。

 

ドットインストールでHTML、CSSRubyをそれぞれ学んだ後はProgateでHTML、CSSRubyをそれぞれ1周しました。

 

prog-8.com

 

Progateは前に自分が書いたコードも使いながら次に進んでいくため、ローププレイングゲームをやっているみたいで面白かったです。

ただ、どのコースも後半につれて訳分かんなくなってました(笑)

 

次にRuby on Railsというフレームワークを使うとwebサービスが作れるとネットにいっぱい書いてあったので、Railsの勉強を始めました。

まずはプログラミング初心者御用達のドットインストールで「Ruby on Rails5入門」の動画を2周しました。

Railsに関しては始めから何が何だかちんぷんかんぷんでした。

 

ドットインストール Ruby on Rails5入門

https://dotinstall.com/lessons/basic_rails_v3

 

最近になってようやく慣れましたが、ドットインストールの動画って3分に収めているからかめっちゃ早くないですか?

最初の頃はその早さについていけず、何度も動画を戻して繰り返し観てました。

 

その後にまたまたプログラミング初心者御用達のProgateにてRuby on Rails5コースに取り掛かりましたが、後半は難しすぎてやめました(笑)

 

その頃に初めてプログラミングに関する本である「Ruby on Rails4 アプリケーションプログラミング」を買いました。 

Ruby on Rails 4 アプリケーションプログラミング

Ruby on Rails 4 アプリケーションプログラミング

 

 ※今は最新版の「Ruby on Rails5 アプリケーションプログラミング」も発売されています。

 

後にこの本は僕にとってかなり神的な本になったのですが、その頃の僕にとっては訳が分からず、すぐ読むのをやめてしまいました。

 

その後、Railsを学ぶなら「Railsチュートリアル」が良いとネットに書いてあったので、Railsチュートリアルを始めました。

 

railstutorial.jp

 

ただ、本での勉強は理解しにくいと感じていたので(今は本での勉強めっちゃ大事だと感じてます!)、Railsチュートリアルの動画が販売されていたので、その動画を購入して勉強しました。

railstutorial.jp

動画の価格が29,800円(税別)なので、決して安くはなかったですが、結果的にこの動画は僕にとって神動画になりました!

この動画を観てやっとRubyRailsの違いをようやく少しだけですが理解できました。(それまでRubyRailsがそれぞれ何なのかすらよくわかってなかった...)

 

ただ、ProgateのRailsコースを途中で挫折する僕です。

神的な解説のおかげで前半部分はなんとなく理解できましたが、当然後半は訳わからず、「コードをコピペして分からんけど動いた」みたいなことをしてました。テストはもちろん書いてません!(笑)

 

Railsチュートリアルを訳分からないなりになんとか2周した後に、当時UdemyにRailsを使ってAirbnbみたいなサービスを作ってみる動画があり、評判がよかったためそれを見て勉強しました。

 

結果的にその動画は今までRailsを勉強してきた中で番役に立った神動画でした!

Progateやドットインストールで勉強した後、「一からどのようにサービスを作ったら良いか分からない問題」に必ずプログラミング初心者にはぶち当たると思うのですが、

その動画はrails newから実際の現場でどのようにサービスを作っていくか丁寧に説明してくれていました。

現在ではUdemyから削除されているのですが、今になってもまたもう一回観てみたいと思う動画です。

 

ただ、神動画でも僕の理解力の低さには勝てません(笑)

動画の後半はかなり難しい内容になってきて、最後の方はお得意の「コピペしてなんか分からんけど動いた」みたいなことばかりやってました。

 

それで何とかその動画も全て見終わった後、出版のサービス(サービス名はnospriといいます)を作ってみたいと考えていたので、そのサービスの制作に取り掛かりました。

www.nospri.com

途中100回くらい挫折しそうになりましたが、どうしてもサービスを作りたかったので気合いで何とか分からないなりに4ヶ月くらいかけて作りました。

 

この出版サービスを作っている時に、Javascriptも勉強しないとまずいと思い、サービスを制作しながらとりあえずjQueryの勉強もしてました。

 

ちなみに、サービスの中でHerokuのH12 Error( 30 second timeout )を回避する為に、Ajaxを使って大容量データファイルをAmazon S3に直接送信する機能があるのですが、そこが僕にとって特に難しく泣きそうになったのは良い思い出です。。。

 

出版サービスを完成させた後、改めて前に購入していた「Ruby on Rails4 アプリケーションプログラミング」を読んでみたのですが、知識の点と点が繋がるとはまさにその時のことで、Railsについての理解度が今まで2%くらいだったのがやっと5%くらいまで上がったと思います(笑)。

 

そこから本での勉強も大事だと言うことに気づき、RubyRailsjQueryに関する様々な本を書いました。

それぞれ僕にとって一番よかった本は以下の通りです。

 

RubyRuby界隈で有名な伊藤淳一さんが書いた「プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発デバッグ技法まで

 

Railsはすでに紹介済みの「Ruby on Rails4 アプリケーションプログラミング」の最新版にあたる「Ruby on Rails5 アプリケーションプログラミング」 

Ruby on Rails 5アプリケーションプログラミング

Ruby on Rails 5アプリケーションプログラミング

 

 

 jQueryは「Web制作の現場で使うjQueryデザイン入門[改訂新版] 

 

今ではjQueryは古く、ReactやVue.js等のモダンなフレームワークを使うケースが多いため、今から必ずしもjQueryを学ぶ必要はないんじゃないかと思います。(じゃあ、RubyよりもPythonやGo勉強した方が良いんじゃないの?とかは言わないで...)

 

RubyRailsjQuery等の本を10冊くらい読んで勉強した後に、webのメディアサイトを作ってみたくなり、僕は京都が大好きなので、京都の鴨川に関する記事を誰でも投稿することができるwebメディアサイト(サービス名は「鴨川へ行こう」)を1ヶ月くらいで作りました。

 

www.kamogawa-go.com

 

2つ目のサービスを作ってやっとここでRuby on Railsへの理解度が7%くらいまで上がりました!

 

ここから絵本を投稿できるサービスを作ったり、感謝の気持ちをポイントに変えて自由に送り合うことができるサービスを作ったり、小さいのも合わせると全部で5個くらいサービスを作りましたが、公開までに至りませんでした。

 

原因は1つです。

デザインセンスがないからです。服はほぼユニクロで買う僕にデザインのセンスなんてあるわけありません。ってかCSS書くのがめんどいです。。。

 

ただ、今となっては最低限CSS書いて、いくつかのサービスは「公開しとけばよかった」と思っています。なので今後ちょこちょこデザイン整えて、公開できるまでもっていきたいです。

 

一方、サービスの公開まではいきませんでしたが、そこでポイント機能やフォロー・フォロワー機能、stripeを使った決済機能など、いろんなサービスで応用できそうなスキルを何となく学ぶことはできたのでまあ良い面もありました。。。

 

今年に入ってから僕が今までで一番時間をかけて初心者向けのクラウドソーシングサービスを作りました。(サービス名はnovice、日本語で「初心者」という意味です。)

novice-work.com

何とかリリースまでもっていきましたが、今まで発信等を全然していなかった為、全然ユーザーが増えません。よかったらTwitterフォローしてください(笑)

twitter.com

発信力が弱小な人にとってやっぱりto C向けのサービスは難しいですね。。。

今後は情報を発信しつつ、UXの面でも超絶使いにくいところが山ほどあるので、そこらへんを徐々に直していこうと思います。

 

あと、プログラミングを勉強してサービスを作るのもいいけど、作ったサービスを広めることにも注力した方が良いと今はひしひしと思います。僕はサービスを作っただけで満足していたから今かなり痛い目にあってる。(前から痛い目に遭ってばっかりだけど。)

 

まあ、今までめちゃくちゃ小規模でくだらないサービスも含めて全部で8個くらいサービスを作ってきましたが、ようやくRailsのことを9%くらい理解できるようになりました。

何とか今年中に10%くらい理解できるよう頑張りたいです(笑)

 

また、Swiftを勉強してiOSアプリリリースして、友達に自慢したいです。プログラミングやってない人から見たら、クソみたいなアプリでも自分のアプリがAppleストアに載ってるだけですごいと思ってくれるじゃないですか!?

 

色々書きましたがとにかくまとめると、プログラミングの勉強で一番大事なのは「情熱」だと思います。(なんじゃそりゃ。。。)

もっとがんばります。はい。。。