Sakiのプログラミング学習ブログ

プログラミングについて学んだことや、学習の振返りを書いています。

週報 2/1(月)~2/7(日)

2/1(月)~2/7(日)の一週間の学習の振り返りをざっくり。

今週の目標&結果

今週の目標 結果
Sinatraでメモアプリ作成の機能の完成 機能完成に至らず。
続きは、メモのidをURLに組み込むところから。

今週の学習時間

ラクティス外の学習・勉強会への参加は含めない。

日付 目標 実際
2/1(月) 2:00 4:45
2/2(火) 2:00 2:15
2/3(水) 2:00 2:15
2/4(木) 6:00 7:00
2/5(金) 2:00 0:00
2/6(土) 6:00 0:00
2/7(日) 6:00 0:00
合計 26:00 16:15

今週やったこと

2/1(月)

やったこと

  • メモ作成ごとにJSONファイルを新規作成 を実装
  • 一覧ページに、メモのタイトル名が、作成順に表示される を実装
  • Sinatra】<% ~ %>と<%= ~ %>の違いをまとめた

考えたこと

  • Sinatra、なんにもわからん状態から、何がわかれば解決できるかとか、エラーがこの辺で起きてるなーとかがわかってきた!
  • しかしエラーの見方が分からない。右上のメッセージで、ファイルとこの行がおかしいよーと言われてるのは分かったけど、それ以外何を意味してるか分からない。
  • get ~ endの中で定義した変数/インスタンス変数は別のところで使えるのか,,,? 使い回せるようにするためにクラスを作ってその中にインスタンス変数を作るべきってことなのかな。。オブジェクト指向とスコープが分かってない。 コードを書きなれておらず、書くのも読むのも遅いので、超入門の問題を解き直す

2/2(火)

やったこと

  • 全ページの<h1>メモアプリ</h1>に、一覧に戻るリンクを貼る
  • メモ名と内容が入力されていない時は、登録できないようにする。 自動付番されるメモのidをURLに入れて、メモ一覧のメモ名にリンクを貼る →昨日書いたコードを使いまわしたいと思ったので、明日から、クラス,クラスメソッド,インスタンスメソッドを復習する
  • 復習の手順のタスクを作った。

f:id:Saki-Htr:20210208192358p:plain

ラクティス外

  • 6:00~7:15 TeamGeekの輪読会

考えたこと

  • Rubyの課題では、オブジェクト指向で書かなくてよかったので、超入門やチェリー本で学習したクラスやインスタンスまわりを忘れてしまったので、明日から復習する!実際に書けるようにならないと本当に理解したとは言えないなと思う。
  • ベタ書きだと上から読めばいいので、読みやすい&書きやすいが、Rubyの書き方に慣れていないので、「このメソッドや変数はそこから来たんだろう?」「このコードの戻り値はなんだろう?」と、コードを読み解くのにも時間がとてもかかっているので、Ruby力をつけたい。 Ruby超入門の物理本を買い直したので、問題も解き直す💪

2/3(水)

やったこと

  • Sinatraのメモアプリ:メモに自動採番されるIDをURLに使いたい。 →書いたコードを使いまわしたいと思ったので、コードを書く前にクラスの復習を先にすることにした。
  • クラスについてまとめた自分の日報を読む
  • インスタンスメソッドとクラスメソッドのちがいを思い出す
  • インスタンス変数について思い出す

考えたこと

  • クラス,クラスメソッド,インスタンスメソッド,インスタンス変数,initializeメソッドがどのようなものか思い出せた。久々なので不安だったが、一度理解できていると意外とすんなり理解できる。
  • 日報を書いた過去の自分に感謝。疑問を突き詰めて書いていたので我ながらわかりやすかった。
  • 自動採番されるメモIDをどうやってURLに組み込むにはどんなコードを書くか、イメージできていないので、それも手順を先に書く。頭の中でどう書くかイメージできていないと書くことはできない。
  • 明日は超入門のチャプター8を読んで解く。これを機会に物理本も買った!

2/4(木)

やったこと

  • クラス&ハッシュの復習
    • 超入門のch.8「クラス」を読む&解く
    • 超入門のch.6「ハッシュ」を読む&解く
    • 超入門7-3のキーワード引数を読んで理解
  • Sinatra
    • paramsを理解する
    • Sinatraの変数のスコープを調べる
    • idを各メモのurlに組み込むコードを考える

ラクティス外

  • 6:00-7:15 TeamGeek輪読会
  • Forkwellのイベント:Corporate Engineering​ Study #1 のyoutube動画を半分まで視聴

考えたこと

  • クラス、ハッシュの復習をした。オブジェクト指向で書かれたコードを読めるようになってきた

2/5(金)

  • 学習せず

2/6(土)

  • 学習せず

2/7(日)

  • 学習せず

今週の振り返り

✅ できたこと/できるようになったこと

  • JSONってそもそも何だろう?というところから、使い方や文書の構造が分かるところまで理解できた。Webを支える技術を読んで初めて知ったが、
  • ファイルが複数あるので、書きたい処理をどこに書けばいいかわからなくなったり、get ~ endform action =に入れるURLに何を入れるかわからなくなったり、自分で作った変数がどこで作ってとんできたものか分からなくなったりと、混乱した。 が、混乱したときは書きたいコードの部分だけ全く別のファイルに書いてSinatra実行したりして、理解を深めた。
  • クラス,ハッシュの復習をした。一見遠回りに見えても復習は大事だと思った。遅かれ早かれオブジェクト指向で書けるようにならなければならないので、今からクラスやメソッドを使いこなせるようになりたいと思い、復習した。

✅ "こうしたらもっと良かった"と思うこと

  • 今週土日は体調が落ち込んでいたのもあり、ベッドから動けず全く学習しなかった。やらなかった時に週報を書くのは嫌だけど、自分を責めるためではなく、振り返るために書いているので、今リハビリのような感覚で週報を書いている。 文字に書きおこすと、なんとなくこうしなくちゃな〜と思って流していたことに対してちゃんと向き合えるので、"思う"だけでなく"行動"に結びつけられていいなと思った。
  • 体調改善のために2ヶ月くらい前から飲み始めた漢方を、最近飲むのをサボりがちだったので、今回また症状がぶり返してしまったのだと思う。反省。回復してくると飲むのを忘れてしまうので、今日からきちんと飲む。Amazonで買い足した!
  • 今週は朝早く目覚めても、スマホをいじってしまって気分が怠くなってしまったり、二度寝してしまうことが多かった。前になにかの記事でスマホにはやる気を奪う作用があるって見た...。気をつけねば。
    スマホをいじってしまわないように、目覚まし時計を買ったので、寝る前にタイムロッキングコンテナスマホを入れてから寝て、朝起きたときに触れないようにして、家を出る直前くらいにロックが解除されるように設定しようと思う。目指せ脱・スマホ依存!

来週の目標

  • Sinatraのメモアプリ
    • メモに自動採番されるidをURLに組み込む。
    • 一覧画面でメモをクリックすると内容が見られるようにする
    • メモを編集できるようにする
    • メモを削除できるようにする
    • コードのクラス化
    • PRGパターンで実装する

ところまでいきたい!