インプットしてアウトプットして打ちのめされてまたインプットする話
ここ最近、railsでtrello風to do listを作成している私ですが、まだ序盤も序盤なのに、すでに5回くらいは軽く躓いています。
もちろんテキストに沿ってやっているのにです。
具体的に壁にぶつかった例をひとつ。
わかる人には、簡単すぎて鼻で笑われる話かもしれませんが、font-awsome-sassを導入しようとgemfileで入力後、bundle installをするも「could not locate gemfile」エラーが出てしまいました。
こういうときはもちろんググります。
まずは、rails+エラー文で検索。
すると、どうやら沢山の初心者の方が、インストール後にサーバーを再起動していなかったというケースを発見。
(この時点で、そもそもわたしはエディタに入力時サーバーを起動していなかったし、インストールもできていないので、このケースには当てはまらないだろうと思いつつも、奇跡を願ってrails sを実行。)
すると、今度はサーバーが起動しないという問題が起きてしまいました。
なんでー!と動揺し、そういえば数日前別のときにもサーバーが立ち上がらなくて、rails s じゃなくてbundle exec rails s でいけたことを思いだし、ダメ元で実行。
案の定だめでした。
その後色々ネットで検索するも、解決につながる記事は見つけられず、かなり初歩的な質問で申し訳ないなと思いつつ、所属しているサロン内で質問。
すると、4分で返信が帰ってきました。
4分ですよ!
送信エラーで返ってきたのかなと思うほどのスピード感でかなり驚きました。
そして、結論から言うと、原因は「railsのプロジェクト内でコマンドを実行していなかった」というものでした。
テキストにはその指示は書かれていませんでしたが、これは知っていて当然の知識だったということでしょう…。
公式ドキュメントにも、「エディタで入力したらbundle installを押してね」と、You Tuberが「この動画が良かったら、goodボタンを押してね」くらいのライトなノリで書かれていたので、まさかその前に該当ディレクトリに移動するという発想が私の中に持ち合わせていませんでした。(恥)
でも確かに言われたらやったことある。
progateでrailsに入る前に、なぜか、なんの流れなのか、rubyを終わったタイミングで、command lineを学んでいました。
でもその時にはまだ一度もアウトプットをしたことがなかったので、これが何なのか、いつどんな時にどこで使えばいいのか全くわかっていませんでした。
反省。
もちろん、真面目に勉強していたものの、「なんかよく分からないけど、すごく大事なものらしいし、いつか使うみたいだから今のうちにやっておこう」くらいの認識で取り組んでいたので、全く使える知識になっていなかったのです。
ここでやっと本題です。
今まで、「まだ私はアウトプットするほどのレベルに立っていない」と思って、ひたすらにインプットを続けていましたが、今回の経験を踏まえて言えることは、
インプットはもちろん大事だけど、1度アウトプットしてみて、こてんぱんに打ちのめされるのはもっと大事だよ!
ということです。
インプット中って、学生の頃の勉強みたいに、気が楽なんですよね。失敗がないから。躓くこともないし、ある意味分からなかったら一生調べてればいいから。
でも、これだといつの間にか、勉強のための勉強になってしまって、いざ何か作ろう!となったときに、何1つ身になっていなかった、ということに陥りかねません。
正直、ここだけの話、アウトプットの大切さを声高に主張されている方って、意識高い系のバリバリ優秀な人たちのイメージが強くて、
「いやいや、私みたいなレベルの人間は、まだまだ基本的なインプットをしなければ、アウトプットをする資格がない」くらいに思っていたフシがあります。(すみません…)
でも、ある程度インプットをしたら、自ら打ちのめされに戦場へでかける!
そして、想像以上にボコボコにされてはじめて!ようやく、身になるインプットができるようになると思うのです。
ということで、私と同じプログラミング初心者の方は、
インプット→アウトプット→ボコボコに打ちのめされる→質の高いインプット
を意識して勉強を進めていかれることをおすすめします。