未経験からのプログラミング学習【6ヶ月経過】:分かるが増えると面白い

こんにちは。フィヨルドブートキャンプ(以下、FBC)でプログラミング学習中の「のん」です。学習を始めて6ヶ月が経ちました。この1ヶ月の振り返りを行いたいと思います。

目次

6ヶ月目(5月)の振り返り

5月のできごと

5月は娘の誕生日があったので、家族で海の近くの施設へ旅行に行きました。 5月なのに夏日並みの暑さだったため、磯遊びを楽しみました。夫の福利厚生を利用してお得に旅行できることが分かったので、今後は旅行の機会が増えそうです。

目標と達成度

  • lsコマンドを修了(60%)

  • 学んだことをブログにアウトプットする(未達成)

【修了したプラクティス】

108個ある内、42個のプラクティスを修了しました。

1ヶ月間で6個のプラクティスが修了しました。

修了したプラクティス一覧

  • lsコマンドを作る1

  • Cookie について理解する

  • nginx の基本を理解する

  • HTTP の基本について理解する

  • lsコマンドを作る2

  • lsコマンドを作る3

【学習時間】

4ヶ月間の総学習時間は、417時間でした。

1ヶ月間で48時間学習しました。

5月学習時間

先月よりも学習時間は少なかったですが、プラクティスの進捗は良かったです。lsコマンドの作成課題と並行して、HTTPに関する内容も学ぶことができました。 また、先月から取り入れているアクティブリコールという学習方法が私には効果的で、学習内容が以前よりも記憶に定着しやすくなりました。

できるようになったこと

  • HTTPの基本を理解
  • マジックナンバーの定数化
  • 第二引数で処理を分ける方法
  • モジュールをクラスにincludeしてメソッドを呼び出す方法
  • OptionParserを使ったオプションの取得
  • メソッドの分割方法
  • メソッドの戻り値を理解
  • ドメインの取得とDNSの設定方法
  • VirtualHostを使って1つのサーバーから複数のサイトを作成
  • タスクの分解

苦労したこと

メソッドの切り分け

今までメソッドを使ったことがなかったので、書いたコードをメソッドに切り分けることに苦労しました。

【対応】

メソッドは処理のまとまりだと意識し、まずは大まかな処理で切り分けてみました。今回作成したlsコマンドでは、「要素を並べる」と「並べた要素を標準出力する」という2つの処理に分かれていると考え、それぞれをメソッドにしました。その後、オプションごとにさらに細かく分けると可読性や拡張性が高まるということが分かるようになり、コードを書いていくうちにメソッドについての理解が深まりました

今の気持ち

先月までは、スキルや知識が不足していて、思うように学習が進まずに落ち込むことがありました。しかし、今月は少しずつ理解できるようになり、自信がつきました。 「ちょっと分かる」が増えたことで、学習が楽しくなり、この感覚の変化が先月からの一番大きな変化です。

プライベートでは、家族との時間をたくさん取ることができてとても幸せな月でした。

来月から仕事が忙しくなるので、学習時間を確保するのが難しくなりそうですが、焦らずに少しずつ学んでいきたいと思います。

次月の目標

  • Rubyのプラクティスを修了する

  • Nginxのプラクティスを修了する

  • 「プロを目指す人のためのRuby入門」を読み終える