私は Sinatra と Web のプログラミングは初めてなので、使用されている用語の一部が正しくない場合があります。ともかく...
.txt を行ごとに配列に読み込むアプリがあり、index.html.erb をロードすると、行の 1 つがランダムに表示されます。コンテンツを直接配列に入れるのではなく、テキスト ファイルに入れることで、さらにデータを追加する必要がある場合に簡単に更新してから、配列に直接追加してアプリを再デプロイできるようにします。私の懸念は、ページをロードするたびに配列を再作成してファイルを再読み込みするかどうかです。そのようなことがサーバー側でどのように機能するのか、またはそれを確認する方法が正確にはわかりません。配列を作成するコードは次のとおりです。
before do
@ways ||= ['']
if @ways[1].nil?
File.open('ways.txt', 'r').each_line { |line| @ways << line }
end
end
そして私のルート:
get '/' do
@way = @ways.sample
erb :index
end
これが可能な限り効率的であることを確認する方法はありますか? それとも、まったく別の方法で行う必要がありますか? Chrome 開発ツールによると、ページの読み込みごとに最大 800b 転送されます。