高井 直人 takai@recompile.net ソフトウェアエンジニア。1977年横浜生まれ。大学在学中からネットワークや情報技術にたずさわる。Web制作会社などを経て、現在はシステムインテグレータに勤務。エンタープライズRubyをテーマに社内標準の策定などに従事している。
____ / \ /\ キリッ . / (ー) (ー)\ / ⌒(__人__)⌒ \ | |r┬-| | Ruby 1.9はクリスマス前にリリースします \ `ー'´ / ノ \ /´ ヽ | l \ ヽ -一''''''"~~``'ー--、 -一'''''''ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) ____ /_ノ ヽ、_\ ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ /⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒) | / / / |r┬-| | (⌒)/ / / // | :::::::::::(⌒) | | |
会社の仕事の一貫で、JRubyの記事を「まるごとRuby! Vol.1」に書きました。同僚の大場光一郎さんとの共著です。内容は、Rubyの人に向けたJRubyの紹介というスタンスで、JavaのインストールからSwingを利用したプログラミングまで解説し、JRubyだとこんなに便利なこともできるんですよ、みたいな話になっています。 あ、そうそう。原稿料を会社にとられてくやしかったので、会社のSun SPARC Enterprise T5220をつかってRubyとJRubyのスレッド性能を比較してみました。このマシンに搭載されているUltraSPARC T2は、8コア同時64スレッド実行可能というおばけCPUです。なかなか面白いデータ(想像通りという意味で)がとれていますので、こちらもご覧ください。
(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)
Java Expert #02で、JRuby特集の記事を書きました! 特集は、JRubyコントリビュータとして有名な大場光一郎さんとの共著です。 特集では、JRuby入門からエンタープライズまで、一通りの内容を網羅しています。JRubyやJRuby on Railsになんだか興味があるのだけれども英語の情報ばかりでちょっと手がだせていないという方、JRubyのレビューとしてまとまった記事が欲しいという方、ぜひお手にとってください。 また、JRuby特集の他にもJavaフレームワークであるTeedaの特集や、SunがだしてきたRIA向け言語Java FXの特集など、タイトル通りエキスパート向けの記事が満載です。下記のリンクからいますぐ予約してください!!
« A Scala Tutorial for Java programmers を淡々と写経するよ (4) | メイン | trunkのJRubyがヤバいことになってる件 » Practical JRuby on Rails Web 2.0 Projects: Bringing Ruby on Rails to the Java Platform Ola BiniによるJRuby本のPractical JRuby on Rails Web 2.0 Projectsが届きました。 目次にざっと目を通した限りでは、サンプルアプリケーションをつくりながら、JRuby on RailsとJRubyの機能を紹介していくという構成になっています。JRubyの基本やJavaとの統合機能といった基本的な内容から、EJBやMOMとの統合など高度な内容まで扱っているようです。 あ、それと既に購入した方は、20
1. Install JRuby and Rails Download JRuby from http://dist.codehaus.org/jruby/ $ wget http://dist.codehaus.org/jruby/jruby-bin-1.0.1.zip Unzip JRuby to your favorite directory (e.g. /usr/local). $ cd /usr/local $ sudo unzip ~/jruby-bin-1.0.1.zip Set environment variable JRUBY_HOME to point JRuby directory. $ export JRUBY_HOME=/usr/local/jruby-1.0.1 $ export PATH=$PATH:$JRUBY_HOME/bin Install
現在発売中のWEB+DB PRESS vol.40に紙面の都合から掲載できなかったコラムをブログに掲載します。雑誌記事では、JRubyでDSLというテーマでJavaでスクリプト言語を活用する方法について解説していますので、そちらもあわせて読んでみてください。 JVM上では、さまざまなスクリプト言語の処理系が実装されています。Java SE 6からは、Java言語からスクリプト言語を利用するための方法が標準化され、利用できるようになりました。(スクリプトエンジンについてのより詳しい情報は、 https://scripting.dev.java.net/ を参照してください。) ひとことで、JVMで動作するスクリプト言語といっても、JDK6に添付されているJavaScriptの実装であるRhino、最近注目の的になっているRuby実装であるJRuby、停滞していたプロジェクトが復活しつつあるJ
Akasaka.rbのIRCでRubyのヒアドキュメントの話が盛り上がりましたので、ちょっとだけご紹介します。Rubyでは、PerlやPythonといったスクリプト言語と同じように、ヒアドキュメントが利用できます。例えば、次のようなケースです。 hello = <<-EOS Hello, World! EOS puts hello.reverse 上記の例では、一時変数としてhello変数を利用していますが、この一時変数をなくすこともできます。EOSの直後に閉じ括弧を置くとエラーになるので注意しましょう。 (<<-EOS Hello, World! EOS ).reverse さらに、おそらくPerlの文法からだとおもうのですが、次のような書き方もできます。 (<<-EOS).reverse Hello, World! EOS Rubyって本当にキモいですね!!
LL魂のうち、VM魂というパネルディスカッションに参加してきました。紹介プレゼンでは、なるべくコードをださずに中身の紹介をしようという目的があったのですが、成功だったでしょうか。横スクロールで気持ち悪くなった人には申し訳なかったです。ちなみに、JRubyの中身をあそこまで紹介している資料は、世界的にもなかなかないのではないかと自負しています。まあ、単に、普通の処理系と一緒だから誰も書いていないだけでしょうが。 もうちょっとまともな紹介については、今月24日に発売されるWEB+DB PRESSの連載の方に書いていますので、そちらもご参照ください。 ところで。私はどうもメディアにうけが悪いらしく、Ruby会議のときもLL魂のときもイベントの記事はいっぱいでても、私の名前がでてきません。超泣ける。 なお、発表資料はこちらです。 http://recompile.net/llspirit/fiv
前回の記事って本当は、Java > Cという話をしたかったんですよ。ベンチマークって本当に難しいですね! というわけで、今回はJava > Cという話をみつけました。フィボナッチ数列ってやつです。 まずはCバージョンを書いてみましょう。 1 #include <stdio.h> 2 3 int fib(int n) { 4 if(n < 2) 5 return n; 6 else 7 return fib(n - 2) + fib(n - 1); 8 } 9 10 int main() { 11 printf("%d\n", fib(40)); 12 } 実行結果は、下記の通りです。 % cc fib.c -o fib % time ./fib 102334155 ./fib 3.30s user 0.01s system 98% cpu 3.361 total 次は、Javaバージョン
自家製のプログラムを題材に、JavaとCの速度比較をしてみました。アクセスログからトップへのアクセスだけを切り出すという処理です。処理対象のファイルは某サイトの一ヶ月分のログで8.9Gあります。測定は、OSがLinuxバージョン2.6で、CPUがPentium Dの2.80GHz、メモリを512MB搭載しつつ、7,200RPMでキャッシュが8MBのSATA HDDというマシンで行なっています。 まずは、単純にgrepをかけてみましょう。 % time grep 'GET /[ ?]' access_log > /dev/null grep 'GET /[ ?]' access_log > /dev/null 1219.31s user 7.65s system 99% cpu 20:33.59 total さすがに8.9Gのファイルを相手にすると時間がかかります。 この処理をJavaで書い
Scalaは、JVMで動作するオブジェクト指向関数型言語らしいですよ。詳しい話はよくわかりませんが、なんとなく心の片隅にひっかかっていたので、ちょっと触ってみることにしました。 まずはインストールです。Macなので、Mac portsをつかえば簡単にできます。Emacs向けにscala-modeも用意されているので、ついでにインストールすれば準備は万端になります。 % port install scala % sudo install -m 644 /opt/local/share/scala/misc/scala-tool-support/emacs/*.el /Applications/Emacs.app/Contents/Resources/site-lisp/ とりあえず、初心者向けのドキュメントがあるっぽいので、そちらを淡々と写経していきましょう。JavaプログラマのためのSca
最新版のJRuby 1.0.0RC2では、RubyのスクリプトをJavaのクラスへとコンパイルするようになりました。このメカニズムはJITと呼ばれていて、デフォルトで有効になっています。では、JRubyのJITは、どのような実装になっているのでしょうか。 JRubyを起動すると、コマンドラインからファイルがパースされ、構文木がつくられます。それが、Mainの221行目からrunInterpreterメソッドです。 67 public class Main { ... 221 private void runInterpreter(Ruby runtime, Reader reader, String filename) { ... 227 Node parsedScript = getParsedScript(runtime, reader, filename); ... 232 } el
« J言語でFizzBuzz | メイン | JRubyのコンパイルについてちょっと調べてみた » JRubyは前途有望であるが、成熟しているわけではない/GrizzlyでJRuby on Rails編 こんなもんにコミットするのは一部の変態さんだけです。JRubyに投資するなら、YARVに投資した方がよっぽど賢明でしょう。 というわけで、そういった一部の変態さんに向けた、GrizzlyでJRuby on Railsのやり方のチュートリアルです。 まずは、Grizzlyをチェックアウトし、ローカルのmaven2リポジトリにインストールします。 % svn checkout https://www.dev.java.net/svn/grizzly/trunk/ grizzly % cd grizzly % mvn install 同様に、grizzly-jrubyもインストールをします。 %
ブルース・テイト『JavaからRuby――マネージャのための実践移行ガイド』が、今週末の4月21日に発売されます。翻訳レビューをした関係で、私は一足お先にご献本いただきました。角谷さん、ありがとうございます。 さて、この書籍についてなんですが、まず強調しておかなきゃってことが一つあります。それは、この本が『JavaからRubyへ』という刺激的なタイトルを持つ反面、とても「保守的な」本であるという点です。この本は、著者がRubyへの熱い思いを吐露する信仰告白の書ってわけでは、全然ないのです。サブタイトルに「マネージャのための実践移行ガイド」とついているように、開発に責任を持つ立場からJavaとRubyの双方をリスクとベネフィットをはかる目方にかけてみましょうという、実にプラグマティックな本なのです。 ですから、JavaとRubyの技術的な詳細の比較というのは取り上げられていません。Javaと
というわけで、pom.xmlに下記のように書いてあげるのが吉。 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.1.0</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>0.8</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>0.8</version> </dependency> 文字列の置
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く