雑記帳 2006年 3月第4週

2006/03/19 Sun.

トップページのお気に入りにあれこれ追加したんだけど、縦に長ったらしくなるのでJavascriptで表示制御をしてみる。
お気に入りリストなんてコンテンツには該当しないし、この方が見た目もすっきりして結構いいかもとか思ったり。
最近は仕事でもJavascriptでややこしいのを組んでるし、これくらいのレベルのなら簡単に組めるようにはなったね。
と言っても、CSSによる表示・非表示の切り替えとinnerHTMLで文言の「View」と「Hide」の切り替えだけだが。
関数化してもよかったんだけど、ただのHTMLの<HEAD>タグ内にあれこれ詰め込みたくない。他ページにもコピるしね。
複数のページで同じJavascriptを使っているなら外部ファイル化してもいいんだけど、どうせ数多くは使わないっぽいし。
この手法で、例えばサイトマップとかでディレクトリのアイコンをクリックしたりすると下層が表示されるようなのが作れるな。
それにしても、<A onClick="">の中に複数行スクリプトを書く場合って、普通に記述するように改行とかした方がいいのかな。
その方が可読性はよくなるんだけど、ソースを見られた時に何となく格好悪い気がするんだよな。考えすぎだろうか。

<A href="javascript:void(0);" class="inner" onClick="
    var iCount = favorite.length;
    var viewFlg, arrayFlg;
    if (favorite != null) {
        arrayFlg = false;
    } else {
        arrayFlg = true;
    }
    if (arrayFlg) {
        if (favorite.style.display == 'none') {
            favorite.style.display = 'block';
            viewFlg = 'Hide';
        } else {
            favorite.style.display = 'none';
            viewFlg = 'View';
        }
    } else {
        for (i = 0; i < iCount; i++) {
            if (favorite[i].style.display == 'none') {
                favorite[i].style.display = 'block';
                viewFlg = 'Hide';
            } else {
                favorite[i].style.display = 'none';
                viewFlg = 'View';
            }
        }
    }
    document.getElementById('view_hide').innerHTML = viewFlg;
    return false;
">お気に入りPickUp - Click to <SPAN id="view_hide">View</SPAN> All.</A>

Javascriptとしての可読性は上がるかもしれないが、HTMLとしては見た目が美しくない。一つのタグが複数行ってのがなぁ。
素直に関数化でいいって話だけど、ちょっとJavascriptとHTMLに変更があった場合とかに複数ファイルを修正するのが嫌だ。
……Javascriptでキーワードになる単語ってどれだろう。全部を白で書くと見難いから。これも色づけしたいところだな。

2006/03/20 Mon.

2016/01/09 追記
この部分には、Javascriptでゴチャゴチャと計算機を書いて置いてたんだけど、邪魔臭いので撤廃。

Javascriptで全く関数化を行わずに計算機を作ってみた。ソースを見るとワケわからん。作った自分でもワケわからん。
±を付けることもできなければ、「M+」や「M-」のような一時メモリーの使用も未実装。使い勝手無いぞこれは。
エラー処理が超適当なのはご愛嬌。例えば小数点を連続して入力した場合、エラーメッセージを表示して終了。
さすがにこのレベルのになると、関数化は必須になってくるな。可読性以前に保守性の問題が浮き彫りになる。
つーか、Javascriptでtry-catchを今回ので初めて使った。なるほど、こういう使い方するのね。結構便利かもしれない。
今回のソースで改行やインデントをつけてコーディングすると、HTMLにしては紛らわしくなるな。やはり関数化か。
ちょっと真面目にJavascriptを勉強すれば、簡単なゲームの類なら作れるようになりそうだな。試す価値はあるかも。
初めてdocument.allとかも使ったけど、これも便利だな。Javascriptはコピペでしか使わんから、知識が皆無だしね。

つーか、真面目に仕事しろよ自分。え?これを組んでた場所?職場ですが何か?周りは必死に作業中ですね m9(^Д^)

2006/03/21 Tue.

朝ってか昼に起きたら、WBCで日本が勝っていました。非常に気分いい休日のスタートだったのですが、既に時刻は夕方。
mixi」やらblogやら日記系サイトやらで色々書かれまくっていることだし。今さらここで触れるような話題じゃないですがね。

ITmedia」に「Winnyウイルス事件を追う」という面白い記事が。さすがは官房長官自ら警鐘を鳴らすだけある話題だ。
つーかさ、個人情報やら機密情報の流出とかよく聞くけど、流出すると困るようなデータがあるマシンでny使うのがアホ。
外部からの攻撃を受けても痛くもなく、個人情報も何も入れてないような捨て駒マシンでやるのが一番賢いと思うな。
ウィルスに感染しようとメールがバラまかれようと、決して誰にも迷惑かけない環境でやれ。または完璧なセキュリティ下で。
そもそも、ny使うにあたって事前の情報収集はしないのだろうか?アンチウィルス系の対策ソフトウェアを入れないのか?
そういう適当に使っている連中の9割以上はポート開放なんて絶対にしないだろうし、nyのネットワーク上じゃ不要な存在。
どうしても使いたいという人は「Winny?」などの各種サイトでしっかり勉強してからにして下さい。別に推奨はしませんが。
ネットワークとかポートとかハッシュとか、自分には何のことだかさっぱりわからない単語が多く出てきて困りますがね。

ちょっと気になったから調べてみた。「ウィルス」と「ウイルス」、果たしてどっちが一般的な、または正しい言葉なのか。
e-Words」に登録されているのは「ウイルス」の方だった。超簡潔に「悪さをするプログラム」と書かれているのに笑った。
次はお決まりの検索結果。「ウィルスで検索」すると2,830万件。「ウイルスで検索」すると2,890万件。ほぼ同数みたいだ。
ちなみに、前者の検索結果の先頭には「Symantec」が、後者の検索結果の先頭には「Trend Micro」のサイトが出てくる。
Trend Micro」はトップページでnyの話題に触れているな。恐らくは「Antinny」関連の駆除ツールのDL数が多いんだろう。

2006/03/22 Wed.

非常にアホかと思われるかもしれないけれど、例の計算機を小数点計算も正確にできるように改造中。かなり難しいかも。
ついでに一時メモリーの使用も可能にしてみたり。つーか、一時メモリーは簡単だけど小数点計算はホントにメンドい。
Javascriptで小数点の計算を行うと、細かい部分で誤差が出て正確な値が取得できない。どうやってこれを回避するか。

alert('1.15 * 3 = ' + 1.15 * 3);

上記の計算結果はどう見ても3.45になるはずなのだが、小数点を正確に計算できない仕様のために変な結果が出てしまう。
いや、これを仕様と言うのは間違いか。PC内部での計算が全て2進法で行われていることによる現象と言うべきかもな。
浮動小数点の数値を2進法に変換した場合、きっちり当てはまらない場合にこの現象が起こる。簡単な回避策は四捨五入。
しかし、計算機にもかかわらず勝手に四捨五入を行うというのはいかがなモノか。それって計算機として成り立たないって。
さて、この現象を回避する策は無いことは無いのだが、凄まじいまでに手間がかかりそう。時間をかけてやってみよっかな。

2006/03/23 Thu.

2016/01/09 追記
この部分には、Javascriptでゴチャゴチャと計算機を書いて置いてたんだけど、邪魔臭いので撤廃。

コーディングしててキレそうになってきた。ボタンを押した時の動作が微妙にもたつく。外部ファイルにした方が速いか?
ソースを見ると500行くらいのスクリプトが書いてあるのがわかると思う。改行が多いから、320行前後といったトコか。
まだ±の記号を設定できないのがダメだな。一時メモリーや小数点の正確な計算に関しては動いてくれるとは思うが。
小数点の計算に関してはかなりお手上げ状態だったので、ネットであれこれ調べながら作ってみた。多分合ってるよな?
整数の計算はできて小数点の計算がダメだというのなら、小数点を整数に一旦戻してから計算して、小数点の桁を戻す。
大きい桁の計算になっても変なことになるけど、所詮はJavascriptだ。20桁超えの計算とかまで面倒見ていられない。
0での除算チェックとかも入れてみたけど、正確に動いてんのか?怪しい部分が満載でどうかと思うぞ、このソースは。
ってか、絶対もっと綺麗なソースに書き直せると思う。0での除算チェックや変数初期化部分とかも共通化できるだろうし。

3月20日の雑記で<INPUT>タグをhiddenで使ってた部分があるけど、今さらこれで悩むハメになるとは思わなかった。
このタグの置き場所が悪いと、「The W3C Markup Validation Service」でチェックをかけた際に引っかかってしまう。
どうやら「このタグは必ずこのタグの中に置かれなければならない」という、複雑すぎるルールも存在しているようだ。
もちろん、最低限のルール(例えば<TR>は<TABLE>の中とか)ならわかってるけど、フォーム系は意外にややこしい。
色々と調べてみると、「Another HTML-lint」というサイトがあった。ヤバい、これは面白い上に相当役に立つんだけど。
特にこの中の「Tags List」が役に立つ。各HTMLの規格に沿ったタグの構造が非常にわかりやすくまとまめられている。
つーか、「The Web KANZAKI」というサイトの「ごく簡単なHTMLの説明」とか読むと、自分のサイトを反省したくなる。

HTMLは画面をレイアウトするためではなく、文書を環境に依存せずに共有できるように記述するための約束です。

おっしゃる通りでございます。でもね、しょうがないんですよ。基本デザインもHTMLで作るとコピペで使いまわせるんですよ。
手抜きサイト運営にとって、HTMLでデザインを組むのは常識なんですよ。一応頑張ってHTML 4.0 Transitionalなんですよ。
サイトをリニューアルした暁にはHTML 4.0 Strictを目指したいと思っているんですよ。でもね、永遠にお待ち下さい。

唐突にどうでもいい話になるけど、自分の携帯は「V603SH」です。Javaアプリもそこそこの速度で実行してくれます。
で、以前からずっとやってる麻雀のアプリがあるんだけど、今日になってこのアプリのダメさを心底実感した。
栄なのに自摸とか、平和なのに平和がつかないとか、海底なのに海底がつかないとかは日常的なんだけどさ。
要するに、役の判定が超適当なんです。適当と言うか、むしろ判定が間違っているワケで。んで、以下の画像を。

どう見ても四暗刻単騎の自摸でダブル役満の64,000点和了のはずなのだが、判定がクソすぎて満貫にしかならないとか。
無料でも有料でもいいから、誰かまともな麻雀のJavaアプリ教えてくれませんかね。もうハズレは引きたくないっての。

2006/03/24 Fri.

今日から来週の水曜だか木曜までの約一週間、両親が九州に行っているので擬似的一人暮らしになる。お気楽生活万歳。
で、今日の朝起きた時点で既に両親が家に居なかったり。何つー時間に出て行くんだ。車で九州までとか親父もよくやるわ。

んで、以前は諦めかけたコメント投稿と表示。やっぱりこれは実装したいトコだ。ページの見た目のアクセントにもなるし。
トラックバック?何ですかそれ?そんなの実装してたら次の世紀に跨ぐハメになりそうだ。簡易掲示板扱いってトコかな。
最低限のデザインも決められたし、後はガリガリとCGIを書かなければ。大きく分けて表示用と投稿用のCGIでいいっぽい。
コメントを表示するためのリンクの部分だけど、ここに表示されるべきコメントの総数、これは表示しない方向でいこう。
総数を取得するにはCGIを起動して日付ごとにまとめられたログファイルを読み、その総行数を返す必要があるからだ。
HTMLソースを見ればわかるけど、コメントのリンクの後ろに<IFRAME>がある。ここにページ表示時にCGI起動でいいのか。
しかし、コメント総数を取得ってことで一週間分が書かれたページを開くだけでCGIを7回起動するってのも嫌な感じだな。
この辺のは設計する段階で考えればいいか。実装するつもりなら、コメント総数取得CGI単体ならすぐに書けるだろうし。
んで、コメントをつけるにあたって必要な機能って何だ。URLの自動リンクと、削除キーによるコメント削除くらいだろうか?

つーか、結構真面目にあれこれ考えてはいるものの、このサイトを見てる人なんて超少数だし、コメントなんか付かねー。
一瞬にしてコメント機能の存在意義が揺らいだぞ。でも、一応勉強になるからいいのか?自己満足ってことで納得しとくか。

2006/03/25 Sat.

今日は大学の後輩達の卒業式。S保や「gadult」も来るらしい。とりあえず「gadult」が15時くらいに行くらしいので合わせる。
親がいない家にメシがあるはずもなく、多摩センでカレーを食ってから大学へ向かう。最後に来たのはいつだったっけか?
とにかく腹を満たしてから大学へ向かい、生協会議室に着いたのが16時くらい。S保はいたが「gadult」がいない。
何やら寝過ごしたとか言ってるが、睡眠に関しては自分は何も言える立場に無いのでスルー。K岡もいなかったな。
会議室に入ると、もう何回見たか忘れたすらも見慣れた光景が。仙台の銀行員ことS野もやはり遠路遥々来ていました。
卒業生達とあれこれ話してると、一室に集合がかかって在校生から花束進呈。その後に卒業生から一言ずつ話を頂く。
結局18人とかくらいの学年が卒業のはずだけど、最終的に6人だか7人くらいは残留らしい。卒業率が過去最低の学年だ。

19時くらいに立川に着いて、立川北の何とかって飲み屋に移動。店の名前をメモり忘れた。食事の質はなかなかのトコだ。
立川北の「ミスタードーナツ」の入っている建物の6階だったはず。そういや、多摩センに「ミスタードーナツ」ができたな。
2時間程食って飲んで話をして。どこぞの女カメラマンの卒業生さんよ、俺らに対して気が利くのはいいが、主賓は貴方です。
それにしても、自分の3つ下の連中もついに卒業か。これで大学の卒業式関連のイベントに顔を出すのは最後だろうな。
サーモンのカルパッチョ、豆腐サラダ、タイ風チャーハン、鶏の唐揚げ、デザートのアイスなどで4,000円はGJな店だった。

店を出てから記念撮影やらをして、一部の人は二次会へ。S保も「gadult」も少しは顔を出すと言うので、自分も行くことに。
そうそう、K岡は立川へ移動するちょい前に大学に来てました。とりあえず、自分含めたこの4人はお決まりということか。
二次会の場所は既に取ってあったらしく、立川南の「AREAREA」に入っている「海鮮処 和民市場」へ。以前にS保と来たな。
20人くらいで入ったのだが、部屋がどう見ても12人くらいが限界の場所。無理やり詰めまくっても、部屋の外まで溢れる。
一部の人は立ちっぱなしというな悪環境の中、とりあえず飲み物を頼んで乾杯。「gadult」のラムネが哀れだったのはスルー。
しかし、ここで頼んだソルティードッグの不味いこと。あのな、ソルティードッグにピンクグレープフルーツを使わないでくれよ。
で、23時ちょいになったくらいで自分は切り上げる。一部の卒業生は朝まで遊ぶらしい。まぁ最後だし遊んでおきなさい。
どうやらI黒とN村が「gadult」の家に行くらしく、N村の車に便乗させてもらって家まで帰る。やっぱ車だと移動が楽だわな。
S木、N倉、A宮、S貝などの4年生一同、卒業おめでとう!卒業しない人もいるけど、まぁこれからも頑張ってやってくれ!