どうも、クラスどん詰まり中のアラフォーまきのです。
本日6回目の授業でした!さあ忘れる前にかいちゃいましょう!
大きな声では言えない話
大きな声では言えないのに、ブログに書いちゃいます(笑)
実は今回、あまりにも私がクラスにつまずいて、メンターさんもめっちゃ一生懸命授業後のやりとりで支援してくれたのに解決できなくて。
それが月曜日の話だったんですけど、次の約束(つまり今日10/5)まで間が開くから特別にどこかで時間とってレクチャーしましょうか、と言ってくれたんです!
つまり、約束以外でメンターさんがもう一度特別授業をしてくれるってことです。
そこまでしてくれるなんて本当に感激で。
でも私、結構人の顔色うかがっちゃう性格なので、こんな特別オファー「そんな迷惑書けられないです・・・」と辞退してたと思います、これまでの私なら。
だが今の私は超前向きだからな!(プログラミングに限る)
是非!と全力でお願いしました。
メンターさんも当然快く受けてくださり、おととい水曜日に特別に時間をいただいて遊行をしていただきました。なんていい人なんだろう・・・!
ちなみにその日は仕事だったんですが、午後休とって無理やり帰ってきました(笑)
(こういうとき、過去に無理して社に貢献しておいてよかったなって思う)
そして今日
結論を先に言うと、せっかくメンターさんが特別授業をしてくれたのに、本質は理解できず。
今日までに仕上げたかった課題の完成はできませんでした。
もうね、本当に本当に悲しい!不甲斐ない!どうして理解できないんだろう・・・って本当に思うんです。
マジで、もう私なんなの?なんで理解できないの?って思うんですけど、不思議なことに挫折というか、「もうやってられっかよおおおお」みたいにはならなくて(笑)
私、今まで英語やスペイン語が喋りたくて、独学したりスクール通ったりしたこともあるんです。
でももれなく頓挫させてきました。
・わからない箇所が解決できない
・話す相手がいないからアウトプットができない
・英語カフェ?そんなところ行けるわけない
こんな感じで。
プログラマと同じくらい、他言語が話せることに憧れがあるのに、どーーーーーーしても続かなかった。
だけど、プログラミングは違うんです。
やめたいと思わないし、みじんも後悔の念がわかない。
英会話スクール行った時は実は後悔したんです。
「人見知りなのに、マンツーマンで外国の先生と授業なんて!苦痛!辛い!なんでこんなことやってんだ私!!」って。
でもプログラミングは、きっと本当に私が心底望んで、心底楽しんでるのかもです。
だからこれだけ詰んでても、全然やめたいと思わない。多分。おそらく。
で、今日はその解決できなかったクラスの問題と、例外処理の部分をメンターさんと一緒にやりました。
クラス
クラスでどうしてもわからないのは前回の記事に書いた通り。
というか、何がどうわかっていないのかがもはやわからないという感じ。
で、メンターさんと一緒にあの超簡単ECサイトのコードを組んで、とりあえず写経して体に覚えさせてあげるといいかもねって話になりました。
多分、コードの書き方っていうか「なぜそこでそういうメソッドを書いてあげるのか」が見えてないし、発想できてない。
私自身も、とにかく書きまくって体で覚えないとダメかなって思ってたので、とにかく1日1回以上写経することにしました。
実はこの後例外処理のレクチャー受けた後終わるはずだったんですが、例外教わった後で、もう一度別の例でクラスについてレクチャーしてくれたんです!
結局今日は2時間ちょっと授業してもらっちゃいました!
この最後のクラスのレクチャー時は家族を例にしたクラスだったけれど、それがめちゃくちゃわかりやすかった。
ECサイトと同じことをやってるのに、家族が例になるとわかったってことは、表面的なもの=文字にとらわれてクラスがわからなくなってる感がありました。
いずれにせよ写経だよ写経!私は1日1回以上写経するぞー!ジョジョー!!
例外処理
エラーが起きた時の対処ってことで。
これが、自分で一から作ったものを他者に使ってもらう場合、かなり重要なんだと教わりました。
ウィンドウズなんかの開発秘話で、作られているコードのうち7割が例外処理だったらしいよなんて話も。
当然ですよね、だってユーザーはどんな使い方するかわからないもの。
こちらの想定通りに使ってもらえるとは限らない。
当初わからなかったのはraiseの事。
なんでわざわざエラーを発生させなきゃならんのよ?って。
でも、コードかいてわかりました。
今回書いたコードは、試しに自分で例外クラスを書いてみようって問題でした。
それがこちら。
こうやって、該当の言語以外のデーターがきたとき、raiseを書くことであえてエラーを発生させ、エラーメッセージを表示するっていうことができるんだけども、raiseがかいてないとただプログラムが止まるだけ。
ーーーーーー
こんにちは
hello
你好
ーーーーーー
これでおわっちゃうの。
@languageに代入されたdddddっていうデーターに対してなんのリアクションもしないんです。
そうなると、ユーザー側も「なんで?どうした?」ってなっちゃう。
だって止まるだけで何がエラーメッセージとかは出ないからね。
ユーザーは正しいと思ってdddddってかいてるからね。
なるほどなあ。
まとめと次回の課題
さて、今回は2時間ちょっとをほとんどクラスに使ったわけですが、とにかく私は写経!写経祭りです!
理屈とかそんなんはそのうちわかる。とにかく書くことで体に覚えさせる。
あと、自分で1から新しくクラス書いてみる。自分でネタを考えて書いてみる。
これも力になるそうです。
それから、ブロックの中身をソートするっていう問題の宿題が出てます。
さらに、次回はついにRailsを触るかもしれないということで、Railsの教科書を読んでおこうかね、という話がでました。
ということで。
・クラスの写経。
・自分でクラスを組み立ててみる。
・ブロックの中身をソートする問題をとく。
・Railsの教科書を読んでみる。
これが今回の課題です。
ちなみに、Railsの教科書はこちらを使います。
実際手に取ったら「たのしいRuby」と違って結構薄い本なんだ。
あとでザーッと読んでみよう。
Railsはprogateでちょろっとやっただけなので、できればprogateも復習したいかな・・・。でも、実は全然progate触る時間が持てなくて、有料会員やめちゃったんですよね。
10日までは有効なので今のうちに触るのもありかしら。
もうね、クラスのおかげで全く進まずです(笑)
あ、ドットインストールはプレミアムのままです。
こっちはクラスの時も例外の時もとにかくめっちゃ見てましたね。
progateの方が可愛いんだけど、勉強の観点からはドットインストールの方が私にはあってるみたい。
さー引き続き頑張りますよー!全然めげてないから大丈夫。
不思議だなあ、今までの私なら絶対やめてたわ。
今日も授業はめっちゃ楽しかったし、とにかくメンターさんには本当に恵まれたと思う。よかったよー。
他のメンターさんはどんな感じなんだろう?私は他のメンターさんに指導いただいたことがないから比較ができないんですよね。
さて、ではこれからお使いにいって、お夕飯の下ごしらえをしたら早速写経はじめましょうかね!
それではまたー!お疲れ様でしたー!