0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Railsの基礎知識についてまとめてみた

Posted at

背景

Railsを使用する場面があったのです
Railsって何?となって軽くアウトプットがてらブログを書く流れになりました
自分への理解を深めたいのでしっかりアウトプットしていきます。

基礎知識のアジェンダ

今回のアジェンダはこちらになります。

  • Ruby
  • Ruby on Rails
  • Gem
  • Gem file
  • Bundler
  • Gemfile.lock

現在、Dockerを学んでいるのですが
RubyとRailsについても初めて(progateではやったけど忘れたw)
なのでアウトプットしていきます!


Ruby

Ruby

  • Rubyとはプログラミング言語そのもの
  • 1995年に一般公開されたオブジェクト指向スクリプト言語
  • Rubyの制作者は「まつもと ゆきひろ(通称:Matz)」さん

Rubyが活用される場面

  • Webアプリ開発(Railsで作るサービスやサイト)
  • スクリプト処理(ファイル操作や自動化)

Rubyの特徴

  • 柔軟性が高い:同じ処理をいろんな書き方で書ける
  • ライブラリ(Gem)が豊富:拡張機能を簡単に追加できる
  • 日本発の言語で、ドキュメントや解説が日本語で多い

ふーむ調べてみるとおもろいけどキリないな:joy:
   

Ruby on Rails

Ruby on Rails

  • Rubyで書かれたWebアプリケーションフレームワーク
  • 「同じことは繰り返さない(DRY: Don’t Repeat Yourself)」 と
    「設定より規約(Convention over Configuration)」 という思想が有名

Ruby on Railsの特徴

  • Webアプリの基本機能が最初から揃ってる
    (ログイン機能、DB接続、フォーム、バリデーションなど)
  • 大量のGem(ライブラリ) を使って拡張しやすい
  • 日本発の言語で、ドキュメントや解説が日本語で多い

Railsで作れるもの

  • ECサイト(商品登録、決済、カート機能)
  • SNS(ユーザー登録、投稿、コメント機能)

Ruby on RailsはRubyで動く、Webアプリを素早く・効率よく開発できる仕組みってことね!

Gem

  • Rubyのライブラリやパッケージのこと
    「便利な機能をまとめた部品」を配布する仕組み

  • Pythonでいう pipパッケージ、JavaScriptでいう npmパッケージ みたいな存在

パッケージ → 機能が入った部品(ライブラリ)
パッケージマネージャ → それらをまとめて管理する仕組み(インストール・更新・削除・依存関係の調整)

Gem(大文字) → Rubyのパッケージのこと
gem(小文字・コマンド) → パッケージマネージャのこと
ここら辺しっかり理解しておきたかった!

Gem file

  • Ruby(特にRails)プロジェクトで使う Gem を一覧管理するファイル

  • 「このアプリはどんなライブラリ(Gem)を使ってるか」を明文化したもの

スクリーンショット 2025-10-15 16.30.15.png

こんな感じでこんなGemをもってるよーって感じね!

Bundler

  • RubyのGem(ライブラリ)をまとめて管理するツール

  • gem コマンド単体では「インストール・削除」
    しかし、Bundlerを使うと
    Gemfileをもとに依存関係やバージョンをしっかり管理できる

Bundlerが解決する問題

例えば

AというGemは「ライブラリXの1.0」が必要

BというGemは「ライブラリXの2.0」が必要

このような依存関係の衝突 がよく起きる。
Bundlerはそれを整理して「このプロジェクトではこのバージョンで固定!」と解決してくれる。

Bundlerの役割まとめ

  • Gemfileを読む

  • Gemをインストールする

  • 依存関係を解決する

  • Gemfile.lockにバージョンを固定する

  • 実行時に正しいGemを読み込ませる

BundlerはGemの依存関係やバージョンをまとめて管理して、プロジェクトを安定させるための必須ツール

Gemfile.lock

  • Gemfileで宣言したGemの「確定版リスト」 を記録したファイル

  • Bundlerが 依存関係やバージョンを解決した結果 をここに書き出す

  • 他の開発者や本番環境でも 同じバージョンのGemを使うための保証になる

Gemfile.lockの重要性

  1. チーム開発
    みんな同じGemのバージョンで作業できる

  2. 本番環境での安定性
    「開発環境では動くのに、本番では動かない」を防ぐ

  3. 依存関係の固定
    Gem同士のバージョン衝突を防ぐ


まとめると

  • Ruby → 言語

  • Ruby on Rails → Webアプリ作るためのフレームワーク

  • Gem → Rails や Ruby に便利機能を追加するパッケージ

  • Gemfile → 使いたいライブラリのリスト

  • Bundler → そのリストを読んで管理する人

  • Gemfile.lock → 実際に入れたライブラリのバージョン記録

感想

RailsについてもDockerについてももっと理解できるようになりたい!
プログラミングができるようになりたい!と思ったので
ブログを書いてみました!
めっちゃ楽しかったです✨
これからも勉強を楽しみたいです!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?