トップ 最新 追記

Onion開発日記

2004|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|

ToDo:


2005-11-01

_ [ジョギング]10km,1時間01分

最近の朝は、本当に寒い。今朝なんか、走り終わった後、一時的に手がすごく動きにくくなってしまったほどだ。これからの季節は、手袋でもつけて走った方がいいかも。去年、一昨年の冬も、走るときに手袋はつけてなかったから、そのままでもなんとかなるとは思うけど。

_ [プログラミング][Java]JavaでY Combinator

ふと思い立って、JavaでY Combinatorを書いてみた。Y Combinatorについては、自分は説明できるほど詳しくないので、このページなどを 参照(以下のコードも、そのページを参考にして書いた)。さて、JavaでY Combinatorを作るためのコードは以下だが、なかなかにすさまじい。Lambdaが何回も出てくるのは、元のコードでも似たようなものだから仕方ないとして、publicやらcallやらfinalといった、余計な文字が大量に出てくるのがたまらない。

public class YCombinatorTest {
  private static int integer(Object arg) {
    return ((Integer)arg).intValue();
  }
  private static Object apply(Object proc, Object arg) {
    return ((Lambda)proc).call(arg);
  }
  public static void main(String[] args) {
    Lambda y = new Lambda(){public Object call(final Object f) {
      return apply(
        new Lambda(){public Object call(final Object proc) {
          return apply(f, new Lambda(){public Object call(Object arg) {
            return apply(apply(proc, proc), arg);
          }});
        }},
        new Lambda(){public Object call(final Object proc) {            
          return apply(f, new Lambda(){public Object call(Object arg) {
            return apply(apply(proc, proc), arg);
          }});
        }}
      );        
    }};
    Lambda fact = new Lambda(){public Object call(final Object f) {
      return new Lambda(){public Object call(final Object n) {
        if(integer(n) == 0){
          return new Integer(1);
        }else{
          return integer(n) * integer(apply(f, new Integer(integer(n) - 1)));
        }
      }};
    }};
    
    //fact(6) == 720が表示される
    System.out.printf(
      "fact(6) == %d%n", integer(apply(apply(y, fact), new Integer(6))));    
  }
}
interface Lambda {
  Object call(Object arg);
}
本日のツッコミ(全1件) [ツッコミを入れる]

_ TELL [うわー ]

本日のリンク元 | 17 | 5 | 4 | 3 | 3 | 2 | 2 | 2 | 2 | 1 | TrackBack(0)

2005-11-02

_ [ジョギング]10km,1時間00分

昨日、あまりよく眠れなかったせいか、ちょっと調子が悪い。ラスト数百メートルでダッシュしたので、タイムはほぼいつも通りだが、結構きつかった。

_ [その他][買い物]メモリ増設

Eclipseが結構メモリを消費するようなので、快適に開発を進めるために、メモリを増設することにした。自転車で行くのはちょっと面倒だったので、友人に頼んで車を出してもらって、パソコン工房で買ってきた。これで、Eclipseがもっと快適に使えるようになるだろうか。

追記:その日のうちに、メモリの増設を行った。とりあえず相性問題などは無く、無事に動作している。1週間の相性保証をメモリと同時に購入したが、使わなくて済みそうだ。

本日のツッコミ(全3件) [ツッコミを入れる]

_ nt [がんばってるな! ダイエットのため?それとも大会のため? スポーツの秋ってかんじやね. ]

_ みずしま [> ダイエットのため?それとも大会のため? 両方かな。とりあえず、つくばマラソンで、足を痛めずに 完走するのが第..]

_ みずしま [ちなみに去年は、つくばマラソンの後、半月以上足の痛みが取れなかった。まあ、去年は全然トレーニングしてなかったから無理..]

本日のリンク元 | 16 | 5 | 3 | 3 | 2 | 2 | 2 | 2 | 2 | 2 | TrackBack(0)

2005-11-03

_ [ジョギング]10km,1時間00分

今日は、起きた後2度寝してしまったため、午前9時過ぎになってから走るはめに。さすがにこの時間になるとわりと暖かいので手が凍えることは無かったが、かわりに結構な量の汗を掻いた。まあ、どうせすぐに風呂に入るので、汗をいくら掻こうが構わないのだが。

_ [Eclipse]メモリ増設の効果

メモリ増設の効果?を早速実感することができた。正直、Eclipse上で普通にJavaプログラムを書いているときは、ほとんど変わらないのだが、プラグインのデバッグのため、ランタイムワークベンチを立ち上げているときは、目に見えて快適になった。考えてみると、ランタイムワークベンチはEclipseをもう1つ立ち上げているようなものなので、メモリを大量に食うのだろう。とにかく、メモリを増設した効果が早速実感できて良かった。

本日のリンク元 | 12 | 5 | 4 | 3 | 2 | 2 | 2 | 2 | 2 | 2 | TrackBack(0)

2005-11-04

_ [ジョギング]10km,1時間00分

今日は可も無く不可もなく。ここのところ、日を空けずに走っているためか、だいぶ楽に走れるようになってきた気がする。

本日のリンク元 | 12 | 5 | 4 | 3 | 2 | 2 | 2 | 1 | 1 | 1 | TrackBack(0)

2005-11-05

_ [ジョギング]10km,1時間03分

今日は調子が悪かった。特別疲労感が残っているとかそういうのではないのだが、何故か思ったように力が出ない。例えるなら、気の抜けたビールのような感じか。とりあえず、走った後も特に疲れは残っていないようなので、体調の問題では無いようだが、何故だろう。昨日は、いつもより栄養を十分に取っていなかったから、そのせいだろうか。

_ [Storm]JavaASTBuilderの実装開始

今日は、JavaASTBuilderの実装を開始した。JavaASTBuilderは、Groovy Markupの一種で、Javaの抽象構文木を手軽に構築するためのライブラリ だ。まだ実装は完成していないが、例えば次のようにしてJavaの抽象構文木を構築できるようになる予定だ。

def builder = new JavaASTBuilder();
builder.unit {
  type(name:"A"){
    method("main",
      modifiers:["public","static"],args:["args":"String[]]){
    }
  }
}
//上のコードを実行することによって、以下のコード(11/6追記:を表す抽象構文木)が生成される
/*
 * class A {
 *   public static void main(String[] args){
 *   }
 * }
 */

_ [Java]Java Oneに参加したい!

…んだけど、どの日も授業が入っているという悲しい状態。去年までなら、授業さぼってでも参加したんだけど、今年はなんといっても卒業がかかっているわけで、そういうわけにもいかないのだ。こういうことがある度に、去年までにもっと単位を取っておけば良かったと痛切に後悔するのであった。

プログラムを見てると、面白そうなのが結構あるなあ。あー、ほんとに悔しい。

本日のツッコミ(全2件) [ツッコミを入れる]

_ keisuken [5時以降でも面白いセッションがたくさんありますよ. 私もLG3D BoFでスピーカするのですが,夕方のBoFの中にも..]

_ みずしま [確かに、夕方以降だけ行くのもいいかもしれません。ちょっと考えて見ます(といっても、もうあまり時間も無いですね)。 ]

本日のリンク元 | 11 | 9 | 5 | 4 | 3 | 2 | 2 | 2 | 2 | 2 | TrackBack(0)

2005-11-06

_ [ジョギング]10km,59分

今日は調子が回復したようで、いつも通りのペースで走ることができた。とりあえず、昨日の不調がそのまま続かなくてよかった。

_ [その他]JavaOne参加

結局、最終日のみ参加することにしました。最終日だと、15:00まで授業があるので到着するのは17:00頃ということで、あまり長い時間居られませんが、楽しんでこようと思います。keisukenさん、教えてくださってどうもありがとうございました。

本日のリンク元 | 23 | 6 | 5 | 5 | 4 | 2 | 2 | 2 | 2 | 2 | TrackBack(0)

2005-11-08

_ [ジョギング]10km,55分

いつもと比べてありえない程調子が良く、普段なら途中で何度か息切れする場面があったのに、ほとんど息切れしないで走りきることができた。その上、タイムもいつもよりかなり縮めることができた。おかげで今日は、いつもより走るのが楽しかった。

本日のリンク元 | 6 | 5 | 3 | 2 | 2 | 2 | 1 | 1 | 1 | 1 | TrackBack(0)

2005-11-09

_ [ジョギング]10km,56分

_ [その他]ビタミン剤

今朝走ったときに足の指にちょっとしたけがをしたので、薬局に消毒薬を買いに行ったところ、試供品としてビタミン剤が付いてきた。捨てるのもなんなので、とりあえず1つだけ服用してみることに。しかし、そのまま飲むのではなくて、ついお菓子のような感覚でかんでしまったところ、口の中にすごい苦い味が広がった。あわてて説明書きを読んでみると、「かまずに服用してください」の文字が。しかも、かんだときに歯の間に挟まったらしく、しばらく口の中から苦さが取れなかった。うー。災難だった。

_ [プログラミング][言語]Nikes - A Java Compiler with Name Inference

k.inabaさんが開発した、Java言語を拡張して名前推論を扱えるようにしたコンパイラ。Jikesを改造して実現されているらしい。名前推論については、リンク先を参照のこと。

名前推論については、以前k.inabaさんの日記にそのネタが書かれた後に、この日記で言及したことがあったが、そのときはアイデアレベルの話だと思っていたので、こうして実装したものが出てくるとは思っていなかった。実装されている機能は、大体、次の2つのようだ。

変数名推論
型名から、そのコンテキストで使用可能なローカル変数を推論する機能。例えば、以下のようなプログラムを書くと、printlnの引数のStringはmsgを指すことになる。Stringのスコープで参照可能なローカル変数が2つ以上あると、あいまいであるというエラーになるらしい。

k.inabaさんのページから引用:

public class Sample { public static void main( String[] args ) { String msg = "Hello, world."; System.out.println( String ); } }
メソッド名推論
メソッド名の断片から、呼び出すメソッドを決定する機能。例えば、Window型の変数wndがあったとき、下のようなプログラムを書くと、wnd.addMouseListener( new MouseListener(){ ... })と書いたことになる。

k.inabaさんのページから引用:

wnd.add( new MouseListener(){ ... } )

あと、おまけとして、D言語やC#3.0のような、変数の宣言時に初期化子から型を決定する構文も導入されているようだ。これは、C#3.0と同じように書くようだ。この機能は、Onionにもあるが、C#3.0もD言語も、Onionと違って明示的な宣言構文(varなど)が必要な点が違う。

k.inabaさんのページから引用

var msg = "Hello, World.";  //String型
var  pi = 3.141592;     // double型
var   n = 100;          // int型
var wnd = new JFrame(); // JFrame型
var   x = new int[] { 1, 2, 3 }; // int[] 型

追記:Nikesをダウンロードして使ってみた。 使ってみた感想は、とにかく「面白い」。例えば以下のソースが動くのは、なかなか新鮮。以下のソースのように濫用すると凄まじくソースが読みづらくなる可能性があるので、諸刃の剣ではあるが。

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class UsingNikes extends JFrame {
  public UsingNikes() throws HeadlessException {
    //setDefaultCloseOperation(EXIT_ON_CLOSE)
    closeOperation(EXIT_ON_CLOSE);
    //getContentPane().setLayout(new FlowLayout())
    contentPane().layout(new FlowLayout());
    JButton button = new JButton("Button1");
    //button.addActionListener(...)
    JButton.add(new ActionListener(){
      public void actionPerformed(ActionEvent e){
        System.out.println("Button1 Clicked");
      }
    });
    //add(button)
    add(JButton);
    //左辺値もOK.  button = new JButton("Button2");
    JButton = new JButton("Button2");
    //button.addActionListener(...)
    JButton.add(new ActionListener(){
      public void actionPerformed(ActionEvent e){
        System.out.println("Button2 Clicked");
      }
    });
    //add(button)
    add(JButton);
    pack();
  }
  public static void main(String[] args) throws HeadlessException {
    //SwingUtitlies.invokeLater(...)
    SwingUtilities.later(new Runnable(){
      public void run(){
        //setVisible(true)
        new UsingNikes().visible(true);
      }
    });
  }
}

あと、推論方法に問題があって、一部のメソッドが呼び出せない。例えば、以下のようなソースは、showMessageDialog(Component,Object)とshowInternalMessageDialog(Component,Object)のどちらにも適合するので、あいまいであるというエラーが出てしまう。

JOptionPane.showMessageDialog(component, "ほげほげ");
本日のリンク元 | 31 | 9 | 5 | 4 | 3 | 3 | 2 | 2 | 2 | 2 | TrackBack(0)

2005-11-10

_ [プログラミング][言語]続・名前推論

今朝、起きてから少し考えたのだが、名前推論はIDEの補完機能として実装した方が使いやすいのではなかろうか。というのは、従来の補完機能では、呼び出したいメソッドを絞り込むためにある程度余計な名前をタイプする必要があったが、名前推論を使用することで、その必要性をかなり減らせるのではと思うからだ。

例えば、昨日の例で、addMouseListenerをaddとして呼び出すというのがあったが、これをIDEの補完機能として実現することを考える。ここで、IDEの補完機能というのが重要だ。なぜならば、補完機能なら、複数の候補が出現しても一向に問題無いからだ。とすると、メソッド名をタイプする必要は無いので、単に次のようにタイプすればいいことになる。

wnd(new MouseListener(){ ... })

この状態で補完キーを押すと、addMouseListenerとremoveMouseListenerの2つのメソッドが候補として現れることになるので、そこから本当に呼び出したいメソッドを選択すれば良い。このようにすれば、呼び出したいメソッドを選択するために、余計なキーをほとんどタイプせずに済む。

_ [ジョギング]10km,1時間00分

1周目は比較的好調だったが、2周目から右足首が痛くなってきたため、ペースを抑えて走るはめに。なんとか走り切ることはできたが、明日は走るのをやめて、足を休めた方が良さそうだ。

_ [プログラミング][言語]名前推論 -> 名前補完

k.inabaさんは、名前推論という名前について自らは、

いまいちなネーミングだとは思う……あんまり推論してないし……

とおっしゃられているが、それなら、名前補完というのはどうだろう。 これなら、より実態に近いのでは無いかと思う。ただ、問題は、名前補完というのはIDEの補完などで一般的に使われる言葉なので、それと間違えられそうなところか。

本日のツッコミ(全4件) [ツッコミを入れる]

_ 斎藤ただし [使いやすさの点では同感。>続・名前推論 でも「ここから先はIDE(エディタ)の仕事です」って言い切ることは少し難しい..]

_ みずしま [言っておられる事自体は割とうなずけるのですが、今、問題にしているのは、ある機能を言語の組み込み機能として実装するのと..]

_ 斎藤ただし [確かに、その通りです…なんで話の方向を曲げてしまうかな。反省>自分。 (ところで俺を俺と認識してもらっていない予感が..]

_ みずしま [それは大丈夫。ちゃんと認識してるよ。ただ、なんとなく敬語を使ってみただけ。 > 俺を俺と認識してもらっていない予感が..]

本日のリンク元 | 20 | 18 | 9 | 9 | 5 | 5 | 4 | 4 | 3 | 2 | TrackBack(0)

2005-11-11

_ [Storm]SourceForge.jpへの登録

Stormについての情報を公開するためと、リモートのCVSリポジトリを使用するために、SourceForge.jpへStormプロジェクトの登録申請を行った。

追記:無事、申請は通ったようだ。今までは、ノートPCで開発するときは、デスクトップとノートPCの間でプロジェクトのデータをコピーするのが面倒だったが、これで楽になるな。

本日のリンク元 | 15 | 8 | 6 | 6 | 3 | 3 | 2 | 2 | 2 | 1 | TrackBack(0)

2005-11-12

_ [言語]short markup language

こんな毎日・・・ Script_on_Java経由で。XMLの代替記法で、次のように書けるらしい。これは、自分が求めていたXMLの代替構文のシンタックスにかなり近いかも。テキストを""で囲まなければならないため、ドキュメントを書くために使うのはつらそうだが、それ以外の用途ではなかなか便利かもしれない。

XML                    SML
<foo bar="baz">        foo bar="baz"{
  <foobar/>              foobar;
  <text>data</text>      text{"data"}
</foo>                 }
本日のリンク元 | 24 | 9 | 9 | 9 | 4 | 4 | 2 | 2 | 2 | 1 | TrackBack(0)

2005-11-14

_ [Eclipse]Eclipse Profilerプラグイン改造の顛末

以前、Eclipse ProfilerプラグインをEclipse 3.1に対応させるためにソースを修正したという事を書いたが、実はそんな事は必要無かったという事が判明した。積み木小屋に書いてあるところによると、

"Latest File Releases"しかチェックしてなかったけど,実はその下に"Patches"ってのがあって,そこでEclipse3.1用のJARファイルが公開されてた.

らしい。Eclipse Profiler Pluginのページを見てみると、確かにPatchesがあって、その中にEclipse 3.1用のJARファイルが公開されていた。しょんぼり。

本日のリンク元 | 47 | 12 | 12 | 8 | 8 | 6 | 3 | 3 | 3 | 2 | TrackBack(0)

2005-11-15

_ [プログラム][Eclipse][Storm]Eclipseに対する不満(あるいはStormを開発している理由)

未踏ユースのページには一応書いてあるものの、これまでStormを開発することになった動機について日記では書いていなかったと思うので、ちょっと書いてみることにする。以下、その説明。

Eclipseは非常に便利なIDEだ。構文の色付け機能やメソッド一覧などの補完機能はもちろんのこと、クラス/メソッド/フィールドなどの名前変更やメソッドの抽出など(リファクタリング)を行う機能や、オーバーライドするメソッドのスタブの自動生成、CVSとの連携なども標準的な機能として備えている。これらの機能を活用することで、通常のエディタでコードを書くのに比べてコードをかなり速く書くことができる。

しかし、一方で、Eclipse上では行うことが困難な作業がある。例えば、Javaプログラムを書いていて、複数のクラス名について、プレフィクスを付加するという作業を行いたいとする。Eclipseでこのような作業を行うには、メニューの選択と実行を何度も繰り返さなければならない。

それが嫌なら、Eclipseのプラグインとしてそのような機能を実装するという事は考えられる。JDTのAPIでは、Javaのクラス名などを変更するための機能を提供しているため、それを利用することができる。しかし、プラグインは、基本的に再利用するためのプログラムを作ることを前提としているのか、作成するための手間が通常のプログラムに比べて大きい。そのため、使い捨てのプログラムのように、作成する手間が少ないことが重要なプログラムを作るのには向いていない。

別の手段としては、Rubyなどのスクリプト言語を用いて、Eclipseの外でそのような作業を行うことも考えられる。しかし、それらの言語はJavaの構文を知らないので、単純なテキスト置換を行うプログラムにならざるを得ないが、その場合、誤って変更すべきではないテキストまで変更してしまう可能性がある。例えば、名前を変更するクラスとパッケージ名は違うが単純名が同じクラスがあった場合、間違ってそれを変更してしまう可能性がある。それでも手でいちいち変更するよりは楽ではあるが、予期しない変更をしてしまわないか気にしなければいけないのは、精神衛生上良くない。

このように、いずれの手段を用いても、高々クラス名の変更を一括して行う程度の作業が簡単に行えないのが現状だ。しかし、ちょっと考えてみると、Eclipseは、プラグインを開発するための豊富なAPIを提供しているのだから、これをプラグインを作ることなく、Eclipse上から直接利用することができれば、問題は解決するのではないだろうか?これこそがStormでやろうとしていることだ。

本日のリンク元 | 5 | 5 | 3 | 3 | 2 | 2 | 2 | 1 | 1 | 1 | TrackBack(0)

2005-11-16

_ [角ふじ]つけ麺,800g

約5ヶ月ぶりに角ふじに行った。といっても、大学の近くの天神角ふじは6月で閉店してしまったので、行ったのはサイエンス大通り沿いにある明神角ふじだ。頼んだのは、当然(?)、つけ麺の800g。さすがに長い間食べていなかったため、ちょっときつかったが、なんとか完食することができた。

_ [プログラミング]Binary 2.0カンファレンス

今日の昼間に申し込みをしようとして、既に締め切られていてがっかりしたのだが、今さっきページを見てみると、なんと

一度、80人で締め切りましたが、会場にもう少し余裕があるようなので、20人分の追加募集を始めました (2005-11-16T23:55)。

とのこと。早速、参加申し込みを行った。当日が楽しみだ。

本日のリンク元 | 14 | 7 | 6 | 4 | 4 | 4 | 3 | 3 | 3 | 3 | TrackBack(0)

2005-11-17

_ [授業]計算モデル論

試験週間より1週間早いが、期末テストがあった。ノート・プリント持ち込み可であったこともあるが、ほとんど全ての問題が解けて、ほっとした。この科目はたぶん単位が取れるだろう。

本日のリンク元 | 5 | 1 | TrackBack(0)

2005-11-18

_ [Java]Launch4j

MOONGIFTにあるソフト紹介記事経由で。 Javaで作られたアプリケーションを、Windows NativeのExeファイルでラッピングするソフト。起動時のスプラッシュスクリーンや、アイコンなども設定できるようだ。自分で作ったJavaアプリケーションを配布したいときには便利かも。

_ [ジョギング]10km,59分

体調は良好、呼吸も余裕があったのだが、足がそれについていかない。やはり、1週間も間が空いたせいだろうか。

本日のリンク元 | 17 | 7 | 5 | 3 | 2 | 2 | 2 | 1 | 1 | 1 | TrackBack(0)

2005-11-19

_ [ジョギング]10km,56分

本日のリンク元 | 11 | 3 | 3 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | TrackBack(0)

2005-11-20

_ [ジョギング]0.1kmで中断

走り始めて少しの所で、右膝の辺りが痛み出した。無理をして走れなくなってしまうのは避けたいので、仕方なく引き返した。明日には治っていると良いのだが。

_ [Java]Project Looking GlassがJava Web Start経由で体験可能に

MYCOM PC WEBより。実際に試してみるには、このページにあるJava Web Start版へのリンクをクリックすれば良いようだ。

本日のリンク元 | 17 | 5 | 4 | 4 | 3 | 3 | 2 | 2 | 2 | 2 | TrackBack(0)

2005-11-21

_ [ジョギング]5km,37分

昨日に比べて足の調子もマシになった…と思って、走ったのが間違いだった。半分くらい走ったくらいから、昨日と同様、右膝がかなり痛み始めた。ある程度走った後で引き返すのもシャクだったので、ちょっと無理してなんとか1周は走った。

本日のリンク元 | 49 | 30 | 25 | 24 | 22 | 16 | 12 | 11 | 10 | 8 | TrackBack(0)

2005-11-24

_ [その他]右膝の痛み

右膝の痛みがまだ完全には治っていない。週末にはつくばマラソンがあるのに、困ったものだ。

_ [Groovy][言語]Groovy JSR 04

こんな毎日・・・ Script_on_Java経由で。Groovyを使ったソフトを作っている身としては、どの程度不具合が修正されているのか気になる。

本日のリンク元 | 19 | 6 | 5 | 5 | 4 | 4 | 4 | 3 | 2 | 2 | TrackBack(0)

2005-11-26

_ [その他]つくばマラソン前日

いよいよ明日はつくばマラソンだ。心配していた右膝の調子も今日になって大分良くなったので、とりあえず走ることはできそうだ。いつまた痛み出すかわからないので、無理をするのは禁物だが、できたら完走したいなあ。

本日のツッコミ(全2件) [ツッコミを入れる]

_ しゅ [うぉ、出るんだ。 僕はその時間帯は車で外出しないように気をつけます。 身動きとれなくなるからなー ]

_ みずしま [走る方は車道を走れて気持ちいいのですけど、車を使う方としては、不便でしょうね。大学の友人もちょっと愚痴ってました。 ..]

本日のリンク元 | 9 | 6 | 5 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | TrackBack(0)

2005-11-27

_ [ジョギング]つくばマラソン

さて、今日はつくばマラソンだったのだが、結果だけ言うと、完走できなかった。

走り始めた時点で右膝が痛み出しており、しょっぱなから既にまずい状態だったのだが、それでも10km過ぎくらいまではなんとかなった。しかし、それ以降は膝の痛みのため、とても走れる状態ではなくなったので、なんとか歩いて行けるところまでは行くことに。

20kmを過ぎた辺りで、膝の痛みとは関係無しに、足のあちこちが疲労してきて、歩き続けるのもかなりつらくなってきたため、結局、23.5kmを過ぎた辺りで、リタイアした人を乗せる収容車に乗って、スタート地点まで帰って来た。

今年は、規定時間内に完走するつもりでいただけに、悔しい。しかし、考えてみれば、たかだか1ヶ月ちょっとくらいのトレーニングでフルマラソンに挑んだのが無謀だったのかもしれない。来年は、もっと長期的な計画を立てて、トレーニングをすることにしよう。

本日のツッコミ(全7件) [ツッコミを入れる]

Before...

_ おの [おつかれです。 俺は中間地点でリタイアですよ。 見かけなかったということは、俺は常に後ろにいたのかな? ]

_ みずしま [> おつかれさまです。 > 私は最近、100m走っただけでも息切れが...。 よろしければ、ささださんもどうです?..]

_ 斎藤ただし [お疲れさまでした。完走できなかったとはいえ、ハーフまで行ったとはすごい。俺も来年は参加したいなぁ。 あとはとにかく、..]

_ mayaqua [乙です〜、ご無事が何よりです。 膝の調子が芳しくないようでしたら、病院に連行する方向で検討しておきます。 ]

_ みずしま [> お疲れさまでした。完走できなかったとはいえ、ハーフまで行ったとはすごい。俺も来年は参加したいなぁ。 あとはとにか..]

本日のリンク元 | 14 | 10 | 7 | 3 | 2 | 2 | 2 | 2 | 1 | 1 | TrackBack(0)

2005-11-29

_ [Java][プログラミング]Java for C++

Javaクラスからそれを操作する(JNIを使った)C++のソースコードを生成するというソフトウェアらしい。そこまでするなら、初めからJavaでプログラムを書いて、一部だけJNIを使うようにすればいいような気がするが、どうなんだろうか。

_ [書籍]アスペクト指向入門

千葉滋先生による、アスペクト指向の入門書(?)。アスペクト指向については、基本的なことは大体理解しているつもりだが、1度自分の持っている知識を整理しておきたいので購入した。

内容はと言えば、アスペクト指向入門といいつつ、全然入門書では無かった(と思う)。どのくらい入門ではないかというと、Bertrand Meyerのオブジェクト指向入門がオブジェクト指向入門では無いくらい。いや、本当のところは、確かに入門でもあるのだが、それにとどまらず、MOPやリフレクションとアスペクト指向技術の比較、Hyper/JなどのAspectJとは異なる系列のアスペクト指向言語の紹介など、様々な内容について取り扱われており、読んでいて飽きない。

また、専門の研究者らしく、Aspect指向に対するうんちくを語ったり、AspectJの仕様の複雑さについて批判しているのも面白い。アスペクト指向に興味のある人は、買ってみて損はしないと思う。

本日のリンク元 | 17 | 8 | 4 | 4 | 2 | 2 | 1 | 1 | 1 | 1 | TrackBack(0)

Mizushima Kota/e-mail: i021216{at}coins.tsukuba.ac.jp/SKype ID: mizu_standard