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

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

週報 2/8(月)~14(日)

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

今週の目標&結果

Sinatraでメモアプリを作る →目標達成

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

 

今週の学習時間

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

日付 目標 実際
8(月) 2:00 0:15
9(火) 2:00 1:45
10(水) 2:00 0:00
11(木) 6:00 7:15
12(金) 2:00 0:00
13(土) 6:00 0:00
14(日) 6:00 10:45
合計 26:00 20:00

 

今週やったこと

✅ 2/8(月)

やったこと

考えたこと

  • 金土日学習をしなかった自己嫌悪にひきずられて更に学習しなくなるのはまずい!と思い、リハビリをかねて出していなかった日報を提出した。

  • あんまり頑張れなかった週の振り返りブログは書きたくなかったが、頑張って書いた。書いたことで自分がなぜ学習できなかったか、どこに問題があったのか原因を明らかにでき、根拠なく落ち込まずにすんだので、よかった。文章を書くと頭と心の整理もできていいなと思った。

  • 漢方を飲むのを怠ったせいで、体調が悪化してしまい金土日はぐったりしていて一切学習できなかった。月曜朝に自己嫌悪に陥ったが、それについてツイートしたらフィヨルドの方々からたくさんふぁぼがきて、きっとみなさんも頑張れない日があって、毎日絶好調なわけではないんだな〜と元気をいただいた。

✅ 2/9(火)

やったこと

  • 6:10-7:10:TeamGeek輪読会
  • Sinatra
    • メソッド化したいコードを考える
    • jsonの中身をハッシュで取り出せたら便利と気づく
    • ①formのname=titleとcontentに入れられた内容をハッシュに入れる→ハッシュをjsonに変換してmodel/id.jsonに書き込むメソッドを作
    • ②model/ に保管された各メモの情報が入ったjsonファイルからタイトルとメモ内容をハッシュ[キー]で取り出せるメソッドを作る
    • キーワード引数の復習

考えたこと

  • 久々に5時に起きて学習できた!
  • 落ち込んでるときはふさぎ込みがちだけれども、そういう時こそ人と話すことが大事だなと思った。輪読会に感謝。人と意見を交わすのは勉強になるし、自分とは違う考え方を知れてたのしい!
  • ✗「クラス化しなきゃ」→◎「 どんなコードを使い回せたら便利か」という視点で、クラス化・メソッド化を考えると分かりやすいと思った。そういえば、メソッド化についてQ&Aコーナーに投稿した時、「どう呼び出したいかで考えている」って答えてくださった方がいた。
  • 確定申告の処理が始まり、この日は久々に仕事が忙しく、疲れて夜は学習できなかった。結果的に終えられてホッとしている☺️ 仕事をしてない時間は学習に専念したいので、もう少しメンタルを切り替えられるようになりたい...。今回は、体調が悪い期間と被ったので、ダメージがいつもより大きかったと思う。ちゃんと漢方を毎日飲んで健康維持に努めようと思った💪

✅ 2/10(水)

やったこと

  • 学習せず。

考えたこと

  • この日は仕事が忙しいのと体調不良が重なり、学習できず。

✅ 2/11(木)

やったこと

  • Sinatra
    • 機能完成:メモのidをURLに組み込むことができた!
    • README作成
    • XSS対策
  • 6:00-7:00 TeamGeek輪読会

考えたこと

  • 週報ブログ 2/1(月)~2/7(日)で掲げていた今週の目標を達成した!idをurlに組み込んでからは、意外とすんなり実装できた。うれしい!

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

  • Bundlerを使ってインストールしたgemは、常にbundle execを冒頭につけて実行しなければいけないことが分かった。
  • 提出のために久々にGitをさわったら、Gitの仕組みやコマンドの意味をすっかり忘れてしまっていたので、明日から復習する!
  • sinatraで変数の中身がどうなってるか知りたい時にpデバッグするのが難しい。。lsコマンドの時はファイルが1つだったので、p 変数で簡単にできたが、sinatraからファイルが複数になって難しくなった。。
  • 今日はメモアプリを提出できる段階までもっていけた!まさか今日ここまで進むとは思わなかった。。タスクの洗い出しは事前にしていたものの、どこで詰まるか分からないため、思わぬところで詰まったり、意外なところが簡単に実装できたりして、学習計画を立てるのが難しかった...。
  • インスタンスメソッドとクラスメソッドの使い分け方が、プラクティスの記事を読んでもよくわからなかった。。しかし、今回の課題でクラス化・メソッド化ができるようになってきて、コードを書くのが楽しくなってきた。練習問題を探して解いてRubyの書き方をもっと身につけたい。

✅ 2/12(金)

  • 学習せず。

✅ 2/13(土)

やったこと

  • 6:00-7:00 TeamGeek輪読会

考えたこと

  • TeamGeek、次の回で読み終わる!週3で読んで約一ヶ月半で読み終わるので、良いペースだと思う。読み終わったら、読んだ感想をブログに書きたい💪

✅ 2/14(日)

やったこと

  • メモアプリ提出のため、gitの復習
  • Sinatraメモアプリの提出
  • 提出したファイルをコピーして、WebアプリからのDB利用を進めた。全部の機能が問題なく使えるところまでDBを使って実装できた。
  • 2/11(木),13(土),14(日)の日報提出

考えたこと

  • JSONファイルを使ったメモデータの管理、実装とても大変だったのに、pgを使ってDBに接続したら簡単にかけて感動した。 ハッシュをJSON形式に変換する必要もないし、自動採番のためにsecurerandomを使っていたが、データ型をserialにするだけで解決できたし、DB便利、すごい...と思った。
  • また、前のプラクティスで学んだデータベースが、アプリを作る時にどのように使われるのかも分かって、嬉しかった。これからRailsラクティスでもっと複雑な機能を学習できると思うと、不安もあるがワクワクのほうが大きい
  • 2月が半分終わってしまったが、今月は週報以外のブログを書けていない。DB設計,URL設計で学んだことを忘れないうちに今月中に書きたい。
  • 土曜から体調が良くなってきたので快適に学習できている✨いつも健康でいられるように気をつけたい。
  • 日報提出に思ったより時間がかかってしまい、週報ブログを日曜にかけなかった。  

    今週の振り返り

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

  • Sinatraメモアプリ、必須条件を達成し、提出した
  • Gitを復習して、仕組みや各コマンドが何を行っているかを思い出せた。忘れないように手順やそのコマンドが何を行っているかを詳細にメモしたので、提出物に問題がなければ、ブログに手順をまとめるつもり。
  • まだメモアプリの課題を合格していないが、プラクティス「WebアプリのDB利用」をやった。思ったより時間はかからなかった。最初、Rubyでどういうコードを書けばDBのテーブルにデータを登録したり、抜き出せたりできるのかが分からず、苦戦した。
  • 2月中にkaminariのプラクティスまでいく計画を立てているが、この調子だと達成できそう。課題のレビューを待っている間にRailsラクティスを進めるつもり。
  • 次の火曜でTeamGeekを読み終わる✨去年の10月から始めた輪読、もう3冊目が読み終わると思うと感慨深い。

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

  • 最近朝起きた時にスマホをさわって、そのままやる気が削がれて学習を始められないことが多いので、なんとかしたい。。寝る前にスマホを別室に置いてスマホをアラームにしないほうがいいかもしれない。今日からやってみる。
  • 今週の目標達成のために今日何をすべきかの意識が、紙の手帳からTodoistアプリに移行してから薄れている。 Todoistだと、完了するとリストから削除されてしまい、やったことが把握できないので、Notionを使ってtodo管理してみようと思う。todoistは全てのtodoの備忘録、Notionは一週間のtodo管理として使ってみる。

来週の目標

  • sinatraメモアプリの合格
  • WebアプリからのDB利用の合格
  • 【レビューを待っている間に進める】Railsの教科書(約100P)を一通り実際に手を動かしながら読む。
  • DB設計について学んだことをブログに書く
  • URLについて学んだことをブログに書く