Home > Tags > Java

Java

JavaでJavaScript

JavaScriptをJavaで実行するプログラムは簡単に作れるので、ちょっと用意してみた。Java6ではRhinoが同梱されていますが、その挙動を確認するのに便利です。直接書き込む方法と、a.jsというファイルを用意して読み込む方法と、両方用意してみました。

import javax.script.*;
import java.io.*;

public class Script {
 public static void main(String[] args) throws Exception {
  Script app = new Script();
  app.run1();
  app.run2();
 }
 public void run1() throws Exception {
  ScriptEngineManager m = new ScriptEngineManager();
  ScriptEngine engine = m.getEngineByName("JavaScript");
  try {
    engine.eval("print(‘Hello, world!’)");
  } catch (ScriptException e) {
    e.printStackTrace();
  }
 }
 public void run2() throws Exception {
  ScriptEngineManager m = new ScriptEngineManager();
  ScriptEngine engine = m.getEngineByName("ECMAScript");
  InputStream is =
      this.getClass().getResourceAsStream("a.js");
  try {
    Reader reader = new InputStreamReader(is);
    engine.eval(reader);
  } catch (ScriptException e) {
    e.printStackTrace();
  }
 }
}

ちなみに、a.js の内容は次のような感じの内容。

print("\nhello\n");
var itemTitle = "&abc&def&";
re1 = new RegExp("&", "g");
itemTitle = itemTitle.replace(re1, "&");
print(itemTitle);
  • Comments (Close): 0
  • Trackbacks (Close): 0

Java入門14

  • Posted by: hiro345
  • 2010/01/31 3:45:41
  • Java
  • Comments (Close): 0
  • Trackbacks (Close): 0

Java入門 12

  • Comments (Close): 0
  • Trackbacks (Close): 0

正規表現で文字列を抜き出す

Javaで正規表現を使って文字列を抜き出すには、次のようなプログラムを用意すればいい。正規表現についての詳しい説明は省略。便利と言えば便利。ただ、ネストした構造とか場合分けが多い構造の文章に対して適用するのは結構大変ので、そういった場合は独自にParserを実装した方がいい。Interpreterパターンとか使えばバグも少なく実装できるはず。ただ、言語定義ができない人には難しいので、コンパイラ技術とか勉強することになるはず。

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class App {
  private String regexp1 = "<div class=target>(.*)<div class=target2>(.*)</div></div>";
  private String regexp2 = "href=\"(.+?)\"";
  private String target1 = "<div class=target>abc<div class=target2>def</div></div>";
  private String target2 = "<a href=\"index.html\">トップへ</a><a href=\"index1.html\">トップ1へ</a>";

  public void sample() {
    Pattern pattern = Pattern.compile(regexp1);
    Matcher matcher = pattern.matcher(target1);
    while (matcher.find()) {
      System.out.println("一致: " + matcher.group(2));
    }
    // URL抜き出し
    pattern = Pattern.compile(regexp2);
    matcher = pattern.matcher(target2);
    while (matcher.find()) {
      System.out.println(matcher.group(1));
    }
  }

  public static void main(String[] args) {
    App app = new App();
    app.sample();
  }
}

実行結果は次の通り

一致: def
index.html
index1.html
  • Comments (Close): 0
  • Trackbacks (Close): 0

JRuby徹底入門のサンプルコードがダウンロードできない件について

hiro345 ストア – JRuby 徹底入門」について、いまさら気がついたのですが、記載されているサンプルコードのダウンロードが見当たりませんでした。どこかで公開されているのでしょうか。まぁ、これぐらいの分量なら、なくてもかまいませんが。

本書は、Rubyの入門書を読んでからの方が理解しやすいのではないかと思います。RailsをJavaのコンテナで動かすあたりの話も参考になりますし、JavaプログラムをRubyプログラムに書き換えるところの説明も良いのですが、Rubyに関する前提知識なしで読むのはちょっと大変かもしれません。

  • Comments (Close): 0
  • Trackbacks (Close): 0

Advanced/W-ZERO3 [es] + JavaFX

JavaFX Mobile 1.2 EA on Willcom Advanced/W-ZERO3[es]: It worked! : Cat Typingを参考にして、Advanced/W-ZERO3 [es] へJavaFXをインストールしてみました。たしかに動きは重いですが、動くことにちょっと感動してしまいました。

  • Comments (Close): 0
  • Trackbacks (Close): 0

Ruby入門

Rubyプログラムを勉強してみたいと思っているJavaプログラマは結構いるのではないかと思う。しかし、ターゲットが限定されるので、Javaプログラマ向けのRuby入門書というのは、なかなか書籍として実現されることは難しいのではないかと思い込んでいました。

しかし、チャレンジする人というのは世の中にはいるもので、「hiro345 ストア – JavaプログラマのためのRuby入門」という書籍が発売されていたので、おもわず購入してしまいました。

さっそく、ざっと読んでみているのですが、Javaとの対比が面白いので、単純にRubyの文法書を読むよりは、楽しく読めます。これは、なかなか、いい本です。JRubyの話もでていますから、Javaエンジニアにとっては嬉しいはずです。

マルチリンガルな人は、どこの世界でも重宝されますから、興味を持って、いろいろなプログラミング言語に接してみたいところです。

  • Comments (Close): 0
  • Trackbacks (Close): 0

JGraph X

UML図などを描くツールとして、JGraph Xというのがあるようです。

  • Comments (Close): 0
  • Trackbacks (Close): 0

DoJa

DoJaのエミュレータは結構さくさくと動作するようなので、AndroidのようにEeePCで作業するのは厳しい、ということにはならないようだ。Hello World ぐらいのプログラムではなんともいえませんが。また、Eclipse 3.4 でのDoJa実行構成については、よくわからなかった。ADFの設定をどこで指定すればいいのかよくわからないのです。とりあえず、コードはEclipse 3.4 + JDK6 でも問題なく書けるのですが、実行についてはエミュレータの方で行うことになるので、デバッグについては、どうすればいいか、が課題になりそうです。

  • Comments (Close): 0
  • Trackbacks (Close): 0

iアプリ

iアプリについても、ちょっと調べてみた。

  • Comments (Close): 0
  • Trackbacks (Close): 0

Mac OS X Java update

今日はMac OS X のJavaがセキュリティアップデートでした。なんか、頻繁にセキュリティアップデートが発生しているような気がします。

無線LANの調子が悪く、途中でエラー。最初、何がおきたかわからずに、ネット上でJavaアップデートに失敗した人が居ないか調べてしまいました。無線LANアクセスポイントを再起動したらなんとかアップデートが無事おわりました。

午後は雷がなっていて、瞬断もありましたが、UPSを導入してあったので無事に乗り切ることができました。でも、雷が鳴っているときは、PCは電源を落としておくようにしたいですね。より安全にいくなら、コンセントまで抜いておかないといけませんが。

明日はのんびりと過ごせるといいのですが、なかなかそうもいかなさそうです。

  • Comments (Close): 0
  • Trackbacks (Close): 0

Perf4J

Perf4J 0.9.10 – Homeがなかなか良さそうです。Log4jとの連携、アノテーション利用が可能、といったところで、パフォーマンス解析に威力を発揮しそうな感じがします。InfoQ: Perf4Jを使ったパフォーマンス解析とモニタリングに記事がありました。

  • Comments (Close): 0
  • Trackbacks (Close): 0

jrubystack

いまさらですが、BitNami :: JRubyStackというのがあるそうです。

Windowsマシンの整理をしていて、セキュリティアップデートをしているのですが、結構な時間がかかるので、久しぶりにJRubyについて調べていたところ、いろいろと世の中は進んでいることを知りました。

JRuby Users JPができていたり、SunがSun Developer Connection – JRubyとJavaによるアプリケーション開発をだしていたり。Windowsで最新のRailsをJRubyで動かす。 | AIRS Labsという記事も見つけました。要点がまとまっている感じです。

Fedora9 では、yum install jrubyでjrubyをインストールできるようですし、ちょっと驚きです。そう思ってインストールしてみたら、jruby 1.1.3が簡単にはいりました。ところがエラーがでるので、調べてみたところ、バグレポートではjruby 1.1.5 へバージョンアップするように、と書いてあって、yum版はとりあえずあきらめることにしました。ふつうにjrubyをダウンロードしてきた方が早そうです。

ところで、NetBeansもJRubyをサポートしているので、jrubystackと、どちらを選択するかは、ちょっと検討してみたいところ。

  • Comments (Close): 0
  • Trackbacks (Close): 0

Java4k

  • Comments (Close): 0
  • Trackbacks (Close): 0

Home > Tags > Java

検索
カレンダー
« 9月 2010 »
S M T W T F S
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
広告


最近のコメント
アーカイブ

Return to page top