プログラミング備忘録

プログラミングの学習状況をメモしています

8日目

今日の学習

Ruby on Rails

チーム開発

三人のチームで、それぞれ担当のタスクをRailsにて作成し、gitでのプッシュ、プルリクを経験。

作った後にプルリクを送ると、コンフリクトが発生した。

#現在のブランチが自身の作業ブランチか確認をする
git branch

#リモートブランチを取り込む
git fetch

#リモートのmasterブランチをマージ
git merge origin/master

この流れでコンフリクトが起こっている個所を確認するのだが、なぜかgit fetchがうまくいかなかった。

続けてgit merge origin/masterを実行してみるも、Already up to date.というログが表示される。

その後、数回同じように試すもうまくいかず、masterブランチに切り替えてから行うのだろうかと思い、レビュワーの方に質問をする。

返答によると、やはり自身のブランチで行うようにと教えていただいたので、改めて実行してみると、git fetchの実行結果が表示された。

一体なぜ質問の前に実行できなかったのか、どういうミスをしていたのか分からなかったが、独断でmasterブランチに切り替えなくてよかったと思う。

事前に確認をしっかり取ることは大切だが、その分レビュワーの方のお時間を奪ってしまうため、できるだけ自己解決できるようにしたい。

コンフリクトの理由は、db/schema.rbが他の方のデータと衝突していたからだった。

実際にチームで開発を行う際の流れを改めて学習することができた。

ドットインストールを参考に簡単なブログを作成

エラーが出てもすぐに対処できるようになってきた(動画を見ながらなぞっているだけで、そもそもカンマのつけ忘れや誤字しか理由がないので)。

Progateでやっていたときと比べ、なぜそういうものを書くのか、どういった機能があるのかをある程度理解できてきた。

Ruby

昨日は問題をランダムで表示させる方法が分からないと書いたが、あの後やり方を思いついた。

questions = [quiz1, quiz2, quiz3, quiz4, quiz5, quiz6, quiz7, quiz8, quiz9, quiz10, quiz11]
$questions_rand = questions.sample(10)

これで、あらかじめ用意した問題の中から10個ランダムに取り出す変数を作ることができた。

クイズを出すeach文にメソッドを付け加えた方がスマートだと思ったので、eachの後ろにsampleメソッドやshuffleメソッドを使ってみたが、うまくいかなかったので暫定で。

学習メモ