Ruby
サイトのアクセスランキングを作る方法はいろいろありますが、自前で HTTPサーバのログから計算するのは大変です。Google Analytics の API を使うとアクセス数が Ruby には Google Analytics API を操作できる Garb という便利なラッパーライブラリがありま…
Redmine 1.2.0 から 1.3.0 アップデートするのに色々とハマったのでメモしておく。Redmine 1.3.x で必要となる Rails などの依存バージョンは以下の通りです。 Ruby 1.8.7 Rails 2.3.14 Rack 1.1.1 参照)Redmineのインストール — Redmine Guide 日本語訳 Ru…
MapReduce について実際やってみたことがなかったので、MongoDB で試しそうと思っていました。 そんななか、AKB48 の(18歳以上?の)メンバーが Google+ を開始しました。これで「バルス」以上に定時でかつてない負荷が Google+ にかかり始めたと思われます…
Github にある johnnyhalife/waz-storage · GitHub ライブラリを使うと簡単に操作できます。Windows Azure Storage REST API のラッパーになってます。 Rubygems でインストール $ sudo gem install waz-storage Fetching: mime-types-1.17.2.gem (100%) Fet…
x64 環境だとオプションを指定しないと、mysqlclient が見つからず config で失敗する。 # gem install mysql -- --with-mysql-config=/usr/lib64/mysql/mysql_config Building native extensions. This could take a while... Successfully installed mysql…
「ruby qrcode」でググると Y.Swetake さんの QRコードクラスライブラリ for Ruby - QRcode encode class library for Ruby が真っ先にヒットする。だが、単に PHP 版から移植したと説明されているのと beta 版ということもあって躊躇っていた。 RubyForge…
基数変換は、ハッシュやキーなどの処理で必要になることがある。PHP では base_convert 関数があるので簡単だ。 Ruby にはないのかと思っていたら String, Integer クラスの to_i, to_s にはそれぞれ基数を引数に渡せることがわかった。よって、この二つを組…
require "cgi" require "cgi/session" require 'cgi/session/pstore' cgi = CGI.new user_id = cgi['loginid'] session = CGI::Session.new(cgi, { 'database_manager' => CGI::Session::PStore, }) session['userid'] = user_id session.close headers.stor…
Fast CGI Development Kit をインストール http://www.fastcgi.com の「API/Libraries」のThe Development Kit - C, C++, Perl, and Java, libraries as well as assorted documentation.の Current Download から fcgi.tar.gz をダウンロードする。普通にコ…
モバイルサイト用のヘッダ出力を Python で書いてみた - Tosshi Note モバイルサイトを3キャリアでほぼ共通化して作りたい - http://d.hatena.ne.jp/tilfin/20080530/1212376626 上記のエントリで DoCoMo, au, SoftBank 用のモバイルサイトを XHTML で作成…
Eclipse Foundation に Dynamic Languages Toolkit というスクリプト言語の IDE 環境のプロジェクトがある。 まとめて手に入れられるので便利そうなのでインストールしてみた。 Eclipse Dynamic Languages Toolkit (DLTK) Downloads - for Committers and Ea…
スタイルシートのカラー指定文字列を 3 要素の RGB 値の配列として取得する方法のメモ書き。逆変換のメソッドもあり。 css.rb # # Ruby CSS Color Module # module ColorUtil def get_rgb(value) if value =~ /^#?([a-fA-F0-9]+)$/ c = $1 if c.length == 3 …
Web サービスが停止していないかどうか確認するスクリプト。 open-uri を使うとタイムアウトが設定できないので、net/http で行う。 #!/usr/bin/env ruby require 'net/http' PROXY_ADDRESS = nil # プロキシサーバのアドレス PROXY_PORT = nil # プロキシサ…
ログイン CGI でクッキーがクライアントに返らないので調べたら・・・ #!/usr/bin/env ruby18 require 'cgi/session' …(省略)… def create_session(cgi, timeout) begin # 既存のセッションは削除 session = CGI::Session.new(cgi, { 'new_session' => false…
Ruby/LDAP を使う。Ruby/LDAP People からユーザとそのメイングループ番号を gidNumber から取得する。 各ユーザーのメイングループの cn を取得する。 グループを全て走査して、所属するユーザーにマップをグループに追加する。 「user:group1,group2」とい…
pdffile のパスにある PDF を読みつつ吐き出す CGI のサンプル #!/usr/bin/env ruby pdffile = "sample.pdf" print "Content-Type:application/pdf\r\n" print "Content-Length: #{File.size(pdffile)}\r\n" print "\r\n" open(pdffile, "rb") { |f| while b…
CGI を作っていて、Premature end of script headers が全然消えない。 print 'Content-Type:text/html\r\n\r\n' ってシングルクォートで囲うと、\r\nが特殊文字ではなくそのままに認識されるのでした。 print "Content-Type:text/html\r\n\r\n" でないとダ…
REXML で大きな XML ファイルを処理したらあまりにも遅かった。Ruby で書かれているのでいたし方ないんですが。もちろん REXML は標準でついているし、手軽に使えて良いという大きなメリットがあるけど、行う処理が数時間レベルなので速くしたい。そこで Lib…
使用したライブラリ open-uri rexml/document rss/maker RSS Parser ※ We retire raa.ruby-lang.org という Amazon Web Service を簡単に使えるライブラリも存在するが、単にリストを取得するだけなので今回は見送った。 コード RSS 2.0 で出力する。RSS::Ma…
Ruby の XML ライブラリ REXML を試す。(REXML - Home) Rubyクックブック ―エキスパートのための応用レシピ集 を買ったが、REXML については書かれていない。オリジナルの Ruby Cookbook (Cookbooks (O'Reilly)) には REXML が一章使われて説明されている…
Ruby を使うことになったので色々調べて、メモ書き。引数 url にリダイレクトする CGI サンプル #!/usr/bin/env ruby # # Redirect Sample CGI # ###################### require "cgi" cgi = CGI.new redirect_url = cgi['url'] print cgi.header({ 'status…
プロジェクト管理ツール redMine を試してみる。trac よりも高機能らしい。ガントチャートがデフォルトで使えるとのこと。 Mac にセットアップしてみた。 展開 http://rubyforge.org/projects/redmine/ から redmine-0.6.0.tar.gz をダウンロードしてくる。 …
redMine を使ってみたかったので、Mac に Ruby on Rails を入れてみる。 Ruby ruby-1.8.6-p111 をダウンロード、インストール。 $ bunzip2 -c ruby-1.8.6-p111.tar.bz2 | tar xvf - $ cd ruby-1.8.6-p111 $ ./configure --enable-install-doc $ make $ sudo …