このブログを検索

大文字小文字を区別する 正規表現

Atelierで“引数”が含まれるブログ記事

2010年7月 4日

隠居のブログ:アクセスカウンターを変更

 MT でブログを始めた頃、レンタルサーバーは lolipop を使っていた。容量が足りなくなってきて、2008年5月、その当時安かったディスク容量 3GB で月額 1050円の Xserverに鞍替した。(現在は、40GB 月額¥1050)
 その当時から、アクセスカウンターは lolipop のサービスを使わせてもらっていた。Xserver に変更してからも、そのカウンターは機能していたのでそのままにしていたが、先日突如カウンターが表示されなくなった。サーバーの契約はとっくに終わっているのだから文句をいう筋合いではない。それで、アクセスカウンターを変えることにした。

 Xserver にもアクセスカウンターのサービスはあるが、単純に累計を表示するだけだし、自分でデザインなどを変更できないのであまり面白くない。
 ネットでググってみるとフリーのサービスがゴマンとある。その中から、私のサイトで運営している Studio YAMAKO, Masajii's Blogに使っている Kent webカウンターを設置してみることにした。この中にある累計と昨日・今日の訪問者を表示する daycounter をインストールすることにした。このカウンターは自由度は高いが、CGI プログラムなので少し敷居が高かった。歳をとってすぐに手順を忘れるので、備忘録として記録しておきたい。詳しくは上のページ(日計カウンタの設置方法)にあるが、私がインストールした手順は次のとおりである。
  1. daycount ver. 2.7(daycount.zip) をダウンロードして、LHUT32 を使って解凍した。
  2. 解凍すると、以下のファイルが展開されるので、daycount という新しいなフォルダーを作り、そこに格納した。
     daycount.cgi
     daycount.dat
     gifcat.pl
  3. 次に、2組の0~9までのカウンタ画像(GIFファイル)を用意しなければならない。私は、上のページで紹介されている海外サイトである【Digit Mania】からいただいた。Top ページの Places To Go の一番上にある Contents をクリックするといろいろな種類のGIFファイルが表示されている。私は、Arial Italic Small を選択し、クリックするとダウンロードのページが開くので、PKZiped をクリックして zip ファイルをダウンロードした。これを解凍すると下の図の左のようなファイル名となるので、これをdaycount の仕樣に合うように、右のようなファイル名に変更する必要がある。
    gousei.JPG
    ファイル名の変更には、Renamin.exe を使って一括変更したが、もちろん1ファイルずつ名前変更してもできる。
  4. 私の場合、同じ数字GIFファイルを累計カウントにも、今日・昨日のカウントにも使ったので、gif1, gif2 というフォルダーを daycount フォルダーの下に作り、ここに先程の名前変更後の数字GIFファイルをそれぞれ収めた。
  5. 次に、daycount.cgi をエディタ(私の場合、【秀丸】)で開いて、 総カウント数の桁数 を、前のカウンタ累計数は正確に記憶していないが、35万台になっていたように思うので、6桁に変更した。Perl のパスなど他の設定は、初期値のままにした。 総カウント用GIF画像のディレクトリへのパスなどは迷ったが、初期値のままでOK だった。
  6. 前のカウンタ累計数を引き継ぐために、正確ではないが、Xserver のカウンターで示していた 360625 から始めることにした。この設定は、daycount.dat ファイルを開くと、 15<>0<>0<>0<><> となっているので、15<>0<>0<>360625<><> とすればよい。
  7. このように設定した daycount ローカルフォルダを、FTP ソフト(私の場合、FFFTP )で、/public_html の下に、アップロードした。
    daycount フォルダーの置き場所を間違って気づくのにずいぶん時間がかかった。私の場合、同じドメインに3つのMT ブログを設置しているのだが、今回カウンターの設置はそのうちのひとつだったので、そのサイトのルートに置けばよいと早合点してしまっていた。
  8. アップロードして、各ファイルのパーミッション(FFFTP では属性)を、Xserver の場合、
     daycount.cgi 【705】
     daycount.dat 【606】
     gifcat.pl 【604】
    とした。
  9. ここまで設定すると、cgi が正常に動くかをチェックできる。ブラウザのURL欄に、http://..(略)../daycount.cgi?check というように check という引数を付けて daycount.cgi を起動してみて、正常に動けば次のような画面が表示される。
    cgi_check.JPG
  10. あとは、カウントしてもらうサイトのホームページに、元のコードを少しいじって、次のようなHTMLコード を貼りつけた。私のブログの場合(MT4 小粋空間のテンプレート使用)、テンプレートモジュールのサイドバーテンプレートに貼り付けている。
    <!-- Kent Counter -->
    <table>
    <tr><td>累計: </td><td><table border=1><tr>
          <td><img src="http://n-shuhei.net/daycount/daycount.cgi?gif"></td>
        </tr></table>
      </td></tr>
    </table>
    本日:<img src="http://n-shuhei.net/daycount/daycount.cgi?today">  昨日:<img src="http://n-shuhei.net/daycount/daycount.cgi?yes">
    


 この日計カウンタは、複数ページに設置することはできないので、Studio YAMAKO, Masajii's Blogとは、従来どおりの dream counter で続けたい。
 アクセス解析については、Reasearch Artisan Lite を導入している。この解析結果ログをうまく処理すれば、アクセスカウンターを表示できるはずであるが、これを実施するには相当な学習とそのための時間が必要である。古希が近づいた老人にはいささか辛い。

2008年3月28日

隠居のお勉強:JavaScript Basic (7) 関数

 全く自己満足の世界であるが、W3Schools での JavaScript Tutorial でお勉強を続けてみたい。

 今回は、[JS Functions]の項である。Function は、Example で既に使われているので、今回はおさらいである。
  • Function(関数)とは、イベントあるいは関数が呼び出されるときに実行される再使用可能なコードの集まりである。
    • おさらいのために、今回次のような学習のためのJavaScript を作成した。
    • ブログ・サーバーにおいた LinkButton.js という名前の js ファイル。
      //JavaScript Study Making Link Button
      function link_button()
      {
      var name=prompt("リンクする URL 名を入力ください。","URL");
      if (name!=null && name!="")
      {
      window.open(name);
      }
      }
    • この中で、prompt box に入力された URL を新しいウィンドウに開くという関数 link_button を設定している。
    • この関数を、ページを開いた時に呼び出すために、HTMLの <head> 部(MTのテンプレートで)においた。関数は、 <head> 部にも、 <body> 部にもおくことができるが、<head> 部におく方が賢明なようである。
    • <head> 部に関数を設定している js file を呼び出すためのHTML。<$MTBlogURL$>はMovableType のテンプレート・タグであり、私の場合、http://n-shuhei.net/blog/ を置換するタグである。
      <script type="text/javascript" src="<$MTBlogURL$>LinkButton.js"></script>
    • 呼び出した関数を実行するために、 <body> 部に関数 link_button() を実行させる次のような HTML を記述する。
      <input type="button" value="URL you want" onclick="link_button()" />

    • 右のボタンをクリックするとリンク先のURLを入力できる。  

    • 上の例は、arrgument (引数)がない場合の関数であるが、一般的には、次のような構文となる。
      function functionname(var1,var2,...,varX)
      {
      some code
      }
    • var1,var2 などは関数に取り込まれる変数または値である。 { と } は、関数の始めと終わりを示す。
    • var1,var2 などの引数がない場合にでも、関数名の後ろに () をつけなければならない。
    • 関数名は、小文字なければならない。JavaScript は大文字・小文字の区分が厳格である。


    • 関数ではまた、次のように関数から戻される値(戻り値)を特定する return statement が使われることがある。
      function prod(a,b)
      {
      x=a*b;
      return x;
      }
    • 上の関数を呼び出すときは、次のように2つのパラメータが必要である。
      product=prod(2,3);
    • 関数 prod() からの戻り値は 6 となるが、この値は product という変数で保存される。
    • 関数の中で宣言された変数は、その関数の中だけで使われるローカル変数となる。関数の外で宣言された変数は、グローバル変数と呼ばれ、宣言されたページのどの関数でも使用できる。ページが閉じられたときに消滅する。