‘Java’ タグのついている投稿

JavaでJavaScript

2010 年 3 月 8 日 月曜日

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);

Java入門14

2010 年 1 月 31 日 日曜日

ちょっと前ですが、Java入門14公開されました。

再利用性の高いクラス作成に重要な“アクセス制御” (1/3) @IT

こちらもどうぞ。
Subversionならできる! NetBook最強バックアップ術(1/5) @IT

Java入門 12

2009 年 11 月 13 日 金曜日

公開されました。

継承やオーバーライドで簡単にクラスを“拡張”しよう (1/4) – @IT

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

2009 年 11 月 6 日 金曜日

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

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

2009 年 9 月 16 日 水曜日

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

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

Advanced/W-ZERO3 [es] + JavaFX

2009 年 9 月 14 日 月曜日

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

Ruby入門

2009 年 8 月 26 日 水曜日

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

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

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

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

JGraph X

2009 年 7 月 24 日 金曜日

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

DoJa

2009 年 6 月 22 日 月曜日

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

iアプリ

2009 年 6 月 21 日 日曜日

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