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

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

週報 1/25(月)~1/31(日)

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

今週の目標&結果

今週の目標 結果
TwitterのURL設計 ○ 合格
Sinatraのメモアプリ 登録したメモをJSONファイルに保存する所で詰まる

今週の学習時間

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

日付 目標 実際
1/25(月) 2:00 2:45
1/26(火)休み 6:00 8:15
1/27(水) 2:00 0:00
1/28(木) 6:00 2:30
1/29(金) 2:00 0:00
1/30(土) 6:00 5:00
1/31(日) 6:00 2:45
合計 30:00 21:15

今週やったこと

1/25(月)

やったこと

  • URL設計の課題の再提出。気になることも合わせて質問。
  • XSSがなにか、Sinatraで対策するにはどうしたらいいか調べた
  • PRGパターンとは何かを調べた
  • 夜:techplay女子部のもくもく会に参加

考えたこと

  • メモアプリで、メモの保存ボタンや変更ボタンをおしたときに、データの保存とメモの一覧へのページ遷移が必要だと思っていたが、ここでPRGパターンの考え方が重要になってくると知ることができた。

1/26(火)

やったこと

考えたこと

  • モニターを2画面分割にして使ったらさらに快適になった🥰
  • Sinatraたのしい!早くGETメソッド以外も使いこなせるようになって、メモの機能を実装していきたい。

1/27(水)

  • この日は前日遅くまで起きていて、早起きに失敗&仕事後もだるくなってしまい学習しなかった。 やっぱり睡眠は大切。寝る前にスマホを触らない仕組みが必要と思った。

1/28(木)

やったこと

  • 6:00~7:00 TeamGeek輪読会(第11回):4~4.3を読んだ
  • メモの内容を保存するには色んな方法があるが、JSONが良いらしいので、JSONについて調べた

考えたこと

  • 登録したメモの内容をJSONファイルに保存するのが良さそうと思って調べたが、Sinatraにどのように書けばそれができるか分からず...。おそらくJSONファイルのハッシュのキーに、メモのID,タイトル,内容を設け、値に実際に登録したメモ内容を保存すると思うのだが、そもそもJSONの扱い方がよく分かっていない...。 →JSON.parseを調べたら良さそうとメンターさんからアドバイスいただいたので、調べる

1/29(金)

  • 今日は学習せず。JSONファイルに入力内容を保存することができるのか、不安なものあり学習への意欲が下がっている...。タスク洗い出しはしたものの、Sinatraを初めてさわるため、手順が明確にわかっていないため、進捗状況が見えづらいのも不安。

1/30(土)

やったこと

  • 6:00~7:00 TeamGeekの輪読会
  • 8:30~10:00 Hirakata.rbに参加
  • 本:Sinatra入門のじゃんけんアプリを作る
  • RailsGirlsのチュートリアルの投票アプリを作る
    • ハッシュをeachで回すとどうなるか調べる
    • yamlとはなにか/使い方を知る
  • JSONでのメモ保存方法を調べる

考えたこと

  • erbファイルに書くコードがhtmlとRubyが混ざっているので、自分がHTMLを書いてるのかrubyを書いてるのかわからなくなる...
  • たくさんファイルがあるので、「この変数の出どころはどこだろう」と混乱する...
  • なかなかJSONでのメモ保存方法がわからず焦る😓

1/31(日)

やったこと

考えたこと

  • Rubyのハッシュを使ったJSONファイルへの書き込み方がやっと分かったので、これを皮切りに登録したメモごとにハッシュ作成もしくはファイル作成して、IDを自動で付与するコードも書けるようにしたい。

今週の振り返り

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

  • TwitterのURL設計を合格した
  • XSSがなにか分かった
  • PRGパターンがなにか分かった
  • Bundlerの使い方を復習した
  • HTMLのformの使い方を復習した
  • formに入力した内容を、ハッシュの値に入れる→JSON形式に変換→JSONファイルに保存するコードは書けた
  • メモのIDを自動採番する方法がわかった
  • 火曜はコワーキングスペースで学習したら長時間学習に集中できた
  • タスク&時間管理に、Toggl,Todoist,Googleカレンダーを連携して使い始めたが、タスクを整理してtodoistに登録したら、やるべきことが明確になり、後でやろうと思って忘れることを防止できてよかった。 f:id:Saki-Htr:20210131193710p:plain

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

  • 参考記事を読んでもやりたいことの実現方法がわからない場合、やりたいことを細分化して言語化したり、図に書いたりして整理すればよかった。先週のLT会
  • Sinatraメモアプリを進める上で、外部モニターがあった方が学習しやすいので、自宅で学習していたが、ベッドがすぐ近くにあることもあり集中力が続かなかったので、コワーキングスペースなど人目がある場所で学習しようと思った。
  • また、意欲が下がってきて学習しない日が続くと、着手するのが更に億劫になったり、再開するときに思い出すのが大変になるなど、かなりのタイムロスになってしまうので、毎日少しずつでもすすめることを心がける。
  • 今週は火曜に有給を取るなど、学習できる時間が多かったはずだが、Sinatraがなかなかうまく行かず学習意欲が下がってきてしまい、あまり長時間は学習できなかった。
  • タスク&時間管理に、Toggl,Todoist,Googleカレンダーを使い始めたが、一週間の目標設定と、それに対しての日々の進捗状況の見える化がうまくできなかったので、
    • タスクの登録はtodoist
    • 勉強会やイベントなど既に決まっている予定はGoogleカレンダー
    • 学習時間はToggl に登録して、
      一週間の目標設定と、そのために具体的に何をやるかはバーチカル手帳に書くことにする。 今週は、Sinatraをいつまでにどの程度すすめるかの目標設定が甘かった。

来週の目標

Sinatraでメモアプリ作成の機能の完成
READMEの作成、XSSの対策、提出するためのGit復習は必須にしないことにする。