活動
2020/02/17から2020/03/17まで
2020/03/16
- 高徹 00:03 調査 #107: JacORBを使ったCORBAサーバー・クライアントプログラムをNetBeansで作る
- h4. 複数NICのマシン上で使用するNICを特定してCORBA通信を行う方法
-ORBListenEndpointsを指定します。
h5. ネーミングサービスの起動
@D:\work> ns -ORBListenEndpoints iiop://192.168.1.108:3626@
ORBListenEndpointsでポート番号を固定したので、-DOAPort=3626 を省略してみたが接続可でした。
h5. ネーミングサービス管理画...
2020/03/15
- 高徹 23:20 調査 #107: JacORBを使ったCORBAサーバー・クライアントプログラムをNetBeansで作る
- h4. 気付き事項
NetBeansのプロジェクトペインで CounterIdlプロジェクトのソースパッケージの表示が変
!CounterIld_projectpain_generated-1.png!
ソースフォルダ名が[生成されたソース (com)]となっており、パッケージ名が[torutk.counter.idl]となっている。
IDLファイルから生成されるJavaソースファイルの出力先を、build/generated-sources で... - 高徹 22:49 調査 #107: JacORBを使ったCORBAサーバー・クライアントプログラムをNetBeansで作る
- 例外処理のコーディングメモ
* @ORB#resolve_initial_references(String name)@
→ org.omg.CORBA.ORBPackage.InvalidName 検査例外
* @POAOperations#activate_object(Servant servant)@
→ org.omg.PortableServer.POAPackage.ServantAlreadyActivate
→ org.omg.Port... - 高徹 22:29 調査 #107: JacORBを使ったCORBAサーバー・クライアントプログラムをNetBeansで作る
- h4. CORBA Counterクライアントのプロジェクトを作成し、プログラムを実装
* [ファイル]メニュー > [新規プロジェクト] > [Java] > [Javaアプリケーション]を選択し[次>]ボタン
プロジェクト名を[CounterClient]として作成
* srcの下に パッケージ com.torutk.counter.clientを作成し、中にMain.javaを作成
⇒ http://www.02.246.ne.jp/~torutk/j... - 高徹 21:54 調査 #107: JacORBを使ったCORBAサーバー・クライアントプログラムをNetBeansで作る
- h4. CORBA Counterサーバーのプロジェクトを作成し、実行プログラムを実装
* [ファイル]メニュー > [新規プロジェクト] > [Java] > [Javaクラス・ライブラリ]を選択し[次>]ボタン
プロジェクト名を[CounterServer]として作成
* srcの下に パッケージ com.torutk.counterを作成し、中にMain.javaとSimpleCounter.javaの2つを作成
⇒ http://www.02.24... - 高徹 18:42 調査 #107: JacORBを使ったCORBAサーバー・クライアントプログラムをNetBeansで作る
- h4. JacORBネーミングサービスの起動方法を調査
JacORB Programming Guide の「25.2節 NS」に記載あり。
コマンドラインで次のいずれかを実行するとある
# @ $ ns <ファイル名> [タイムアウト]@
# @ $ jaco jacorb.Naming.NameServer <ファイル名> [タイムアウト]@
ファイル名は、起動したネーミングサービスのIOR情報を書き込むファイル。
まず、1を試す。 - 高徹 05:54 調査 #107: JacORBを使ったCORBAサーバー・クライアントプログラムをNetBeansで作る
- JacORBにはIDLコンパイル用のAntタスクが添付されていた。(プログラミングガイドの25.1節 idl)
idldependではなく、JacORBのタスクを使用してみる。
* build.xml {{collapse
2020/03/14
- 高徹 23:35 調査 #107 (進行中): JacORBを使ったCORBAサーバー・クライアントプログラムをNetBeansで作る
- * JacORB 3.9 のバイナリをダウンロードし、@C:\Program Files\Java\@の下に展開(jacorb-3.9)
* NetBeans IDEの[ツール]メニュー > [ライブラリ]で、「Antライブラリ・マネージャ」画面を開き、[新規ライブラリ]で[JacORB 3.9]の名前を指定、クラスパスに次を追加
@C:\Program Files\Java\jacorb-3.9\lib\jacorb-3.9.jar@
@C:\Program F... - 高徹 21:31 調査 #107 (進行中): JacORBを使ったCORBAサーバー・クライアントプログラムをNetBeansで作る
- 調査目的:
* JacORBを使ったCORBAクライアント・サーバーのプログラムをNetBeansで作る方法を確立する
NetBeansのAntプロジェクトでIDLのコンパイルを含めて構築方法を確立する
調査結果:
完了条件:
* 構築手順をWikiページ[[Java corba counter]]に記述する。
調査環境:
|_. OS| Windows 10 1909 64bit |
|_. Java| Java SE Deve...
2020/03/12
- 高徹 20:16 機能 #106 (進行中): Javaライブラリ(log4j)をWindowsインストーラー(MSI)化する
- 使用するツールの選択
オープンソース(無償)で手軽に(Visual Studio等の大物ソフトを入れることなく)MSI形式のインストーラーを作成するとしたら、WiX toolsetが候補となる。
WiX toolsetは現在バージョン3.11.2が最新だが、バージョン3.11はインストール時に.NET Framework 3.5を必須とし、なければエラーでインストールができない。
Windows 10に.NET Framework 3.5を入れるのはそれなりに... - 高徹 18:45 機能 #106 (進行中): Javaライブラリ(log4j)をWindowsインストーラー(MSI)化する
- Javaのライブラリとしてlog4j 2.xを題材にWindowsインストーラー(MSI)を作成する。
完了条件:
log4j 2.xをWindowsインストーラー(MSI)でインストールできるようにする。インストールしたライブラリは、Java開発環境(NetBeans IDE)から利用し、かつ、アプリケーション実行時に利用できること。
その手順を明文化する。
使用するツール:
* WiX toolset 3.10
- 高徹 18:39 調査 #105 (解決): 主要ダウンロード先サイトへのホップ数調査
- 高徹 18:38 調査 #105 (進行中): 主要ダウンロード先サイトへのホップ数調査
2020/03/11
- 高徹 00:39 調査 #72 (フィードバック): NetBeansのFindBugs IntegrationプラグインをSpotbugsに入れ替えできるか調査する
- 2020-03-11現在、FindBugsはバージョン3.0.1のまま停滞している。一方、SpotBugsは2020-02にバージョン4.0.0がリリースされている。
SpotBugs 4.0.0が依存するライブラリを調べる。spotbugs-4.0.0.jarのMETA-INF/MANIFEST.MFの記載
2020/02/25
- 高徹 00:09 調査 #104: Javadocで生成するドキュメントにPlantUMLで記述したUML図を埋め込む方法を調査する
- h4. Windows上でUTF-8でソースコードを記述した際、PlantUMLの図で文字化け
Windows日本語版のデフォルト文字コードはWindows-31J(シフトJIS系)のため、ソースコードをUTF-8で記述していると、ASCII文字以外の文字がPlantUMLの生成した図で文字化けしてしまう。
そこで、明示的に文字コードを指定する。
2020/02/24
- 高徹 23:54 調査 #104: Javadocで生成するドキュメントにPlantUMLで記述したUML図を埋め込む方法を調査する
- h4. javadoc実行時にplantumlの記述が警告にならないようにしたい
Javadocのドキュメントコメント内にplantumlの記述をすると、
* @startumlや、@endumlが未定義タグとして警告
* 大なり・小なり記号(<、>)が警告(エラー)
などがあります。
-そこで、plantumlの記述をドキュメントコメントではなくjavadoc処理対象外のブロックコメントに記述します。-
以下はダメ - 高徹 23:28 調査 #104: Javadocで生成するドキュメントにPlantUMLで記述したUML図を埋め込む方法を調査する
- h4. PNGではなくSVGを生成
build.xmlで、plantumlタスクの属性 format に"svg"を指定します。 - 高徹 23:24 調査 #104: Javadocで生成するドキュメントにPlantUMLで記述したUML図を埋め込む方法を調査する
- h4. javadoc-umlビルド後、ブラウザに表示するところまで自動化したい
build.xmlでjavadoc-umlターゲットの最後に-javadoc-browseターゲットを呼び出すantcallを追加します。 - 高徹 23:21 調査 #104: Javadocで生成するドキュメントにPlantUMLで記述したUML図を埋め込む方法を調査する
- h4. 独自のAntターゲットを実行するのは面倒
* 左側ペインで[ファイル]タブを選択、build.xmlを展開し、javadoc-umlを右クリック > [ショートカットを作成]
ウィザードが表示されるので、メニューなりツールバーに追加する
以下はツールバーへの追加設定例
{{thumbnail(create_shortcut_toolbar-1.png, size=320)}}
{{thumbnail(create_shortcut_tool... - 高徹 23:14 調査 #104: Javadocで生成するドキュメントにPlantUMLで記述したUML図を埋め込む方法を調査する
- h4. imgタグにパッケージの深さに応じた相対パスではなくdoc-filesに生成するようにしたい
Javaソースコードコメントには次のように記述する。 - 高徹 22:16 調査 #104 (進行中): Javadocで生成するドキュメントにPlantUMLで記述したUML図を埋め込む方法を調査する
- javadocで生成したドキュメント例。シーケンス図が貼られている。
{{thumbnail(umlsequence-1.png, size=320)}}
- 高徹 22:10 調査 #104: Javadocで生成するドキュメントにPlantUMLで記述したUML図を埋め込む方法を調査する
- 次の環境で、PlantUMLのUML図(シーケンス図)をJavadocコメントに貼る方法を調査する。
|_. OS | Windows 10 Pro 1909 64bit 日本語版 |
|_. JDK | Oracle JDK 8u241 Windows 64bit版 |
|_. NetBeans IDE | 8.2 日本語版 |
NetBeans IDEを起動し、Javaアプリケーションプロジェクトを新規作成する。
その際、パッケージ名: com... - 高徹 19:30 調査 #104: Javadocで生成するドキュメントにPlantUMLで記述したUML図を埋め込む方法を調査する
- javaソースコードのコメントにPlantUMLのUML記述を記載し、Antでビルドする方法が次のドキュメントにあり。
https://plantuml.com/ja/ant-task
NetBeans IDEのAntプロジェクトで上述のAntタスクを使用してJavadocコメントにPlantUMLで生成したUML図を貼る方法が次のドキュメントにあり。
http://randomthoughtsonjavaprogramming.blogspot.com/20... - 高徹 13:18 調査 #104 (進行中): Javadocで生成するドキュメントにPlantUMLで記述したUML図を埋め込む方法を調査する
- 調査目的:JavaソースファイルのコメントにPlantUMLツール用の言語(テキスト)を記述し、それから生成したUML図(シーケンス図、クラス図など)をJavadocで生成するドキュメントに含めたい
調査結果:
* [#104-2] に JavadocでPlantUMLの図を生成しドキュメントに貼る手順を記載。
課題:
* imgタグにパッケージの深さに応じた相対パスを記載するのは億劫、doc-filesに生成するようにしたい
⇒ 解決[#10... - 高徹 13:35 調査 #105: 主要ダウンロード先サイトへのホップ数調査
- h5. 2020-02-24調査
|_. サイトURL |_. IPv6 |_. ホップ数 |
|ftp.tsukuba.wide.ad.jp | yes | 14 |
|ftp.yz.yamagata-u.ac.jp | yes | 10 |
|ftp.nara.wide.ad.jp | yes | 15 |
|ftp.riken.jp | no ... - 高徹 13:22 調査 #105 (解決): 主要ダウンロード先サイトへのホップ数調査
- 調査目的:大きなファイルをダウンロードする際、ネットワーク的な遠近を判断するためにトレースルートする
調査結果:
完了条件:
2020/02/22
- 高徹 23:58 調査 #101: WSL上のCentOS 7でリモートXで日本語入力をする
- ibus-kkc を入れてうまく動かなかった
https://torutk.hatenablog.jp/entry/2019/11/24/110818
ibus がWSLで動かない? 動く事例が散見される。何が不足しているのか?
dbus-x11 が必要との記述が散見される。ibus-kkcをyumでインストールした際はdbus-x11は依存関係で一緒にインストールされていた。
以下のブログによると、デスクトップ起動時にdbusが起動されるので、デス... - 高徹 20:33 調査 #101: WSL上のCentOS 7でリモートXで日本語入力をする
- CentOS 7では、日本語入力手段はibusが標準である。
WSL上では、ibusが動くとか動かないとか情報が一貫していない。
Ubuntuでは、日本語入力手段にfcitxを使う模様。
古くはuim、scim、scimなどがある。
- 高徹 20:27 調査 #101 (進行中): WSL上のCentOS 7でリモートXで日本語入力をする
- * 調査目的
WindowsのWSLでCentOS 7を動かし、その上でGUIを持つアプリケーションを実行する。Windows側にXサーバーを入れることで、Windowsデスクトップ上にWSLのCentOS 7で動くアプリケーションの画面が表示する。そのX画面上で日本語を入力する方法を調査する。
但し、GNOMEデスクトップ等の重い機能は使わず、Xウィンドウマネージャも使わないで実現したい。
* 調査結果:
uim-anthyについては、[[CentOS 7...
2020/02/19
- 高徹 22:58 調査 #100: Javadocで生成するドキュメントにUML図を埋め込む方法を調査する
- UMLGraph というツールがあるらしい。PlantUMLとは別のツールで、テキストで記述した情報からクラス図、シーケンス図を生成できる。Javadocと連携できるらしい。
https://www.spinellis.gr/umlgraph/
EPEL 7リポジトリにumlgraphと、umlgraph-javadocのパッケージがある。CentOS 7で取り込むのが容易かも。
2020/02/17
- 高徹 01:04 調査 #100: Javadocで生成するドキュメントにUML図を埋め込む方法を調査する
- ソースコードのコメントにPlantUMLの記述をして、javadoc生成時にUML図を生成し生成されたHTMLに貼ることができるツールを探してみた。
docletではなくtagletで実現しているツールを発見
https://github.com/mnlipp/jdrupes-taglets
要試行 - 高徹 00:55 調査 #100 (進行中): Javadocで生成するドキュメントにUML図を埋め込む方法を調査する
- PlantUMLのサイトに、javadocに埋め込む関連の記述を発見
https://plantuml.com/ja/doclet
UMLDocletを試してみた。
https://github.com/talsma-ict/umldoclet
まずは、JDK 9以降対応のumldoclet-2.0.7.jarをダウンロードし、graphviz 2.38へのPATHを通して実行。 - 高徹 00:38 調査 #100 (進行中): Javadocで生成するドキュメントにUML図を埋め込む方法を調査する
- 調査目的:Javadocで生成するドキュメントに、UML図(シーケンス図、クラス図など)を含めたい
調査結果:
完了条件:入手物、生成手順、サンプルをWikiに記載する。