pre{ white-space: pre; } .entry-content pre{ word-wrap: normal; }

ぶらコード

ぶらりオープンソースの旅

GitBook更新:その7:設定ファイルを解析する

GitBookにコンテンツを追加。

その7:設定ファイルを解析する · ぶらコード:maven

GitBookの更新は1週間ぶりとなってしまった。が、この間何もしてなかった訳ではなく、Plexus Classworldsは大体読んだし、mavenの中も先回りしてみてきたのだ。だが、ぶらコード的には、Plexus Classworldsの全体の話を入れるとちょっと脱線しすぎてしまうので、別コンテンツ化が良さそうかな。

mavenのエントリポイントから先を読み始めた

Plexus側のコンテンツ化もまだ出来ていない状態だが、一足先にmavenの内部に侵入してきた。
Plexusのソースを読んでおいた経験が活かせる場面もあったが、Plexus ClassWorldsのレベル感とは比べ物にならないくらい、広大な世界が広がっている様子。
ま、あれだけ複雑なアプリケーションなんだから当然といえば、当然なのだが。
頼みのテストコードもあっさりしすぎてて、ほとんど頼りにならず。
ここは地道に読み込んで行くしかないっすね。あと、動的にも動かしてステップ実行しながら、手探りで進める感じだな。

この土日は、仕事があったり、家庭のトラブルがあったりと、ドタバタしていた二日間だった。
仕事の移動中とかに多少ソースを読んだりもできたが、コンテンツ作成の時間は取れず。そしてまた週明けを迎えるという、なんとも頑張り所な状況。。。

Plexus Classworldsはだいたい読み終えた

Plexus Classworldsはだいたい読み終えた。のだが、肝心のコンテンツ化ができていない。
今日はテストコードを全部読んだ。それによって何がしたいのかとか、Plexus Classworldsが何者なのかが、おおよそ掴めてきた。
が、Plexus Classworldsを使ってるのって、mavenくらい?
mavenのキックには確かに利用してるのだが、Plexus Classworldsの機能の一部しか使っていない。

GitBookで作っているぶらコードはPlexusがメインではなく、あくまでもmavenがメインなので、Plexus Classworldsに関してはさらっと流して先に進んでおくか。

Plexus Classworldsに関してはこれはこれで面白かったし、仕様書とかJavaDocとかほとんどないから、いっその事書いておくか。
と言っても日本語で、だけどね。

ClassLoaderのお勉強

最近、PlexusのClassworldsをぶらついている訳だが、今日はClassworlds全体を俯瞰的に歩き回ってみた。
つまりは、このClassworldsの存在意義というか、こいつは何者で、こいつを使うことで何が嬉しいのかを掴みたかった。

しかし、それを掴むためには、JavaのClassLoaderについての理解が足りていなかった。大枠は理解しているつもりだったが、もっと本質的な部分や、ClassLoaderにまつわる問題点などを把握しないと、Classworldsがそれらの問題を、どの様に解決しようと試みているのかが見えてこない気がした。

なので、今日はソースも読んだけど、お勉強に時間を使った感じ。
まだ、掴みきれていないので、引き続きお勉強が必要。
ただ、これを乗り越えると、ClassLoader周りは結構詳しくなれそうな予感。

GitBook更新:その6:設定ファイルの解析のはじまりはじまり

GitBookにコンテンツを追加。

その6:設定ファイルの解析のはじまりはじまり · ぶらコード:maven

今日は結構読み込んだのだが、コンテンツ化出来たほんの一部になってしまった。
なんとなくPlexusのことが分かってきた今日この頃。

今日はJunitのテストコードも読んだり、実行してみたりしたので、より理解が深まった。
テストコードにはメソッドや、クラスなどの仕様が書かれている一面がある。
また、実装者がどうしたいのかとか、どういった処理がポイントなのかが、テストコードを見ることで分かってくる。

こんなところもコンテンツ化出来ると良いのだが、いかんせん、読んだり考えたりするスピードに比べると、コンテンツ化のスピードが遅いところが、今の課題というところだな。

なかなか時間が確保出来んねぇ

土日は、家族サービスとか、平日の疲れを癒すとか、今回は歯医者があったりとか、なんだかんだと時間が取れない。
仕事やって家帰ってきてからやり始めるとどうしても、こんな時間になってまうねぇ。

楽しいからいいんだけど。

今日、定時で上がろうと思ってたら、急に調査依頼が来てまったのだ。不慣れな部分だったから最初は余り乗り気ではなかったのだが、ちょっと調べだしたら気になってしまい、最後は答えが出せた。
早めに回答できて喜ばれたので、スッキリ上がれて良かった。結局仕事って、手を抜かずにやったほうが楽しいよね。
ただ単に労働時間を多くするという意味ではなくて。結果的にそうなってしまうことも多いのだが。。。

GitBook更新:その5:まずはclassworlds.confの読み込み

GitBookにコンテンツを追加。
その5:まずはclassworlds.confの読み込み · ぶらコード:maven

前回までに見つけた入り口に入ったら、最初にclassworlds.confという設定ファイルの読み込み処理をやってました。

今回ぶらつくに当たって、クラスローダー絡みの知識を改めて整理(コンテンツ化はできておらんが)。
あと、mavenデバッグ実行して、eclipseでステップ実行してみた。
静的にソースコードを読むだけでなく、動的に確かめてみた方が、より理解が深まるってなもんで。