Ruby
前回 に続き、今回は下記のようなプログラム言語でジニ不純度(ジニ係数)の算出処理を同じように実装してみました。 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-86644 を Windows7(64bit)にインストールしたところ、新たに vagrant init した Box の vagrant up 時にエラーが発生するようになりました。(ちなみに VirtualBox-4.2.12-84980 や VirtualBox-4.2.16-86992 では正…
はじめに Sequel 3.48.0 で ojdbc14.jar (10.2.0.5) を使って TIMESTAMP 型のカラムを含むテーブルを検索したところ下記のようなエラーが発生しました。 (JRuby 1.7.4 で実行) ただし、ojdbc5.jar・ojdbc6.jar (11.2.0.3) ではこのようなエラーは発生…
下記のような文字をいくつかのプログラム言語の標準的な API で URL (URI) エンコードしてみたらどうなるか試してみました。 ; / ? : @ = & % $ - _ . + ! * ' " ( ) , { } | \ ^ ~ [ ]使用した言語は下記の通りです。 Groovy (Java API) C# (.NET Fram…
Markdown 形式の文字列を HTML 変換する処理を複数のプログラム言語で試してみました。処理としては、標準入力から UTF-8 の Markdown 形式の文字列を取得し HTML 変換した結果を標準出力へ UTF-8 で出力しています。ちなみに、Markdown 文字列は LOGGiX プ…
信頼されないSSL証明書(自己証明書)を使ったサイトに対して、Basic認証を行い POST するサンプルを Ruby, PHP, C#, Java, Groovy で実装してみました。サンプルソースは http://github.com/fits/try_samples/tree/master/blog/20111002/ サンプルは、第1引…
複数のWebコンテンツ(HTMLや画像など)をダウンロードする際に 1件ずつ処理していたのでは非効率です。 というわけで、並列的にWebコンテンツをダウンロードするプログラムを Groovy, Scala, C#, Java, Ruby で実装してみました。主な仕様は以下で、外部ラ…
「Sinatra + Haml で MongoDB を使う id:fits:20110306」で作成した Sinatra + Haml + MongoMapper のサンプルをプライベートクラウド PaaS 環境の Micro Cloud Foundry 上で実行してみました。サンプルソースは http://github.com/fits/try_samples/tree/ma…
id:fits:20110702 や id:fits:20110709 にて、SQL を使ってデータ抽出した処理を LINQ やコレクション API を使って実施し直してみました。(ただし、今回は station_g_cd でのソートを実施していない等、以前使った SQL と完全に同じではありません)今回は…
WebSocket の簡単なサーバープログラムを Jetty, Grizzly, Netty, EM-WebSocket をそれぞれ使って、Groovy や JRuby で実装してみました。 WebSocket のプロトコル仕様は確定しておらず、互換性の無い改訂が行われているようなので、今回は draft-ietf-hybi-…
Maven3 を使ったプロジェクトでの BDD(振舞駆動開発)の実施方法をまとめてみました。 今回試した BDD ツールは以下の通りです。 Specs Specs2 RSpec Easyb(Maven2) spock 結果として、この中では Specs/Specs2 か spock あたりを使うのが良さそうです。…
Sinatra で MongoDB を使うために Mongoid と MongoMapper を試してみました。 以下のようなモデル構成を実装する事にします。 環境は以下の通り、テンプレートエンジンに Haml を使っています。 JRuby 1.5.6 Sinatra 1.1.3 Haml 3.0.25 Mongoid 1.9.5 Mongo…
id:fits:20101226 や id:fits:20101231 で実施したパーサーコンビネータによる CSV ファイルのパース処理を RParsec を使って JRuby でやってみました。環境は以下の通り。 JRuby 1.5.6 RParsec 1.0 サンプルのソースは http://github.com/fits/try_samples/…
Excel の仕様に準拠した以下のような CSV ファイル(改行・カンマ・ダブルクォーテーションを要素内に含む)をパースし、第1・3の要素を標準出力に出力するサンプルを Ruby、Groovy、Scala で作成してみました。 CSVファイル例 test.csv 1,テスト1,"改行 含…
IronPython, IronRuby で実装した Silverlight 4 にて、ブラウザー外実行時の COM オートメーション連携機能を試してみました。(ただし、IronRuby の方は正常動作しなかった)使用した環境は以下の通り。 IronPython 2.7A1 IronRuby 1.1.1 なお、COM オート…
メールを使った Evernote へのノート登録を Scala, F#, Ruby で試してみました。Evernote は、ノート登録用のメールアドレス(アカウント情報に記載あり)に以下のような Subject(件名)でメール送信するだけでノート登録ができます。(メールの本文がノー…
DB の検索結果を JSON で返して、JavaScript(ExtJS)で表示するような Web システムのサンプルを Sinatra, Grails, CakePHP の 3種類のフレームワークで作成してみました。処理の概要は以下の通りで、MySQL の information_schema データベース TABLES テー…
今回は、各種スクリプト言語による 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…
XPath もしくは類似の方法を使ったXMLのパース方法を Groovy, Scala, Ruby, PHP でまとめてみた。 個人的には、XMLのパース用途では Groovy を主に使用し、状況や気分に応じて Ruby, PHP を使用するような感じだ。(Scala はXMLパース用途にはあまり使わない…
Ruby の Web アプリケーション用 DSL である Sinatra を Java の ServletEngine 上で実行してみます。 Warbler を使えば、容易に war ファイル化できるので、それを配置するだけなのですが、今回は手動で作ってみました。手順は以下の通りです。 事前準備 JA…
OpenESB v3 のカーネルコンポーネント Fuji に自作の処理フローを登録してみる事にする。 Fuji は JBI・OSGi をベースとした軽量マイクロカーネルコンテナ(ServiceMix Kernel と同じようなもの)で、IFL (Integration Flow Language) と呼ばれる DSL で処理…
Apache ODE 1.2 用に作成した BPEL ファイルを SCA 化して Apache Tuscany 1.3 上での実行を試みる。 ただし、Apache Tuscany 1.3 がサポートしている(同梱している)のは ODE 1.1 のため、BPEL や WSDL ファイルの名前空間を変更する必要あり。なお、今回…
以下のサイトを参考にして、Apache ODE 1.2 上で簡単な BPEL(WS-BPEL)を実行してみた。 Eclipse BPEL プラグインを使って WS-BPEL V2.0 ビジネス・プロセスを開発し、実行する 開発・実行環境は以下の通り。 Eclipse 3.3, BPEL Visual Designer 0.3.0 Apac…
Redmine を Windows 上の JRuby で実行した際に Subversion との連携が正しく動作しない点について簡単に調査してみた。環境は以下の通り。 JRuby 1.1.2 Redmine 0.7.2 Subversion win32 1.4.5 原因 原因は、svn コマンドの実行に失敗していることで、失敗の…
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(プロセス仮想マシン)を Groovy から使ってみる。 jBPM PVM は、グラフ構造を構築して実行するためのシンプルな Java ライブラリで、ワークフローや BPM を実現するための共通基盤となる。使うための準備は以下のとおり。 jBPM PVM のサイトから z…
まず仕様を満たすための振る舞いを定義し、それに準拠するようにプログラムを段階的に開発していく手法 BDD(Behavior Driven Development, 振舞駆動開発)。ITアーキテクト Vol.4 (IDGムックシリーズ) で知った時に、そのうち試すつもりがすっかり忘れてし…
Groovy では JAR ファイルを変更する事になったが、JRuby はどうなのかと思い試してみることに。今のところ JRuby ではアノテーションが扱えなさそうだったので、エンティティクラスは Java で定義したものをそのまま使用し、以下のようなスクリプトを実行し…
以前から気になってた Web プロジェクト管理システム Redmine をインストールしてみた。 インストール手順は以下の通りだが、Ruby on Rails を使った事があればインストール手順を見るまでも無く簡単に動作させられると思う。 アーカイブのダウンロードと展…
d:id:fits:20070730:1185814188 で Grails を使って作成したサンプルと同様のものを Ruby on Rails で作成する。 rails アプリケーションの作成 モデルクラスの作成 DB の作成 コントローラーとビューの作成 実行 rails アプリケーションの作成 rails コマン…