≒ 未解決)aタグのonclick動作不良の件

動物園ログ置き場(改)

検索結果が「no record」だとdivMainのaタグの動作が不良(onclickが死んで、hrefしか活きてない状態=大きい画像の差し替え動作が死ぬ)。

なのでjavascript:void(0)とか、#bodyTopとか色々やったんだけど、onclick属性はページ再読み込みしないと生返らず。つまり未解決。
とりあえず、「no record」アラート出したあとinit()呼び出すことで応急処置。

aタグをspanタグに換えるって対処法もあるみたいだけど、何かW3C先生を騙すだけの対処法だし(href属性指定しないで良くなるだけでしょ?)、文法表現上?は後退するだけなような気がするからパスw

対症療法じゃなくて、根本的な解決方法を見つけたいな。

≒ DWRのお勉強

「なんちゃってAjax」や「どことなくJSON」を卒業したくて、とりあえずDWRを試してみる。
このページを参考にというか、この通りやってみたんだけど、いつも通り動かず。
まずEclipseのサーバ環境自体が立ち上がらないし、自宅サーバに上げてみても実行中がtrueにならないまま。
web.xmlの記述で引っかかってるのまでは突き止めたんだけど、動作見ながら一行ずつ消したり足したりしていくとサーバが起動する状態まで記述を削るとDWRについての記述が無くなっちゃうw
結局、どうしようもなくなって本家のサイトのチュートリアル通り試してみようと思ってやってみたら、一発OK…
設定部分がちょっと違ってて、前者には「WEB-INF/lib直下にdwr.jarを配置する」としかないんだけど、本家ではその後「同じくlib直下にCommons Loggingを配置する」って手順があって、その通りリンク先のアパッチのページからバイナリzipファイルをダウンロードして解凍、その中の「commons-logging-1.1.1.jar」ってファイルだけをlibにコピーするとチュートリアル通り動く。ので、先に作ってた参考サイトのアプリでも同じことしたら動きました。
前者のサイトはDWR2.0の説明サイトだし、やっぱり英語サイトさけてたらだめだと実感した次第。プログラム言語学びたかったら英語必須ですな。まぁ、なんでcommons-loggingが必要なのかわかってないんですけどw たぶんDWRがログ解析して動作してるんじゃないかと予測。

≒ faviconとエラー画面の件

Java専用ドメインのほうのfaviconがデフォルトでTomcatアイコンになってるのに気づいて、メインのドメインのほうはどうなってるのかな?もしかしてApacheアイコン?って思って見てみたら空白になってたので作って入れました。で、気づいたこと。

1) 作業中にFireFoxのアップデートがきてたのでインストールしたらfaviconの表示の挙動が変わった。アップデート内容にも書いてあるけど、「タブのページ名の頭にfavicon」+「URL表示部分の頭にfavicon」だったのが「タブのページ名の頭にfavicon」だけになり、「URL表示部分の頭にはサイト証明書状態アイコン」に変わった。Chromeと同じになった。考えたらfaviconでサイト証明書の状態が隠されてたわけだからこの変更は当たり前か。まぁ、ほとんどのサイトは証明書なんてもってないしね。

2) ドメインのトップにfavicon置いたらそれ以下は全部同じアイコンが付くようになった。当たり前だけど便利。今さら過ぎるかw

 

ついでにTomcatドメインのエラー画面も標準のものと差し替えようかと思ったけどやめた。セキュリティ上問題があるって書いてる人が一杯いたんで代える予定だったんだけどやめました。以下理由。

1) 試しにメインのドメイン=サクラのレン鯖がどうなってるか見たら思いっきりApacheのバージョン出てるw

2) Tomcatの設定代えようとして元の状態を探してたら、managerとかのWEB-INFフォルダにきっちりエラーページデータが置いてあるのを発見。つまり各ページごとにエラーページデータ作らなきゃいけないってことらしい。

1) 見て、2)がわかって、Tomcatの生成するエラーページ見てたら、「別にいいや」って思ったw 触られたくないページ(階層)やポートはちゃんとふさいどけば良いんで、Tomcatのバージョンごとの脆弱性は「バージョンを隠すこと」でふさげるとはとても思えないし。

まぁ、いつダウンしてもかまわない自宅サーバだからこその判断なんですけどね。サクラのレン鯖はどういう考えでApacheバージョン公開してるんだろう?

自宅サーバ立ててる時思ったこと。「あっちこっちサイト見ながら使い慣れてないvimで細かくパラメータいじって、一つ一つセキュリティ設定しながら各アプリ(httpdとかsshとか)インストールしてるけど、centosのインストール時の選択画面から全部一発で入れちゃ何でいけないんだろう?」

答えはデフォルトだと攻撃に弱いからだと思う(日本語対応って面もあると思う)。だけどデフォルトから変えちゃってるからメンテも手間がかかるし、不具合も再現性がない。ああいう簡単インストールみたいな画面が用意されてるってことは、デフォルトで色々入れて使うことが想定されてるんだと思うんだけど、個別にパラメータいじって改良?されちゃうとベンダー?では把握できなくなっちゃうよね。上に書いたエラーページの件で言うと、バーション表示が不味かったら、各自でエラーページ用意する、じゃなくてTomcatの仕様自体変わるべきだし(Apacheなら設定で隠せる)。

以上だらだら長くて説明不足の話だけど、気がついたことメモ。いちど全部デフォルトでドメイン立ててみよう。

20150502追記あり。