ITコンサルの日常

ITコンサル会社に勤務する普通のITエンジニアの日常です。

Java

JavaからRubyを呼んで、戻り値を取得する

evalScriptletの戻り値を使えば良かったらしい。そのまんまじゃん。 import org.jruby.Ruby; import org.jruby.runtime.builtin.IRubyObject; public class CallRuby { public static void main(String[] args) throws Exception { Ruby runtime = Ruby.newI…

JavaからFixturesを使ってみる - ちょっとだけすっきり書けた

import java.io.FileInputStream; import org.jruby.Ruby; import org.jruby.runtime.Block; public class CallRuby { public static void main(String[] args) throws Exception { Ruby runtime = Ruby.newInstance(); runtime.parseFile( new FileInputStr…

JavaからFixturesを使ってみる

昨日のFixturesをRails外で使ってみるは、これの伏線なのでした。 で、JavaからJRubyを使ってRubyのライブラリを使う方法ですが、 色々やったところ、org.jruby.Ruby#evalScriptletってのを使うとできるようです。 org.jruby.runtime.load.LoadService#requi…

JRuby on Rails + ActiveRecord-JDBC with derbyを試してみる

前提 Java6 SDKがインストールされている JRuby1.1.4がインストールされている 適切な環境設定(JAVA_HOME, JRUBY_HOME, PATH)がされている Rails2.1.1がインストールされている とりあえずRailsプロジェクトを作ってみる D:\work\ruby\ActiveRecord-JDBC>jru…

warblerでRailsアプリをTomcatにのせてみる

前提 TOMCATがインストールされている(zipとか展開するだけですが) 参考URL http://blogs.sun.com/arungupta/entry/rails_and_java_ee_integration1 warblerをインストール D:\work\ruby\ActiveRecord-JDBC\test>jruby -S gem install warbler JRuby limited…

POI Ruby Bindingsってのがあるらしい。

CRubyから直接POIをたたけるライブラリのようです。 が、TODOが山積しているようで、なんかあんまりメンテされてなさそう。。ちょっと興味深いのは、 The bindings are generated by compiling POI with gcj, and generating the Ruby wrapper using SWIG. …

JRuby on Rails with mysqlでEMULTIHOP (Reserved)とかいうエラーが出る件

http://juskewycz.com/2008/05/rails-mysql-ubuntu-socket/#comment-119 のサイトに解決策が載ってました。 要は、config/database.ymlで、 socketの行(socket: /var/run/mysqld/mysqld.sockとか書いてある行)を消す(コメントアウトする) host: 127.0.0.1の…

indexアクションをCSVやExcel(JRuby + POI)に対応してみる

scaffoldで作った場合、デフォルトではHTMLとXMLに対応していますが、これをCSVとかExcelに対応してみようというものです。まず事前準備として、.csvや.xlsといった拡張子に反応するよう、config/environment.rbに登録します。 ... # Activate observers tha…

POI on JRuby

とりあえずやってみました。 普通に書いたバージョン IOをOutputStreamでラッパしたバージョン(writeメソッドの書きっぷりが不完全ですが) ioに書けるってことは、他のRubyライブラリとの整合性も取れそうな気がします。

Seasar Conference 2008 Autumn行ってきました

余裕かましてたら、到着が15分送れましたorz 理事会活動報告(途中から) SAStrutsとS2JDBCの最新機能 T2 -the WEB2.0 Connector- RubeusでJavaにRubyのパワーを! のセッションを見てきました。 理事会活動報告 後ろの方に座ってしまったのでほとんど見えず。…

rubeus-0.0.6 released!

きましたー! 今回から私が書いたコードが少し入ってます。rubeusは今までも少し言及してきましたが、 Rubeus(るびうす)はJRubyを使ってJavaのAPIをRubyっぽくしちゃえというコンセプトで立ち上がったプロジェクトです。JRuby上では、Rubyのスクリプトからと…

java.awt.Desktop#browseで「アプリケーションが見つかりません」エラー

詳しくは、 http://watcher.moe-nifty.com/memo/2007/07/ie_sleipnir_ie_1528.html に書いてありますが、特定のタブブラウザをインストールすると、レジストリが変な風に書き換わってしまい、うまく動かなくなるようです。 対処は、レジストリの各値を以下の…

(擬似)リアルタイムなRSSリーダー

そんなの作るとネットワークとかサーバに負荷かかるからやめとけっていう話はもちろんありますが、それはさておき。最近RBCな人達の間で、JRuby + rubeusでRIAなSwingアプリを作るのが流行ってます。 RubyのNet::HTTPでさくっとデータを取ってきて、それをSw…

イケテルJRuby勉強会@東京

ただいま参加中です。 なんとIP Reachableなんです。素晴らしい。 とても寒いです。。orz 今朝帰りました。とても眠いです。 いくら寝ても寝たりないんです。。 風邪は今のところひいてないらしい。でも潜伏期間3日くらいだからなあ。 それはさておき、勉強…

OpenJFXを試してみる。

前提: JDK1.6が導入済みであること。 demoを展開して分かったのだが、nbprojectフォルダとか含まれていて、 どうもNetBeansありきの前提らしい。 サンプルにREADMEがないので、どうやっていいのかさっぱりわからん。 ただ、NetBeansインストールするのも面倒…

はてなダイアリからISBNとASINを抜き出してStack Stock Booksへインポート

バグと仕様の不備がありました。 バグは、ISBNを単なる数値として正規表現で引っ掛けていたのですが、 http://ja.wikipedia.org/wiki/ISBN によると、チェックディジットはXもありうるということ。 なので、正規表現を調整しました。 あと、仕様の不備っての…

はてなダイアリからISBNとASINを抜き出してStack Stock Booksへインポート

はてなダイアリで本などを紹介するのはいいのですが、やっぱりどこかで蔵書管理(というか既読管理)みたいなものもしたくなってて、二度手間だなあとか思ってました。 とりあえず、ISBNとかを指定すると本を登録できるWebAPIを公開している蔵書管理サービスっ…

またもLotusScriptネタ

JavaからもNotesをいじれるらしいので、ちょっとだけやってみました。 が、いきなりハマった。。 Session session = NotesFactory.createSession(); だけだと、UnsatisfiedLinkError: NCreateSession みたいなエラーが出ます。 解決策は、 NotesThread.sinit…

Yahoo!ゲームとかでJavaAppletが遅いときはキャッシュをクリアする

奥さんのお母さんがYahoo!ゲームの将棋をよくやっているのですが、ちっとも動かなくなったとかで、調べてみたところタイトルの通りでした。 Windowsなら、 コントロールパネル → Java → 基本タブ(デフォルト) → インターネット一時ファイルの設定ボタンクリ…

Apache Axis2を試してみる。

http://ws.apache.org/axis2/ 以前書いたエントリで、Apache Axis2のHot Deployment面白そうねとか書いた手前、さっくり試してみる。 ダウンロード http://ws.apache.org/axis2/download/1_3/download.cgi の辺りから、Standard Binary Distributionを入手。…

GluonJでjava.util.Date#getTimeをインターセプトしてみる。(うまくいかず)

http://www.csg.is.titech.ac.jp/projects/gluonj/downloads/index.html 辺りから落としてきました。ver1.5 betaです。まずはチュートリアルを参考にやってみる。 >more src\test\Hello.java package test; public class Hello { public static void main(St…

Caller pointcuts@JBoss AOPを使って、java.util.Date#getTimeをインターセプトしてみる。

今回いじるサンプルは、nekopさんに教えていただいた、 jboss-aop_1.5.6.GA\docs\aspect-framework\examples\caller です。まずは、Driver.javaに追加。 /* * JBoss, Home of Professional Open Source * Copyright 2005, JBoss Inc., and individual contri…

mainが始まる前にメソッドを呼ぶ

なんだかBINARY HACKSにもそんなのありましたが、何かに使えるかも知れないので一応書いておく。 >more premain.java public class premain { public static void premain(String agentArgs) { System.out.println("premain"); } } >javac premain.java >mor…

JavaでもAOPしてみる(JBossAOP使ってみた)

http://labs.jboss.com/jbossaop/downloads/ から、最新stableらしい1.5.6.GAをダウンロード。 展開したフォルダの jboss-aop_1.5.6.GA\docs\aspect-framework\examples\all をコマンドラインで開き、antでコンパイル&実行までやってくれる。 all以外の他の…

JavaでもAOPしてみる(AspectJ使ってみた)

最新のver1.5.4を試してみました。 AspectJのQuick Start的なものは、下記サイトに良くまとまっています。 http://www.02.246.ne.jp/~torutk/aspectj/helloworld.html 3/24追記: 良く見たらLTW(Load Time Weaving)についても書いてありますね。 ただ、アノテ…

JavaでもAOPしてみる(Seasar2使ってみた)

とりあえずS2の最新バージョンをダウンロードしてみた。 Seasar2 - Downloads 落としてきたのは、S2.4.23。 圧縮ファイルをデスクトップ展開してみる。(Windowsで実行する前提だったりします。) ドキュメントのセットアップを参考にコンパイルバッチファイル…

System.in / System.out / System.errをクローズしてみる。

別に意味はないのですが、Javaでも出来そうだと思ったので。 public class opentest { public static void main(String[] args) throws Exception { System.in.close(); System.out.close(); System.err.close(); System.in.read(); System.out.println("Hel…

いまさらRowSet

ADO.NETのDataSet見てて思い出した。 そういやJavaにはRowSetがあるじゃないかと。http://kamakura.cool.ne.jp/oppama/swjd/jdbc-rowset.html にサンプルあったので、書き写してみた。 import javax.sql.*; import javax.sql.rowset.*; import com.sun.rowse…

Accessデータベースに接続する

プログラミングC# p371OleDbDataAdapterを使います。 using System; using System.Data; using System.Data.OleDb; class ReadMdb { static void Main(string[] args) { OleDbDataAdapter oda = new OleDbDataAdapter("select * from emp", "Provider=Micros…

テキストエディタで作るWindows Forms

プログラミングC#では、Visual Studioを使ってやることになっているのですが、エディタで作ってみたかったので、とりあえずVisual C# 2008 Expressでソースを吐かせて、そいつを改造するっていうスタイルで作ってみました。 ちなみに、partialキーワードを使…