2001年6月のアレ

Home
Prev, Next

2001年6月


2001年6月30日

http://www.pinsize.com/

§

Javaなんですけど、URLConnectionでタイムアウトを指定するのはどうするのだろう? というのは、サイトを見に行ったら全然帰ってこないことがあるので困っているのだ。

ちなみに、 http://nako.suki.gr.jp/kamira/ なのだが、試しにこのサイトをNetscapeで表示してみたら、半日たっても

接続: ホスト nako.suki.gr.jp に接続しました。応答を待っています...

と表示したままの状態なので、別にJavaに問題があるわけではなく、 仕様としてそういうサイトがあるということなのだと思う。 ちなみに、さっき再確認したら、今度は接続すらしない。 ただ、サーバの応答もなければ、 勝手にタイムアウトで戻ってきてくれるので、かえって問題はないのである。


2001年6月28日

なお、例の保守できねーJSPの件。 何のことはない、 JSPじゃなくて Beans のクラス定義の方にHTMLの文字列を戻す関数作って解決。 つまり、あれだけごたごたしていたコードは次の1行になった。

<%= sr.getHtmlMessage() %>

何もJSPでそこまでやる必要はないのだ。 気付いてしまったらアホらしい。 もっとも、servlet 側はちょっち複雑になったが、 間に <% とか %> が入らないだけに普通に読める。 何も問題ない。

  public String getHtmlMessage() {
    String s = "http://" + key;
    String html = "";

    if (isLost()) {
      html = s + " <b>(lost)</b>";
    } else if (isClosed()) {
      html = s + " <b>(closed)</b>";
    } else if (isOther()) {
      html = s + " <b>(not CG site)</b>";
    } else {
      if (isMoved()) {
        html = s + " → ";
        s = "http://" + getNewUrl();
      }
      if (isNotFound()) {
        html += "<b><a href=\"" + s + "\">" + s + "</a> (Not Found)</b>";
      } else {
        html += s + " (ok)";
      }
    }

    return html;
  }

しかも、やっとBeansのアクセス方法がわかった。 これは「あっぱれご意見番」ネタにしたいのでポイントだけ紹介。 testBean と testClass という2つの Beans がある。 testBean はインデックスプロパティで、 testClass の要素を取り出すことができる。 つまり、testBean tb があれば、 testClass tc = tb.getTestClass(i) みたいな感じでtcをgetできる。 servletで tb をセットして request scope で参照できるようにしてあり、 これをJSPで表示したい。

<jsp:useBean id="tb" class="testBean" scope="request" />
<jsp:useBean id="tc" class="testClass" />
<%
    int i;
    for (i = 0; i < tb.getSize(); i++) {
      tc = tb.getTestClass(i);
%>
<jsp:getProperty name="tc" property="strValue" />
<br>
<%
    }
%>

すると、jsp:getProperty が表示する値は、tb.getTestClass からもらったtcではなくて、どこか全然別のオブジェクトになってしまう。 例えば、tbに順にa1, a2, a3 みたいな値に対応するtcが入っていても、 表示されるのは全部初期値。 null, null, null みたいな。 じゃあ、jsp:getProperty で直前にセットした tc を見るにはどうするか。 tc はスコープを指定していないから、page スコープになっている。 そこで、pageContext に対して setAttribute を行う。

<jsp:useBean id="tb" class="testBean" scope="request" />
<jsp:useBean id="tc" class="testClass" />
<%
    int i;
    for (i = 0; i < tb.getSize(); i++) {
      tc = tb.getTestClass(i);
      pageContext.setAttribute("tc", tc);
%>
<jsp:getProperty name="tc" property="strValue" />
<br>
<%
    }
%>

これで無事、予期した結果が得られる。 やっと解決した〜。 午前3時だぞ。

…、あれ、何が解決したのだ? まあいいか。 でも何か違うような気がするのだが…。 ちなみに、これはどこで思いついたかというと、 ソフトバンクから和訳が出ている「コア・サーブレット&JSP」(ISBN4-7973-1431-1)の、 JavaBeansを共有化するという所のscopeをpageにした時の説明(p.285)、

原理的には、オブジェクトをそこに置くと、サーブレットのコードが定義済み変数pageContextのgetAttribute()メソッドを呼び出すことにより、そのJavaBeansオブジェクトにアクセスできることを意味する。

と書いてあったから、pageContext.getAttribute() でアクセスできるのなら、 pageContext.setAttribute() で設定もできるんじゃないか、という感じで。 あと、当然 request scope の場合は request.setAttribute とかすればok。


2001年6月27日

悪マニの話題で、 ショッピング機能のあるサイトを作るのが簡単かどうかという件について。 1週間ほどCGI勉強したらokだというツワモノもいたようだが、 そりゃ無茶苦茶というか、 何年もCGI勉強してもそう簡単に作れない私の方が非力なのだろうか。

ちなみに、CGIで実現するとして、 ショッピングカート作るのなら必須になるはずの暗号化とかセッション管理とか、 どうするのだっけ? 最近 servlet に逃げてしまっているので、具体的な実装方法がピンと来ない。 というかJavaのセッション管理が簡単に実現できすぎるのかも。

というか、1週間でCGI勉強できるってのが考えてみたら不思議だな。 最初から知っていたらともかく。 Javaはともかく、perlもVBもHTMLも知らない状態から1週間なんだろ? ビジュアル系のソフトってそんなに簡単なのか。 そういえば、このページだって全然GUI系のツール使ってない。

もしかしたら、マジでそういう「知らない」人に、 ショッピングカートの作り方を教えなければならない可能性があるのだが、 さてどうしましょ? とりあえず、自分でサイト管理するよりもYahooのオークション出品をベースに、 ちょっとした情報だけを個人ページに流す、 というビジョンを勧めようと思っているのだが。 あ、立場上、Yahooじゃなくて@niftyとか紹介しないとダメか?

§

昆虫や動植物名に差別表現【謎】が含まれているケースを見直すのだそうだ。 例えば、「メクラカメムシ」を「カスミカメムシ」にするのだという。

なぜ「メノフジユウナカメムシ」にしないのか誰か教えてくれ。 Macrolophus caliginosus?


2001年6月26日

何か異様に風邪が流行ってないか?

§

あるサイトの日記ページに、 冷蔵庫よりも洗濯機の方が重要だと書いてあった。 理由は、冷蔵庫がなくても腐らないうちに食ってしまえば問題ないが、 洗濯機がないとコインランドリーに行くか、手洗いしなければならないから、というのだ。

この人どこに住んでるのか知らないけど、田舎? もう結構前だけど、下北にいた頃、冷蔵庫は重宝したが、洗濯機は腐った。 使わないから。 例の、朝日新聞の勧誘にきた男が蹴飛ばして行ったあの洗濯機ですよ。 ずっと朝日だったが、これが機会で朝日は拒絶するようになったとかいう。 話は戻るが、 だって、洗濯機なくてもコインランドリーに行けば選択できる。 冷蔵庫なければ、 夜中に冷たいビールを飲みたくなった時にコンビニまで行かなければならない。 あ、行けばいいのか。 下北だもんな。 夜中でも買えるのだ。

もしかしたら意味不明だという人がいるかもしれないので。 「下北」って「しもきた」と発音する。 東京都の下北沢のこと。 この街は朝は11時頃から始まる。 そのかわり、夜は2時頃まで賑やかだし、ついでに4時頃まで店は開いてたり。 昔いた頃はそうだった。 あの頃既にFPROGのchatとか参加していたから、 当時の常連の人なら知っていると思うが、 2時頃に「ちょっと餃子買ってきます」といって一旦落ちて、 買ってから復帰したりしていた。 夜1時頃からchatが始まるわけですよ。 で、「あ、ちょっとパラッパ欲しくなったから買ってくる」とかいって実際買ってきた。

で、夜中にいきなり冷たい水を飲みたいとかビールを飲みたいことはあったけど、 いきなり洗濯したくなったことはないなぁ…。 まあそれでも、コインランドリー行けばよいだけの話だが。 下北的には。 夜中もやってるから。 今もそうか? でも、一番近くのコインランドリーは、確か0時までだったような。 4、5分歩けばオールナイトのコインランドリーがあったけどね。

ジャンボが当選したら下北沢にマンションでも買って引っ越そうかとか思ったけど、 当然のごとく外しましたな。 3000円当たったけど。 神社に300円賽銭持っていかなければ。 当たったら1割の約束だったのだ。 3億円当たっていたら3千万円持っていくつもりだったのに、残念。

で、ごめん。 どこのサイトか分からなくなった。 このネタ、確か大昔にFPROGかアスキーネットで出したような気がしたので。 「洗濯機と冷蔵庫はどちらが偉いか」という問題。


2001年6月25日

富士サイバーバンクというのを使っているのだが、 最近、画像オフで使うとこんな画面が出てくるようになった。
fuji bank

どこか他にいい銀行ないですかね? ちなみに、画像を読み込んでみるとこうなる。
fuji bank

昔はちゃんと分かるコメント付いてたのだが…。 客減らしキャンペーンでも始めたのか?

§

18日に紹介した保守性ゼロのスクリプトレット。 サーチのservletの方で、クラスの構造を変更したので、保守するハメに。 言霊か…。 にしても、結局保守できたぞ。

<%
    for (i = 0; i < size; i++) {
      sr = sl.getSearchResult(i);
      String s = "http://" + sr.getKey();
%>

<%-- キー(検索対象URL) の出力 --%>
<%    if (sr.isLost()) { %>
       <%-- lost の場合は、移転情報は無視する --%>
<%= s %> <b>(lost)</b>
<%    } else if (sr.isClosed()) { %>
        <%-- closed の場合は、移転情報は無視する --%>
<%= s %> <b>(closed)</b>
<%    } else if (sr.isOther()) { %>
        <%-- other site の場合は、移転情報は無視する --%>
<%= s %> <b>(not CG site)</b>
<%    } else if (sr.isMoved()) { %>
        <%-- moved --%>
<%      if (sr.isNotFound()) { %>
        <%-- moved + not found --%>
<%= s %> →
<%        s = "http://" + sr.getNewUrl(); %>
 (<b><a href="<%= s %>"><%= s %></a> (Not Found)</b>)
<%      } else { %>
        <%-- moved + found --%>
 (<%= s %> (ok))
<%      } %>
<%    } else { %>
        <%-- not moved --%>
<%      if (sr.isNotFound()) { %>
        <%-- not moved + not found --%>
<b><a href="<%= s %>"><%= s %></a> (Not Found)</b>
<%      } else { %>
        <%-- not moved + found --%>
<%= s %> (ok)
<%      } %>
<%    } %>
<br>
<%  } %>

もうしたくない。 ちなみに、これってどんな結果出るの? 試しに、ほりもとあきらさんのサイトのリンクページを指定してみた。 こういうのが出る。

http://www.bekkoame.ne.jp/~hfhori/eva/index.html (Not Found)
http://www.ae.wakwak.com/~nagasakiya/ (ok)
http://www.arakim.com/kana/ (ok)
http://www.arakim.com/ (ok)
http://home7.highway.ne.jp/uji/ (ok)
http://www2b.biglobe.ne.jp/~simon/ (ok)
http://www.din.or.jp/~myuratch/ (ok)
http://ex.sakura.ne.jp/~natorism/ (ok)
http://ns1.linkweb.or.jp/~wangpac/ (ok)
http://www3.osk.3web.ne.jp/~karma/ (ok)
http://www.bekkoame.ne.jp/ha/matusaka/index.html (ok)
http://plaza28.mbn.or.jp/~miragenovels/index.html (ok)
http://www.asahi-net.or.jp/~ky9k-tnk/index.htm (ok)
http://www.yk.rim.or.jp/~primera/ (ok)
http://www.halcyon.ne.jp (ok)
http://gimukyo.virtualave.net/ (ok)
http://webclub.kcom.ne.jp/mc/harakun/indexj.html (ok)
http://www.alles.or.jp/~nekomata/gocm.html (ok)
http://www.fang.or.jp/~mgi/ (lost)
http://www.dab.hi-ho.ne.jp/sintaro/ (ok)
http://www.osk.3web.ne.jp/~chobby/Main.htm (ok)
http://ct.x0.com/~onoe-clp/ (ok)
http://www.asahi-net.or.jp/~fi5g-jnni/index.htm (ok)
http://www.alles.or.jp/~uchuteio/ (ok)
http://www.hf.rim.or.jp/~nyanma/index.html (ok)
http://www1.presto.or.jp/~len2eri/ (ok)
http://www.cx.sakura.ne.jp/~atchy/ (ok)
http://www.gulf.or.jp/~arakim/ (lost)
http://www.lolicsystem.com/ (ok)
http://www.bekkoame.ne.jp/~gekkaku (ok)
http://www.softpal.co.jp/tenshindo/index.html (ok)
http://web.kyoto-inet.or.jp/people/tonbi/ (ok)
http://www.sainet.or.jp/~cpunit/ (ok)
http://www.ifnet.or.jp/~byunbyun/ (ok)
http://www.mirai.ne.jp/~gotop/ (ok)
http://www.kt.rim.or.jp/~mizuki/ (ok)
http://www.st.rim.or.jp/~phinloda/ (Not Found)

total = 8836 , deadlinks = 2274 , unknown sites = 518

これ、ソース見ると分かるけど、jspの出力って、何か空白多くなりがち。 見た目わからんので吉。 最初のNot Foundは、トップページじゃないからデータベースに入ってないからそうなる。 最後のはCGサイトじゃないのでこれまたデータベースに入ってない。 何か2つほどLostになっています。 これは移転データベースに入っているのだが、移転先不明の扱いのもの。 最後に出ている数値、 8836というのはとりあえず確認した時には存在していたCGサイトの数。 deadlinks というのが、移転、閉鎖、消滅などのサイト数。 unknown は、どういうサイトか不明だけど、とりあえずブックマークに追加してある状態のもの。

で、Not Foundの時にはこんな感じでリンクにするようなjspなので、 クリックすればそのサイトを確認できるという仕組みなのだ。


2001年6月24日

アンケート一応動いたような気がするが、公表するのを忘れてるというか、 ちょっと今の状態では servlet のデフォルトのソフトとかそのままだからマズいか。

もう一つ動いているのが、Cマガジンで紹介していた、 移転先チェックを行うサーブレット。 これがまた例によってバグっていてえらい目にあった。 vaioで使うとハングするのだ。 原因は、"…/foo/" から "…/foo/index.htm" に移転(!)した場合の処理。 index.htm はカットしてから比較するので無限ループになる。 なぜか無限ループのはずなのに、ずっと待っていると戻ってくるのが不思議。 この時VAIOのメモリが食い尽くされていて、他の動作がおかしくなる。 WZとか、Netscapeとか。

最近何度か見かけたのは、JavaScript使って別ウィンドウを開くサイト。 というのは以前からいくらでもあったが、 最近のはメニューが出せなくしてある。 どうも、画像を「ファイルに保存」できないようにしたいらしい。 だったら、もっと何かやり方がありそうなものだが…。 ソースを見たら別ウィンドウで開くURLが書いてあるので、 やる気があれば簡単にファイルに保存できてしまうのだ。

やる気もないけど。 というか、個人的にはそういうサイトは見る気がなくなる、 というか、JavaScriptを切ってあるから見ることができない。 平和でしょ? で、やる気があったらどうするかというと、そうだな、 Netscapeだったら…いや、やめとこ。


2001年6月23日

あるCGサイト。 誰からも感想も意見も来ないので止めるという。 感想も意見も来ない原因が自分にあることは理解しているのだろうか。 正直言って、CGサイトですが、 最近物凄く数が増えた。 逆に、なかなか感想を送りたくなるようなサイトが見当たらない。 全体的にレベルが高くなっているので、そのサイトよりも凄いサイトがいくらでもある、というケースが殆どになってしまうのだ。 そこで感想や意見を貰おうというのは、よほどの工夫がないと難しいと思う。 結構見かけるのが、画像の下にフォームを用意しておいて、 書き込めばすぐ感想が届くように工夫してあるというものだが、 そこまでやってもなかなか難しいのではないだろうか。

ま、それはいいとして、 「面白くないからやめろ」という感想を送っていたら続けたのかどうかを知りたい。 どこが面白くないか教えてくれたらそれは貴重な情報になるのだが、 それを教えてもらうというのがまた至難の技なのだ。

ちょっと状況が違うが、 結構ひどいというか、悲劇だと思うのが、 リンク先がローカルディスクになっていてエラーになってしまうとか、 指定したスタイルシートが存在しないので何も表示されないとか。 NNだと表示されないのだが、もしかするとIEだと表示されたっけ? ちなみに、NNの場合はJavaとJavaScriptをoffにしておけば表示される。 あと、フレームで作ってあるのはいいのだが、表示先が間違っているとか。 最近多いのが、JavaScript が off だとトップページに何も表示されないサイト。 あるいは、previewまでは出るけど、JavaScript が off だとクリックしても何も表示されないサイト。 それはそれで別に構わないのだけど、 たまたまJavaScriptがoffのまま見た時に、 JavaScriptがonじゃないと表示されないことに気付かなかったら、 肝心のモノが表示されないのだから感想どころではない。 中には本当にpreviewしか置いてないサイトもありますし。


2001年6月21日

昼飯は370円のサービスステーキ。 開店セールで半額なのだが、食券の自販機前に人が並んでいる。 最後の方に並んでいた人に「食券を買ってから並んでいるのですか?」と尋ねてみたら 少し低い声で「けんら…」(よく聞き取れなかった)と言われた。

超恐かった。 理解できない存在というのは恐い。


2001年6月20日

FPROG Homepage の日記に書いたアレだけど、 手口はこういうことらしい。 何か品物を買わせてモニターのアンケートを書いてもらう。 品物の料金が4万円として、4万円が毎月クレジットから落ちるように契約させる。 アンケートの報酬は、毎月4万6千円を指定の口座に支払うので、 差し引き6千円がモニターする人の報酬になります。

という話をしておいて、最初の2か月が過ぎたら報酬が振り込まれずにクレジットだけが落ちていく。 事情を聞こうと思って連絡したら 「おかけになった電話はただいま使われておりません」 状態。

で、素朴な疑問なんですけど。 何でもいいですが、毎月4万円も払わなければならない商品をタダでもらって、 なおかつ1回アンケートに答えるだけで6千円になる、 なんて話、信じるのですか? 世間一般は?

だったらおいしいニュービジネスがごろごろありそうな…いや、何でもありません。

まあそれはともかく、 初心者でも仕事できますという触れ込みのホームページ作成講座とか、 何か常識なさすぎる人が多いな。 最近。 こういうのにひっかかる人達、 誰でも仕事できて月収何十万、とかいう仕事がごろごろあるなら、 なんでこの失業率なのか説明できるのか? もちろん騙す方が圧倒的に悪いのだが、 騙される側にひっかかる要素が多すぎる。 わざわざマジックテープを貼り付けたセーターを着てイバラの林を歩くようなものだな。 舗装された歩道を歩けばよいものを。

§

昨日のJSPの話。 諦めた。 全然分かりませんな。 以上。

ん、サーバですか? サーバ自体は動いている。 Beansが作れないだけだから、 Beansを使わずに response.getAttribute() を使ってスクリプトレットで書けばいいだけの話。

それどころではない根本的な問題が一つ残っている。 あるファイルを2つのサーブレットが共有していて、双方書き込みに行くのでヤバいのである。 こういうのは一般論としてどうするのだっけ。 ファイルロックだけではダメ。 一方が書き込んだら、もう一方のサーブレットは読み直さなければいけないのだ。 ってことはイベントでも使うしかないのか。 もしかしてBeans?

かくして、振り出しに戻る。

§

あるCGサイトでアルプスの少女ハイジの絵が。 haiji.jpgだった。 確か Heidi だったような…。

リンクページが rink というのはとりあえず落ち着かないが、 rinku だと許せるような気がする。


2001年6月19日

全米オープンも面白いものだねぇ。

§

昨日の JSP の話、 あれからちょっと進展があって、 Beans class が作れないエラーに発展した。 というわけでまだ訳わからん状態だが、 要するに package 使わずに WEB-INF/classes に直にクラスを置いたら動くようだ。 つまり、CG系の servlet を、package を使って cglinks.search のようなクラスにしてあるのだけど、 package 化しないで、tomcat のデフォルトの classes の下に全部置いてやれば問題なし。 ということは、tomcat の config の問題なのか? それとも beans? JSP が beans を作成する時の CLASSPATH ってどこで指定するんだ?


2001年6月18日

やっとローマが優勝。

§

CGサーチの話って、ちょっと前にCマガに書いたネタなんだけど、 JSPを使うように一部書き換えた。 というか、リスト構造を自前で書いてしまったという情けないコードを改め、 HashMap を使うようにした。 作業中に、dir *.java というのを間違って del *.java とやったりして結構波乱もあったのだが、とりあえず動かしたらエラーでまくり状態。

org.apache.jasper.JasperException: Unable to load class testClass
        at org.apache.jasper.compiler.BeanRepository.getBeanType(BeanRepository.java:183)
        at org.apache.jasper.compiler.GetPropertyGenerator.generate(GetPropertyGenerator.java:99)
        at org.apache.jasper.compiler.JspParseEventListener$GeneratorWrapper.generate(JspParseEventListener.java:773)
        at org.apache.jasper.compiler.JspParseEventListener.generateAll(JspParseEventListener.java:220)
        at org.apache.jasper.compiler.JspParseEventListener.endPageProcessing(JspParseEventListener.java:175)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:183)
        at org.apache.jasper.servlet.JspServlet.doLoadJSP(JspServlet.java:462)
        at org.apache.jasper.servlet.JasperLoader12.loadJSP(JasperLoader12.java:146)
        at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:433)
        at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:152)
        at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:164)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
        at org.apache.tomcat.core.Handler.service(Handler.java:286)
        at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
        at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
        at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
        at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210)
        at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
        at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
        at java.lang.Thread.run(Thread.java:484)

と表示されても何のことかさっぱり? もちろん、常識的に言って、 「Unable to load class」という位だから、 CLASSPATH が怪しそうだというような気はする。 しかし、tomcatを起動すると、

Using CLASSPATH: d:\tmp\w2k\tomcat\jakarta-tomcat-3.2.1\classes; d:\tmp\w2k\tomcat\jakarta-tomcat-3.2.1\lib\ant.jar; d:\tmp\w2k\tomcat\jakarta-tomcat-3.2.1\lib\jaxp.jar; d:\tmp\w2k\tomcat\jakarta-tomcat-3.2.1\lib\servlet.jar; d:\tmp\w2k\tomcat\jakarta-tomcat-3.2.1\lib\parser.jar; d:\tmp\w2k\tomcat\jakarta-tomcat-3.2.1\lib\webserver.jar; d:\tmp\w2k\tomcat\jakarta-tomcat-3.2.1\lib\jasper.jar; .; D:\tmp\w2k\tomcat\jakarta-tomcat-3.2.1\lib\servlet.jar; D:\tmp\w2k\tomcat\jakarta-tomcat-3.2.1\lib\jspengine.jar; d:\tmp\w2k\tomcat\jakarta-tomcat-3.2.1\webapps\ROOT\WEB-INF\classes; c:\jdk1.3\lib\tools.jar

と表示されているのだが。 お察しの通り、これはWindows 2000上で動作させているものだ。 開発はw2kで地下鉄の中で行って、帰宅してからSolarisにコピーする、 というのが最近多い。 で、問題の testClass というクラスは強調したパスに入っているわけだが… もしかして、こんなパスではダメで、tomcat の config で指定しなければいけないのか?

んで頭にきて BeansTag 使わずにスクリプトレットで書いたらこんなの。 これならとりあえずちゃんと動く。


<%  int i;
    int size = sl.getSize();
    for (i = 0; i < size; i++) {
      sr = sl.getSearchResult(i);
      String s = "http://" + sr.getKey();
%>

<%-- キー(検索対象URL) の出力 --%>
<%    if (sr.isLost()) { %>
       <%-- lost の場合は、移転情報は無視する --%>
<%= s %> <b>(lost)</b>
<%    } else if (sr.isClosed()) { %>
        <%-- closed の場合は、移転情報は無視する --%>
<%= s %> <b>(closed)</b>
<%    } else if (sr.isNotFound()) { %>
        <%-- Not found --%>
<b><a href="<%= s %>"><%= s %></a> (Not Found)</b>
<%    } else { 
        int flag = sr.getFlag();
        if (flag == 0) { %>
          <%-- normal --%>
<%        if (sr.isMoved()) { %>
<%= s %> → http://<%= sr.getOriginalUrl() %> (ok)
<%        } else { %>
<%= s %> (ok)
<%        } %>
<%      } else if (flag == 1) { %>
          <%-- moved --%>
<%= s %> → 
<%        s = "http://" + sr.getNewUrl(); %>
<b>(moved to <a href="<%= s %>"><%= s %></a>)</b>
<%      } else if (flag == 8) { %>
       <%-- other --%>
<%= s %> (not CG site)
<%      } %>
<%    } %>
<br>
<% } %>

まさに保守性ゼロ。


2001年6月17日

週末になると頭痛になるのは何故か? ビタミンC摂取で乗り切る。

§

CGサイトをサーチする servlet の修正に着手。 少しスキル上がったか。 というか、単にクラスの知識が多少増えただけの話のような気がする。

URLの検索で一番頭が痛いのは、foo/bar/ と foo/bar と foo/bar/index.html を同一視しなければいけない(とは限らないのだが)ことだ。


2001年6月16日

世界不思議発見で、武田の金山衆の旗印は何、というクイズ。 ムカデだと当てたのは黒柳さんでしたが、 これってマンガになっているから知ってた。 この番組に出ている回答者はビッグコミック(だったと思う)は読んでないか。

§

ハッと気付いた時にはNTTの支払い期限を1日過ぎていたとかいう。 遅滞利息取られるのだろうか? もし取られるとしたら、2円か3円損したことになるはず。

§

ある知人の話なのだが、 子供に買ってあげたおもちゃが壊れたので買ったデパートに行ったら、 修理に1か月かかるという。 そんなに待てないと思っていたら、特別に新品と交換してくれたそうだ。 ただし、箱じゃなくて、壊れた中身だけの交換だそうだけど。

で、この子供が、このシリーズの別のおもちゃが欲しいとねだるので、 近くの他のデパートで買ってあげたという。 そのデパートじゃないの?

世の中厳しい。


2001年6月14日

何か久しぶりにルータの接続が切れたみたいだ。 メンテとかあったっけ。


2001年6月13日

小学校の事件の報道がエスカレートしている。 先日、 薬物等を服用することにより責任能力を失うまたは軽減されることを知りながら… という話を書いたが、 容疑者、薬飲んでないと供述しているとか? 要するに完全に正気の状態で、精神障害を装った犯行ってことか。 というか、どこかおかしいことは間違いないのだが、 薬のせいでなくて天然とか。

ワイドショーにしても報道番組にしても、 お涙頂戴的な番組構成には、はっきり言ってうんざりする。 出棺のところを報道するとか、 被害者の親のコメントをインターホン越しに貰うとか、 そういう手法だ。 こういう番組を見ていると、 私なんかは、何かマインドコントロールされているような気になるので、 かえって自衛的に「何かヘンだぞ」と疑ってかかってしまう。 実は大した事件じゃないのでは、とか、 まさかヤラセってことはないと思うけど。

政府レベルでも対策が必要だとか言っているが、基本的にこれは事故だろ。 何の罪もない子供が殺されたというのが惨事だという点は異議はない。 しかし、そういう事故はいくらでもあるのだ。 だいたい、大抵の被害者、何の罪もないのでは? 日本でよくあるのは、集団登校の列に自動車が突っ込んで何人か死んだという例。 毎年何件かあったような気がするが。 ヘンな人が小学校に乱入して包丁を振り回したので死んだ子供の数と、 登校中に交通事故に遭って死んだ子供の数、どっちが多い? 交通事故対策の方が急務だと思うのだが、対策しているって話は聞かないな。

少し前に、 出会い系サイトで知り合った男に会いに行って殺される事件もあったけど、 基本的に、日本人って相手を信用しすぎる。 小学校に誰でも入れるようになっている、というのがそれを証明している。 いや、入れるようになっているのは構わないとして、 警備のカメラもなければ、門の前に警備員もいないのだから、 こういう事件が起きるのは仕方ない。 包丁振り回して無差別に襲撃する事件は、以前、池袋であった。 金属バットで通行人を殴る事件が渋谷であった。 こういう人間がいるということは既に分かっているのだから、 そのような人間が学校に入れないように対策を講じなければ、 そのうち誰か学校に入ってくるというのは当然の話だ。

それより心配なのは、少し後で報じられたのだが、 いじめの報復で小学生が反撃したという事件。 いじめていた相手を包丁で数十回刺したというのだから、 かなり恨みが積もった状態なのだたと思われる。 これがエスカレートすると、アメリカの銃乱射事件のように、 教室に刃物を持ち込んで振り回す事件になるはずだ。 いじめられている側は、既に死ぬ気になっていたりするから、 普通だとできないようなことをやってもおかしくない。 一応、予言しておく。

で、具体的に、学校に刃物を持ち込ませないためにはどうすればよいか、 というのも難しい話だが。

§

TONIGHT 2 でピッキングの実演やっていたけど、 簡単だとは聞いていたけどあれほどとは…。

ちなみに、うちの場合。 ピッキングするのも無駄というか、盗むようなモノはないです。 サーバのpcですか。Pentium 200MHz ですけど、こんなのでよければ…。 って、ヘタしたらVAIOが一番高価だとか。 現金も有価証券もないし。 ちなみに、E*TRADEで買った株券って、仮に盗むとしたらどうする?


2001年6月12日

ファイルから読み込んだテキストがJSPで文字化けすると思ったら、 単にJSP側で >%@ page contentType="text/html; charset=x-euc-jp" %< とか指定していなかったのが原因と分かって脱力する。


2001年6月10日

池田市の小学校の事件で刑法改正が議論されることになりそうだが、 薬物等を服用することにより責任能力を失うまたは軽減されることを知りながらそれを服用し、 その結果罪を犯した場合は、刑法第三十八条および第三十九条を適用しないことにすべきだと思う。

具体的には、酒を飲んで痴漢をやっても「酒を飲んでたから分からない」では通らないだろ(通るのか?)。 それと一緒だ。 ただ、そうすると今回の事件は精神安定剤を10回分も一気に服用したのが原因なのか、それともそんな薬を飲まなくても事件を起こしていたのか、という争点になってしまって訳のわからない裁判になるかもしれないが。 ただ、 「酔ってたから」とか「ヤクをやってたから」という理由で無罪になるという、 一般人的に納得できない結果になることはなかろう。

§

最近はニフティの人もここ見てないと思うが、 一応SYSOPだったような気がするから書いておく。 パネルディスカッションをサボっていいのか、という意見があると思う。 SYSOPだったら出るのが義務…とまでは言わないにしても、出るべきだろ、という感じで。 実はその前の報告ですごく気になることがあったのだ。

フォーラムのイメージについて、一般の人がどういうものがあるのか、という紹介である。 で、どういう所を生かして運営しよう、というシナリオだ。 まあ流れとしてはそれでいい。 ただ、そのイメージがいけないのである。 要するに、メリットばかり紹介してあって、デメリットが全然書いてなかったのだ。 もちろん、フォーラムに何々というメリットがあるから参加したとか、今も参加しているという人もいるだろう。 しかし、逆に、こういう先入観があるから参加しないとか、止めてしまったとか、 そういう人もいる訳である。 運営上最も重要なのは、そのマイナスイメージが何であって、それをどうすればよいのか、という所だと思うのに、 それが完全に議論から欠落しているのである。

で、そういう認識下でのディスカッションを見るのは時間の無駄だと思ったので、 喫茶店に行って発言書いてFPROG Home Pageの原稿書いたのだ。 ディスカッションは全然見てないので、実は大変な選択ミスをしているのかもしれないが、 とりあえずそういう時間の方が惜しい。

じゃあどういうマイナスイメージがあるのかって? さあどうでしょ。


2001年6月9日

いわゆるSYSOP SUMMITらしい。 パネルディスカッションがあったが、サボってヨドバシカメラに行く。 最近は15インチCRT付きエントリーモデルが49,800円、というのが流行りか?

VAIO SR9 の新モデルもなかなかよさそうだが、品切れ。 あ、この文章、新宿のルノアールで書いてます。 ここ久しぶりだな。

§

FPROGアンケートの servlet、やっとjavacでエラーが出ない所まで。 でも、明らかに実行させると例外が発生しそうなロジック。


2001年6月8日

FPROGのアンケートをservletにする話だけど、 コーディングが8割できたがバグが取れずという状況。 最初、servletを立ち上げた時にpropertyを読み込んで、 更新以外はそれをアクセスするというイメージで作ろうとしたのだが、 考えてみれば、アンケートの内容というか対象が、リクエストが来るまで分からない。 「アンケート第何回」ごとにservlet起動するのもアホらしいし。 というわけで設計変更。


2001年6月6日

最近、どこから住所が漏れたのか知らないが、アダルトビデオのDMがやって来る。

で、カタログが入っているのだが、内容がイマイチなのでゴミ箱行き。 買わせたいのならもう少し濃い内容のを送って来い! って注文したら生テープが送られてくる系でしょうか? それならそれでネタ作りに活用できそうな気がするのだが…。


2001年6月5日

@-job 関連の話題で 悪徳商法?マニアックス がえらい盛り上がりだ。 @-jobって、以前紹介した、数字間違っていたという話のところだ。 どうもこういうシナリオらしい。

  1. @-jobに入会したが、仕事がもらえない、仕事をしても入金されない。 といった人の書き込みが続出。
  2. そこに某氏が出てきて、@-jobに弁護士を通じて問い合わせているから待ってくれという話を持ち出す。
  3. 何人か、入金がありました、よかった、という投稿が。
  4. ところが、某氏及び入金あったという投稿が同一人物による自作自演であるということで管理人から投稿禁止措置を言い渡される。というかID抹消?
  5. 騙されたと思った会員が大騒ぎ。

というか、私見としては「騙されたと思った」じゃなくて、 マジで騙されているような気がするのだが、 入金がなかったのにノホホンとしているという感覚がどうもよく分からない。 私の感覚だと、指定の日に入金がなかったらその時点で詐欺ではないかと疑惑を感じるが。 だって、入会金(年会費?)を払って、仕事もして、なおかつ約束の金を払ってくれないのだろ?

§

リモートでダウンロードするservletだが、JSPと統合しようとしたらいきなりstack overflow。 ループし尽くしたらしい。 カウンタを増やすの忘れてた。

というのは原稿ネタか。 その後、beansのプロパティが思った通りgetできなくてハマる。

世の中、実はほとんどノホホン系の人か? 数字の間違いが多少あっても…という感覚も理解できないが、 入金がなくても電話で問い合わせるだけという神経もよく分からん。 まあ他人事だから関係ないけど、本当にSOHOする気あるのだろうか?


2001年6月4日

実家から出社。 片道3時間というのはやっぱ疲れるか、と思ったのだが、殆ど寝ていたので訳わからず。 2時間以上かかると大変だろうと思われるかもしれないが、 全部寝ているという手は確かにあるかも。 それはそれで時間の有効利用なんだな。

ちなみに、実は時差出勤というか、出社遅い系なのだが、 たまに普通の時刻に出社することがある。 これが凄い違いがありまして。 少し遅く行った場合、この場合は電車が空いているから約40分、座っていられる。 寝てしまうことも多いが、これ書いたり、原稿書いたり。 いろいろできるわけで。 ところが、普通の時刻に出社する場合、座れないことが多い。 となると、途中から座れる場合もあるが、約20〜30分、満員電車の中で立っていなければならない。 当然、出社した時点でクタクタ状態である。 その日は作業能率もいまいちだし、疲れているので定時に帰ることになる。

ここ読んでいる企業経営者の皆さん、 最近、社員が疲れているようだと感じたら、 就業開始時刻を1〜2時間ずらしてみてはどうだろうか?


2001年6月3日

田中知事がラジオ番組で読売批判したニュース。 asahi.com では、巨人戦チケットが叩き売り状態になっているという報道があった。 定価以下でも売れ残るという。 で、報道では、

イチローらの流出もあるが、4番バッターみたいのばかり集める巨人の野球がファンを冷めさせているのでは

って書いてあったけど、イチローって巨人だっけ?

冗談はさておき、 巨人ってファン多いのでしょ? 基本的に私はヤクルトのファンだが、別に基本的に他のチームが嫌いな訳ではない。 ただ、巨人に関しては、最近嫌いになりつつある。 ヨシノブのファンなんですけどね。 ヤクルトファンだったら石井vs高橋の対決は見逃せないか。 で、何で嫌いになるかというと、スポーツニュースの巨人贔屓系の番組。 あれを見ていると、他のチームは野球チームじゃないというような雰囲気がプンプンしていて、その反動なのだと思うが、見れば見るほど巨人イヤになるわけ。 まあ、見なけりゃいいのだけど、チラッと見てしまった程度でそうなるわけ。 当然、すぐにチャンネル変えるとか。

ふと疑問。 巨人ファンだったら、あれ面白いのか? あくまで私見ですけど、 仮にスマップの某が巨人ファンじゃなくてヤクルトファンだとして、 あの調子でヤクルトの応援したとして、どうか。 全然面白くないと思うけど。 感性が違うのかもしれないが。 じゃあどういうのなら面白いかというと、うるぐすの江川氏とか。

スポーツのファンって、基本的にチーム依存なんですかね? どこのチームとかいうのではなく、 どの選手のファン、というのでもいいような気がするのだが。


2001年6月2日

新潟スタジアムのコンフィデ。 シャトルバスは十分な数を用意した(?)のに、 乗り場が1個所しかないため観客が試合に間に合わないという問題に大して、 乗り場を増やすスペースがないので、早めに出発しろと告知することになったらしい。 ワールドカップもそれでいくのか?

日韓とか韓日とかモメた時代もあったが、 基本的に、日本にワールドカップを開催する資格あるのか? だいたい、 新潟でやろうと言い出したのは一体誰なんだ、 その人が責任取るべきじゃないのか?


2001年6月1日

新宿駅は参ったな。 NEXって、一体どこからどうやって乗れば階段使わずにホームに行けるんだ?


(C) 2001 Phinloda, all rights reserved

RIMNET: phinloda@st.rim.or.jp