プログラミング初心者が勉強しないといけない10の技術(Ruby on Railsの場合)
「プログラミングを勉強してWebサービスを作るぞ!」と決意したものの、一体何をどこまで勉強すればいいのかわからないという人向けに、何を勉強しないといけないのかをまとめておきます。今回紹介するのはRuby on Railsを使ってWebサイト等を作ろうという場合に必要な技術リストです。
- プログラミング言語 Ruby
- バックエンドフレームワーク Ruby on Rails
- コマンドライン
- エディタの使い方
- gitの使い方
- データベースの使い方
- サーバー関連
- HTMLとCSS, Javascript
- プログラマーに対する理解
- インターネットの仕組み
- さいごに
プログラミング言語 Ruby
Ruby on Railsがプログラミング言語だと勘違いしている人がいるようですが、Ruby on Railsはあくまでフレームワークであって、プログラミング言語ではありません。Ruby on Railsを使ってWebサイトを作る際には、Rubyというプログラミング言語を勉強する必要があります。
最初の段階からRubyの細かい部分まで覚える必要はありませんが、『Ruby on Railsを学ぶ時に勉強しておきたい4つのRubyの知識』で紹介した技術は最低限身に付けましょう。
また、RubyとRuby on Railsの違いもしっかり理解しておきましょう。
バックエンドフレームワーク Ruby on Rails
こちらは言うまでもなく勉強しないといけないですね。Ruby on Railsをどのように使えばWebサイトが作れるのかを勉強します。
▼参考にしたい記事
・独学でも確実に力がつくプログラミング勉強法【Rails編】ステップ① - プログラミングとデザイン、スタートアップの話
・独学でも確実に力がつくプログラミング勉強法【Rails編】ステップ② - プログラミングとデザイン、スタートアップの話
・独学でも確実に力がつくプログラミング勉強法【Rails編】ステップ③ - プログラミングとデザイン、スタートアップの話
・【厳選】独学でプログラミングを学習する時にオススメのサイト(Ruby on Railsの場合) - プログラミングとデザイン、スタートアップの話
コマンドライン
プログラミングをする上で、ターミナルでの作業が必ず入ってきます。ディレクトリ間を移動したり、ファイルを作成・削除したりする作業です。Railsを使ってローカル環境でプロジェクトを作っていく段階ではそこまで多くのコマンドを覚える必要はありませんが、後々サーバーサイドをいじっていく時にはもう少しコマンドを覚える必要が出てきます。
エディタの使い方
ファイルを編集する際に使用するエディタの使い方も学習しましょう。Sublime Text、Vim, Atomなどが人気です。どのエディタを選ぶかということは必ず論争になるので、あなたの好きなものを選べばOKです。
プログラミング初心者の人が、最初はプログラミングの習得に集中したいという場合はSublime Textの方が良いでしょう。Vimに比べると直感的な操作ができるため、習得は早いです。一方で、後々サーバーをイジる時にVimの使い方を再度覚えないといけないという場面は出てきてしまうでしょう。
▼参考にしたい記事 harv-tech.hatenablog.com
gitの使い方
個人でもそうですが、チームでの開発をする上ではgitの習得は必須です。gitが使えないといつまでたってもチームでの開発をすることができません。RubyやRuby on Rails、コマンドラインの使い方など覚えることが沢山あって大変ですが、gitはそれらが落ち着いた段階などで勉強すれば大丈夫なのであせらないで下さい。
▼参考にしたい記事 harv-tech.hatenablog.com
データベースの使い方
最近はBasSなどの発達により、細かなデータベースの知識がなくてもWebサイトが作れてしまいます。今後もこの流れは加速するでしょう。しかし、そういったサービスに頼っていると自分でデータベースをいじるスキルは身につきません。
プログラマーとしてやっていくことを考えているのなら、基本的なデータベースの操作方法は身に付けたほうが良いです。どのデータベースの使い方を勉強するか迷ったらMySQLをひとまず勉強するのが良いでしょう。
サーバー関連
あなたが作ったWebサイトを公開するときには、そのプロジェクトをサーバーにアップする必要があります。Ruby on Railsを使えるようにするためにあなたのパソコンに開発環境を用意したように、サーバーにもそのような環境を用意する必要があります。
どんなWebサイトも何かしらのサーバーで動いているため、そのサーバーの使い方を覚えなければあなたのプロジェクトは永遠にあなたのパソコンの中でしか動きません。
HTMLとCSS, Javascript
いわゆるフロントエンド開発と呼ばれる分野ですが、これは本当に最低限でOKです。最初に一人で勉強してプロジェクトを作るとなると、多少デザインを当てたくなるためCSSなどを勉強するかと思いますが、後々はフロントエンドエンジニアに任せる分野なのでそこそこにしておきましょう。
Javascriptは微妙なラインですが、RubyやRailsほど勉強する必要はありません。チュートリアルで出てくる範囲くらいで最初はとどめておきましょう。
プログラマーに対する理解
有名な本で『ハッカーと画家 コンピュータ時代の創造者たち』というものがありますが、このような本を読んでハッカーやプログラマーについて学ぶと勉強のモチベーションが上がります。どのような考え方をするのか、どのような時代背景があるのか、何を大切にものづくりをしていくのか等の思想の部分を固めることも技術以外の要素として大切です。他にも、Facebookの創業期を描いた『ソーシャルネットワーク』のような映画を見てみるのもいいかもしれません。
インターネットの仕組み
最後に紹介したいのが、「インターネットの仕組み」です。意外とこういった分野が疎いままプログラミングを勉強している人が多いです。例えば、URLとは何なのか、インターネットとは何なのか、サーバーとは何かなどです。このような知識を最初に勉強しておくかどうかは、後々の学習効率に大きな影響を与えてきます。RubyやRailsの勉強の休憩時間などに目を通すようにすると良いと思います。
さいごに
今回の記事はプログラミング初心者が勉強しないといけない技術リストということで、それぞれの具体的な勉強方法には言及していません。過去に勉強方法について紹介した記事を書いている場合は参考リンクを貼っていますが、まだ当ブログで書いていないものは随時更新していく予定です。