インターン3日目

詳細画面のURLからドメインだけを抽出する機能を追加しました。

hackなどで調べてみた結果、ドメインだけを抽出するのにはいくつか方法があるが、正規表現を使うやり方とURIクラスを使う2通りの方法があることがわかりました。自分は後者の方法でやることに決めました。

そこでまずURIとは何なのかということを調べました。特によく耳にするURLとの違いは何なのかという箇所に注目しました。
URLとう言うのは普段私達が使うあの言葉のとおり、http://www.yahoo.co.jp/といった形をしたもので、インターネット上の住所を示すものです。
URIというのは、URLで識別できたページや画像だけでなく、さまざまなリソースをも識別できるものということです。
なのでURLはURIだと言えるが、逆は言えないということになります。

次に、URIクラスにあるメソッドを見てみると、getHost()やgetScheme()といったものが使用されていました。
ここでメソッドの中にある言葉のHostとSchemeも調べたところ、schemeはhttpの部分を、そしてhostはアクセスさきのサーバーの部分を示していることがわかりました。具体的にはwww.yahoo.co.jpの部分になると思います。これで先の2つのメソッドの意味が理解できました。

そして実際に、aipoのテストサイトにどのようにドメイン抽出機能をつけるか?ということですが、TestResultData.javaの最初の方にいかの文を追加します。これによりURIクラスが使えるようになるらしいです。


import java.net.URI;

そして同じファイル内に以下のメソッドを追加します。
これでURIからドメインを抽出する処理が出来ました。


public String getUrlDmain() throws Exception{ URI u = new URI(url.getValue()); return u.getScheme()+"://"+u.getHost(); }

あとはvmのファイルを編集して、aipoのテストサイト上に表示させればいいわけです。それは以下のようにします。
これにより、vmファイル内の$!result.Detail.UrlDmainが処理される時に、getUrlDmain()が呼び出されるようです。

#ALtdcaption($l10n.TODO_DOMAIN)
#ALtditem($!result.Detail.UrlDmain)


実践編の内容に入りました。

redmineという共同で作業する際に誰がどこを担当しているのか、などを明確にするサービスを利用するようです。 インターンのうちはインターン全員でチケットに取り組むようなので、「スケジュール>日をまたいだスケジュールの登録を選びました。」
過去に他の方々が問題点や改善すべき点をリストアップしていたようなので、それを実装すればいいのだと理解しました。
とりあえず最初の課題である以下のものに取り組み始めることにしました。
「・開始、終了それぞれの日付と時刻を編集できるようにする (現在は日付が固定されているため、日付の編集も可能にする)」

そしてスケジュール登録画面にて日付も変更するようにしたいのですが、まずはこの見た目のファイル(vmのファイル)がどれなのかを突き止める必要があると感じ、要素の検証を使って得られた結果は「ajax-schedule-form.vm」というファイルでした。
まずは見た目を変更し、それから裏側のjavaファイルの編集に入ろうと思いましたが、外側のvelocityのファイルを編集するので手こずりました。いままでは周りの表記に合わせる形で編集してきていたのですが、今回はややこしい構造だと思うのでvelocityの文法に関する知識が必要だと痛感しました。なので最後のほうはvelocityについて調べていました。実践編の内容についてはあまり進みませんでした。


<参考webサイト一覧>
URIクラスでできる3つの操作
URLとURIは何が違うの?どちらが正しい呼び方?
Velocity