こんにちわわ!むねちむです:)
「絶対に挫折しない!」プログラミング学習講座は果たして本物なのか。
本記事では、話題のスキルハックスを実際に感想したわたしの体験レポートとなっています。
今回は、SkillHacksの第5章から学ぶ、『Ruby』という言語について説明していきます!
スキルハックス購入を迷っている方の参考になれば幸いです。
結論!「Ruby」講座を学んで感じた3つのこと
・学習にはサブモニターがあると便利
・わかりにくい動画番号はメモし、復習する
・不明点はその場でググるかLINEサポートを受ける
初心者でも挫折しないプログラミング学習!
Rubyとは何ぞや?
Rubyって、宝石みたいで素敵な響きね。とても親近感があるわ。
いよいよ本格的な言語学習って感じがするなぁ。わくわく。
7月の誕生石がRuby(ルビー)。そう、わたしの誕生石でもあります。
って、どうでもいい話ですが、あなたも聴き慣れた宝石の名前なので、どことなく親近感はありますよね。
実は、Ruby言語の開発者は、『まつもとゆきひろ』さんという日本人。
Perl(パール)という、宝石と同じ発音の言語があり、そこから同じような宝石の名前で名付けられたみたいですね。
でも、そもそもRubyってどんな言語で、何ができるのかは初心者おじさん全く想像できなかったので、簡単に調べてみました。
■Rubyってどんな言語?
Rubyはオブジェクト指向スクリプト言語 の1つで、JavaやC言語は、プログラムを実行するためにコンパイル(人が書いたソースコードを機械が読み取れるようにに変換) をすることで、初めて実行ができます。
しかし、Rubyのようなスクリプト言語ではコンパイルが不要なので、JavaやCに比べてプログラミングが手軽にできます。
、、、、、。専門用語だらけね。
まったく親近感わかなくなったわ。
オブジェクトしこう、、スクリプト言語??
こんぱいる、、?
うん、わかりづらいですよね。
補足します、、。ごめんなさい。
■オブジェクト指向とは
『Object(オブジェクト)=“物(もの)”』という意味。
オブジェクト指向は、一種の概念として扱われるのですが、プログラミングを手順通りに書く事ではなく、“物(もの)”としてとらえて作成、操作するという考え方です。
例えばですが、「TVゲームでキャラクターにジャンプする命令をだす」というデータ処理を行いたい場合、どのように調べればいいかわかるでしょうか。
・ゲーム作成用のプログラミング言語ってなんだろう?
・どんなコードを検索すればいいの?
わたしのような初心者には、そもそも何をどう調べていいかもわかりません。
でも、実際ゲームを遊ぶときは、ゲーム機についているコントローラーを使います。
プレステのボタンでたとえるなら、ジャンプは『×』ボタン、攻撃は『○』ボタン。
このように、直感的に操作できます。
ようは、キャラクターを「ジャンプ」させるためには、ゲーム機のデータ処理がどうなっているかなんて知る必要なんてないですよね。
プレステの開発自体はソニーさんに任せているので、遊ぶプレイヤーはコントローラーの使い方だけ知っとけば、冒険にも出れるし、街だって作れます。
プログラミングも、実は同じことが言えます。
細かなプログラミングの仕組み作りはプロ級の人が準備しますので、その仕組みをつかって開発速度を早くしましょうね。
という考え方が『オブジェクト指向』になります。
Bootstrapのフレームワークのようなイメージだね!
※気になる方は前回記事をチェック!⇒ 『Bootstrap編』
※オブジェクト指向は、一つの考え方なので、一概にこれ!という説明が存在してませんので、イメージとしてこういうものだと思って頂ければ幸いです。
■スクリプト言語とは
習得するのを簡単にするために工夫されたプログラミング言語の総称のことを言います。
プログラミングは一から全てのコードを記述するとかなり複雑ですが、できるだけ面倒な部分を省略して書くことができるのがスクリプト言語です。
初心者には分かりやすい言語な反面、より細かく複雑な設定をおこなう場合などは適さない場合があるようですね。
『Google』さんのように、高度な技術が必要なサービスの場合は、スクイプト言語では限界がありますが、ほとんどのWebサービスはスクリプト言語で作成することが出来ます。
特にRubyに関しては、他のスクリプト言語と比べても直感的に分かりやすい仕組みですので、学習の入口としてはとてもいいと思っています。
ここで学ぶ楽しさと、プログラミングへの興味関心が深まれば、他言語学習への意欲も湧きますしね。
ということで、今回はそんなSkillHacksを通じて学べる『Ruby』と、感想をお伝えしていきたいと思います。
Rubyでできること
Rubyはとても汎用性が高く、効率よくWebアプリケーションを作成できるので、日本でもいろんな企業が利用しています。
例をいくつか挙げると、
▼『Ruby』で開発されたWebサービス
・Twitter
・クックパッド
・Retty
・食べログ
・Hulu etc…
なので、Ruby(加えてRails)を学習すれば、基本的なWebサービスが作れるようになります。
ちなみに一言補足しておくと、Rubyは『サーバーサイド言語』だということを覚えておきましょう。
送られてきたデータの処理や、保存処理など、ユーザーからみえない部分での処理をおこなう言語になります。
反対に、HTML&CSSなど、ユーザーがPCのブラウザを通じて目に見える形にしてくれているのは『クライアントサイド言語』と呼びます。
つまり、今回のRubyは、データ処理の裏側を学んでいきましょう!という章になります。
そう聞くと、ものすごく難しそうね。
おじさんも不安しかなかったよ。
でも大丈夫です。
初歩的な知識から、一つずつ丁寧に学んでいく形だったので、おつむが硬くなったおじさんでも覚えやすかったです。
例えば、
動画1:文字を表示する為にはどういうコードを打つのか。
動画2:Rubyで計算?どうやるの?
動画3:変数、、を使う?変数ってなんのこと?
などなど、スキルハックスでは、1動画で1テーマだけを丁寧に説明してくれます。
内容が詰め込まれ過ぎていないため、知識を定着させてから次の課題に向かうことができます。
頭がパンクすることはないってことね。
サンプルの動画講義を一つ紹介しておきますので、是非こちらも参考にしてみてください。
約10本程のRails動画を学んだあとは、プチ実践で小さなアプリ作成を行います。
自分が学んできたコードが正しく動作をするかを演習を通じて実験することができました。
今回作成したアプリは、下記の2つ。
▼演習課題アプリ▼
・おみくじ式のアプリ
・メモ機能のアプリ
作成するにあたって本講義で学ぶ知識は、
▼Ruby講義で学ぶコード▼
・puts
・ターミナル
・変数
・ラベルづけ
・each文
・配列
・.sample
・ハッシュ
・メソッド
・def〜end
・push,length
・破壊的メソッド
・条件分岐
・if文
あとは、、
ちょっと。ふざけんじゃないわよ。
そんな一気に言われてもわかんないわよ。
、、、。ごめんなさい。そうですよね。
でも、先にのべたように、1つの動画を学習するのに大体10分前後。
Ruby基礎全体では約10の動画本数です。
全部を1周するにしても、合計学習時間は2時間くらいでこの呪文のような知識を学べます。
ただし、『女子』さんが仰るとおり、プログラミング学習は、聞いたことのない言葉や内容が続きます。
まずはすべての動画を学習した後、不明なテーマはしっかり復習していきましょう。
よほどの天才でもない限り、一度みただけでは覚えられないですからね。
物覚えがわるいおじさんも、総演習を何周か繰り返したした結果、下の動画のような小さなアプリをなんの資料も見ずに作成するまでに成長しました。
どんな人でもここまでは確実に覚えられます。
HTMLのように、閲覧用に可視化するデータ処理ではないので、少々見にくいですが、ちゃんとおみくじ機能とメモ機能を実現できました。
あとはこの後に学習する『Rails』というフレームワークを利用すれば、この処理を見やすくブラウザに表示することができるというわけです。
逆をいえば、『Ruby』の基礎をしっかり理解していないと、次の章で学ぶ『Ruby on Rails』も苦戦するので、わからないところは何度も見直して学習することが大切です。
Rubyを学んで感じたSkillHacksの感想
この章をやっただけでも、Web開発における基本的なプログラミング方法を学習することができました。
また、テーマごとに動画がわかりやすく分かれているので、覚えにくいところは目星をつけて振り返れるのも良かったです。
ただ、一つわかりにくなと気がついたことは、
😢小さなモニターで閲覧する場合、コードが小さくて読みづらい。
という部分です。
私の場合、モニター2画面で学習していたのであまり気になりませんでしたが、予備のモニターがない場合は、すこし学習しずらい可能性があります。
また、各動画のテーマによっては難しく感じることも増えてくるので、わかりずらい講義があったら何度も復習することをお勧めします。
▼SkillHacksの学習する時のポイント▼
・大きめのサブモニターがあると便利
・わかりにくい動画番号はメモし、復習する
・不明点はその場でググるかLINEサポートを受ける
(各動画毎に理解度などを記載できるメモ機能のようなものがあれば、次回復習するときに便利かなとは思いました。)
とはいえ、講義内容は安定してわかりやすかったので、あとはしっかり知識定着のために復讐あるのみですね。
ということで、引き続きSkillHacksの学習成果をこちらでアウトプットしていきたいと思います!
ではでは!
初心者でも挫折しないプログラミング学習!