この記事を書いた人
082P
現在は、医療系システムエンジニアをやっています。得意言語はRubyですが、仕事柄PHPやJavascriptに触れる機会が多いです。記事に関しては、RubyのRuby on Rails、PythonのDjangoなど、Webアプリケーションおよびデータベース系の記事を書くことが多いです。趣味でゲーム配信とボカロPをやってます。既婚者で子供が2人おります。
Ruby on Railsとは?
Ruby on Rails (RoR) は、Webアプリケーションを構築するためのオープンソースのフレームワークで、プログラミング言語 Ruby で作られています。
Railsは、効率的でスケーラブルなアプリケーション開発を容易にするための多くの機能を備えています。以下が基本的な特徴です。
- MVCアーキテクチャ
Railsは、Model(モデル)、View(ビュー)、Controller(コントローラ)の三層構造に基づいており、アプリケーションの構成を論理的に整理します。 - 「規約より設定」(Convention over Configuration) の原則
Railsは、デフォルトの構造や命名規則に従うことで設定を最小限に抑え、開発を効率化します。 - DRY (Don't Repeat Yourself) の原則
コードの重複を避け、再利用性を高める設計思想に基づいています。 - 豊富なGemライブラリ
拡張機能や新しい機能を簡単に追加できるプラグインやライブラリを利用できます。
Ruby on Railsを使うことで、シンプルなCRUD(作成、読み取り、更新、削除)アプリケーションから複雑なWebシステムまで迅速に開発することが可能です。
Webアプリのバックエンドを構築するためのフレームワークとして、特にスタートアップや中小規模のプロジェクトで人気があります。
開発環境を整える上で必要なもの
MacでRuby on Rails8..0.0.1の開発環境を整えるために必要となるのは「Postgresqlのインストール」「Posticoのインストール」「Xcodeのインストール」、「Visual Studio Codeのインストール」、「Homebrewのインストール」、「rbenvのインストール」、「Rubyのインストール」、「Nodeのインストール」、「Yarnのインストール」「ChromeDriverのインストール」です。
順に解説します。
- Postgresql
- Postico2
- Xcode
- Visual Studio Code
- Homebrew
- rbenv
- Ruby
- Node
- Yarn
上記の全てが揃わないとRuby on Railsの開発を進めることができません。
一つずつ、丁寧に作業を進めていきましょう。
Postgresqlのインストール
以下の記事を参考に、PostgreSQLをインストールしてください。
PostgreSQL(ポストグレスキューエル) は、高度なオープンソースのリレーショナルデータベース管理システム(RDBMS)です。
堅牢でスケーラブルな設計により、Webアプリケーションからデータウェアハウス、エンタープライズアプリケーションまで、さまざまな用途に利用されています。
- オープンソース
PostgreSQLは、自由に利用、変更、配布できるオープンソースソフトウェアであり、活発なコミュニティによって継続的に改良が行われています。 - ACID準拠
トランザクションの一貫性と信頼性を保証するため、Atomicity(原子性)、Consistency(一貫性)、Isolation(独立性)、Durability(永続性)の特性を備えています。 - 複雑なクエリサポート
強力なSQLクエリをサポートしており、サブクエリや結合、ウィンドウ関数など、高度なデータ操作が可能です。 - 拡張性
データ型や機能を追加する拡張性があり、ストアドプロシージャやユーザー定義関数、トリガーなどを利用することでカスタマイズが可能です。 - JSONや地理空間データのサポート
ノンリレーショナルなデータ(NoSQL的な)も管理できる機能を持ち、JSONB形式でのデータ操作が可能です。
また、地理空間情報を扱うPostGIS拡張機能もサポートされています。
PostgreSQLは、信頼性が高く、パフォーマンスに優れたデータベースで、企業のミッションクリティカルなアプリケーションでも広く採用されています。
以下にRailsで使用できる主なデータベースを表でまとめます。
データベース | 特徴 | 使用用途 |
---|---|---|
SQLite | 軽量で設定不要。Railsのデフォルトデータベース。小規模プロジェクトや開発環境で手軽に利用可能。 | 小規模アプリケーション、開発環境 |
PostgreSQL | 高機能でスケーラブル。JSONデータの操作やトランザクション管理など高度な機能を備える。 | 大規模な商用アプリケーション、スケーラブルなサービス開発 |
MySQL | 高速なクエリ処理と幅広いサポート。広く使用されているオープンソースのデータベース。 | 一般的なWebアプリケーション |
MariaDB | MySQLのフォーク版。速度や拡張性に優れ、オープンソースで活発に開発が続けられている。 | MySQLに似た用途、スケーラブルなアプリ開発 |
Microsoft SQL Server | 商用データベース。信頼性が高く、エンタープライズ用途に適している。 | 企業環境や特定のビジネス要件に対応 |
Oracle Database | 強力な商用データベースでエンタープライズ用途に使用される。 | 大規模な企業向けアプリケーション |
Railsはこれらのデータベースを使い分けることで、プロジェクトの特性や要件に応じた開発が可能です。
Ruby on RailsでPostgreSQLが使うのは、スケーラビリティやトランザクション管理などの高度な機能を持つためです。
JSONデータの扱いや全文検索など、多彩な機能により柔軟性があり、信頼性の高い商用アプリケーション開発に適しています。
また、オープンソースで無料で利用でき、Railsとの相性が良く、コミュニティサポートも充実しているため、開発者にとって便利な選択肢となっています。
herokuで利用できるのも大きな理由の一つです。
Postico2のインストール
以下の記事を参考に、Postico2をインストールしてください。
Postico2とは?
Postico 2は、Mac向けの人気のあるPostgreSQLクライアントアプリケーション「Postico」の後継バージョンです。
Posticoは直感的で使いやすいインターフェースを備えており、PostgreSQLデータベースの管理やクエリの実行を簡単に行えるツールとして広く利用されています。
Xcodeのインストール
以下の記事を参考にXcodeをインストールしてください。
Xcodeとは?
Xcode(エックスコード)は、Appleが提供する統合開発環境(IDE)です。
主に以下の用途で使用されます。
iOSやmacOSアプリの開発
- Xcodeは、iOS、macOS、watchOS、tvOS向けアプリの開発に必要なツールを一体化した環境です。
- Appleのプログラミング言語であるSwiftやObjective-Cを使ってコードを書くことができます。
特徴的な機能
- エディター機能
コードの補完やエラーチェック機能が充実しており、初心者からプロまで利用しやすい。 - インターフェースビルダー
GUI(グラフィカルユーザーインターフェース)をドラッグ&ドロップでデザインできるツール。コードを書くことなくUIを構築できます。 - シミュレーター
仮想デバイスでアプリをテストできるため、実機がなくても動作確認が可能。 - デバッガー
コードのエラーやパフォーマンスの問題を視覚的に追跡し、修正できます。
対象プラットフォーム
macOS専用のソフトウェアであり、Windowsでは利用できません。
主な用途
アプリケーションの作成、テスト、デバッグ、最適化、App Storeへのアプリ公開など。
入手方法
MacのApp Storeから無料でダウンロードできます。
初心者にも向いている理由
- Appleが公式に提供するツールなので、初心者向けのドキュメントやサンプルが豊富。
- Playgroundsという機能を使えば、Swiftのコードを試して学習することもできます。
Xcodeは、Apple製品のエコシステムに密接に統合されており、Appleデバイス向けのアプリ開発を考えている人にとって必須のツールです。
Visual Studio Codeのインストール
プログラムコードの編集、コマンド、Gitの管理は全てVisual Studio Codeで行います。
特にGitの管理はアプリケーションをデプロイする際に必須です。
インストール方法は以下の記事で解説しています。
Visual Studio Codeとは?
Visual Studio Code(VS Code)は、Microsoftが提供する無料のソースコードエディタです。
軽量でありながら強力な機能を持ち、多くのプログラマーに愛用されています。
特徴
- 軽量で高速
シンプルなデザインで起動が速く、パフォーマンスが高い。 - 多言語対応
JavaScript、Python、C++、Java、Go、HTML、CSSなど、さまざまなプログラミング言語をサポート。 - クロスプラットフォーム
Windows、macOS、Linuxで動作します。 - 拡張機能の豊富さ
専用のMarketplaceから拡張機能をインストールすることで、機能をカスタマイズ可能。 - Git統合
Gitをエディタ内で操作でき、ソースコード管理がスムーズ。 - デバッグ機能
エディタ内でコードのデバッグが可能。外部ツールを使用せずに問題を特定できます。
主な用途
- Web開発
フロントエンド(HTML、CSS、JavaScript)からバックエンド(Node.js、Pythonなど)まで対応。 - アプリケーション開発
小規模なプロジェクトから大規模な開発まで利用可能。 - スクリプト作成
短いスクリプトやテストコードの記述にも便利。
利点
- 自由度が高い
インターフェースやショートカットを自分好みにカスタマイズ可能。 - 豊富なテーマ
ダークテーマやカラフルなテーマを簡単に切り替えられる。 - 無料で利用可能
強力な機能を備えながら完全無料。
VS Codeが選ばれる理由
初心者からプロまで幅広いユーザー層に対応しており、学習用から業務用まで多様な用途に利用されています。
特にWeb開発やクラウド関連の開発者にとっては必須ツールといえるでしょう。
入手方法
公式サイト(Visual Studio Code)から無料でダウンロード可能です。
Visual Studio Codeは、拡張性と使いやすさを兼ね備えたモダンなエディタで、プログラミングの効率を大幅に向上させるツールです。
どの言語を使う場合でも一度試してみる価値があります。
Homebrewのインストール
Homebrewのイントール方法は以下の記事で詳しく解説しています。
Homebrewとは?
Homebrewは、macOSやLinuxで利用できるパッケージマネージャーの一つです。
ソフトウェアやツールのインストール、管理、アップデートをコマンドラインで簡単に行えるようにするツールとして広く利用されています。
主な特徴
- 簡単なインストールと管理
Homebrewを使うと、複雑な依存関係を持つソフトウェアでも簡単にインストールできます。例:brew install git
- 豊富なパッケージ
ソフトウェアや開発ツール(例: Python、Node.js、MySQLなど)のパッケージが「Formula」という形式で提供されています。 - アップデートが簡単
インストールしたソフトウェアはコマンド一つでアップデートできます。例:brew upgrade
- カスタマイズが可能
ソースコードをビルドしてインストールすることもでき、特定のオプションを設定したい場合に対応可能。 - CaskによるGUIアプリケーションの管理
Homebrew Caskを使用すると、Google ChromeやVisual Studio CodeなどのGUIアプリケーションもインストール可能。例:brew install --cask google-chrome
基本コマンド
- Homebrewのインストール
macOSの場合、以下のコマンドでインストール可能です。/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- パッケージの検索
brew search [パッケージ名]
- パッケージのインストール
brew install [パッケージ名]
- パッケージの削除
brew uninstall [パッケージ名]
- Homebrew自体のアップデート
brew update
利用するメリット
- 手作業でのインストールに比べて手間が省ける。
- ソフトウェアの依存関係を自動で解決してくれる。
- システムのクリーンな状態を保ちやすい。
開発者やシステム管理者にとって非常に便利なツールであり、特にターミナルで作業することが多い人には必須のツールです。
rbenvのインストール
rbenvのイントール方法は以下の記事で詳しく解説しています
rbenvとは?
rbenv は、Rubyのバージョンを管理するためのツールです。
複数のRubyバージョンをシステム上にインストールし、プロジェクトごとに使用するバージョンを簡単に切り替えられるようにします。
特徴とメリット
- システムに依存しない
- システム全体のRubyバージョンに影響を与えず、プロジェクトごとに異なるバージョンを使えます。
- 軽量設計
- コア機能はシンプルで、必要な機能はプラグインで拡張できます。
- 設定が簡単
.ruby-version
ファイルをプロジェクトディレクトリに配置するだけで、そのプロジェクトで使用するRubyのバージョンを指定できます。
- Gemの競合を回避
- バージョンごとにGemの環境が分離されるため、プロジェクト間での競合を防げます。
rbenvの主なコマンド
rbenv install <バージョン>
Rubyの指定バージョンをインストールします。rbenv global <バージョン>
システム全体で使用するデフォルトバージョンを設定します。rbenv local <バージョン>
現在のディレクトリ(プロジェクト)で使用するRubyバージョンを設定します。rbenv versions
インストール済みのRubyバージョンを一覧表示します。rbenv version
現在使用中のRubyバージョンを表示します。
インストール方法 (例: macOS)
- Homebrewを使用する場合
brew install rbenv ruby-build
- シェル設定の更新
.bash_profile
や.zshrc
に以下を追加し、rbenvを有効化します。eval "$(rbenv init -)"
- Rubyのインストールと確認
rbenv install 3.2.0
rbenv global 3.2.0
ruby -v
RVMとの違い
- rbenv は軽量でシンプル、一方で RVM (Ruby Version Manager) は多機能です。
- rbenvはシェルの仕組みに依存し、環境を侵害しない設計が特徴。
- RVMは単体でGemsetの管理も可能。
ruby on RailsでWeb開発をする際はrbenvの機能で十分ですので、心配いりません!
Ruby 3.3.6のインストール
Ruby 3.3.6のイントール方法は以下の記事で詳しく解説しています。
Rubyとは?
Rubyは、オブジェクト指向のプログラミング言語で、1995年に日本のまつもとゆきひろ(Matz)によって開発されました。
Rubyは簡潔で読みやすく、開発者が効率的にコードを書くことができるように設計されています。
- オブジェクト指向
Rubyは完全なオブジェクト指向言語で、ほぼすべてのデータがオブジェクトとして扱われます。 - 簡潔で直感的な文法
初心者でも学びやすい文法が特徴で、コードが非常に読みやすくなっています。 - ガーベジコレクション
メモリ管理が自動的に行われ、開発者がメモリを手動で管理する必要がありません。 - 動的型付け
型宣言が不要で、変数の型は実行時に決定されます。 - 強力な標準ライブラリ
Rubyは豊富なライブラリを提供しており、Web開発、データ解析、システム管理などさまざまな分野で利用されています。
Rubyは特に、Webアプリケーション開発フレームワーク「Ruby on Rails」(Rails)と密接に関連しており、これがRubyの人気を高めました。
Railsは、効率的でスピーディーなWebアプリケーション開発を支援するフレームワークで、多くのスタートアップや企業に採用されています。
プログラミングスクール【ディープロ】4ヶ月短期集中コース
プログラミングスクール【ディープロ】4ヶ月短期集中コースとは?
ディープロは、「開発現場で活躍できるITエンジニアになりたい人」向けのプログラミングスクールです。
「現場で役に立つノウハウを学びプロのエンジニアとして活躍したい社会人の方」「自分でWebサービスを開発してみたい方」「高い学習効率でプログラミングを学びたい方」におすすめのプログラミングスクールです。
3つのポイント
プログラミングを学ぶだけでなく、要件定義書、ER図、データベースのテーブル定義書の作成等も実際に仕事で利用するスキルを学ぶことができます。
受講期間中は定期的に面談を行い、適切な学習内容や学習計画をアドバイスします。
ほとんどの人は「自分一人では続けることができない」ことを理解しています。
ディープロではあなたの目標達成までをサポートします。
1秒でも早く、悩みを解決できるため、最短で目標を達成することができます。
即戦力のスキルを身につけるプログラミングスクール【DMM WEBCAMP 学習コース(旧:SKILLS)】
即戦力のスキルを身につけるプログラミングスクール【DMM WEBCAMP 学習コース(旧:SKILLS)】とは?
現役エンジニアによるマンツーマンの学習サポートと確実に上達できる独自メソッドにより即戦力のスキルを身につけられるプログラミングスクールです。
対象コース
プログラミングの他に、Webデザインや動画編集、AI・データサイエンスに特化したコースもあります。
- はじめてのプログラミングコース
- Webアプリケーションコース
- PHP / Laravelコース
- Javaコース
- Webデザインコース
- UI / UXコース
- 動画クリエイターコース
- Pythonコース
おすすめポイント
通過率わずか10%の選考を突破した現役エンジニアが即戦力までの道のりをサポートしていきます。
チャットにていつでも質問可能で、疑問点を随時質問できるほか、
週に2回のメンタリングでは、学習方法のレクチャーやモチベーションの維持・向上を行っています。
カナダで開発・実践されてきたICEモデルに基づきカリキュラムを独自開発しています。
3,000人以上の学習データから最適な学習内容と課題を設計し、
受講生の97%が未経験者ながら業界の中でも高い学習継続率を実現しています。
希望に応じて転職や副業のサポートを無料で受けることができます。
スキルを習得して終わりではなく、そのスキルをどのように活かすかまでをサポートいたします。
こんな方におすすめ
男女20〜30代を中心(全体の約75%)に、10代から60代と幅広い年齢層の方が転職・キャリアアップ・スキルアップを考え、受講されています。
プログラミングを学ぶなら【テックアカデミー】
テックアカデミーはこんなところです!
選抜された現役エンジニアから学べるオンラインに特化したプログラミングスクールです。
どこかに通う必要なく、自宅でもWeb制作・プログラミング・アプリ開発を学ぶことができます。
転職の支援はもちろん、副業に活かせるスキルの習得から、実際の副業のお仕事をご紹介するところまで寄り添います。
現在提供中のコース
<Web制作・システム開発系>
- はじめての副業コース
- Webデザインコース
- フロントエンドコース
- PHP/Laravelコース
- WordPressコース
- はじめてのプログラミングコース
- UI/UXデザインコース
- Webアプリケーションコース(Ruby on Rails)
- Javaコース
<データサイエンス・AI>
- Pythonコース
- AIコース
- データサイエンスコース
<アプリ開発>
- iPhoneアプリコース
- Androidアプリコース
- Unityコース
<Webマーケティング>
- Webマーケティングコース
<動画>
- ムークリ
<エンジニア転職支援>
- TechAcademy Pro(エンジニアへの転職を保証するコース)
こんな方におすすめ
- 働きながら副業を目指す方
- 今後フリーランスとして働きたい方
- スキルを習得して、就職/転職を目指す方
- 過去にプログラミングやWebデザインを勉強して挫折した方
- 非エンジニアで今の仕事にプログラミングやWebデザインのスキルを活かしたい方
テックアカデミーのポイント
- 初心者が9割以上。挫折せずに学べる
- 副業のことが学べるはじめての副業コースが人気。
- 受講した方には実際に副業を当社から1案件以上斡旋するテックアカデミーワークス
- 自宅にいながらオンライン完結で勉強できるのでライフスタイルに合わせて受講できる
- 受講生に1人ずつ現役のプロのパーソナルメンターがつく
- チャットで質問すればすぐにプロから回答が返ってくる
- オリジナルサービスやオリジナルアプリなどの開発までサポート
Node.jsのインストール
Rails 8.0 では、デフォルトで Import Maps を使用して JavaScript を管理するため、Node.js や Yarn は必須ではありません。
ただし、使用するフロントエンド技術やツールによっては、Node.js と Yarn をインストールする必要が出てくる場合があります。
必要になった時に面倒なので、あらかじめインストールしておきます。
Nodeのイントール方法は以下の記事で詳しく解説しています。
Nodeとは?
Node.js(一般に「Node」と略されます)は、サーバーサイドでJavaScriptを実行できる環境です。
もともとJavaScriptはブラウザ内でしか実行できない言語でしたが、Node.jsを使うことでブラウザ以外(例えばサーバーやコマンドラインツール)でもJavaScriptが使えるようになりました。
Node.js の特徴
- JavaScriptの実行環境
- Googleが開発した高速なJavaScriptエンジン「V8」を使用しているため、非常に高速です。
- サーバーサイドの開発に適しており、バックエンドのAPIサーバーやバッチ処理などをJavaScriptで書けるようになります。
- 非同期処理とイベント駆動モデル
- Node.jsは、非同期I/Oを得意としており、リクエスト処理がブロックされないため、高いスケーラビリティを持っています。
- シングルスレッドですが、効率よく多数のリクエストを捌くことが可能です。
- npm(Node Package Manager)
- Node.jsには、npm(Node Package Manager)という巨大なパッケージエコシステムが付属しており、数十万ものオープンソースライブラリを簡単にインストールして使うことができます。
- 例えば、WebフレームワークのExpressや、CSSプリプロセッサのSassなど。
Node.js の主な用途
- サーバーサイドアプリケーション
- REST APIやGraphQL APIを構築。
- WebSocketを使ったリアルタイムアプリケーション(例:チャットアプリやゲーム)。
- ツール・スクリプト作成
- 自動化スクリプトやビルドツール(Webpack、esbuild など)。
- 開発補助ツール(Prettier、ESLint など)。
- フロントエンド開発の補助
- モダンなフロントエンド開発(React, Vue.js, Angularなど)では、Node.jsを使ってライブラリやフレームワークを管理し、開発環境を構築します。
- IoTやデスクトップアプリケーション
- IoTデバイスの制御。
- デスクトップアプリケーション開発(Electronを使ってSlackやVS Codeのようなアプリを構築)。
Node.js を使う場面
- Railsで Webpacker や Vite を使う場合(フロントエンドのビルドや依存管理)。
- フロントエンドフレームワーク(React, Vue.js)を使うプロジェクト。
- REST APIサーバーやリアルタイム通信が必要なプロジェクト。
Node.jsは「サーバーサイドのJavaScript実行環境」であり、フロントエンドとバックエンド両方で活躍できるツールです!
Yarnのインストール
Yarnのイントール方法は以下の記事で詳しく解説しています。
Yarnとは?
Yarn は、Node.js のパッケージ管理ツール(パッケージマネージャー)の一つで、主に JavaScript のプロジェクトで使用されます。
npm(Node Package Manager)と似た役割を持ちますが、いくつかの特徴的な機能を備えています。
Yarnの特徴
- パッケージの高速インストール
- Yarn は、依存関係を効率的に管理し、高速にパッケージをインストールします。
- 並列ダウンロードを活用するため、特に依存関係が多いプロジェクトでは npm よりも速い場合があります。
- 確定性(Deterministic Installations)
- Yarn は
yarn.lock
ファイルを生成し、パッケージのバージョンを厳密に固定します。これにより、チーム全体で同じ依存関係が再現可能です。 - npm でも同様の機能 (
package-lock.json
) が提供されていますが、Yarn の方が早期から実装されていました。
- Yarn は
- オフラインモード
- 一度インストールしたパッケージをキャッシュに保存し、ネット接続がない状態でもインストール可能です。
- 高いセキュリティ
- パッケージをインストールする際、インテグリティチェックを行います。
これにより、改ざんされた依存関係がインストールされるリスクを軽減します。
- パッケージをインストールする際、インテグリティチェックを行います。
- プラグインシステム(Yarn 2.x以降)
- Yarn 2.x(Berry)以降、プラグインを使用してカスタマイズ性が向上。
例えば、プロジェクトごとに Yarn の設定を変えることが可能です。
- Yarn 2.x(Berry)以降、プラグインを使用してカスタマイズ性が向上。
Yarn の主な用途
- Node.jsプロジェクトの依存関係管理
JavaScript/TypeScript のプロジェクトで必要なライブラリを簡単にインストールし、バージョンを管理できます。 - フロントエンドフレームワークとの連携
React や Vue.js、Angular のプロジェクトでライブラリを管理。 - モノレポプロジェクトの管理
複数のパッケージを一つのリポジトリで管理する際にも役立ちます(例: Yarn Workspaces)。
Yarn と npm の違い
特徴 | Yarn | npm |
---|---|---|
速度 | 並列ダウンロードで速い | 速度は改善されているが、Yarnの方が速い場合も |
ロックファイル | yarn.lock | package-lock.json |
オフラインモード | サポートあり | 部分的にサポート |
プラグイン | サポート(Yarn 2.x以降) | サポートなし |
Yarn は、依存関係の管理を効率化し、開発環境の再現性を高めるツールです。
npm と互換性があるため、特定のプロジェクトで必要に応じて使い分けられます。
大規模プロジェクトやモノレポ管理に特化した機能がある点で優れているのが特徴です。
まとめ
「Ruby on Rails 8.0.0.1」の開発環境をMacで整えるには、以下のものが必要です。
- Postgresql
- Postico2
- Xcode
- Visual Studio Code
- Homebrew
- rbenv
- Ruby
- Node
- Yarn
インストール作業、お疲れ様でした!
最後までお読みくださりありがとうございました!