Ruby: 開発プラットフォーム

快適で効率的な開発プラットフォームを準備する

👋 Stackheroのドキュメントへようこそ!

Stackheroは、数多くの利点を提供する、すぐに使えるRubyクラウドソリューションを提供しています。

  • シンプルなgit pushでアプリケーションを数秒でデプロイ
  • 独自のドメイン名を使用し、HTTPS証明書の自動設定による強化されたセキュリティを享受。
  • 自動バックアップワンクリック更新、そしてシンプルで透明性があり、予測可能な価格設定で安心を提供。
  • プライベートで専用のVMによる最適なパフォーマンスと強固なセキュリティを実現。

時間を節約し、生活を簡素化:StackheroのRubyクラウドホスティングソリューションを試すのに5分しかかかりません

適切に構成された開発プラットフォームは、効率的かつ快適に作業するために不可欠です。

このドキュメントでは、リモートでの開発を可能にする準備済みのサービスと、ローカルでの開発について探ります。次に、asdfを使用してRubyをインストールする方法を案内し、新しいRubyプロジェクトの作成手順で締めくくります。

Ruby開発には、コンピュータ上にローカル環境を設定する方法と、Code-Heroのようなクラウドベースのソリューションを使用する方法の2つの人気のあるアプローチがあります。それぞれに独自の利点と課題があるため、ニーズと好みに最も合ったものを選択できます。

ローカルでの開発は、インターネット接続なしでオフラインで作業することができます。しかし、特にプログラミング初心者や異なるツールや依存関係を扱う場合、設定に時間と労力がかかることがあります。また、バックアップの管理、コンピュータの処理能力の制限内での作業、データセキュリティの確保が必要です。さらに、ローカル開発は特定のデバイスに制限されるため、他のデバイスでプロジェクトにアクセスする際の柔軟性が制限される可能性があります。

一方、リモートのクラウドベースソリューションであるCode-Heroは、開発のためにすぐに使用可能な事前構成済みの環境を提供します。このプラットフォームは、直感的なVisual Studio Codeフォークインターフェースと、Git、Docker、Ruby、Railsなどの幅広い組み込みツールを備えています。リモート開発の大きな利点は、サーバーがローカルマシンよりも強力である可能性が高く、パフォーマンスとリソースの利用可能性が向上することです。また、ブラウザ経由でアクセス可能なため、オペレーティングシステムに関係なく、どのコンピュータ、タブレット、または電話でも作業できます。

さらに、DockerやTraefikなどの統合ツールを使用すると、TLS暗号化の設定や実際のドメイン(例: https://your-project.you.your-company.dev)の使用が簡単です。これは本番環境を反映し、外部のWebhook(GitHub、Slack、Stripeなど)、CORS、その他のWebサービスに関する一般的な課題を解決し、スムーズな開発体験を提供します。

最終的に、ローカルとリモートの開発の選択は、個人の好み、技術的スキル、プロジェクトの要件に依存します。

要約すると:

  1. ローカル開発(コンピュータ上):

    • ✅ オフラインで動作: インターネット接続は不要
    • ❌ リソースの制限: リモートソリューションと比較して処理能力が低い可能性
    • ❌ 設定が必要: ツールの手動インストールと構成が必要
    • ❌ メンテナンス: 定期的な更新とバックアップを手動で管理する必要がある
  2. リモート開発(Code-Hero上):

    • ✅ すぐに使用可能: ツールは事前にインストールされ、構成済みで即時開発可能
    • ✅ パフォーマンス向上: 強力なCPU、RAM、ストレージリソースを活用
    • ✅ デバイスの柔軟性: どのコンピュータ、タブレット、または電話からでもアクセス可能
    • ✅ 外部統合: Webhookとのやり取りのためのHTTPSドメインが利用可能
    • ❌ インターネット依存: インターネット接続が必要

Ruby開発にリモートクラウドアプローチを選択すると、事前構成済みの環境のおかげで手間のかからない体験が提供されます。これにより、手動設定に時間をかけずにプロジェクトにすぐに取り組むことができます。

Code-Heroは強力なサーバー上で動作し、リソース集約型のタスクでもスムーズなパフォーマンスを保証します。このオプションを使用すると、Rubyプロジェクトの構築に集中し、プログラミングスキルをスピード、利便性、信頼性を持って磨くことができます。

Code-Heroサービスが稼働したら、数秒で最初のRubyプロジェクトを作成できます。このドキュメントの残りの部分では、「Rubyでの開発: ローカルアプローチ」セクションをスキップし、「Rubyプロジェクトの作成」に直接進むことができます。

ローカル開発環境を設定するには、Ruby、その依存関係、および必要なツールをコンピュータにインストールする必要があります。

ローカル開発はハードウェアの制約によって制限される可能性があり、手動での更新とバックアップが必要であることを覚えておいてください。

ローカルマシンでRubyを使用して開発を開始するには、Rubyとその関連する依存関係をインストールする必要があります。

asdfを使用します。これは、複数のプログラミング環境を管理し、プロジェクトごとにバージョンを簡単に切り替えることができる多用途なツールです。

asdfツールは最初は馴染みがないかもしれませんが、複数の環境を管理する際の問題を防ぎ、時間を節約することで、Ruby開発体験を大幅に簡素化できます。

Rubyに加えて、asdfはNode.js、Python、PHPなどの多くの他の言語でも動作するため、開発ツールキットにおいて貴重なツールとなります。

asdfをインストールするには、公式ドキュメントに記載されている手順に従ってください。

インストール後、次のコマンドを実行してasdfが正常に動作していることを確認します。

asdf version

インストールされたバージョンが表示されれば、asdfは使用可能です。

asdfを使用して最新バージョンのRubyをインストールするには、次のコマンドを実行します。

asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git
asdf install ruby latest
asdf global ruby latest

インストール後、次のコマンドでRubyが正しく動作していることを確認します。

ruby --version

これにより、Rubyのバージョンが返され、正しくインストールされて使用可能であることが示されます。

Rubyプロジェクトの作成は簡単なプロセスです。

まず、次のコマンドで最新バージョンのRubyをインストールします。

asdf install ruby latest \
  && asdf global ruby latest

次に、Railsをインストールします。RailsはGemとして利用可能なので、次のコマンドを実行して簡単にインストールできます。

gem install rails

最後に、次のコマンドを使用してアプリケーション(ここではmy_appと名付けます)を作成し、Rubyのバージョンを設定します。

rails new my_app
cd my_app
asdf local ruby latest

Railsサーバーを起動するには、次のコマンドを実行します。

bin/rails server

Ruby on Railsのウェルカム画面Ruby on Railsのウェルカム画面

これらの手順は、Rubyプロジェクトの基盤を設定し、正しいRubyバージョンが使用されることを保証します。

デフォルトでRubyプロジェクトのローカルGitリポジトリが作成されますが、まだリモートリポジトリホスティングサービスに接続されていません。

適切なバージョン管理とバックアップを確保するために、GitLab、GitHub、Bitbucketなどの好みのプラットフォームでプロジェクトをリモートリポジトリに接続することを検討してください。

Gitリポジトリホスティングサービスをお探しの場合、StackheroはGitLabクラウドサービスを提供しており、わずか2分で設定できます。これは最大限の機密性とセキュリティを確保するためにプライベートで専用のVM上で動作し、ヨーロッパまたはアメリカで利用可能です。

Stackhero Code-Heroのようなオンライン開発ソリューションを使用している場合、設定を調整する必要があります。ファイルconfig/environments/development.rbを編集し、最後のendキーワードの直前に次の行を追加し、<XXXXXX>.stackhero-network.comをサーバーのホスト名に置き換えます。

config.hosts << "<XXXXXX>.stackhero-network.com"

ホスト設定の例ホスト設定の例

この変更を行った後、次のコマンドを使用してRailsサーバーを起動します。

bin/rails server -b 0.0.0.0