tag:crieit.net,2005:https://crieit.net/tags/%E7%8B%AC%E5%AD%A6/feed 「独学」の記事 - Crieit Crieitでタグ「独学」に投稿された最近の記事 2019-06-25T23:08:27+09:00 https://crieit.net/tags/%E7%8B%AC%E5%AD%A6/feed tag:crieit.net,2005:PublicArticle/15167 2019-06-25T23:08:27+09:00 2019-06-25T23:08:27+09:00 https://crieit.net/posts/Ruby-on-Rails 僕が今までやったRuby on Railsの勉強 <p>僕がプログラミングを初めて<strong>1年と9ヶ月</strong>ほど経ちました。</p> <p>ほぼ<strong>独学</strong>でこれまで勉強してきましたが、途中で挫折する人も多いかと思います。</p> <p> </p> <p>少しでも挫折する人を減らせるよう、参考になるか分かりませんが自分が今までやってきたプログラミングの勉強方法を紹介させて頂きます。</p> <p> </p> <p>とは言っても、実は結構昔にプログラミングスクールに2週間ほど通ったことがあります。</p> <p>でもそのとき「<strong>あっ、これ無理だ。</strong>」と思いすぐ挫折しました。</p> <p>※決してプログラミングスクールが良くないわけではありません。質問した時は丁寧に教えてくれました。僕の理解力の問題です(笑)</p> <p> </p> <p>そこからだいぶ期間が空いて、その2週間で学んだことの<strong>98%は忘れてしまっていましたが</strong>、どうしても作りたいサービスがあったため、プログラミングの勉強を開始しました。</p> <p> </p> <p>まずは<strong>ドットインストール</strong>でHTMLとCSSの勉強を始めました。</p> <p><a target="_blank" rel="nofollow noopener" href="https://dotinstall.com/">ドットインストール</a></p> <p> <br /> HTMLはなんとなーくわかった気がしましたが、CSSはよくわからないまま動画を観ていました。</p> <p>とりあえずHTMLとCSSの動画をそれぞれ2周した後、次はドットインストールで「<strong>Ruby入門</strong>」の動画を観てみました。</p> <p> </p> <p>Rubyを選んだ理由は特になく、その当時たまたま出会ったプログラマーの方に「<strong>web系のサービス作りたいんだったらRubyが良いよ</strong>」と言われたのでそのまま鵜呑みにしてRubyの勉強を始めました。</p> <p><a target="_blank" rel="nofollow noopener" href="https://dotinstall.com/lessons/basic_ruby_v3">ドットインストール Ruby入門</a></p> <p> <br /> HTMLやCSSの動画もそうですが、1つの動画が全て3分以内に収められているため、全部で26個の動画がありますがサクッと一気に観れました。</p> <p>ただ、<strong>後半はさっぱり分けもわからず「とりあえず観る」</strong>といった感じで進めていたのを覚えています。Ruby入門の動画も分からないなりになんとか2周しました。</p> <p> </p> <p>ドットインストールでHTML、CSS、Rubyをそれぞれ学んだ後は<strong>Progate</strong>でHTML、CSS、Rubyをそれぞれ1周しました。</p> <p><a target="_blank" rel="nofollow noopener" href="prog-8.com">Progate(プロゲート)</a></p> <p>Progateは前に自分が書いたコードも使いながら次に進んでいくため、ローププレイングゲームをやっているみたいで面白かったです。</p> <p><strong>ただ、どのコースも後半につれて訳分かんなくなってました(笑)</strong></p> <p> </p> <p>次にRuby on Railsというフレームワークを使うとwebサービスが作れるとネットにいっぱい書いてあったので、Railsの勉強を始めました。</p> <p>まずはプログラミング初心者御用達のドットインストールで「Ruby on Rails5入門」の動画を2周しました。</p> <p><strong>Railsに関しては始めから何が何だかちんぷんかんぷんでした。</strong></p> <p><a target="_blank" rel="nofollow noopener" href="https://dotinstall.com/lessons/basic_rails_v3">ドットインストール Ruby on Rails5入門</a><br />  </p> <p>最近になってようやく慣れましたが、ドットインストールの動画って3分に収めているからかめっちゃ早くないですか?</p> <p>最初の頃はその早さについていけず、何度も動画を戻して繰り返し観てました。</p> <p> </p> <p>その後にまたまたプログラミング初心者御用達のProgateにてRuby on Rails5コースに取り掛かりましたが、<strong>後半は難しすぎてやめました(笑)</strong></p> <p> </p> <p>その頃に初めてプログラミングに関する本である「<strong>Ruby on Rails4 アプリケーションプログラミング</strong>」を買いました。 </p> <p><a target="_blank" rel="nofollow noopener" href="https://www.amazon.co.jp/exec/obidos/ASIN/4774164100/hatena-blog-22/">Ruby on Rails4アプリケーションプログラミング</a><br />  ※今は最新版の「Ruby on Rails5 アプリケーションプログラミング」も発売されています。</p> <p> <br /> 後にこの本は僕にとってかなり神的な本になったのですが、その頃の僕にとっては訳が分からず、すぐ読むのをやめてしまいました。</p> <p> <br /> その後、Railsを学ぶなら「<strong>Railsチュートリアル</strong>」が良いとネットに書いてあったので、Railsチュートリアルを始めました。</p> <p> <br /> <a target="_blank" rel="nofollow noopener" href="https://railstutorial.jp/">Ruby on Rails チュートリアル:実例を使って Rails を学ぼう</a><br />  </p> <p>ただ、本での勉強は理解しにくいと感じていたので(今は本での勉強めっちゃ大事だと感じてます!)、Railsチュートリアルの動画が販売されていたので、その動画を購入して勉強しました。</p> <p><a target="_blank" rel="nofollow noopener" href="https://railstutorial.jp/trial">解説動画お試しプラン - Railsチュートリアル</a></p> <p>動画の価格が<strong>29,800円(税別)</strong>なので、決して安くはなかったですが、結果的にこの動画は僕にとって神動画になりました!</p> <p>この動画を観てやっと<strong>RubyとRailsの違いをようやく少しだけですが理解できました。</strong>(それまでRubyとRailsがそれぞれ何なのかすらよくわかってなかった...)</p> <p> </p> <p>ただ、ProgateのRailsコースを途中で挫折する僕です。</p> <p>神的な解説のおかげで前半部分はなんとなく理解できましたが、<strong>当然後半は訳わからず、「コードをコピペして分からんけど動いた」みたいなことをしてました。テストはもちろん書いてません!(笑)</strong></p> <p> </p> <p>Railsチュートリアルを訳分からないなりになんとか2周した後に、当時UdemyにRailsを使ってAirbnbみたいなサービスを作ってみる動画があり、評判がよかったためそれを見て勉強しました。</p> <p> </p> <p><strong>結果的にその動画は今までRailsを勉強してきた中で一番役に立った神動画でした!</strong></p> <p>Progateやドットインストールで勉強した後、「<strong>一からどのようにサービスを作ったら良いか分からない問題</strong>」に必ずプログラミング初心者にはぶち当たると思うのですが、</p> <p>その動画はrails newから実際の現場でどのようにサービスを作っていくか丁寧に説明してくれていました。</p> <p>現在ではUdemyから削除されているのですが、今になってもまたもう一回観てみたいと思う動画です。</p> <p> </p> <p><strong>ただ、神動画でも僕の理解力の低さには勝てません(笑)</strong></p> <p>動画の後半はかなり難しい内容になってきて、最後の方はお得意の「<strong>コピペしてなんか分からんけど動いた</strong>」みたいなことばかりやってました。</p> <p> </p> <p>それで何とかその動画も全て見終わった後、出版のサービス(サービス名は<strong>nospri</strong>といいます)を作ってみたいと考えていたので、そのサービスの制作に取り掛かりました。</p> <p><a target="_blank" rel="nofollow noopener" href="www.nospri.com">無料で紙の本を出版できるサービス</a></p> <p><strong>途中100回くらい挫折しそうになりましたが</strong>、どうしてもサービスを作りたかったので気合いで何とか分からないなりに<strong>4ヶ月</strong>くらいかけて作りました。</p> <p> </p> <p>この出版サービスを作っている時に、Javascriptも勉強しないとまずいと思い、サービスを制作しながらとりあえず<strong>jQueryの勉強もしてました。</strong></p> <p> </p> <p>ちなみに、サービスの中でHerokuのH12 Error( 30 second timeout )を回避する為に、Ajaxを使って大容量データファイルをAmazon S3に直接送信する機能があるのですが、そこが僕にとって特に難しく泣きそうになったのは良い思い出です。。。</p> <p> </p> <p>出版サービスを完成させた後、改めて前に購入していた「<strong>Ruby on Rails4 アプリケーションプログラミング</strong>」を読んでみたのですが、<strong>知識の点と点が繋がるとはまさにその時のこと</strong>で、Railsについての理解度が今まで<strong>2%くらいだったのがやっと5%くらいまで上がったと思います(笑)。</strong></p> <p> </p> <p>そこから本での勉強も大事だと言うことに気づき、RubyとRails、jQueryに関する様々な本を書いました。</p> <p>それぞれ僕にとって一番よかった本は以下の通りです。</p> <p> </p> <p>RubyはRuby界隈で有名な伊藤淳一さんが書いた「<strong>プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで</strong>」</p> <p><a target="_blank" rel="nofollow noopener" href="https://www.amazon.co.jp/exec/obidos/ASIN/4774193976/hatena-blog-22/">プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)</a><br />  <br />  </p> <p>Railsはすでに紹介済みの「Ruby on Rails4 アプリケーションプログラミング」の最新版にあたる「<strong>Ruby on Rails5 アプリケーションプログラミング</strong>」 </p> <p><a target="_blank" rel="nofollow noopener" href="https://www.amazon.co.jp/exec/obidos/ASIN/4774188832/hatena-blog-22/">Ruby on Rails5 アプリケーションプログラミング</a><br />  </p> <p> jQueryは「<strong>Web制作の現場で使うjQueryデザイン入門[改訂新版] </strong>」</p> <p><a target="_blank" rel="nofollow noopener" href="https://www.amazon.co.jp/exec/obidos/ASIN/4048913913/hatena-blog-22/">Web制作の現場で使うjQueryデザイン入門[改訂新版] </a></p> <p> <br />  <br /> 今ではjQueryは古く、ReactやVue.js等のモダンなフレームワークを使うケースが多いため、今から必ずしもjQueryを学ぶ必要はないんじゃないかと思います。(じゃあ、RubyよりもPythonやGo勉強した方が良いんじゃないの?とかは言わないで...)</p> <p> </p> <p>RubyやRails、jQuery等の本を10冊くらい読んで勉強した後に、webのメディアサイトを作ってみたくなり、僕は京都が大好きなので、京都の鴨川に関する記事を誰でも投稿することができるwebメディアサイト(サービス名は「<strong>鴨川へ行こう</strong>」)を1ヶ月くらいで作りました。</p> <p> <br /> <a target="_blank" rel="nofollow noopener" href="https://www.kamogawa-go.com/">鴨川へ行こう | 京都鴨川のあらゆる情報を発信するサイト</a></p> <p> </p> <p>2つ目のサービスを作ってやっとここでRuby on Railsへの理解度が<strong>7%くらいまで上がりました!</strong></p> <p>ここから絵本を投稿できるサービスを作ったり、感謝の気持ちをポイントに変えて自由に送り合うことができるサービスを作ったり、小さいのも合わせると全部で5個くらいサービスを作りましたが、公開までに至りませんでした。</p> <p> </p> <p>原因は1つです。</p> <p><strong>デザインセンスがないからです。</strong>服はほぼユニクロで買う僕にデザインのセンスなんてあるわけありません。<strong>ってかCSS書くのがめんどいです。。。</strong></p> <p> </p> <p>ただ、今となっては最低限CSS書いて、いくつかのサービスは「<strong>公開しとけばよかった</strong>」と思っています。なので今後ちょこちょこデザイン整えて、公開できるまでもっていきたいです。</p> <p> </p> <p>一方、サービスの公開まではいきませんでしたが、そこでポイント機能やフォロー・フォロワー機能、stripeを使った決済機能など、いろんなサービスで応用できそうなスキルを何となく学ぶことはできたのでまあ良い面もありました。。。</p> <p> </p> <p>今年に入ってから僕が今までで一番時間をかけて初心者向けのクラウドソーシングサービスを作りました。(サービス名は<strong>novice</strong>、日本語で「初心者」という意味です。)</p> <p><a target="_blank" rel="nofollow noopener" href="https://novice-work.com/">novice | 失敗しても大丈夫! 初心者・未経験者のためのクラウドソーシングサービス</a></p> <p>何とかリリースまでもっていきましたが、今まで発信等を全然していなかった為、<strong>全然ユーザーが増えません。よかったらTwitterフォローしてください(笑)</strong></p> <p><a target="_blank" rel="nofollow noopener" href="https://twitter.com/leavescomic1">@leavescomic1</a></p> <p><strong>発信力が弱小な人にとってやっぱりto C向けのサービスは難しいですね。。。</strong></p> <p>今後は情報を発信しつつ、UXの面でも超絶使いにくいところが山ほどあるので、そこらへんを徐々に直していこうと思います。</p> <p> </p> <p>あと、プログラミングを勉強してサービスを作るのもいいけど、<strong>作ったサービスを広めることにも注力した方が良いと今はひしひしと思います。</strong>僕はサービスを作っただけで満足していたから今かなり痛い目にあってる。(前から痛い目に遭ってばっかりだけど。)</p> <p> </p> <p>まあ、今までめちゃくちゃ小規模でくだらないサービスも含めて全部で<strong>8個</strong>くらいサービスを作ってきましたが、ようやくRailsのことを<strong>9%くらい理解できるようになりました。</strong></p> <p>何とか今年中に10%くらい理解できるよう頑張りたいです(笑)</p> <p> </p> <p>また、Swiftを勉強してiOSアプリリリースして、友達に自慢したいです。プログラミングやってない人から見たら、クソみたいなアプリでも自分のアプリがAppleストアに載ってるだけですごいと思ってくれるじゃないですか!?</p> <p> </p> <p>色々書きましたがとにかくまとめると、プログラミングの勉強で一番大事なのは「<strong>情熱</strong>」だと思います。(なんじゃそりゃ。。。)</p> <p>もっとがんばります。はい。。。</p> Naoki Mizutani