GitBook更新:その7:設定ファイルを解析する
GitBookにコンテンツを追加。
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でステップ実行してみた。
静的にソースコードを読むだけでなく、動的に確かめてみた方が、より理解が深まるってなもんで。