Headline About TechLog Download Java VBA Link

February 3, 2008.

無知とは罪なり


先日から英辞郎の開発元であるEDPさんと連絡を取っておりました。その過程で、自分の認識に不足がある事が分かり、大恐縮。1/16の日記で「データを閲覧するだけのアプリはプレイヤのようなものだから、著作権侵犯に当らない」、と書きましたが、それだけでは認識不足でした。wav、mp3などはいわゆる共通化団体によって策定されたデータフォーマットであるため、対応を謳うアプリの開発に問題はありません。しかし、「英辞郎形式データを読み取れる」と謳った場合、そもそも商標である「英辞郎」という名前を出す時点で商標利用権が発生するようです。実際のところ「EXCEL形式でデータが吐き出せる」などと謳ったアプリが、商標利用権に関する契約を締結しているのかどうかは不明ですが、「英辞郎のデータを読む」という機能が主目的である当アプリにおいて、商標利用権が発生するというのは間違いが無いでしょう。

しかしながら、それに関してEDPさんからは特にお咎めの言葉すらなく、利益の発生しない利用であれば、商標を利用し、アプリを開発・公開してかまわない、との許可を頂戴しました。おかげさまでフリーウェアの公開は実現することとなります。EDPさんに感謝。また、ここに具体的内容は書きませんが、非常にありがたいご提案も頂きました。過分なご対応に感謝するばかりです。英辞郎形式のデータを扱うアプリを開発しようという方は、是非事前にEDPさんにご連絡下さい。

 

とまぁそんなわけで、無事開発は継続です。現在のアプリは、すでに公開しても怒られない程度の状態です。実際にテストを兼ねてα版を日常利用しています。早く公開したい衝動に駆られていますが、完成度の高いものにしたいので、必死で我慢しております。ちょっと高速化しないと構想にある全機能が網羅できないですね。作っているとどんどん構想が膨らんでしまいますし(笑)。月末公開を予定するなら、20日ぐらいまでには全てを完了しておかないと...。変換ツールが...。取り合えず1.0版は英和のみに対応します。和英は2.0で搭載の予定ですが、統合することで動作が重くなるようなら別アプリにするつもりです。

 

土日はバドミントンに明け暮れておりました。日曜の練習後の晩御飯では今後の練習方針なども相談。ちゃんと強いサークルにしたいですね。しかし、土日とも疲れてしまってデスクワークの時間がほぼゼロに...。ちゃんと早寝早起きして時間を作らないと。土日も平日と同じ時間に起きて早く寝るようにした方が良いのかも。現在自分の部屋を整理整頓中。掃除して椅子と液晶を新調して、作業効率を上げましょう。

 

 

【static節】

Javaにおいてstaticな関数を定義したツールクラスを利用する機会は多い。例えば今の辞書アプリだと、java.midpに存在しないString#splitをTool.splitとして定義している。Stringクラスを継承するより楽だからだ。この場合、引数と戻り値で完結するため特に考える事は無い。

次にImageオブジェクトを返す、画像管理ツールクラスを考える。getImage(int id)でidに対応する画像を返すわけだが、返すImageオブジェクトはいつどのように初期化するのが良いだろう?これがgetText()などであれば、変数宣言部でprivate static String textA = "textA";のように書いておけば初期化できる。しかし、イメージの場合、private static Image imageA = Image.createImage("/imageA.jpg");と書くわけにはいかない。例外が発生するのでtry catchが必要だからだ。しかし、getImage(id)の中で毎回createImageを実行する実装だと、呼び出しのたびにファイルを読む羽目になる。それを防ぐためには、imageAがnullなら読み込み、そうで無いならimageAをそのまま返して...と非常に面倒なプログラムになってしまう。こういう場合にはstatic節を用いる。

class Tool {

  private static Image imageA;

  static {

    try {

      imageA = Image.createImage("/imageA.jpg");

    } catch (Exception e) {

      // 例外処理

    }

  }

}

このように書いておくと、最初にstatic変数にアクセスする際に、まとめてstatic節に記述した初期化処理が行なわれ、以降は2度と行なわれない。本などで学習したプログラマは当然知っていることであるが、サンプルプログラムを見てコーディングしているサンデープログラマや、実務でいきなりServletやJSPから触り始めた職業プログラマはstatic節の存在自体、意外と知らない。便利なので覚えておこう。


名前: 意見: パス:

※パスにはこの日記のタイトルをコピペして下さい。


February, 2008
SUN MON TUS WED TUR FRI SAT
12
3456789
10111213141516
17181920212223
242526272829