Ruby

ジニ不純度の算出2 - Ruby, C#, F#, Erlang

前回 に続き、今回は下記のようなプログラム言語でジニ不純度(ジニ係数)の算出処理を同じように実装してみました。 Ruby C# F# Erlang 今回のソースは http://github.com/fits/try_samples/tree/master/blog/20140608/ Ruby で実装 Ruby 2.0 JRuby 1.7 Rub…

Windows用 VirtualBox 4.2.14 で Vagrant を使用する

はじめに Windows用 VirtualBox-4.2.14-86644 を Windows7(64bit)にインストールしたところ、新たに vagrant init した Box の vagrant up 時にエラーが発生するようになりました。(ちなみに VirtualBox-4.2.12-84980 や VirtualBox-4.2.16-86992 では正…

Sequel + ojdbc1.4 で TIMESTAMP 変換エラー

はじめに Sequel 3.48.0 で ojdbc14.jar (10.2.0.5) を使って TIMESTAMP 型のカラムを含むテーブルを検索したところ下記のようなエラーが発生しました。 (JRuby 1.7.4 で実行) ただし、ojdbc5.jar・ojdbc6.jar (11.2.0.3) ではこのようなエラーは発生…

記号文字の URL エンコード - Java, .NET, JavaScript, Ruby, Python, PHP

下記のような文字をいくつかのプログラム言語の標準的な API で URL (URI) エンコードしてみたらどうなるか試してみました。 ; / ? : @ = & % $ - _ . + ! * ' " ( ) , { } | \ ^ ~ [ ]使用した言語は下記の通りです。 Groovy (Java API) C# (.NET Fram…

Markdown の HTML 変換 - Ruby, PHP, Groovy, Scala, Node.js

Markdown 形式の文字列を HTML 変換する処理を複数のプログラム言語で試してみました。処理としては、標準入力から UTF-8 の Markdown 形式の文字列を取得し HTML 変換した結果を標準出力へ UTF-8 で出力しています。ちなみに、Markdown 文字列は LOGGiX プ…

信頼されない証明書を使ったHTTPSサーバーにBasic認証でPOST - Ruby, PHP, C#, Java, Groovy

信頼されないSSL証明書(自己証明書)を使ったサイトに対して、Basic認証を行い POST するサンプルを Ruby, PHP, C#, Java, Groovy で実装してみました。サンプルソースは http://github.com/fits/try_samples/tree/master/blog/20111002/ サンプルは、第1引…

並列処理でWebコンテンツをダウンロードする方法 - Groovy, Scala, C#, Java, Ruby

複数のWebコンテンツ(HTMLや画像など)をダウンロードする際に 1件ずつ処理していたのでは非効率です。 というわけで、並列的にWebコンテンツをダウンロードするプログラムを Groovy, Scala, C#, Java, Ruby で実装してみました。主な仕様は以下で、外部ラ…

Micro Cloud Foundry 上で Sinatra + MongoMapper アプリケーションを実行する

「Sinatra + Haml で MongoDB を使う id:fits:20110306」で作成した Sinatra + Haml + MongoMapper のサンプルをプライベートクラウド PaaS 環境の Micro Cloud Foundry 上で実行してみました。サンプルソースは http://github.com/fits/try_samples/tree/ma…

LINQやコレクションAPIを使ってCSVファイルからデータ抽出 - C#, F#, Scala, Groovy, Ruby の場合

id:fits:20110702 や id:fits:20110709 にて、SQL を使ってデータ抽出した処理を LINQ やコレクション API を使って実施し直してみました。(ただし、今回は station_g_cd でのソートを実施していない等、以前使った SQL と完全に同じではありません)今回は…

JVM上の WebSocket サーバープログラム - Jetty, Grizzly, Netty, EM-WebSocket を試す

WebSocket の簡単なサーバープログラムを Jetty, Grizzly, Netty, EM-WebSocket をそれぞれ使って、Groovy や JRuby で実装してみました。 WebSocket のプロトコル仕様は確定しておらず、互換性の無い改訂が行われているようなので、今回は draft-ietf-hybi-…

Maven での BDD - Specs, Specs2, RSpec, Easyb, spock

Maven3 を使ったプロジェクトでの BDD(振舞駆動開発)の実施方法をまとめてみました。 今回試した BDD ツールは以下の通りです。 Specs Specs2 RSpec Easyb(Maven2) spock 結果として、この中では Specs/Specs2 か spock あたりを使うのが良さそうです。…

Sinatra + Haml で MongoDB を使う - Mongoid, MongoMapper で関連とコンポジションを実装

Sinatra で MongoDB を使うために Mongoid と MongoMapper を試してみました。 以下のようなモデル構成を実装する事にします。 環境は以下の通り、テンプレートエンジンに Haml を使っています。 JRuby 1.5.6 Sinatra 1.1.3 Haml 3.0.25 Mongoid 1.9.5 Mongo…

Ruby でパーサーコンビネータを使った CSV ファイルのパース処理 - RParsec 使用

id:fits:20101226 や id:fits:20101231 で実施したパーサーコンビネータによる CSV ファイルのパース処理を RParsec を使って JRuby でやってみました。環境は以下の通り。 JRuby 1.5.6 RParsec 1.0 サンプルのソースは http://github.com/fits/try_samples/…

Ruby, Groovy, Scala での Excel準拠 CSV ファイルのパース処理 - opencsv使用、Iterator.continually() 等

Excel の仕様に準拠した以下のような CSV ファイル(改行・カンマ・ダブルクォーテーションを要素内に含む)をパースし、第1・3の要素を標準出力に出力するサンプルを Ruby、Groovy、Scala で作成してみました。 CSVファイル例 test.csv 1,テスト1,"改行 含…

IronPython, IronRuby での Silverlight 4 におけるブラウザー外実行と COM 連携 - WshShell でメモ帳を起動

IronPython, IronRuby で実装した Silverlight 4 にて、ブラウザー外実行時の COM オートメーション連携機能を試してみました。(ただし、IronRuby の方は正常動作しなかった)使用した環境は以下の通り。 IronPython 2.7A1 IronRuby 1.1.1 なお、COM オート…

Scala, F#, Ruby によるメール送信 - メールで Evernote にノート登録

メールを使った Evernote へのノート登録を Scala, F#, Ruby で試してみました。Evernote は、ノート登録用のメールアドレス(アカウント情報に記載あり)に以下のような Subject(件名)でメール送信するだけでノート登録ができます。(メールの本文がノー…

JSONデータとして取得したDBの検索結果をExtJSで表示するWebシステムのサンプル - Sinatra, Grails, CakePHP

DB の検索結果を JSON で返して、JavaScript(ExtJS)で表示するような Web システムのサンプルを Sinatra, Grails, CakePHP の 3種類のフレームワークで作成してみました。処理の概要は以下の通りで、MySQL の information_schema データベース TABLES テー…

Groovy, Scala, Ruby, PHP による XML の加工 - 要素や属性の追加・更新・削除

今回は、各種スクリプト言語による XML の加工方法をまとめてみました。 Groovy, Scala, Ruby, PHP を使って以下のような XML を <root> <data id="1">sample1</data> <data id="2" ext="none"> <details /> <details /> </data> </root> 次のような加工を施して (1) id="3" の data 要素を追加 (2) id="2" の data 要素に type 属性を追加 (3) id="1…

Groovy, Scala, Ruby, PHPでのXMLパース処理 - XPath使用

XPath もしくは類似の方法を使ったXMLのパース方法を Groovy, Scala, Ruby, PHP でまとめてみた。 個人的には、XMLのパース用途では Groovy を主に使用し、状況や気分に応じて Ruby, PHP を使用するような感じだ。(Scala はXMLパース用途にはあまり使わない…

SinatraをServletEngine上で実行

Ruby の Web アプリケーション用 DSL である Sinatra を Java の ServletEngine 上で実行してみます。 Warbler を使えば、容易に war ファイル化できるので、それを配置するだけなのですが、今回は手動で作ってみました。手順は以下の通りです。 事前準備 JA…

Project Fuji を使った ESB - jruby, file

OpenESB v3 のカーネルコンポーネント Fuji に自作の処理フローを登録してみる事にする。 Fuji は JBI・OSGi をベースとした軽量マイクロカーネルコンテナ(ServiceMix Kernel と同じようなもの)で、IFL (Integration Flow Language) と呼ばれる DSL で処理…

Apache ODE 用に作成した BPEL を SCA 化して実行 - Apache Tuscany 利用

Apache ODE 1.2 用に作成した BPEL ファイルを SCA 化して Apache Tuscany 1.3 上での実行を試みる。 ただし、Apache Tuscany 1.3 がサポートしている(同梱している)のは ODE 1.1 のため、BPEL や WSDL ファイルの名前空間を変更する必要あり。なお、今回…

Apache ODE で簡単な BPEL を実行

以下のサイトを参考にして、Apache ODE 1.2 上で簡単な BPEL(WS-BPEL)を実行してみた。 Eclipse BPEL プラグインを使って WS-BPEL V2.0 ビジネス・プロセスを開発し、実行する 開発・実行環境は以下の通り。 Eclipse 3.3, BPEL Visual Designer 0.3.0 Apac…

Windows上の JRuby で Redmine を実行した時の Subversion 連携に注意

Redmine を Windows 上の JRuby で実行した際に Subversion との連携が正しく動作しない点について簡単に調査してみた。環境は以下の通り。 JRuby 1.1.2 Redmine 0.7.2 Subversion win32 1.4.5 原因 原因は、svn コマンドの実行に失敗していることで、失敗の…

Redmine を Tomcat 上で実行する(JRuby on Rails)

Redmine 0.7.2 を JRuby on Rails 環境を使って Tomcat 上で動作させてみる。(Radmine を WAR ファイル化して Tomcat にデプロイして実行)使用した環境は以下のとおり。 JavaSE 6.0 (1.6.0_06) JRuby 1.1.2 Rails 2.1.0 Redmine 0.7.2 MySQL 5.0.51b Tomca…

jBPM PVM の使用

jBPM PVM(プロセス仮想マシン)を Groovy から使ってみる。 jBPM PVM は、グラフ構造を構築して実行するためのシンプルな Java ライブラリで、ワークフローや BPM を実現するための共通基盤となる。使うための準備は以下のとおり。 jBPM PVM のサイトから z…

Java での BDD(振舞駆動開発)- JDave と Rspec(JRuby で実行)

まず仕様を満たすための振る舞いを定義し、それに準拠するようにプログラムを段階的に開発していく手法 BDD(Behavior Driven Development, 振舞駆動開発)。ITアーキテクト Vol.4 (IDGムックシリーズ) で知った時に、そのうち試すつもりがすっかり忘れてし…

JRuby で S2JDBC を使用してみる

Groovy では JAR ファイルを変更する事になったが、JRuby はどうなのかと思い試してみることに。今のところ JRuby ではアノテーションが扱えなさそうだったので、エンティティクラスは Java で定義したものをそのまま使用し、以下のようなスクリプトを実行し…

プロジェクト管理システム Redmine のインストール

以前から気になってた Web プロジェクト管理システム Redmine をインストールしてみた。 インストール手順は以下の通りだが、Ruby on Rails を使った事があればインストール手順を見るまでも無く簡単に動作させられると思う。 アーカイブのダウンロードと展…

Ruby on Rails で "1対多" 関連を使ったサンプルを作成

d:id:fits:20070730:1185814188 で Grails を使って作成したサンプルと同様のものを Ruby on Rails で作成する。 rails アプリケーションの作成 モデルクラスの作成 DB の作成 コントローラーとビューの作成 実行 rails アプリケーションの作成 rails コマン…