今回はrubyの軽量フレームワーク Sinatra の紹介です。
こちらのフレームワークは"簡潔さ"が売りです。
複数人で組む開発ではなく、一人の担当者が短期間で
(簡単なシステムを)構築する場合に効果的だと思われます。
簡単な利用方法は公式ページに日本語版 もあるので、困らないと思います。
今回はこれを利用して、ログファイルを表示する簡単なcgiを作成します
私が今回利用したFedoraLinuxでは、以下でインストールが出来ました。
yum install rubygem-sinatra.noarch
手始めの簡易なログビューアーですので
- 1:ログファイルを読み込む
- 2:HTMLのテンプレートを読み込む
- 3:表示
の、シンプルな物です。
さらに1ファイルに収めるためにビューはヒアドキュメントを使いました。
- 《 log_viewer.rb 》
-
require 'rubygems' require 'sinatra' require 'kconv' log_file = "/var/log/httpd/access.log" html = "ヒアドキュメント" get '/' do buff = nil open(log_file){|f| buff = f.read } Kconv.tosjis(html.gsub(/\$\{yeild\}/,buff)) end
- 《 ヒアドキュメント部分 》
-
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS"> <meta http-equiv="content-style-type" content="text/css"> <title>簡易ログビューアー</title> <style type="text/css"> *.logbox { border: solid 1px #808080; width: 960px; height: 640px; padding: 0.5em; overflow: auto; } q { color: #008000; } </style> </head> <body> <h1>簡易ログビューアー</h1> <div class="logbox"> <pre>${yeild}</pre> </div> </body> </html>
こちらを手っ取り早く起動します
サンプルコード内のヒアドキュメントは適宜置き換えてください。(blog内での表示上の理由)
ruby log_viewer.rb
これをブラウザからアクセスすると...

と、簡潔に機能を作る事が出来るのです!
皆様、これからもbiz-Streamをよろしくお願い致します。
また、初めてこちらのサイトをご覧になり、
biz-Streamに関心を持って頂いた方は是非、
下のボタンよりお気軽にお問い合わせ下さい。