Linux

ログをリアルタイムで追いかける tail -f コマンドの使い方

アプリケーションの動作状況をログで確認したくなることがあります。そんなときに便利なのが、tail -f コマンドです。 tail コマンドとは? tail は、ファイルの「末尾(tail)」を表示するコマンドです。デフォルトでは、指定したフ...
Git

【Git】git resetコマンドで直前のコミットを取り消す方法

「直前のコミットを取り消したい」というときに便利なのが git reset コマンドです。 git reset --mixed HEAD^ 直前のコミットを取り消し、ステージングは解除されて変更は作業ツリーに残ります。 git reset ...
Git

【Git】コミットを「まとめたい」「消したい」ときは git rebase -i

コミットを「まとめたい」「消したい」ときなどに git rebase -i が使えます。 git rebase -i は他にも色々な操作がありますが、ここでは複数のコミットを1つにする方法と過去のコミットを削除する方法を説明します。 はじめ...
Ruby

【Ruby】コンポジションと委譲の関係

コンポジションと委譲は、どちらも『あるオブジェクトが別のオブジェクトの機能を使う』という文脈で登場するため、混同しやすい概念です。しかし、この2つは同じ意味ではありません。本記事では、この両者の関係性について説明します。 コンポジション コ...
Ruby

【Ruby】移譲(Delegation)とは?

はじめに あるオブジェクトが受け取ったメソッド呼び出しを、別のオブジェクトに丸投げする仕組みを移譲(Delegation)と呼びます。 移譲の基礎 UserクラスがProfileクラスを持ち、Profileのnameを取得するケースを考えま...
Ruby

【Ruby】ポリモーフィズムとは?〜継承とダックタイピング〜

はじめに この記事では、オブジェクト指向の基本である ポリモーフィズム(多態性) を継承とダックタイピングの方法で説明し、それぞれの考え方の違いにも触れていきます。 ポリモーフィズムとは? ポリモーフィズムとは、異なるクラスのオブジェクトが...
Ruby on Rails

【Rails】polymorphic(ポリモーフィック)って何?使い方は?

Railsで開発していると、polymorphic(ポリモーフィック)関連という言葉を目にすることがあります。 ただ、実際に使ったことがなかったり、なんとなくで理解しているという方も多いのではないでしょうか? この記事では、そんな方向けに ...
Ruby on Rails

【Rails】joins・preload・eager_load・includesの違いと使い分け

RailsのActiveRecordで関連データを扱いたいとき、joins や includes など、いろいろなメソッドがありますよね。 でも、どう使い分けたらいいのかよく分からない…と疑問に思う方も多いのではないでしょうか。 この記事で...
SQL

【SQL】INNER/LEFT/RIGHT/FULL/CROSS JOINの違いと具体例

はじめに SQLの INNER JOIN、LEFT JOIN、RIGHT JOIN……「何がどう違うの?」と聞かれるとちょっと不安。この記事では、自分の頭の中を整理するために、JOINの基本的な種類と違いを簡単な例と一緒にまとめてみました。...
Git

【Git】git mv後に履歴が追えない原因と対策

はじめに ファイルのリネームや移動をするとき、みなさんは git mv コマンドを使っていますか? git mv old_file.rb new_file.rb git mv は、単にリネームや移動するだけでなく、その操作をGitの履歴とし...