スキップしてメイン コンテンツに移動

投稿

ラベル(ruby)が付いた投稿を表示しています

railsのインストール

下記コマンド. # gem install rails cygwin で次のエラーではまった場合の対処。 ERROR:  While executing gem ... (ArgumentError)     invalid byte sequence in US-ASCII エンコードを変更すると治ります。 # export LANG=ja_JP.ShiftJIS # export LC_ALL=ja_JP.ShiftJIS # gem install rails

rubyの実行をトレースする

概要 Rubyスクリプトの実行の過程をトレースする.デバッグする際には知っておくと便利である. トレースできる情報スクリプトの1行の実行,関数呼び出し・復帰,などがある. 使い方 使い方は,次の2通りいずれかを使用する. rubyコマンドのコマンドラインに次を使用する. ruby -rtracer hoge.rb スクリプト内部に次を追加する. require "tracer" Tracer.on ... この間がトレースされる ... Tracer.off 例 とにかくトレースする 次のスクリプトを例に説明する. #!/usr/bin/env ruby class Hoge def initialize() puts "Hoge.initialize()" end def print() puts "Hoge.print()" end end hoge = Hoge.new hoge.print この実行をトレースするには,次のようにスクリプトを書き換える. #!/usr/bin/env ruby require 'tracer' class Hoge def initialize() puts "Hoge.initialize()\n" end def print() puts "Hoge.print()\n" end end Tracer.on hoge = Hoge.new hoge.print Tracer.off これを実行結果は次の出力する. #0:hoge.rb:17::-: hoge = Hoge.new #0:hoge.rb:17:Class:>: hoge = Hoge.new #0:hoge.rb:6:Hoge:>: def initialize() #0:hoge.rb:7:Hoge:-: puts "Hoge.initialize()\n" #0:hoge.rb:7:Kernel:>: puts "Hoge.initialize()\n" #0:hoge.rb:7:IO:...

webrick - rubyでwebサーバをたてる

webrickとは   rubyには,httpサーバの機能を提供するフレームワーク,webrickがある.webrickはruby-1.8以降では標準で添付されている.このため,apacheなどのサーバプログラムをインストールする必要がない.加えて,apacheのような複雑な設定ファイルの記述は不要である.   これは,簡易httpサーバを立てる際に便利である.例えば,次のような場合に威力を発揮する. htmlやcgiなどの簡単なコーディングをして,動作させたい ローカルで運営する簡単なwebサーバをたてたい   このような場合,apacheほどの速度やセキュリティは必要ではなく,お手軽さが臨まれる.この要望を満たす手段として,webrickは有用である. サンプルコード   以下に,webサーバをたてるサンプルコードを示す.ここで,公開するファイルの置かれているドキュメントのルートディレクトリは,${HOME}/public_html/とする. #!/usr/bin/env ruby require 'webrick' server = WEBrick:: HTTPServer.new({ :Port => 80, :BindAddress => '0.0.0.0', :DocumentRoot => "#{ENV['HOME']}/public_html/"}) trap('INT') { server.shutdown } server.start   HTTPServer.newでサーバを起動する.引数は以下の通り. Port 使用するポート番号を指定する BindAddres 起動するサーバのIPアドレスを指定する DocumentRoot htmlドキュメントを置くルートディレクトリを指定する 実行   上に示したスクリプトを保存し,実行すると,httpサーバの動作を開始する.終了時は,Ctrl+cで終了する. 閲覧   ${HOME}/public_htmlにindex.htmlを置き, http://localhost/ にアクセスす...

rubyでblogspotに投稿する

概要   htmlファイルをblogspotに投稿するrubyスクリプトを紹介する.コマンドラインから投稿できるため,ローカルマシンでの投稿記事の一元管理,投稿の自動化,emacsからの投稿など,様々な応用が効く.   blogspotへの投稿には,blogger.comでサポートされているATOM-APIを用いる. ATOMとは   ATOMとは,XMLのフォーマットや,Web上でコンテンツを通信する際に使用するプロトコルなどの総称である.サービスの利用者は,ATOM-APIを使用して,コンテンツ配信などを実現することができる. 前準備   以下のサイトから,rubygemsのライブラリgdata-ruby-utilをダウンロードし,インストールする.これは,Google Data APIを使用するために利用する. http://code.google.com/p/gdata-ruby-util/ コード   以下に,rubyのコードを示す. #!/usr/bin/env ruby $LOAD_PATH.delete(".") # $LOAD_PATH.push('/path/to/BloggerAPI/gdata/gdata-1.0.0/lib') require 'rubygems' require "rexml/document" require 'time' require 'gdata' class MyBlogger def initialize(ary) @ary = ary @client = GData::Client::Blogger.new end def base(account, pass, url) doc = txt_to_xml # get token @client.clientlogin(account, pass) @client.prepare_headers @client.post(url, doc) end def txt_to_xml title = @ary[0].chomp # content = @ary[2..@ar...