#はじめに
はじめまして、はまだみつるです。現在、障害者支援の仕事をしながら【Ruby on rails】の学習をしています。将来的には、プログラミングの知識や技術を使って、福祉業界をよくしたいと思っています。
僕は、今年に入ってからガッツリとプログラミングの勉強を始めました。ただ、自分の興味の赴くままに流されて、あっちにいったりこっちにいったり・・・と、いろいろなことに少しずつ挑戦しては、また別のことに挑戦・・・という日々でした。
ただ、ある日これではアカンと思い立ち、勉強するものをちゃんと定めようと思ったのです。
そして、なんやらかんやら調べているうちに、Progate(https://prog-8.com/ )やかみざとよしとさんのサロンを知り入会。【Ruby on rails】とやらに本気で取り組んでみようと。
そしたらまぁ難しいこと。そんで、面白いこと。どんどんハマってしまいました。
今回は、そんなRubyはおろかプログラミング自体をあまりよくわかってない超初心者が、環境構築から何から何までをやってみたことについて、記録程度に書いていきたいと思います。
僕みたいなスタートラインにいる方のお役に立てたらなぁと思います。
##Progate、やってみた。
まず、全く知識ゼロの僕は、【Progate】のRuby講座をやってみました。
全くのゼロですから、全てが新鮮で面白い。しかしながら、?マークはずっと出ていました。
それでも、とりあえず進みます。
ちなみに、ProgateのRuby講座はⅠ〜Ⅴまであります。どんどん難しくなっていくけど、その分面白みも増していく印象でした。ここで初心者が折れずに続けるコツは、わからんかったら、即回答を見ること。
よく「調べることも勉強だから、ちゃんと調べてから答えを見よう」みたいなアドバイスを見ますが、それはもっとレベルが上がってからの話。超初心者は、何を調べればいいのかわからへんし、そもそも調べてる間に「もうえぇわ」ってなる。
それはもったいない。
それなら、さっさと答えをみて、その答えを見た上でわからへんモノを調べていく方がよっぽどマシ。
わからんことを調べるクセは、後からでも十分つけられます。まずは「にんじゃわんこ」(Progateのキャラクター)が「やったね!」みたいな感じで喜んでるイラストを一つでも多く見ること。コレ、大事ね。
##Progate、とりあえずⅤまでできたら・・・
さて、ProgateのRuby講座がⅤまでできたら、復習するのも大事なんやけど、今後のモチベーションを保っていくことを考えると何か形になるものを作った方がいい。しかも、自分にとって難しいものに挑戦してみると力がつく(というのが、僕の持論)。
ということで、Techpit(https://www.techpit.jp/ )というサイトにあった【ドラクエ風ゲームプログラムを作ってみよう!(https://www.techpit.jp/courses/696793 )】をやってみた。これを選んだ理由は、Ruby初心者でもそこそこできて、身になる気がしたから。あと、僕がゲーム好きやから(一番好きなんはFF6ね。セリス大好き)。
で、コレについてはいいところもわるいところ(超初心者にはわかりにくいところ)もあった。
###「ゲームプログラム」つくってみた。
まず、一番目に詰まったのは環境構築。これね、ほんまもんの初心者にはめっちゃ難しい。
ホームブリューとか、いろいろとやらなあかんことがいっぱいありました。
なので、これについてはかなり丁寧にやりました。もちろん、自分でも調べてね。僕は環境構築に一番時間かかったなぁ。
というか、これをちゃんとせんと実践形式のことできひんもんね。そう思うと楽しくできた。
####で、内容の話。
これは1〜4章に分けられてる。1、2章は超初心者でもなんとかなった。問題は、3章と4章。急にボリュームとやることが増えだす。あと、1、2章しっかり理解して丁寧にコーディングしとかんと、即つまづくよ(これについては、各章のボリュームを減らして、章数を増やしてもよかったんちゃうかなって思う)。
どんどん進めていくと、継承とかなんやかんやProgateでやったことが出てきて、頭のなかで繋がりだすと気持ちよくコーディングできるね。この3、4章で僕が困ったことは、コメントアウトするところや追加をしっかり探すこと。一から自分でコーディングしてるから、だいたいの場所はわかるけど、途中で迷子になるときがあった。
でも、これまたどんどん形になっていくのが嬉しいから、実行するのが楽しくなるね(ターミナルで入力する「ruby main.rb」のタイピングがどんどん軽快になっていってたw)。んで、Rubyの面白さを体感できる。
ただ、この講座の4章は特にややこしくて、一度作ったデータの中から、いろいろ切り取って整理する。これは本当に難しい。ちゃんと理解して、冷静にやらないと実行できひんし、こういう時に限って別のところでトラブルが起こったりしてる。僕は実際、ここでかなり時間を使った。
最終的には、勇者の勝敗パターンやモンスターが怒って進化するところ、経験値やお金の取得まで、結構本格的に学ばせてもらえるし、そのコーディングは本当に貴重やと思ってる。
ここで学んだコードはもちろん僕の宝物やし、今後これを生かせる企画を必ずやってやる!!
超初心者のみなさん、「こういう勉強は少しだけでいいから背伸びした教材に向かうと良いよ」ってアドバイスを受けたことがある人は少なくないと思うけど、ほんまにそうやったよ。
実際にレベルあがるし、現場での使い方を学ぶ機会になる。
ただし、ここで満足してたらあかんのよね。
###「ドラクエ風ゲームプログラムを作ってみよう」の感想
これは、超初心者にとって一つの壁になる。この教材を進めるなかで起こったエラーを、調べながら解決することが楽しいと思えるかどうか。「いや、エラーとか起こらへんやろ」って思ったそこのあなた、超初心者をなめたらあかんよ。エラーがっつり起こるよ!
これが楽しいと思えるなら、今後も学習を続けて行けばいいと思う。せやけど、これが「だるいなぁ」ってなるんやったら、素直にやめて別のことしたほうがえぇんちゃうかな。
超初心者がちょっと背伸びして、実際にコーディングしてターミナルで動かしてみて・・・を体験するにはベストなボリュームやと思う。
##コレからの勉強について
今後、僕がどんな学習をしていくのかについてですけど、まずはチェリー本(この記事を書いてるときに届きました!)をがんがん進める。そんで、改めて「ドラクエ風ゲームプログラム」を書いてみようと思う。
そしたら、今回やった時よりも理解は深まるし、「なんでココでこんなことをするんかな?」という疑問もしっかり解消できた状態でできるはず。なんなら、自分なりのアレンジを加えてやってもいいと思う。
で、さらに背伸びして、どんどん成長していきたい。
あんまり関係ないけど、来年には30歳。勝負の一年です。
この経験を大事にしながら、しっかりとRubyとかRuby on railsを身につける!
やったるで!!
#さいごに
最後までごらんくださり、ありがとうございました。
Qiita自体使うのは初めて。なんなら、こういった記事を書くこと自体初めてでした。
緊張しまくりましたし、手汗もすごい。
ここまで関西弁を丸出しにしてもいいのかな?と思いつつ、記事を書き進めるには「関西弁」が不可欠でした。
今回、Rubyの学習記録を書きました。今後は、他に勉強していることの記録も書く予定です。
全くの未経験、超初心者の方々のお役に立ちたい。
その一心で書いています。
記事の書き方や内容、その他まだまだ未熟で、修行中の身です。
これからも精進してまいりますので、よろしくお願いいたします。
ありがとうございました。