Ruby による Web/データベース・プログラミング
【概要】 Rubyを用いたデータベースプログラミングとWeb開発のガイドである.主要なトピックとして,RDBMSとの連携,各種データフォーマット(CSV,JSON,YAML,XML)の処理,MongoDBの操作,Web開発フレームワーク(eRuby,Sinatra,Ruby on Rails)の活用方法を解説している.また,グラフィックス処理,統計解析ソフトRとの連携,他プログラミング言語との統合についても詳述している.特にデータベース操作については,SQLite3をメインに,テーブル定義,データ操作,クエリ実行などの基本操作から,より高度なデータ処理までを説明している.さらに,具体的な実装例やコード解説が含まれており,実践的な開発スキルの習得を支援する構成となっている.
【サイト内の関連ページ】
* Ruby プログラミングについては,別ページで説明
SQLite 3の SQL に関する詳しい説明は:
【関連する外部ページ】 http://loveruby.net/ja/rhg/book/
Rubyデータベースプログラミングの基礎
Rubyとリレーショナルデータベースの連携
- JRuby や Ruby から dbi を経由して SQLite バージョン 3 を使う
Ruby プログラムの中に SQL プログラムを埋め込み,SQLite バージョン3 上で動かします. dbi パッケージを使っているので,SQLite バージョン 3 以外のリレーショナルデータベース管理システムを使う場合でも簡単な書き換えと JDBC コネクタのインストール等の作業で済むと思います.
- Ruby の中に埋め込まれた SQL を用いたテーブル定義
- Ruby の中に埋め込まれた SQL を用いたテーブルへの行の挿入
- Ruby の中に埋め込まれた SQL を用いた問い合わせ
- テーブルの一覧表示
- Ruby 用の sqlite3-ruby パッケージを利用して Ruby から SQLite バージョン 3 を使う
Ruby プログラムの中に SQL プログラムを埋め込み,SQLite バージョン3 上で動かします.ここでは,Ruby 用の sqlite3-ruby パッケージを使う.
- Ruby の中に埋め込まれた SQL を用いたテーブル定義
- Ruby の中に埋め込まれた SQL を用いたテーブルへの行の挿入
- Ruby の中に埋め込まれた SQL を用いた問い合わせ
- テーブルの一覧表示
- Ruby sqlite3-ruby のさまざまな機能
- 問い合わせのメタデータ (metadata)
- 問い合わせ結果からの値の取得で属性名を用いる
- BLOB の挿入
- プレース・フォルダー (placeholder)
- Ruby の sequel を使ってリレーショナルデータベース管理システム SQLite 3 を使う
データベース管理システムのRuby実装
RubyによるCSVおよびテキストファイル処理
- Ruby で CSV ファイルを扱う
- CSV ファイル読み込み例
- 文字列が整数,浮動小数点数を表現しているかの判別
- 文字列が「"」を含むときエスケープ
- 連番ファイルデータの生成
- CSVファイルのデータを置換して、新しい CSV ファイルを生成 (Replace data in a CSV file and create a new CSV file)
- CSV ファイルを SQL の insert into とテーブル定義に変換する
- Ruby でスペース区切りのデータファイルを扱う(書きかけ)
- リレーショナルデータベースのテーブルをランダム・データで埋める
- ファイル名とキーワードの入った CSV ファイルを用いたキーワード検索
RubyによるJSON処理の実践
- Ruby で JSON を扱う例
JSON で表現されたデータを Ruby, シェルスクリプトを使って処理する例を示します
- JSON ファイルを csv ファイルに変換
- CSV ファイルの自己結合
- 必要な列の抜き出し
- グラフ作成
RubyによるYAML処理の基礎
- Ruby で YAML を扱う(書きかけ)
RubyによるXML処理の実装
- Ruby の REXML を使って XML ドキュメントをリレーショナル・データベースのテーブルに格納する.
- XMark の XML 生成器 xmlgen を使ってみる
- Ruby で XML を扱う(書きかけ)
MongoDBのRuby実装手法
Rubyパフォーマンス計測手法
RubyとWeb開発
eRubyによるWeb開発
Sinatraフレームワーク活用法
- Sinatra をインストールし,使ってみる
- Padrino をインストールし,使ってみる
Padrino とは、 Sinatra 上に構築された フル・スタック (full-stack) の ruby フレームワーク.必要な機能を選んで取り込めるのが便利.
- Padrino のインストール
- Padrino を使ってみる
ルーティング定義、コントローラの生成、ビューの生成を行なってみる
- ダッシュボードの生成
- Padrino で新しいモデル、ビュー、コントローラーの生成
- Padrino で新しいモデルの作成
- 新しいモデルの追加
- ビューファイルを書き換えてみる
Ruby on Rails基礎ガイド
Ruby on Rails のいくつかの機能を使ってみる. ここでの手順と動作結果は,Ruby on Rails バージョン 3 のものです.
- Ruby on Rails バージョン 3 を使ってみる
- Rails アプリケーションのディレクトリと基本ファイルの生成
- Rails アプリケーションのひな形 (scaffold アプリケーション) の生成
- マイグレーション・ファイルでのテーブル定義
- リレーショナルデータベースの作成
- Rails サーバの起動
- 動作確認
- JRuby で Ruby on Rails バージョン 3 を使ってみる
- Rails アプリケーションのディレクトリと基本ファイルの生成
- Rails アプリケーションのひな形 (scaffold アプリケーション) の生成
- マイグレーション・ファイルでのテーブル定義
- リレーショナルデータベースの作成
- Rails サーバの起動
- 動作確認
- Ruby on Rails バージョン 3 でのリクエスト URL,ルーティング定義,URL のパラメータ
- Aptana Studio を使って,Ruby on Rails を扱ってみる
Rails環境でのJQuery UI実装
種々の応用
グラフィックスとグラフ理論の実装
こちらの「グラフ」は、グラフ理論のグラフ(散布図などのグラフは下を見てください)
- Ruby で ruby-graphviz を使ってみる
ruby-graphviz とは、 Ruby から Grapviz を簡単に扱えるようにするソフトウェア
- dot2ruby を使ってみる
dot2ruby は, dot ファイルを Ruby に変換するプログラム.ruby-graphviz に付属している.
- ruby-opengl を使ってみる
RubyとR言語の連携手法
- Ruby から R の機能を呼び出す (rsruby を使用)
この Web ページで行うこと
- rsruby のインストール
- rsruby を使った散布図の作成を試してみる
JRuby から R の機能を呼び出す (rsruby を使用)
この Web ページで行うこと. ※ JRuby を使う.
- rsruby のインストール
- rsruby を使った散布図の作成を試してみる
- Ruby で rsruby を用いてグラフ作成
- CSV ファイルを読み込み,Ruby の連想配列に格納,
- rsruby を用いたグラフの作成(散布図を例として説明),
- グラフへの線,凡例の重ね書き,
- グラフのファイルへの保存
- Ruby で rsruby を用いてグラフ作成するときの各種パラメータ
点と折れ線の重ね合わせ,タイトル付け, x,y値の範囲,対数目盛り,xy比,グラフィックパラメータ (点の色や大きさや形,線の色やスタイルや太さ)を調整する手順を図解で示す.
- Ruby で rsruby を用いて種々のグラフを作成
R システムでの散布図,棒グラフ,円グラフ,度数分布ヒストグラム, Q-Q プロット,帯グラフを図解で説明する.
- Ruby で rsruby を用いた散布図の作成
rsruby を用いた散布図の作成について, 散布図内での平均と分散の図示,散布図行列,スケールの信頼性 の作成手順を図解で説明する
Ruby多言語連携プログラミング
- Ruby の extconf.rb の例
- Swig を利用して、Ruby プログラムから C++ を呼び出す
- Swig を利用して、Ruby プログラムから C++ のテンプレートクラスを呼び出す
- Swig を利用して、Ruby プログラムから CImg Library を使う
CImg Library とは、画像処理の機能を持った C++ のソフトウェア. このページでは, Ruby から CImg Library の機能を呼び出してみます