このブログを検索

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

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

2015年8月12日

隠居のパソコン備忘録:DVD movie から音声のみを取り出す

落語好きの友人がいる。落語百選といったDVD(Digital Video Desk)をたくさん持っているらしい。これらのDVDから音声のみを取り出すことはできないかと相談を受けた。車で音楽を聞くように聞きたいという。
 DVDというものはほとんど持っていないので、これらから音を取り出すというような試みは、今までしたことがなかった。一度トライしてみることにした。

"DVD 音声を取り出す" でググってみると DVD Decrepter というオープンソースがヒットした。これを使って、試しにどこかで格安で買っていた音楽DVD 「ニューオーリンズ」からルイ・アームストロングの演奏を取り出すことを試みた。うまくいったので、友人から落語のDVDを送ってもらって、音声をとりだし、MP3ファイルとしてCDに焼いて提供した。方法について備忘録として記録しておきたい。

友人に送り返してしまったので、手元に落語のDVDはないが、アカデミー賞受賞作品「明日に向かって撃て!」のDVDがある。この映画の音楽を担当しているバート・バカラック作品の曲の取り出してみた。例として、方法を記したい。PCの環境は、Windows7(64bit) である。

DVD から音声を取り出す方法

  1. DVD Decrypter を起動する。Decrypter は、V3.5.4.0 で開発中止となっているようだ。日本語化ファイルもあるようだが、Windows7 64bit ではうまく動かなかったので、英語版のまま使った。
  2. 音声を取り出すDVD を再生ドライブに入れると、DVDのタイトルが認識される。Decrypter の設定は、下のスクリーンショットのように、Mode は IFO に、右フレームでは、 StreamProcessing を選択する。
     EnableStreamProcessing にチェックを入れ、下のリストから Audio の項目中から音声を取り出そうとする項目を選択する。下のラジオボタンでは、Demux をチェックする。
     左の Destination で保存したいホルダーを表示する。右のホルダー アイコンをクリックするとエクスプローラが表示される。

    decrypter-001.jpg

  3. 上の DVD⇒HDD アイコンをクリックすると下のスクリーンショットのように音声の取り出しが始まる。

    decrypter-002.jpg

  4. 取り出した音声ファイルは、「VTS_01_1 - 0x81 - Audio - AC3 - 2ch - 48kHz - DRC - Japanese - DELAY -85ms.AC3」と言うような名前で拡張子が .AC3 と付いている。このままでは、一般的に使えないので、mp3 に変換する。
     私は、音声ファイルの変換は、フリーの Switch Sound File Converter というソフトを使っている。このソフトを使えば、ほとんどの音声ファイルは変換してくれる。変換したファイルは、適宜名前を変更した。

    decrypter-003.jpg

  5. 落語など、始めから終わりまで続けて聞くファイルは、そのまま使用できるが、 ファイルの一部を取り出すには、Roxio Sound Editor を使えば良い。方法については、【隠居のパソコン備忘録:IPサイマルラジオ音楽番組を予約録音し、曲を取り出す(2)】に記録している。

取り出した音声ファイルの例として、DVD「明日に向って撃て!」 の中で流れるバート・バカラックの曲をアップした。DVD 中の soundtrack を抜き出すのは、いささか time consuming の作業ではあるが。
日本語台詞入りRaindrops Keep Fallin'on My Head
上の再生マークをクリックすると音が聞こえてきます。ただし、MP3 Player が必要です。

2014年7月 8日

隠居のパソコン備忘録:(続)カセットテープやWebRadio を直接 デジタル録音して分割する方法(1)


 若かりし頃にエアーチェックしたり、友人からもらったりした音楽のカセットテープがある。これらをデジタル化してパソコンに取り込んでおこうと思った。
 カセットテープの音源をデジタル化する方法については、【隠居のパソコン備忘録:(続)LP をデジタル(MP3)化して、音楽CD にする】に記録している方法を応用すればいいと考えた。
 が、13年前に求めた Pioneer のミニコンボのオプションとして組み込んでいたカセットデッキを動かしてみると、うまく動かない。どうやらテープを駆動するゴムが切れてしまったのかもしれない。
 今更、修理をする気もなく手付かずに置いてあった。それでも気になって、安価なカセットデッキはないかとネットをサーチしていると、テープを再生させながらMP3化して、SDカードまたはUSBメモリーに記録するというカセットデッキが売りだされていることが分かった。思わず衝動買いした。

 これがなかなか優れものだった。
  • カセットテープを再生させながら、デジタル化(MP3)して SDカードまたはUSBメモリーに収納できる。
  • パソコンまたはスマホで、WebRadio(例えば、Live365 や NHK ラジオ放送 らじる★らじる など)を受信し、ミニステレオプラグで AUXI N につなぐと、そのまま SDカードまたはUSBメモリーに MP3 で録音できる。
  • オーディオで LP を再生させながら、オーディオの出力と、このデッキをミニステレオプラグで繋げば、そのままMP3録音することが出来る。


 MP3録音したUSBメモリーを、パソコンのUSBコネクターに差し込んでフォルダーとファイルを確認すると、カセットテープから収録した場合や、AUXI N で収録した場合は、
    ¥リムーバブル・ディスク¥RECORD¥LINE_IN¥001.MP3 
のようになっている。
 これらのファイル名は変更できるから、例えば収録した日付を入れた 140707_001.MP3 のようなファイル名に変更しておいたほうがいいだろう。それを、パソコンの中の適切なフォルダーにCut&Paste しておけば、あとあと扱いやすくなる。    

 それに、例えば 23分のクラシック・テープをまるまる収録した場合は、わずか 20MBバイト位だから、4GBくらいのUSBメモリーでも、ずいぶんたくさんのカセットテープの音源を収録することができる。

録音したMP3ファイルを分割する方法
 何曲か入ったテープを再生、録音する場合や、ラジオ放送をUSBメモリーに録音する場合、細かに録音オン・オフを繰り返さないかぎり、一つのMP3ファイルとして収録される。
 この連続録音したMP3ファイルを曲ごとに分割するには、私は Sound Engine Free というソフトを使っている。しかし、このSound Engine Free は、wav ファイルしか扱えないので、Switch Sound Converter というソフトを使って、wav ファイルに変換する。

Switch Sound Converter の画面 Converter-01.JPG

   Sound Engine Free でファイルを分割する
  1. Switch Sound Converter で変換した wav ファイルを開く。
  2. メニューアイコン下の作業選択タグで、【フォルダー】を選択し、波形下のスライド・バーで音の切れ目を探す。はっきりしない場合は、作業選択タグで【再生】を選び、分割したい前後の音を再生して確認する。
  3. 分割点を見つけたら、波形の上の時間バーを右クリックすると、セレクトボックスが出てくるので、【ここにマークを追加する】 をクリックすると時間バーにmark1.JPG マークが印される。
    Converter-02.JPG
  4. 作業選択タグ 【フォルダー】で、【設定フォルダー】を保存するフォルダーに指定する。
  5. メニューバー【ファイル】⇒【その他の保存】⇒【マークで分割保存】を選択すると、マークの数+1のファイルが、NewFile_1, .._2 , ..として保存される。
  6. これらの wav ファイルを、mp3 化するには、上の Switch Sound Converter を使えば良い。

  7. 例:分割したファイルを収録したフォルダーの内容 Converter-04.JPG

     上のフォルダーの内容でわかるように、これではタイトルやアーティストが分からない。これらを補う方法については、追って記録をUPしたいと思う。

2012年9月22日

隠居のパソコン備忘録: Google Maps API JS V3 で、番号付きマーカーを表示する

 
 従来、右フレームの【晩秋の宍道湖私的観光地図】は、Google Maps API のV2版で作成したものを置いていた。V2 でかいた地図はまだ動くが、2010年5月に廃止されており、V3 へ移行することが奬められている。
 この地図では、必要性はあまりないが、マーカーに番号を表示させていた。新しく V3 で作りなおすときにも、学習も兼ねて番号を表示させたかった。

 ところが、番号入りマーカーを表示するサンプルコードが見つからない。V2 で作成したコードを V3 に置き換えることも試みたが、悲しいかな十分な知識がないし、一から勉強する意欲もないので、うまく行きそうにない。
 今までに成功した V3 のコードを眺めていると【Google Maps API JS V3 で、カテゴリー別に色違いマーカーを表示する】 で使ったコードを、わかる範囲でいじってみれば、なんとかなるのではないかと思われた。色違いのマーカーを、番号付きマーカーに置き換えるのである。この地図では、category 別に赤・青・黄色・緑などのマーカーにしているが、これを番号つきのマーカーに置き換えるのである。また、また、一つずつのマークを、一つのカテゴリーと考えるのである。
 このコードでは、マーカーを立てる地点の経度・緯度や吹きだしに表示するHTMLなどは、XML ファイルを読み込んでくることになっている。V2 で作成した地図では、HTMLの中に直接入力されていた。

 とりあえずうまく表示できるようなので、自分用の備忘録として、XML ファイルおよびHTML コードを記録しておきたい。よくわかった人から見れば、へんてこなコードとなっていると思うが、古希を超えるとほとんど羞恥心はなくなっている。

使用したXML ファイル。項目 category は num01, num02・・・のようになっている。
<?xml version="1.0" encoding="utf-8" ?> 
- <markers>
  <marker name="1:宍道湖温泉" address="   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4820-1.JPG" title="宍道湖の夕焼け" rel="lightbox[sinjiko]">宍道湖の夕焼け</a><br/>   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4831.JPG" title="宍道湖の朝" rel="lightbox[sinjiko]">宍道湖の朝</a>" lng="133.053875" lat="35.469199" category="num01" /> 
  <marker name="2:米子水鳥公園" address="   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01539.JPG" title="コハクチョウ" rel="lightbox[sinjiko]" >コハクチョウ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01510.JPG" title="オナガガモ:♀を追いかける♂たち" rel="lightbox[sinjiko]" >オナガガモ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01529.JPG" title="マガンの群れ:沖の州" rel="lightbox[sinjiko]" >マガンの群れ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01591.JPG" title="キンクロハジロ?" rel="lightbox[sinjiko]" >キンクロハジロ</a>" lng="133.284674" lat="35.44333" category="num02" /> 
  <marker name="3:宍道湖グリーンパーク" address="   <a href="http://n-shuhei.net/atelier/video/digisco_1.wmv" target="_blank">コハクチョウ(video)</a><br/>   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01620.JPG" title="セグロセキレイ" rel="lightbox[sinjiko]" >セグロセキレイ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01632.JPG" title="トビ?" rel="lightbox[sinjiko]" >トビ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_birds/0911211.jpg" title="ジョウビダキ?" rel="lightbox[sinjiko]" >ジョウビダキ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4872.JPG" title="ゴビウスにある水槽" rel="lightbox[sinjiko]">ゴビウスにある水槽</a>" lng="132.866077" lat="35.444729" category="num03" /> 
  <marker name="4:出雲大社" address="   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4886.JPG" title="出雲大社にて" rel="lightbox[sinjiko]">出雲大社にて</a>" lng="132.685919" lat="35.401434" category="num04" /> 
  <marker name="5:足立美術館" address="   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4908.JPG" title="足立美術館の紅葉" rel="lightbox[drive]">足立美術館の紅葉</a><br/>   <a href="http://n-shuhei.net/atelier/photo_drive/Stitched_003.JPG" title="枯山水の庭:3枚の合成写真" rel="lightbox[drive]">枯山水の庭</a><br/>   <a href="http://n-shuhei.net/atelier/DSC_4932.JPG" title="足立美術館:絵画を観ているように" rel="lightbox[drive]">仏間から庭を望む</a>" lng="133.198242" lat="35.377854" category="num05" /> 
  <marker name="6:米子自動車道大山PA" address="   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4720-1.JPG" title="雪化粧した大山:大山PAより" rel="lightbox[sinjiko]">大山の紅葉</a>" lng="133.419342" lat="35.386531" category="num06" /> 
  </markers>


 作成した地図作成の稚拙なHTMLコード(Google Maps API V3 のJavaScript を含む)は、右フレームに掲載している【晩秋の宍道湖私的観光地図】のソース・コードを見ていただければ、わかると思うが、参考までに下に記載し、少しのコメントを加えたいと思う。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 

<title>Google Maps Javascript API v3 Example: Marker Categories</title> 

<!-- jQuery lightbox2.51 -->
<script type="text/javascript" src="http://n-shuhei.net/atelier/Jquery2.51/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="http://n-shuhei.net/atelier/Jquery2.51/js/lightbox.js"></script>
<link rel="stylesheet" type="text/css" href="http://n-shuhei.net/atelier/Jquery2.51/css/lightbox.css" media="screen" />

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript" src="http://n-shuhei.net/atelier/maps/V3test/downloadxml.js"></script>
    <title>Google Maps</title>
<style type="text/css">
html, body { height: 100%; } 
</style>
    <script type="text/javascript">
    //<![CDATA[
      // this variable will collect the html which will eventually be placed in the side_bar 
      var side_bar_html = ""; 
      var gmarkers = [];
      var gicons = [];
      var map = null;
var infowindow = new google.maps.InfoWindow(
  { 
    size: new google.maps.Size(150,50)
  });

gicons["01"] = new google.maps.MarkerImage("http://n-shuhei.net/Googlemaps/Markers/marker_01.png",
      // This marker is 20 pixels wide by 34 pixels tall.
      new google.maps.Size(20, 34),
      // The origin for this image is 0,0.
      new google.maps.Point(0,0),
      // The anchor for this image is at 9,34.
      new google.maps.Point(9, 34));
  // Marker sizes are expressed as a Size of X,Y
  // where the origin of the image (0,0) is located
  // in the top left of the image.
  // Origins, anchor positions and coordinates of the marker
  // increase in the X direction to the right and in
  // the Y direction down.

  var iconImage = new google.maps.MarkerImage('http://n-shuhei.net/Googlemaps/Markers/marker_01.png',
      // This marker is 20 pixels wide by 34 pixels tall.
      new google.maps.Size(20, 34),
      // The origin for this image is 0,0.
      new google.maps.Point(0,0),
      // The anchor for this image is at 9,34.
      new google.maps.Point(9, 34));
  var iconShadow = new google.maps.MarkerImage('http://n-shuhei.net/atelier/maps/V3test/msmarker.shadow.png',
      // The shadow image is larger in the horizontal dimension
      // while the position and offset are the same as for the main image.
      new google.maps.Size(37, 34),
      new google.maps.Point(0,0),
      new google.maps.Point(9, 34));
 
function getMarkerImage(iconNum) {
   if ((typeof(iconNum)=="undefined") || (iconNum==null)) { 
      iconNum = "01"; 
   }
   if (!gicons[iconNum]) {
      gicons[iconNum] = new google.maps.MarkerImage("http://n-shuhei.net/Googlemaps/Markers/marker_"+ iconNum +".png",
      // This marker is 20 pixels wide by 34 pixels tall.
      new google.maps.Size(20, 34),
      // The origin for this image is 0,0.
      new google.maps.Point(0,0),
      // The anchor for this image is at 6,20.
      new google.maps.Point(9, 34));
   } 
   return gicons[iconNum];
}

function category2num(category) {
   var num = "01";       
   switch(category) {
     case "num01": num = "01";
                break;
     case "num02": num = "02";
                break;
     case "num03": num = "03";
                break;
     case "num04": num = "04";
                break;
     case "num05": num = "05";
                break;
     case "num06": num = "06";
                break;
     default:   num = "01";
                break;
   }

   return num;
}

      gicons["num01"] = getMarkerImage(category2num("num01"));
      gicons["num02"] = getMarkerImage(category2num("num02"));
      gicons["num03"] = getMarkerImage(category2num("num03"));
      gicons["num04"] = getMarkerImage(category2num("num04"));
      gicons["num05"] = getMarkerImage(category2num("num05"));
      gicons["num06"] = getMarkerImage(category2num("num06"));
      // A function to create the marker and set up the event window
function createMarker(latlng,name,html,category) {
    var contentString = html;
    var marker = new google.maps.Marker({
        position: latlng,
        icon: gicons[category],
        shadow: iconShadow,
        map: map,
        title: name,
        zIndex: Math.round(latlng.lat()*-100000)<<5
        });

        // === Store the category and name info as a marker properties ===
        marker.mycategory = category;                                 
        marker.myname = name;
        gmarkers.push(marker);

    google.maps.event.addListener(marker, 'click', function() {
        infowindow.setContent(contentString); 
        infowindow.open(map,marker);
        });
}

      // == shows all markers of a particular category, and ensures the checkbox is checked ==
      function show(category) {
        for (var i=0; i<gmarkers.length; i++) {
          if (gmarkers[i].mycategory == category) {
            gmarkers[i].setVisible(true);
          }
        }

        // == check the checkbox ==
        document.getElementById(category+"box").checked = true;
      }

      // == hides all markers of a particular category, and ensures the checkbox is cleared ==
      function hide(category) {
        for (var i=0; i<gmarkers.length; i++) {
          if (gmarkers[i].mycategory == category) {
            gmarkers[i].setVisible(false);
          }
        }

        // == clear the checkbox ==
        document.getElementById(category+"box").checked = false;
        // == close the info window, in case its open on a marker that we just hid
        infowindow.close();
      }

      // == a checkbox has been clicked ==
      function boxclick(box,category) {
        if (box.checked) {
          show(category);
        } else {
          hide(category);
        }

        // == rebuild the side bar
        makeSidebar();
      }

      function myclick(i) {
        google.maps.event.trigger(gmarkers[i],"click");
      }

      // == rebuilds the sidebar to match the markers currently displayed ==
      function makeSidebar() {
        var html = "";
        for (var i=0; i<gmarkers.length; i++) {
          if (gmarkers[i].getVisible()) {
            html += '<a href="javascript:myclick(' + i + ')">' + gmarkers[i].myname + '<\/a>' + ' ' ;
          }
        }

        document.getElementById("side_bar").innerHTML = html;
      }

  function initialize() {
    var myOptions = {
      zoom: 10,
      center: new google.maps.LatLng(35.430603,133.012136),   //松江
      mapTypeId: google.maps.MapTypeId.HYBRID
    }
    map = new google.maps.Map(document.getElementById("map"), myOptions);
    google.maps.event.addListener(map, 'click', function() {
        infowindow.close();
        });

      // Read the data
      downloadUrl("http://n-shuhei.net/atelier/maps/V3_sinnjiko_num.xml", function(doc) {
  var xml = xmlParse(doc);
  var markers = xml.documentElement.getElementsByTagName("marker");
        for (var i = 0; i < markers.length; i++) {
          // obtain the attribues of each marker
          var lat = parseFloat(markers[i].getAttribute("lat"));
          var lng = parseFloat(markers[i].getAttribute("lng"));
          var point = new google.maps.LatLng(lat,lng);
          var address = markers[i].getAttribute("address");
          var name = markers[i].getAttribute("name");
          var html = "<b>"+name+"<\/b><p>"+address;
          var category = markers[i].getAttribute("category");
          // create the marker
          var marker = createMarker(point,name,html,category);
        }

        // == create the initial sidebar ==
        makeSidebar();
      });
    }

    //]]>
    </script>
  </head>

<body style="margin:0px; padding:0px;" onload="initialize()"> 
    <!-- you can use tables or divs for the overall layout -->
    <table border=1 >
<tr><td align="center"style="width:1000px; background-color: #ffffe0;" ><br /><h2>晩秋の宍道湖私的観光地図</h2></td></tr>      
<tr><td>
           <div id="map" style="width: 1000px; height: 500px"></div>
        </td></tr><tr>
<td valign="top" style="width:1000px; background-color: #ffffe0; font-size: small;"> 
 上の地図は、Google Mapsの機能を持っています。拡大・縮小・移動ができます。下の該当番号をクリックすると該当番号マーカーに吹きだしが出てきます。その吹き出しにある青文字をクリックすると写真(一部 動画)がでてきます。</td></tr><tr>
        <td valign="top" style="width:1000px; background-color: #ffffe0; font-size: small;"> 
           <div id="side_bar"></div>
        </td>
      </tr>
    </table>


    <noscript><b>JavaScript must be enabled in order for you to use Google Maps.</b> 
      However, it seems JavaScript is either disabled or not supported by your browser. 
      To view Google Maps, enable JavaScript by changing your browser options, and then 
      try again.
    </noscript>

<br /><br />
<!-- Google AdSense -->
<script type="text/javascript"><!--
google_ad_client = "pub-8556873278052332";
/* AdSense foot ad */
google_ad_slot = "1589991765";
google_ad_width = 728;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
  </body>
</html>


  • 番号付きマーカーは、dLINKbRING というサイトからダウンロードできる
  • 表示する地図を、ラベル付き航空写真とするには、mapTypeId: google.maps.MapTypeId.HYBRID とすればよい。通常は、HYBRID の部分が、ROADMAP となっている。
  • マーカーをクリックしてでる吹きだしの中に表示される写真リンクをクリックして出てくる写真を、同一画面の中央に表示するJavaScript ソフト lightbox は機能する。 jQuerylightbox2.51 を使った。


2008年6月20日

カストマイズの履歴

 このページでは 2006年の1月から私のHomePageに手を入れた事柄について、備忘録的に記載していくつもりである。したがってこのページは、頻繁に再編集されるはずである。

  1. MovableTypeのデータベースをMySQL4 から MySQL5 へバージョンアップした。
    (2011/3/25)難易度 ★★★☆☆
  2. Google Maps API を使って野鳥出現地点をカスタム・マーカーでプロットすることを始めた。
    (2011/1/29)難易度 ★★★★☆
  3. 撮影場所別に分類した野鳥写真集のウェブページを作成した。
    (2010/11/30)難易度 ★★☆☆☆
  4. Studio YAMAKO と Masajii's Blog のタグクラウド・ページを作成し、変更した。
    (2010/7/10)難易度 ★★☆☆☆
  5. atelier のアクセスカウンターを Kent Web の Daycounter に変更した。
    (2010/7/4)難易度 ★★★☆☆
  6. Google Maps API 用の XML ファイルを編集するXML Notepad 2007 を導入した。
    (2010/6/24)難易度 ★★★☆☆
  7. Research Artisan のサービスが2010年5月28日に終了するのに伴い、オープンソースのReasearch Artisan Lite を導入した。試験的に、Studio YAMAKO のアクセス解析に使用を開始した。
    (2010/4/11)難易度 ★★★☆☆
  8. IE8 に変えてからメインページの写真表示で lightbox の背景が黒くならないという不具合が生じていた。メインページで表示するエントリー数を10 に変更することで解決した。そのときに得た知識で、lightbox の背景画像を黒紙から図柄に変更した。
    (2010/3/21)難易度 ★★☆☆☆
  9. IE8 に変えてから、ページのソースを秀丸に表示することができなくなっていた。ネットで見つけた方法で、秀丸を指定することができた。
    (2010/2/19)難易度 ★★☆☆☆
  10. 日本では、eMusic から音楽ファイルをダウンロードできなくなった
    (2010/2/16)難易度 ☆☆☆☆☆
  11. ページでテーブルを作り縦にセルを連結するコードが分かった。
    (2010/2/11)難易度 ★★☆☆☆
  12. Live365 の放送が流している曲を録音し、MP3ファイル化する新しい方法を見つけた。
    (2010/2/7)難易度)★★★★☆
  13. ページにコードを表示する枠を指定する方法が分かった。
    (2010/1/30)難易度 ★★☆☆☆
  14. Google Maps API で作成する地図に改善を加えた
    (2010/1/29)難易度 ★★★★☆
  15. Windows XP のPCに IE8 をインストールした。
    (2010/1/7)難易度 ★★☆☆☆
  16. 野鳥識別掲示板へのリンクを右メニューに設置した。
    (2010/1/5)難易度 ★☆☆☆☆
  17. コメントする人が Google のアカウントを持っておれば認証できるようになった。
    (2009/12/27)難易度 ★★☆☆☆
  18. ブログ・ページから管理者にGoogleMail で発信する方法が分かった。
    (2009/12/10) 難易度 ★★☆☆☆
  19. 野鳥写真サムネイルを場所別・科別に変更し、ブログ外HTMLページに変更した。
    (2009/11/30) 難易度 ★★★★☆
  20. Live365 の LinkWidget をページの右メニューに設定した。
    (2009/11/30) 難易度 ★☆☆☆☆
  21. ウエブページ泉北近辺私的観光地図での地名表示XMLファイルを「あいうえお順」に並び替えた。
    (2009/8/26)難易度 ★★☆☆☆
  22. Studio YAMAKO の蝶の写真を科別に分類したリストをブログ外の Web Page として作成(異なるタイトル写真とするため)し、メニューにリンクボタンを設置した。
    (2009/8/23)難易度 ★★☆☆☆
  23. <
  24. Studio YAMAKO のタイトル画像を Flash 8 を使って変更した。
    (2009/7/9)難易度 ★☆☆☆☆
  25. 右メニューのJazz Collection へのリンクボタンを Radio Senboku Playlist へのリンクボタンに変更した。
    (2009/2/2)難易度 ★☆☆☆☆
  26. 右メニューに「播磨の蝶・但馬の蝶」および「ことりのさえずり」サイトへのリンクボタンを追加した。
    (2009/6/17)難易度 ★☆☆☆☆
  27. コメント入力フォームに、CAPTCHA を追加した。
    (2008/11/10)難易度 ★★☆☆☆
  28. 動画(AVIファイル)を編集してブログにアップした。
    (2008/10/22)難易度 ★★☆☆☆
  29. 野鳥の写真集をテーブル形式に改めた
    (2008/9/2)難易度 ★★☆☆☆
  30. 居間に新しいスタイルのPC:VGC-LM52DB を設置した。
    (2008/8/26)難易度 ★☆☆☆☆
  31. エントリー部分のみを印刷できるように、インデックス・テンプレートに印刷用CSSを置いた。
    (2008/8/24)難易度 ★★★☆☆
  32. /cgi/mt/lib/MT/Asset フォルダーにある Image.pm をいじって lightbox による画像の挿入を簡略化した。
    (2008/8/18)難易度 ★★★☆☆
  33. 英語での spamtrackbacks を阻止するために、asciiTBPingfilter プラグインを導入した。
    (2008/8/15)難易度 ★☆☆☆☆
  34. サイドメニューのリンクをJavaScript から再度CSSによる表示に置き換えた。少し、すっきりした。
    (2008/8/7)難易度 ★★☆☆☆
  35. Blog Atelier のヘッダー部分リンクを JavaScript から再度CSSによる表示に置き換えた。
    (2008/8/6)難易度 ★★☆☆☆
  36. TagCloud のページを作成し、リンクボタンを右サイドバーに置いた。
    (2008/7/22)難易度 ★★★☆☆
  37. 山小屋周辺の地図を Google Maps API で作成し、右サイドメニューにリンクボタンを設置した。
    (2008/7/6)難易度 ★☆☆☆☆
  38. Jazz Collection List をブログ atelier のウェブページとして作成し直し、public_html フォルダーの .htaccess にリダイレクトを設定した。
    (2008/7/14)難易度 ★★★☆☆
  39. エントリーにHTML のコードを書くことが多くなっている。それむけのタグ <pre> <code> を初めて使った見た
    (2008/7/78)難易度 ★☆☆☆☆
  40. 「DIY作品集」をブログ Atelier のウェブページに移した。ブログ Atelier フォルダーにある .htaccess に、RedirectPermanent を設定した。
    (2008/7/76)難易度 ★★☆☆☆
  41. ブログ記事/ウェブページの日付を公開日時に自動変更する藤本壱さんのプラグインを導入した。
    (2008/7/6)難易度 ★★☆☆☆
  42. .htaccess のリダイレクト機能を使って、元のブログへの訪問者を新しいブログへ誘導する設定を行った。Masajii's blog, Studio YAMAKO も同様の設定にした。
    (2008/7/4)難易度 ★★★★☆
  43. Studio YAMAKO のページを MT4.1 に合わせてリフォームした。
    (2008/7/1)難易度 ★★★☆☆
  44. Kinarie&May さんのMT用横長Flashカレンダーを復活させた。
    (2008/6/29)難易度 ★★★☆☆
  45. Research Artisan の「昨日のページ別アクセス・ランキング(Best10)」というタグを右サイドに貼り付けた。
    (2008/6/25)難易度 ★★☆☆☆
  46. MT3 の時に設定していたコメント編集HTMLタグボタンを設置した。
    (2008/6/24)難易度 ★★☆☆☆
  47. MT3 のときに設定していた行末の禁則処理をCSS に設定した。
    (2008/6/22)難易度 ★★☆☆☆
  48. 「キリ番カウンター」を設置した。
    (2008/6/22)難易度 ★★★☆☆
  49. 6月10日以来、新たなテンプレート・セットに合わせて、種々のカスタマイズを行った。
    (2008/6/22)難易度 ★★★★★
  50. MT4.1 のテンプレートセットを「小粋空間」さん提供のMT4用に変更した。
    (2008/6/10)難易度 ★★★★★
  51. MT3.35 から MT4.1 へ苦戦しながらバージョンアップした。
    (2008/6/3)難易度 ★★★★★
  52. MT4.1へのグレードアップに備えて、データベースを SQLite から MySQL に変更した。
    (2008/5/18)難易度 ★★★☆☆
  53. スパムコメント対策に入れていた SCode が上手く機能しないので、代わりに reCaptcha を導入した。
    (2008/5/13)難易度 ★★★☆☆
  54. レンタルサーバーを lolipop から xserver に変更した。
    (2008/5/10)難易度 ★★★★☆
  55. ParseError の原因発見方法が分かった。
    (2008/5/10)難易度 ★★★☆☆
  56. デジカメで撮った写真の一部が読み取れなかったが、「完全データ復元PRO2008」というソフトを導入して復元した。
    (2008/5/6)難易度 ★★★☆☆
  57. この CusomizeHistory の降順番号は、Mojilla 系の Firefox Netscape で番号が倍になる現象が出ていたが、JavaScript の勉強で原因がわかり修正した。
    (2008/3/31)難易度 ★★★☆☆
  58. JavaScript switch構文の勉強で、タイトル部横長カレンダー横に、本日の曜日を表示するようにした。
    (2008/3/21)難易度 ★★☆☆☆
  59. JavaScript の if...else if....else statement の勉強で、アクセス時刻によって歓迎の言葉が変化するスクリプトをタイトル部分に設置した。
    (2008/3/20)難易度 ★★☆☆☆
  60. Kinarie&May さんの「MT用フォトサムネイラー1.20」Studio YAMAKO のカテゴリーButterfly に適用した。
    (2008/3/11)難易度 ★★★☆☆
  61. Blog 右サイド リンクボタンを集合Flash Button(Title Menu と同様に)に改訂。
    (2008/2/24)難易度 ★★☆☆☆
  62. Blog Title 下のメニューボタンを Flash ボタンに変更した。
    (2008/2/24)難易度 ★★★☆☆
  63.  [新作!] という日本語Flashバナーを、Flash8 で作成し、タイトル・メニューで使用した。
    (2008/1/22)難易度 ★★☆☆☆
  64.  SoundEngine のスクリプト・コードを、体裁よくエントリーに取り入れるために、スタイル・シートに、div#menu というID属性を作成した。
    (2008/1/18)難易度 ★★★☆☆
  65.  [New!] というFlashバナーを、SoThinkQuicker で作成し、右サイドメニューで使用した。
    (2008/1/16)難易度 ★★☆☆☆
  66.  P4P800 SE のパソコンの電源が機能しなくなったので、新しい電源と交換した。ついでに、DiskのIDEケーブルをスマート・ケーブルに変えた。
    (2008/1/4)難易度 ★★★☆☆
  67.  P4P800 SE のパソコンのディスクに、もうすぐ壊れるかもしれないという SMART の警告が出たので、システム・ディスクの交換をした。
    (2007/12/29)難易度 ★★★★☆
  68. メインページもTagCloud のページへのリンクボタンを右サイドに設置した。
    (2007/11/8)難易度 ★☆☆☆☆
  69. P4P800 SE のパソコンの立ち上げ時に、CMOS Checksum error が出るので、マザーボード内蔵電池を交換した。
    (2007/10/29)難易度 ★★★☆☆
  70. TagCloud のページを作り、エントリー・カテゴリー・日別アーカイブの各テンプレートの右サイドにリンクボタンを設置した。
    2007/10/20)難易度 ★★☆☆☆
  71. 友のブログ Masajii's Weblog を開設した。
    (2007/10/16)難易度 ★★★☆☆
  72. TagCloudは、トップページのタイトル下に移設した。
    2007/10/8)難易度 ★☆☆☆☆
  73. Tag Cloud を右サイドメニューに設置した。
    (2007/9/13)難易度 ★★★★☆
  74. Studio Yamako のオーストリア・イタリア旅行写真集を Google Maps API を使って地図上に訪問地をマップした。
    (2007/8/20)難易度 ★★☆☆☆
  75. lightbox画像のキャプションにリンクが張れることが判明。最新のエントリーで実施した。
    (2007/7/5)難易度 ★★☆☆☆
  76. liteboxを使った写真表示に、白い点々(white noise) がでることがわかった。いろいろな調査の結果、lightbox2 に変更することによって解消することが分かった。
    (2007/6/20)難易度 ★★★★☆
  77. Atelier Shuhei Weblog の右メニューリンクボタンをサイト内とサイト外に分け、サイト内ボタンを統一した。クリックすると音が出るようなフラッシュボタンにした。
    (2007/6/15)難易度 ★★☆☆☆
  78. Studio YAMAKO にWeb Access Counter を設置した。
    (2007/5/25)難易度 ★☆☆☆☆
  79. Studio YAMAKO の背景色など変更に伴うコメントフォーム・メッセージ文字色を mt-site.js の一部を弄った
    (2007/5/24)難易度 ★★★☆☆
  80. Studio YAMAKO に、Kinarie&MayさんのFlash通常型のカレンダーを導入した。
    (2007/5/22)難易度 ★★☆☆☆
  81. yamakoさんの写真掲載用ブログ(Studio YAMAKO)を新たに設定した。本体(Atelier Shuhei Weblog)と同じようなカスタマイズを設定するのに手間取った。
    (2007/5/22)難易度 ★★★★☆
  82. DIY作品集へのリンクボタンを Flash8 で作成し、右サイドに設置した。効果音に、Effect Sound 集から、手ノコで木を切る音を挿入した。
    (2007/5/6)難易度 ★★☆☆☆
  83. Live365のキャンペーン Save Internet Radio に賛同し、バナーを右サイドに設置した。
    (2007/5/3)難易度 ★☆☆☆☆
  84. MT3.33-ja から MT3.35-ja にバージョンアップした。
    (2007/4/21)難易度 ★★☆☆☆
  85. Live365 での Radio Senboku の放送曲目を4分の1程度変更した。Album1 ~ 3 までの曲目で前回とは異なるアーティストにした。
    (2007/4/20)難易度 ★★☆☆☆
  86. Google Maps API による「京都・奈良私的観光地図」の作成に伴い右サイドメニューのリンクボタンを改訂した。
    (2007/4/18)難易度 ★★☆☆☆
  87. Kinarie&Mayさんの横長カレンダーが Version3.00 にされたので導入した。
    (2007/4/10)難易度 ★★☆☆☆
  88. 「音楽方丈記」に紹介されている Snap Preview Anywhere を導入した。
    (2007/3/12)難易度 ★★☆☆☆
  89. 「小粋空間」さんの「追記文章を折りたたむ」を参照して、追記文書の折りたたみをエントリーアーカイブのテンプレートに取り入れた。
    (2007/3/8)難易度 ★★☆☆☆
  90. Navi button にオンマウスするとリンクの説明がでるように、title="xxx" を加えた。
    (2007/3/6)難易度 ★☆☆☆☆
  91. Navi button に Radio Senboku を加えた。
    (2007/2/11)難易度 ★☆☆☆☆
  92. Live365.com というサイトと契約し Radio Senboku を立ち上げた。
    (2007/2/6)難易度 ★★★★☆
  93. さくらインターネットとレンタル・サーバー契約をして、こちらに Radio Senboku を設置し.htaccess でアクセス制限を設定した。
    (2007/1/28)難易度 ★★★☆☆
  94. Radio Senboku と称する MP3ストリーミング・ファイルを置くアクセス制限付きページ:http://n-shuhei.net/sound/Radio/Radio_senboku.htm を設置した。
    (2007/1/24)難易度 ★★★★☆
  95. Web Radio の実験のために、IDとPWがなければアクセスできないページを、lolipop のマニュアルで作った。.htaccess ファイルの設置である。
    (2007/1/24)難易度 ★★★☆☆
  96. Toshibo's Web Radio のリンクボタンを右サイドメニューに置いた。
    (2007/1/19)難易度 ★☆☆☆☆
  97. AffliateB が、JTB-CTW のアフリエートを募集していたので応募した。
    (2007/1/10)難易度 ★☆☆☆☆
  98. HP作成とは直接関係ないが、GoogleのWeb Mail Gmail に登録した。他のアドレスからの転送をそれぞれ設定した。
    (2007/1/6)難易度 ★★☆☆☆
  99. 右サイドメニューに置いているリンク部分のボタンのFlash8を自作でデザインを統一した。
    (2007/1/5)難易度 ★★★★☆
  100. ヘッダー部分に、タブメニューNavi button を設置した。
    (2006/12/29)難易度 ★★★★☆
  101. 右サイドメニューのリンク部分に、管理者へのメール(mailto:shuhei@n-shuhei.net)ボタンをFlash8で作成し置いた。
    (2006/12/12)難易度 ★★☆☆☆
  102. 右サイドメニューに置いている「泉北近辺私的観光地図」のボタンをFlash8を使って作り直した。
    (2006/11/30)難易度 ★★☆☆☆
  103. DIY作品集のエントリーへのリンクFlashボタンを右サイドメニューに置いた。
    (2006/11/30)難易度 ★☆☆☆☆
  104. リタイア後の知人が人材バンクを通じて再就職したWeb関連会社のサイトに、AffliateBというアフリエート・パートーナーを求めてるサービスがあったので応募した。
    (2006/11/30)難易度 ★☆☆☆☆
  105. Google Maps API を使って Blog の外に「泉北近辺私的観光地図」というページを作り、Blog 右サイドメニューにリンクボタンを設置した。
    (2006/11/24)難易度 ★★☆☆☆
  106. Favicon が、IE7 でも確認できるようになった。コメント・トラックバックにも Favicon を表示するようにした。
    (2006/11/23)難易度 ★★★☆☆
  107. Google Maps API に litebox を組み合わせることができた。
    (2006/11/20)難易度 ★★★★☆
  108. 簡単なFavicon を作って設置したが、Firefox, Netscape では確認できたが、IE7では表示されない。
    (2006/11/12)難易度 ★★☆☆☆
  109. Google Maps API をなんとか「泉北の紅葉」エントリーで実験的に利用できるようになった。
    (2006/11/12)難易度 ★★★★☆
  110. 自分のホームページ作成環境を別窓で表示するボタンを「5・6年生にもわかるやさしいJavaScript」で紹介されている方法で作成した。
    (2006/11/7)難易度 ★★☆☆☆
  111. Google MAP のキャプチャーで創っていた地図は、著作権に抵触する恐れがあるので、 ZENRIN の規約に基づく地図に差し替えた。
    (2006/11/7)難易度 ★★☆☆☆
  112. ロリポップの開設5周年記念のホームページ・コンテストに応募した。
    (2006/11/3)難易度 ★☆☆☆☆
  113. このカスタマイズ履歴ページでのリスト番号を降順にする方法をサーチしてHatena::Questionで見つかったJavaScriptを導入したら上手くいった。
    (2006/11/3)難易度 ★★☆☆☆
  114. プロファイルのページを カストマイズの履歴 と同じようにテンプレートで作った。プロに描いてもらった似顔絵をこのページに貼った。
    (2006/11/1)難易度 ★★☆☆☆
  115. 著作権保護のための(保護するような著作はありませんが)Creative Commons Liscense を導入しマークを右サイドメニューに設置した。
    (2006/10/30)難易度 ★☆☆☆☆
  116. TinyMCE のインストールによって IE ででていた JavaScript エラーの原因が判明した。
    (2006/10/28)難易度 ★★★☆☆
  117. mixi に登録した。
    (2006/10/28)難易度 ★☆☆☆☆
  118. エントリー編集用のプラグイン TinyMCE をインストールした。
    (2006/10/24)難易度 ★★☆☆☆
  119. IE を6から7に upgrade した。機能には問題ないが、MT の管理画面を開くとJavaScript エラーがでる。
    (2006/10/24)難易度 ★☆☆☆☆
  120. ページ内リンクを習得した。リンクされる場所には、<a name="abc">ABC</a>とし、リンクする場所には<a href="#abc">ABC</a>とする。他のページ内へのリンクは、リンク先ページURL名の後に#abcをつければよい。HTMLの基本だと思いますが、今頃になって。
    (2006/10/21)難易度 ★☆☆☆☆
  121. BlogTemplateWindow3.3がスペック通りに動かなかったのは、BigPAPI と Transfomer との競合が原因しているようだ。H.Fujimoto さんの TransfomerTest を入れても上手くいかないので、BigPAPI の利用を止めたら上手くいった。
    (2006/10/21)難易度 ★★★☆☆
  122. lolipop やさくらネットなどで例示されているFTPソフトのFFFTPをDLし導入した。
    (2006/10/20)難易度 ★★☆☆☆
  123. いただいたトラックバックを別窓で見えるように、エントリー・テンプレートを弄った。
    (2006/10/10)難易度 ★☆☆☆☆
  124. BlogTemplateWindow3.3 がどうもスペック通りに動かないので、 native template editor に戻した。
    (2006/10/9)難易度 ★☆☆☆☆
  125. ASCII 文字のみのトラックバックをフィルタリングする(迷惑トラックバックにもフィルタリングしない)「小粋空間」さんの Movable Type プラグイン asciiTBPingfilter を導入した。
    (2006/10/8)難易度 ★☆☆☆☆
  126. FEP を使ってエントリーのHTMLコード編集を始めた。
    (2006/10/6)難易度 ★☆☆☆☆
  127. エントリーを編集するときに、エントリー編集画面の右上にある強調文字やハイパーリンク等のタグを挿入するリンクをクリックすると、ページの先頭に戻ってしまうという現象を回避するために Invalidate link of insert tag というプラグインをインストールした。
    (2006/10/6)難易度 ★☆☆☆☆
  128. BlogTemplateWindow for MT3.3 が作動するようになった。
    (2006/10/4)難易度 ★★★☆☆
  129. テンプレートを編集するプラグインのBlogTemplateWindow が上手く動いていないので、英語のサイトであるがコメントで質問した。その返事を blog にくれるというのでスパム対策で入れていた日本語の入っていないコメントは拒否するプラグインを外した。
    (2006/10/3)難易度 ★☆☆☆☆
  130. MT3.3-ja にクロスサイトスクリプティングの脆弱性があるとのことで、万が一を考え MT3.33-ja にアップグレードすることにした。
    (2006/10/2)難易度 ★★★☆☆
  131. KInari&Mayさんが提供してくれているFlash天気予報をサイドメニューに設置した。
    (2006/9/30)難易度 ★★☆☆☆
  132. Amazon おまかせリンクを元のサーチボックスに戻した。
    (2006/9/30)難易度 ★☆☆☆☆
  133. 「小粋空間」さんのBlogPeople のススメにしたがって Blogpeople に登録した。利用の仕方がよくよく分かっていないが、LinkList と ListMe を右サイドバーに置いてみた。
    (2006/9/14)難易度 ★★☆☆☆
  134. バナー広告不要・アクセス解析ツール「Research Artisan」を取り入れた。
    (2006/9/12)難易度 ★★☆☆☆
  135. Jazz Collection Listページの改良がほぼ終わった。
    (2006/8/29)難易度 ★★☆☆☆
  136. Artisan というアクセス・ログ解析を導入することにした。
    (2006/8/20)難易度 ★★☆☆☆
  137. 右サイドバーのリンクに、Jazz Collection ListページへのFlash Button を設置した。
    (2006/8/14)難易度 ★★☆☆☆
  138. まだベータ版だが Amazon おまかせリンクに変更してみた。
    (2006/8/8)難易度 ★☆☆☆☆
  139. 作者がフランス人の dewplayer という Flash MP3 Player を設置した。
    (2006/8/8)難易度 ★★☆☆☆
  140. FLASH SINGLE MP3 PLAYERという新しいMP3 Player を設置した。
    (2006/8/7)難易度 ★★☆☆☆
  141. HPのJazz Collection Listで主題となるメロディが聞こえるようにした。
    (2006/8/5)難易度 ★★★☆☆
  142. フォルダーごとサーバーにアップロードするFTPソフトとして、InternetExplorer を使うようにした。
    (2006/8/1)難易度 ★☆☆☆☆
  143. DIY作品集をLitebox-1.0を利用してテーブルで編集した。
    (2006/7/24)難易度 ★★★☆☆
  144. 新しいFlash MP3 Player Play [Tagger by del.icio.us] を見つけ導入した。
    (2006/7/20)難易度 ★★☆☆☆
  145. Flashの作成ソフト Macromedia Flash 8 Basic を泣く泣く導入した。お試し版(お試し期間が過ぎた)で自作したMP3の再生・停止ボタンは、このバージョンでないとMP3ファイルの変更ができない。
    (2006/7/19)難易度 ★★☆☆☆
  146. 藤本壱さんが「エントリーを投稿する前にプレビューする」などのプラグイン」(TagsForPreview)をMT3.3対応されたので、対応版をインストールした。
    (2006/7/11)難易度 ★★☆☆☆
  147. litebox-1.0.jsに使われているgif images(「閉じる」「NEXT」「BACK」)を新たに作成して入れ替えた。
    (2006/7/11)難易度 ★★☆☆☆
  148. lightbox.jsをlitebox-1.0.jsに変更した。スライドショウ的に画像を表示できるようになった。
    (2006/7/10)難易度 ★★★☆☆
  149. MT3.3-jaにバージョンアップに伴いScodeの表示がおかしかったが、再インストールで表示されるようになった。
    (2006/7/7)難易度 ★★★☆☆
  150. MT3.3-jaにバージョンアップした。「エントリーを投稿する前にプレビューする」などのプラグインが動いていない。
    (2006/7/7)難易度 ★★★☆☆
  151. テンプレートの編集プラグイン MTBigTemplateWindowを導入した。"What's New?"ページの編集が容易になった。
    (2006/6/6)難易度 ★★☆☆☆
  152. コメント・テキストエリアの拡大をCSSの変更とTextarea toolsというJavaScriptの導入で行った。
    (2006/6/6)難易度 ★★☆☆☆
  153. 日本語でないスパムをJunk commentにフィルタするだけでは迷惑コメントにどんどん貯まっていくので、「小粋空間」で紹介されているSCode(SecurityCode)を入れてもらう対策を行った。
    (2006/5/27)難易度 ★★★☆☆
  154. 5月26日未明から猛烈なコメントスパムの攻撃を受ける。とりあえず認証を受けた人からのコメントのみを受け付けるに変更し、スパム対策を調査した。藤本 壱さんの「日本語でないスパムをフィルタするプラグイン」を設定した。Junk commentにフィルタリングされるようになった。
    (2006/5/26)難易度 ★★☆☆☆
  155. Weblogの右サイドメニューのサーチボックスでWebとSite内検索をRadioButtonで選択できるボックスに変更した。
    (2006/5/24)難易度 ★★☆☆☆
  156. lightbox導入以前のエントリーでの写真もすべてightbox表示にした。仕事は単純だが、時間がかかる。
    (2006/5/23)難易度 ★☆☆☆☆
  157. Weblogの右サイドメニューに、Google Search BOXをGoogleから提供されたコードを少しmodifyして設置した。
    (2006/5/21)難易度 ★☆☆☆☆
  158. 初めての人からTrackBack(TB)をいただいたので、今まで未整理だった右サイドメニューのTB表示を「最新の投稿」のように体裁を整えた。
    (2006/5/20)難易度 ★☆☆☆☆
  159. 梅田望夫さんの「ウェブ進化論」に感化されて、Google AdSenseに登録し右サイドメニューに掲載した。ついでに、メニューの順序を少し変更した。
    (2006/5/18)難易度 ★★☆☆☆
  160. lightboxの新バージョンが発表されているのでインストールを試みたが上手くいかなかった。
    難易度 ★★★★★
    元のバージョンがmodifyされているのでこれを導入した。
    (2006/5/11)難易度 ★★☆☆☆
  161. カテゴリー別の投稿の個々に投稿日付をつけた。ついでに、最近の投稿の日付表示を変更した。
    (2006/5/10) 難易度 ★★☆☆☆
  162. ホームページの左フレームに、blogへのボタン(隠居部屋)を設置した。
    (2006/5/4)難易度 ★☆☆☆☆
  163. 自作の音声再生・停止Flashボタンを利用して、HPのmusicサイトでのJazzを私のfavorite artistの一人であるEdomondo HallSweet Georgia Brownに変更した。
    (2006/5/3) 難易度 ★★☆☆☆
  164. 自ら録音したMP3音声を再生・停止するFlashボタンを配置した。
    (2006/4/23)難易度 ★★★★☆
  165. 各テンプレートの右サイドメニューを統一した。
    (2006/4/23) 難易度 ★☆☆☆☆
  166. HomePage(スタートページ)のGardeningページからhi-ho花の写真集へのリンクをすべてFlashAlbumに切り替えた。
    (2006/4/23) 難易度 ★★☆☆☆
  167. 画面上での録音再生を地図上のFlash fileで実現した。
    難易度 (2006/4/20) ★★★☆☆
  168. 新しいrecorder EDIROL R-1で小鳥の鳴き声を録音し、MTで再生するようにした。
    (2006/4/18) 難易度 ★★★☆☆
  169. hi-hoのアルバムサービスが閉鎖されるので、そこに収載していた花の写真集Flash AlbumにしてMT Weblogに移転した。
    (2006/4/11) 難易度 ★★☆☆☆
  170. IT関連用語表示のe-Words表示を「小粋空間」のカスタマイズに変更した。
    (2006/4/6)難易度 ★★☆☆☆
  171. What Is New? のエントリーを個別エントリーではなくテンプレートにした。
    (2006/4/5) 難易度 ★★☆☆☆
  172. 右サイドメニューのタイトルに、折りたたみマーク(▼△)をつけた。
    (2006/4/1) 難易度 ★★☆☆☆
  173. コメント投稿時に、HTMLタグが使いやすいようにタグマークをコメントフォームに設置した。
    (2006/4/1)難易度 ★★☆☆☆
  174. Weblogの背景画像をイペ材の木目と色調にしたことに伴い、「小粋空間」テンプレートで使っているCSS(Cascade Styles Sheet)を見直した。
    (2006/3/31) 難易度 ★★☆☆☆
  175. 「MTでつくる!最強ブログサイト」に紹介されていたカスタマイズを参考に、MTの個別エントリー表示ページとカテゴリ別表示ページに、e-Words IT用語検索を設置した。
    (2006/3/25) 難易度 ★★☆☆☆
  176. 「小粋空間」のサイドメニュー折りたたみを使わせてもらって、サイドメニューを折りたたみにした。
    (2006/3/24) 難易度 ★★★☆☆  
  177. RSS(Really Simple Syndication)リーダーとして、gooリーダーを設置した。
    (2006/3/21) 難易度 ★☆☆☆☆
  178. 各テンプレート(個別エントリーを除く)で、permalinkの表示を殺していたので、これを復活した。
    (2006/3/21) 難易度 ★☆☆☆☆
  179. アーカイブページ(archives.html)の表示がおかしかった(「小粋空間」ではテンプレートは提供されていない)ので、htmlそのものを少し弄ってなんとか見られるようにした。
    (2006/3/21) 難易度 ★★☆☆☆
  180. フリーで使わせてもらっているGoogleローカルの地図kingさんのアイコン・サイトへのbannerを設置した。ついでに、各テンプレートのクレジットバナー部分をphpモジュール化した。
    (2006/3/19) 難易度 ★☆☆☆☆
  181. ホームページで引用させて頂いている金井 壽宏先生の書籍「組織を動かす最強のマネジメント心理学」をamazon.co.jpで購入できるように、ブログにエントリを作った。
    (2006/3/19)難易度 ★★☆☆☆
  182. お遊び半分で、amazon.co.jpのアフリエートに登録してみた。OKが出たので、MT各テンプレートの右サイドに商品検索バナーを設置した。
    (2006/3/17) 難易度 ★☆☆☆☆
  183. 「小粋空間」に、私のエントリー(隣の花は紅い)が取り上げられた。Lightboxで画像を表示するときに、Flashを背面に隠すことが珍しかったらしい。名誉なことです。
  184. lightboxを応用して、地図上のポイント・アイコンをクリックすると画面が現れるような実験エントリーを投稿した。難易度 ★★★☆☆  (2006/3/16)
  185. サムネールをクリックすると同一ウィンドウ上(別画面でなく)に画像を表示するためのLightBox JSというカスタマイズを実施した。難易度★★★☆☆ (2006/3/12)
  186. Weblogのタイトル・バナーをFlashに変更した。(2006/3/8)
  187. エントリー用クライアントツール BlogWriteを導入した。
  188. MovableType(MT)の各テンプレート・タイトル部分を少し弄って、色をHPのタイトルと同色に変えた。(2006/3/7)
  189. MovableTypeのエントリー本文に、ボタンを置き、ボタンにカーソルを当てるとPasswordなど必要な語句がでるようにした。また、クリックするとリンク先にジャンプするようにした。
  190. Weblog ページの背景色を「小粋空間」さんのカストマイズを借りて、少し色を付けた。ついでに、横長カレンダーの背景色も同じにした。(2006/3/3)
  191. Weblog MainPageの右サイドバートップに、What's New? Flashボタンを設定した。(2006/3/3)
  192. hi-hoが運営するみんなの写真くらぶが5月で閉鎖されるので、Nikonが運営するOnlineAlbumへ移設することにした。HPからリンクしていた写真集を順次移す。(2006/3/3)
  193. SOTHINK SWF Quickerで創ったFlash MovieボタンをMTに持ち込んでみた。(2006/3/2)
  194. 鹿児島へ旅行したときに、知覧の武家屋敷跡で撮った花の写真などをFlash Albumにつくり、リンクした。(2006/3/2)
  195. 閲覧してもらった友人に指摘を受けて、コメント保留・エラー・受付の各テンプレートを「小粋空間」のテンプレートで設定した。自分宛にコメントを出すことはないので気づかなかった。(2006/3/2)
  196. 2月末に、鹿児島に旅行した。その時の記録を写真日記風に掲載した。(2006/3/1)
  197. Movable TypeでのWeblogのカレンダーを横長表示に変えました。Kinarie&Mayさんの作品を使わせてもらっている。(2006/2/23)
  198. Weblogの表示に、パンくずリストを置きたくて、その前提となるMTのphpモジュール化をしました。悪戦苦闘したが、どうやらどちらも形になった。(2006/2/21)
  199. 藤本壱さんの参考書にある「リンクの挿入をより便利にする」プラグインを導入した。表示には現れないがが、投稿原稿作成時のリンク挿入が楽になりそうです。(2006/1/17)
  200. MUSIC PageのFlashJazzをElla FitzgeraldMack The Knifeに変更した。(2006/2/17)
  201. eonet CGIで設置していたHomePageの作者への送信フォーム をlolipopの送信フォームに変えた。こちらの方が細かい設定がでるが、著作権のためにlogoを消すことはできないようです。(2006/2/14)
  202. インターネット接続先である光のeonetに置いてあった私のHomePageを独自ドメインに移設した。 eonet CGIのカウンターだけlolipopのものに変更した。(2006/2/13)
  203. 藤本 壱さんのカスタマイズを参考に、サイドメニューの月別アーカイブをセレクト表示に変えた。(2006/2/13)
  204. カテゴリーの階層化ついでに、並べる順序を私のHPと同じように変えた。これは、藤本 壱さんのプラグインを参考にさせて頂いた。思っていたよりすんなりといった。
  205. カテゴリーの階層化およびツリー表示を「小粋空間」のサイトなどを参考にカストマイズした。少しずつ形が整ってきた。DIYと同じように、何かができていくことは楽しいです。(2006/2/12 13:30)
  206. MT Weblogのメインページでの本文表示は、最近投稿した5エントリーにとどめ、その後にそれに続く15エントリーの概要を付けた。藤本 壱さんの参考書から引用したものを少し弄りった。(2006/2/11)
  207. LivedoorのBlogコンテンツをすべてn-shuhei.netに移設した。LivedoorのBlogは、本日(2006/2/10)かぎりで閉鎖することにした。 2GBフリーのスペースは魅力的であったが、今の情勢ではどこまで続くか疑問です。
  208. eatsさんに教えてもらって、MTのDBをSQLiteに変換した。今のところ500Errorは出なくて快適に再構築できている。Ogawa::MemorandamのサイトからDLした、mt-db-convert.cgi を使った。(2006/2/10)
  209. 下書きの時点でpreviewできるH.Fujimotoさんのplugin TagForPreviewをようやくのことインストールした。Livedoorのコンテンツをlolipop MovableTypeに移行するのが随分楽になった。(2006/2/7)
  210. MovableTypeの見栄えを考えて、pluginを持ち込むなど知識もないのに弄っていたら、Databaseを壊してしまったようです。泣く泣く再インストールした。(2006/2/5)
  211. What's New?のページを Atelier Shuhei's Weblogのこのエントリーに移行した。(2006/2/4)
  212. Livedoorでのblogページを新たにレンタルした lolipopにMovableTypeで設置したblogページ に移行中です。
  213. MUSICページでのJazzを Edmond HallのAs Long As I Live にした。(2006/1/22)
  214. NATUREのページ にFlash Movieを置いた。
  215. What's NewのボタンをFlashに変更した。(2006/1/15)
  216. 家内のガーデニング教室での作品を Flashアルバム で掲載した。(2006/1/5)
  217. Jazz Collectionのリスト を更新した。(2006/1/8)
  218. HOMEページにstaffonlyボタンを設け、家族用のalbumにリンクした。入室にはパスワードが必要です。(2006/1/4)

2008年3月21日

隠居のお勉強:JavaScript Basic (5) switch 構文を使って、本日の曜日を表示する

 前回の学習[JS If...Else] で、JavaScript を自分のブログへいささかの応用ができたので、勇気を得て続けて W3Schools JavaScript Tutorial でのお勉強である。

  • 今回は、条件式 [JS Switch] の学習。
    • 多くの選択肢から、一つの条件式を選んで実行する場合には、switch 構文を使わねばならない。
    • 以下は使用例である。
      <script type="text/javascript">
      //You will receive a different greeting based
      //on what day it is. Note that Sunday=0,
      //Monday=1, Tuesday=2, etc.
      var d=new Date();
      theDay=d.getDay();
      switch (theDay)
      {
      case 5:
        document.write("Finally Friday");
        break;
      case 6:
        document.write("Super Saturday");
        break;
      case 0:
        document.write("Sleepy Sunday");
        break;
      default:
        document.write("I'm looking forward to this weekend!");
      }
      </script>
    • break ステートメンを書くのは次の選択肢が実行されることを阻むためである。

  • これを応用して、自分のブログのタイトル下にある横長カレンダー横に、本日の曜日を表示することを試みた。横長カレンダーでは、曜日が分からない。
    • 上の example を参考に、次のような外部 js ファイルを秀丸で作成した。ファイル名は何でもいいが、TheDay.js として FFTP でブログサーバーにアップした。
      
      //今日は何曜日かを表示する js ファイル
      var d = new Date();
      theDay=d.getDay();
      switch (theDay)
      {
      case 0:
        document.write("<span id='js-text-red'><b>本日:日曜日</b></span>");
        break;
      case 1:
        document.write("<span id='js-text-grey'><b>本日:月曜</b></span>");
        break;
      case 2:
        document.write("<span id='js-text-grey'><b>本日:火曜</b></span>");
        break;
      case 3:
        document.write("<span id='js-text-grey'><b>本日:水曜</b></span>");
      break;
      case 4:
        document.write("<span id='js-text-grey'><b>本日:木曜</b></span>"); 
      break;
      case 5:
        document.write("<span id='js-text-grey'><b>本日:金曜</b></span>"); 
      break;
      case 6:
        document.write("<span id='js-text-blue'><b>本日:土曜</b></span>");
       break;
      }
      

    • スタイルシートに、次のスタイルを追加した。日曜日は、文字色を赤に、土曜日は水色にした。
      /* JS TheDay text */
      #js-text-grey { color: #408080; font-size: 10px; }
      #js-text-red { color: #ff0000; font-size: 10px; }
      #js-text-blue { color: #8888ff; font-size: 10px; }

    • MT テンプレート(メイン・エントリー)の<body> 部のカレンダー表示部分に、次のステートメントを追加した。
      <script src="http://n-shuhei.net/blog/TheDay.js"></script>
 これで、横長カレンダーの横に、本日:金曜日というように、ブログに訪問していただいた日の曜日が表示されるようになった。自作 JavaScript の2作目である。

2008年3月20日

隠居のお勉強:JavaScript Basic (4) 訪問時刻によって、挨拶文を変える。

 相変わらず、PC 前でRadio Senbokuを聴きながら、JavaScript のお勉強である。

 前回に書いたように、W3Schools JavaScript tutorial での [JS If...Else] のページにある Examples を応用して、私のブログのタイトルへ訪問時刻によって変化するお礼挨拶を表示させることにした。
 この具体例を記す前に、勉強したことを学習ノートにまとめておきたい。

  • [JS If...Else] で学んだこと。
    • デシジョンによって異なるアクションを実行する条件式を記述できる。
    • 条件式には、if statement ; if...else statement ; if...else if....else statement ; switch statement がある。
    • if statement はある特定条件が真(true) のみの場合にコードを実行する。次に例を示す。
      <script type="text/javascript">
      //Write "Lunch-time!" if the time is 11
      var d=new Date();
      var time=d.getHours();
      if (time==11) { document.write("<b>Lunch-time!</b>"); } <script><b>Lunch-time!</b>"); } <script>

    • if...else statementは、ある条件が、true の場合はあるコードを実行し、false の場合は他のコードを実行する。
      以下は事例。
      <script type="text/javascript">
      //If the time is less than 10,
      //you will get a "Good morning" greeting.
      //Otherwise you will get a "Good day" greeting.
      var d = new Date(); var time = d.getHours();
      if (time < 10) { document.write("Good morning!"); } else { document.write("Good day!"); } </script>

    • if...else if....else statement の記述によって、多くに条件の中から適切な条件に合致するコードを実行させることができる。
      下に example を示す。
      <script type="text/javascript">
      var d = new Date()
      var time = d.getHours()
      if (time<10)
      {
      document.write("<b>>Good morning</b>");
      }
      else if (time>10 && time<16)
      {
      document.write("<b>Good day</b>");
      }
      else
      {
      document.write("<b>Hello World!</b>");
      }
      </script>


 この if...else if....else statement を応用して、下のような外部 js ファイルを秀丸でエンコードを UTF8 として Greeting.js というファイル名(拡張子が js であれば名前は何でも良い)作成し、ブログサーバーに ファイル転送ソフト(FFTP) でアップした。
//ブログ・タイトルに、挨拶を表示する JSファイル
var d = new Date();
var time = d.getHours();
if (time<10)
{
document.write("<span style='color: #ffffe0'><b>おはようございます!! 早くからのご訪問ありがとうございます。</b></span>");
}
else if (time>=10 && time<18)
{
document.write("<span style='color: #ffffe0'><b>こんにちは!! いつもご訪問ありがとうございます。</b></span>");
}
else
{
document.write("<span style='color: #ffffe0'><b>今晩は!! いつもご訪問ありがとうございます。</b></span>");
}
 変数 d time の定義の仕方は、学習を進めると出てくると思うが、今のところ examples の通りに使っている。
 文字色を指定する span タグの間に入れるダブルコーテション( "---")の文字列ははシングルコーテション( '---' )でなければならない。

 この js ファイルをブログ・テンプレートのタイトル表示部分に、下の記述を挿入した。
 朝10時までに訪問していただいた方には、「おはようございます。」、10時から18時までに訪問していただいた方には、「こんにちは」、18時以降24時までの間に訪問していただいた方には、「今晩は」と表示されるはずである。
<script src="http://n-shuhei.net/blog/Greeting.js"></script> 


今まで学習したことを自分のブログのカストマイズに生かせるのはもっと学習が進んでからと思っていたが、この時点でささやかながら応用できた。お勉強の励みになるというものだ。

 

2006年10月 4日

BigTemplateWindow for MT3.3

 またまた単純なミス(?)でMTのグレードアップに手間取ったので、記録として残しておこうと思う。
 MTを 3.33-ja にグレードアップしたことは、前のエントリーに Up した。その中で、BigTemplateWindow for MT3.3 が上手く稼働しないと書いた。また、アルツハイマー的なミスだろうと原因を探ってみたがよく分からない。思いあまって、この Plugin の日本語版を配布されている caramel*vanilla さんに以下の質問を投げかけた。

BigTemplateWindow バージョン 3.3.01のインストールでつまづいています。
MT3.33-jaにバージョンをあげましたので、MT3.3用をDLし、インストールしました。
システムメニューのプラグインでは、上記が表示されていますが、テンプレートを開いてもMTのネイティーブ・テンプレート編集窓しか出てきません。どのあたりをチェックすればよいかご教示頂けないでしょうか。
ちなみに前のバージョンでは、上手く動いておりました。

 これに対してすぐに以下の回答がありました。
>n_shuheiさん
はじめまして。
実は今現在ワタシはMTを卒業してWordPressというblogツールでblogをしています。
BigTemplateWindowは以前のバージョンを日本語化したということもあり要望もあって最新バージョンにも対応することにしました。
そういう事情もありn_shuheiさんと同じ環境での不具合の検証ができません。
本体のバージョンが上がるとプラグインがうまく動かないこともあるかと思うので配布元のバージョンアップを待つのがいいかもしれません。
(さっき確認しましたがまだ未対応のようです)
作者の方に状況をフィードバックすると対応が早まるかもしれません

 ということで、敷居が高かったが久しぶりの英作文をして、配布元(多分韓国の方と思いますが)に質問のコメントをした。
I have installed MT3.33-ja recently. and upgrade to your great work New BTW for MT3.3. But doesn't work.
I recognize BigTemplateWindow version 3.3.01 Plugin in System Menu. But template editor is still native template editor, not appear BTW editor.
Could you tell me how to manage it?
I'm not good at English. I hope you understand my question.

するとすぐに次のような回答のコメントがでました。
Hi Shuhei!
I've not yet tested it on MT3.33(or -Ja), so I can't be sure that your problem is from collision between it and MT3.33. Asap, I'd test it and tell you about it to your blog
続いて、次のコメントが私のブログに飛び込んで来ました。
Hi Shuhei
I'm a developer of BTW MT plugin. Now I finished it on MT3.33-ja and it has no problem. In each blog's plugin listing menu, you can switch it on/off. Perhaps, did you select 復旧 option? One possible cause might be a failure of overwriting of plugin files...
If BTW doesn't still popup, try to see MT's blog/system logs and if you can, see web-server's error log, and then mail it to me.

Good luck!


 このサジエションに基づいて再点検を行ったが、指摘されている部分は問題がない。困ったときの頼みの綱の「小粋空間」さんのサイトで旧バージョンのBigTemplateWindow のインストール紹介を見ていると 3.3用のアップロード・ファイルには入れられていない BigPAPI ファイルと 'mt/alt-tmpl/cms/edit_template.tmpl' ファイルが示されている。BigPAPIはMT3.33-ja にグレードアップしたときに旧の Plugin ファイルとして追加していたが、alt-tmpl 配下の cms/edit_template.tmpl ファイルは削除してしまっている。これを FTP で追加してやると作動するようになった。配布元での新バージョンの紹介は、BigPAPI ファイルと 'mt/alt-tmpl/cms/edit_template.tmpl' ファイルがインストールされていることが前提だったのである。私のように、MT3.33-ja にアップグレードするときは旧の mt ディレクトリーは全て削除してまっさらにした上で旧のカスタマイズなどを追加する作業になるから、plugin ディレクトリー以外でカスタマイズで追加したファイルをアップすることを忘れることが多いのではないかと思う。ということで、新しいバージョンを紹介される場合は必要なファイルを再度提示して頂けるとありがたい。
 ただ、この作業の中でシステム・ログやブログ・ログを眺めていると受け付けてはいないものの迷惑トラックバックが完全に拒否出来ていないことを発見した。この対策をまた考えねばならない。歳取った頭の体操には英作文も含めていいかもしれないと自ら慰めている。

続きを読む "BigTemplateWindow for MT3.3"