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

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

週報 2/15(月)~2/21(日)

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

今週の目標&結果

今週の目標 結果
sinatraメモアプリの合格 ◎ 20(土)に合格
WebアプリからのDB利用の合格 ✕ pgを使ったDB接続は完了
/prepared statementを利用した実装がまだ
Railsの教科書(約100P)を読み終わる ✕ 残り6~8章
DB設計について学んだことをブログに書く
URLについて学んだことをブログに書く

今週の学習時間

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

今週は目標時間をぴったり達成🎊

日付 目標 実際
2/15(月) 2:00 0:00
2/16(火) 2:00 3:00
2/17(水) 2:00 3:15
2/18(木) 6:00 9:30
2/19(金) 6:00 7:00
2/20(土) 6:00 7:15
2/21(日) 6:00 0:00
合計 30:00 30:00

今週やったこと

2/15(月)

やったこと

考えたこと

  • 目標を立てた時しか意識できてないので、忘れないように固定ツイートに貼った!これで忘れない💪

2/16(火)

やったこと

  • Railsの教科書p.1~20(1章の途中)
    • Railsをbundlerでインストール
    • rails new
    • rails sするために色々インストール&設定
  • 6:00-7:30 TeamGeek輪読会(最終回)

考えたこと

  • 1月頭から週3でやっていたTeamGeekの輪読会を読み終わった!読み終わって嬉しいが、終わってしまったのが悲しい。でもプラクティスを進めたいから、読みたい本ができるまでは、しばらく輪読会はお休みかなと思っている🤔
  • Railsの教科書が、とても丁寧で分かりやすい。
  • npm,Node.js,yarn,webpackerが何かわかってないので調べる。

2/17(水)

やったこと

  • rails sできるようにするために色々設定
    • nodeのバージョンを最新版から安定版にする
    • node -vとnodebrew lsの結果を同じにできた
  • rails g controller hello indexがうまくいかず →Webpacker can't find application.js とエラーが出たので解決にあたっていた

考えたこと

  • エラーメッセージを読んでも、そもそもwebpackerを初めて知ったので、何が原因か、どうしたら解決できるか分からなくて大変だった💦
  • 早くrails s ,rails gできるようになって学習を進めたい🥰

2/18(木) 休み

やったこと

  • rails -s できるようにするために設定いろいろ
    • 普段使ってるシェルをfish→bashへ変更
    • Error:homebrew-core is a shallow cloneを解決
    • railsコマンドが一切使えなくなったので解決。bundle installしたら直った
    • Rubyのバージョンを最新版3.0.0にアップデート
    • yarnをインストールしたらrails new,-s,-gできた
  • Railsの教科書:2-3章

考えたこと

  • なんとかrails new,-s,-gが実行できるようになった!
  • rbenvの切り替え方がわからず、ツイートしたところ、フィヨルドの方にアドバイスしていただいて、そもそもrbenvの仕様を理解していなかったことが原因と気づけた。アドバイスいただかなかったら気づけなかったと思うので、本当に感謝。
  • Railsの教科書、自分が実行したコマンドの裏側で何が起こっているか、非常に丁寧に解説してくれていて、Sinatraでやっていたのはこういうことだったのか〜と思いながら読んでいる。
  • コマンド数行でCRUD機能をもったメモが一瞬でできてびっくり仰天した🤯
  • fishシェルでrbenvのエラーが出たため、デフォルトシェルをfishに戻したが、自分がよく使うコマンドやディレクトリの候補を表示してくれたり、自分がいるGitのブランチを表示してくれたり、色々と便利なので、また戻そうか悩んでいる。
  • 30分弱仮眠したら午後も集中できた!睡眠は大事😄

2/19(金) 休み

やったこと

  • Railsの教科書
    • 4章完了
    • 5章途中(あと2pくらい)
  • Sinatraメモアプリのレビューを昼にいただいたので、修正
    • メモを新規作成するcreateメソッドと編集するeditメソッドがほぼ同じなので、createを消して、editのid部分を修正して新規作成時も使い回せるようにする
    • 提出物リンクリポジトリのトップなのでPRへのリンクに変更する。
    • PRページの下にREADME.mdがコンフリクトしていると警告が出ているので解消する→失敗
  • コンフリクトした原因が分からないので、提出時にどんなコマンドを実行したかを整理

考えたこと

  • Sinatraメモアプリ、プログラム自体には修正はほとんど無かったので嬉しかった!しかし、Gitのコンフリクトを修正できず、いろんなコマンドを試しているうちに、誤ってマージしてしまった💦Gitのプルリクエストを使った提出はこれが初めてで、操作に慣れていないので、実行するコマンドがどんな動作を行うのか理解してから実行すること、分からなければメンターさんに質問することを心がける
  • Bookクラスのメソッド定義のコードはどこのファイルに書いてあるんだろう?と疑問だったが、「諸々の仕組みはRailsActiveRecordが担ってくれていて、これを理解していこうとするともっと大変になるので、一旦ActiveRecordがとても便利だな、くらいの考えでもRails利用には支障がありません」とメンターさんから伺ったので、次に進む。

2/20(土)

やったこと

  • fishシェルを使いたいのでエラーの原因を調べた→未解決のまま
  • Sinatraが起動しなくなったので解決
    • brew postgresql-upgrade-databaseを実行
    • postgresql12をアンインストール
  • WebアプリからのDB利用
  • 昨日の日報提出

考えたこと

  • 昨日睡眠の質が微妙だったので、午後は集中力がかなり下がってWebアプリのDB利用はあまり進められなかった。今日はきちんと寝る!
  • URLもDBも知らない状態でいきなりrailsに入っていたら全然理解できなかったと思うので、おそろしい...
  • fishシェルが便利すぎて、やっぱりfishでruby,railsを使える方法がないか調べてたら時間がかかりそうだったので、後回し
  • 目の前のエラー解決は自分でできるようになったけど、その解決方法が長い目で見て良いかや、後々にこういう問題が起きてしまうかもということが分からないため、その場しのぎになっていないか不安。。というのもあって解決方法を細かく記録している。

2/21(日)

やったこと

  • 学習せず。

考えたこと

  • 木~土の3日間長時間学習していたので、4連休の最終日は力尽きてしまった...。目標の30時間は達成できたので良しとする。

今週の振り返り

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

  • sinatraメモアプリの合格
  • railsを問題なく使えるようになった
  • 今週はRailsがうまく使えなかったり、sinatraが起動しなくなったりと、エラー解決にあたることが多かった。Gitのコンフリクト以外は、全て自力で解決することができた💪

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

  • ラクティスを先に進めたいと思ってしまい、ブログでアウトプット等の復習が後回しになってしまっていたので、来週は復習する時間もきちんと確保する。長い目で見て、学んだことはしっかり振り返るべき。

来週の目標

Railsに本格的に入る前に復習に注力する。

  • データベース
    • TwitterのDB設計をどうやって行ったかまとめる
    • 他の受講生の提出物をチェック
    • 自己参照/自己結合の理解
    • 【ブログ】DB設計で学んだこと&詰まった点
  • REST
    • 【ブログ】web技術の基本/webを支える技術の感想
    • 【ブログ】URL設計で学んだこと
  • Git
    • 【ブログ】git init~プルリクエストの手順
  • 【ブログ】TeamGeekを輪読会の感想
  • 28(日)に必ず行う:2月の振り返り&計画の見直し

以下はできれば。

  • Railsの教科書の6~8章(最後)まで
  • book_appをリモートリポジトリのmainブランチにpushする