5行書くだけでWebサーバーが出来ます。
'Ruby on Rails'の学習もしたことがありますが、正直ややこし過ぎて、1冊本を読み終えた頃には個人用途でアプリケーションを作る気力は失せていました。
単純なものから必要に応じて規模を拡大して行く方が、学習はスムーズに進むかもしれません。
User
RubyのSinatraで構築するWebサーバーで次の条件を満たすものを構築したいです。
・ローカルネットワーク上の他端末からアクセスができる
・デフォルトのviews, publicフォルダを持つ。
ChatGPT
Sinatraでローカルネットワーク上の他端末からアクセス可能なWebサーバーを構築する手順を、ステップ・バイ・ステップで説明します。
ステップ1: Sinatraのインストール
まず、Sinatraをインストールしていない場合は、以下のコマンドを実行してインストールします。
gem install sinatra
ステップ2: 基本的なSinatraアプリケーションの作成
次に、基本的なSinatraアプリケーションを作成します。新しいディレクトリを作成し、その中にapp.rbという名前のRubyファイルを作成してください。以下のコードをapp.rbに記述します。
require 'sinatra' get '/' do 'Hello, world!' end
ステップ3: viewsとpublicフォルダの作成
Sinatraは、デフォルトでviewsフォルダとpublicフォルダを参照します。viewsフォルダ内にはテンプレートファイル(例: ERBファイル)を、publicフォルダ内には静的ファイル(例: CSS、JavaScript、画像ファイル)を置きます。
viewsフォルダとpublicフォルダを、app.rbが存在する同じディレクトリに作成してください。
例として、viewsフォルダにindex.erbを、publicフォルダにstyle.cssを置くことができます。
ステップ4: ローカルネットワーク上でアクセス可能にする
デフォルトでは、Sinatraはlocalhost(127.0.0.1)で起動します。ローカルネットワーク上の他端末からアクセスするには、アプリケーションを特定のIPアドレスでバインドする必要があります。ほとんどの場合、0.0.0.0をバインドすることで、全てのインターフェースを介してアクセスを受け付けるように設定できます。
app.rbに次の行を追加して、0.0.0.0にバインドします。
set :bind, '0.0.0.0'
ステップ5: Sinatraアプリケーションの起動
最後に、以下のコマンドを実行してSinatraアプリケーションを起動します。
ruby app.rb
これで、ローカルネットワーク上の他端末からアクセスできるようになります。ブラウザから、Sinatraが起動しているマシンのIPアドレスにアクセスしてみてください。例えば、マシンのIPアドレスが192.168.1.5で、Sinatraのデフォルトポート(4567)を使用している場合、http://192.168.1.5:4567にアクセスします。
これで、ローカルネットワーク上の他端末からアクセス可能で、viewsとpublicフォルダを使用するSinatraアプリケーションの基本的なセットアップが完了しました。