<?xml version="1.0" encoding="utf-8"?>
 <feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
 <title type="text">westerndog.com Blog</title>
 <subtitle type="text">westerndog.com Blog: Recent Entries</subtitle>
 <link rel="alternate" type="text/html" href="http://westerndog.com/blog/" />
 <link rel="self" type="application/atom+xml" href="http://westerndog.com/blog/feeds/atom1.0.xml" />
 <id>http://westerndog.com/blog/</id>
 <author>
  <name>westerndog</name>
 </author>
 <updated>2010-05-30T11:40:45Z</updated>
 <generator uri="http://p2b.jp/" version="1.8.3">ppBlog ver.1.8.3</generator> 
 <rights>copyright (c) 2009 p2b.jp</rights> 

 <entry>
 <title type="text">mod_rewrite使用メモ</title>
 <link rel="alternate" type="text/html" href="http://westerndog.com/blog/index.php?UID=1275186901" />
 <author>
   <name>westerndog</name>
 </author>
 <id>http://westerndog.com/blog/index.php?UID=1275186901</id>
 <category term="blog" label="blog" scheme="http://westerndog.com/blog/index.php?mode=category&amp;aim=blog" xml:lang="ja" />
 <summary type="text" xml:lang="ja">mod_rewriteはApacheのモジュールのひとつで、アクセスURLを正規...</summary>
 <content type="xhtml" xml:lang="ja">
  <div xmlns="http://www.w3.org/1999/xhtml">
   <p>mod_rewriteはApacheのモジュールのひとつで、アクセスURLを正規表現で書き換えることができる。httpd.confまたは.htaccessを編集し詳細な設定を行うことができる。WampServerで使用する場合、メニュー＞Apache＞Apache modulesのrewrite_moduleのチェックボックスを入れる必要がある。以下、httpd.confを編集したときのメモ。</p>
<h3>httpd.confの編集</h3>
<pre>
#LoadModule rewrite_module modules/mod_rewrite.so
↓
LoadModule rewrite_module modules/mod_rewrite.so
</pre>
<pre>
&amp;lt;IfModule mod_rewrite.c&amp;gt;
RewriteEngine on
RewriteRule ^&amp;yen;/view&amp;yen;/([a-zA-Z0-9]*)&amp;#36; /index.php?page=view&amp;user=&amp;#36;1 [L]
RewriteRule ^&amp;yen;/(top&amp;#124;edit)&amp;#36; /index.php?page=&amp;#36;1 [L]
&amp;lt;/IfModule&amp;gt;
</pre>

  </div> 
 </content>
 <updated>2010-05-30T11:35:01+09:00</updated>
 <published>2010-05-30T11:35:01+09:00</published>
 </entry>

 <entry>
 <title type="text">ウィジェット</title>
 <link rel="alternate" type="text/html" href="http://westerndog.com/blog/index.php?UID=1271573611" />
 <author>
   <name>westerndog</name>
 </author>
 <id>http://westerndog.com/blog/index.php?UID=1271573611</id>
 <category term="develop" label="develop" scheme="http://westerndog.com/blog/index.php?mode=category&amp;aim=develop" xml:lang="ja" />
 <summary type="text" xml:lang="ja">諸事情でYウィジェットを作ることになりそうなので、製作過程のメモを作ることにしま...</summary>
 <content type="xhtml" xml:lang="ja">
  <div xmlns="http://www.w3.org/1999/xhtml">
   <p>諸事情でYウィジェットを作ることになりそうなので、製作過程のメモを作ることにしました。</p>
<h3>準備</h3>
<ol>
<li> Yウィジェットエンジンをダウンロードしてインストール。</li>
<li> 次に、ウィジェットコンバータをダウンロード。ウィジェットコンバータは、コマンドラインツールとウィジェットバージョンがあるが、コマンドラインバージョンはVistaでうまく動かないので、ウィジェットバージョンを使うことにする。</li>
<li> ウィジェットクリエイションチュートリアルに従い、CPUポータルを解凍し、ソース(XML)が見られた状態になったことを確認。</li>
</ol>
<h3>HelloWorld</h3>
<pre>
&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;
&amp;lt;widget minimumVersion="4.5"&amp;gt;
//デバッグモードの設定
  &amp;lt;settings&amp;gt; 
    &amp;lt;setting name="debug" value="on"/&amp;gt;
  &amp;lt;/settings&amp;gt;
//ウィンドウの生成
  &amp;lt;window title="mainWindow" name="mainWindow" height="100" width="100" &amp;gt;
//テキストの生成
    &amp;lt;text data="Hello World!" size="16" anchorStyle="topLeft"/&amp;gt;
  &amp;lt;/window&amp;gt;
&amp;lt;/widget&amp;gt;
</pre>
<ol>
<li> helloWorld.konファイル(UTF-8、改行LF)を作成。</li>
<li> helloworldフォルダの中にContentsフォルダをつくり、Contentsフォルダの中にhelloWorld.konを入れて、helloworldフォルダをウィジェットコンバータウィジェットにドラッグアンドドロップ。</li>
<li> 変換する形式flat-fileを選び、変換するとhelloworld.widgetができるので、ProgramFilesのウィジェットエンジンのWidgetsフォルダにコピー。ダブルクリックしてインストールすると、ウィジェット一覧にhelloworldが現れ実行可能になる。</li>
</ol>
<h3>時計</h3>
<pre>
&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;
&amp;lt;widget minimumVersion="4.0"&amp;gt;
&amp;lt;window title="TestClock"&amp;gt;
&amp;lt;name&amp;gt;mainWindow&amp;lt;/name&amp;gt;
&amp;lt;width&amp;gt;500&amp;lt;/width&amp;gt;
&amp;lt;height&amp;gt;50&amp;lt;/height&amp;gt;
&amp;lt;shadow&amp;gt;0&amp;lt;/shadow&amp;gt;
&amp;lt;alignment&amp;gt;left&amp;lt;/alignment&amp;gt;
&amp;lt;visible&amp;gt;0&amp;lt;/visible&amp;gt;
&amp;lt;onFirstDisplay&amp;gt;
mainWindow.hOffset = screen.availWidth / 2 + screen.availLeft - 250;
mainWindow.vOffset = screen.availHeight / 2 + screen.availTop - 25;
&amp;lt;/onFirstDisplay&amp;gt;

&amp;lt;image src="Images/bg.png"&amp;gt;
&amp;lt;name&amp;gt;body&amp;lt;/name&amp;gt;
&amp;lt;hOffset&amp;gt;0&amp;lt;/hOffset&amp;gt;
&amp;lt;vOffset&amp;gt;0&amp;lt;/vOffset&amp;gt;
&amp;lt;/image&amp;gt;

&amp;lt;text name="window" data="時間" alignment=right hOffset=488 vOffset=36 size=28 color="#ffffff" /&amp;gt;
&amp;lt;/window&amp;gt;

&amp;lt;timer name="Ticker" interval="1" ticking="true"&amp;gt;
&amp;lt;onTimerFired&amp;gt;
doCalc();
&amp;lt;/onTimerFired&amp;gt;
&amp;lt;/timer&amp;gt;

&amp;lt;action trigger="onLoad"&amp;gt;
&amp;lt;![CDATA[
function doCalc(){
var now = new Date();

var year = now.getFullYear();
var month = now.getMonth()+1;
var date = now.getDate();
var hour = now.getHours();
var min = now.getMinutes();
var sec = now.getSeconds();
var day = now.getDay();

if ( day == 0 ) { day = "日" }
if ( day == 1 ) { day = "月" }
if ( day == 2 ) { day = "火" }
if ( day == 3 ) { day = "水" }
if ( day == 4 ) { day = "木" }
if ( day == 5 ) { day = "金" }
if ( day == 6 ) { day = "土" }

if ( month &amp;lt; 10 ) { month = "0" + month }
if ( date &amp;lt; 10 ) { date = "0" + date }
if ( hour &amp;lt; 10 ) { hour = "0" + hour }
if ( min &amp;lt; 10 ) { min = "0" + min }
if ( sec &amp;lt; 10 ) { sec = "0" + sec }

window.text = year + "年" + month + "月" + date + "日(" + day + ")　"+ hour + "時" + min + "分" + sec + "秒";
}
]]&amp;gt;
&amp;lt;/action&amp;gt;
&amp;lt;/widget&amp;gt;
</pre>
<ol>
<li> TestClock.konファイル(UTF-8、改行LF)を作成。</li>
<li> TestClockフォルダの中にContentsフォルダをつくり、Contentsフォルダの中にTestClock.konを入れて、TestClockフォルダの中にImagesフォルダをつくり、bg.png(横500px縦50px)に入れる。</li>
<li> 通常通り変換。</li>
</ol>
<h3>memo</h3>
<pre>
&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;
&amp;lt;widget minimumVersion="4.0"&amp;gt;
&amp;lt;window title="Graph"&amp;gt;
&amp;lt;name&amp;gt;mainWindow&amp;lt;/name&amp;gt;
&amp;lt;width&amp;gt;500&amp;lt;/width&amp;gt;
&amp;lt;height&amp;gt;500&amp;lt;/height&amp;gt;
&amp;lt;shadow&amp;gt;0&amp;lt;/shadow&amp;gt;
&amp;lt;alignment&amp;gt;left&amp;lt;/alignment&amp;gt;
&amp;lt;visible&amp;gt;0&amp;lt;/visible&amp;gt;
&amp;lt;onFirstDisplay&amp;gt;
mainWindow.hOffset = screen.availWidth / 2 + screen.availLeft - 250;
mainWindow.vOffset = screen.availHeight / 2 + screen.availTop - 250;
&amp;lt;/onFirstDisplay&amp;gt;

&amp;lt;image src="Images/bg.png"&amp;gt;
&amp;lt;name&amp;gt;body&amp;lt;/name&amp;gt;
&amp;lt;hOffset&amp;gt;0&amp;lt;/hOffset&amp;gt;
&amp;lt;vOffset&amp;gt;0&amp;lt;/vOffset&amp;gt;
&amp;lt;/image&amp;gt;

&amp;lt;text name="axis-x" data="時間" alignment=right hOffset=475 vOffset=495 size=15 color="#ffffff" /&amp;gt;
&amp;lt;text name="axis-y1" data="実" alignment=right hOffset=20 vOffset=40 size=15 color="#ffffff" /&amp;gt;
&amp;lt;text name="axis-y2" data="況" alignment=right hOffset=20 vOffset=55 size=15 color="#ffffff" /&amp;gt;
&amp;lt;text name="axis-y3" data="速" alignment=right hOffset=20 vOffset=70 size=15 color="#ffffff" /&amp;gt;
&amp;lt;text name="axis-y4" data="度" alignment=right hOffset=20 vOffset=85 size=15 color="#ffffff" /&amp;gt;

&amp;lt;text name="NHK" data="0" alignment=right hOffset=475 vOffset=300 size=6 color="#000000" /&amp;gt;
&amp;lt;text name="ETV" data="0" alignment=right hOffset=475 vOffset=325 size=6 color="#000000" /&amp;gt;
&amp;lt;text name="TME" data="0" alignment=right hOffset=475 vOffset=350 size=6 color="#000000" /&amp;gt;
&amp;lt;text name="TIME" data="0" alignment=left hOffset=25 vOffset=490 size=12 color="#ffffff" width="450" /&amp;gt;

&amp;lt;canvas id="Axis" width="500" height="500" vOffset="0" hOffset="0"/&amp;gt;
&amp;lt;canvas id="Graph" width="500" height="500" vOffset="0" hOffset="0"/&amp;gt;
&amp;lt;/window&amp;gt;

&amp;lt;timer name="Ticker" interval="1" ticking="true"&amp;gt;
&amp;lt;onTimerFired&amp;gt;
doCalc();
&amp;lt;/onTimerFired&amp;gt;
&amp;lt;/timer&amp;gt;

&amp;lt;action trigger="onLoad"&amp;gt;
include("main.js");
main();
&amp;lt;/action&amp;gt;
&amp;lt;/widget&amp;gt;

function main(){
var axis = document.getElementById("Axis").getContext("2d");

axis.save();
axis.beginPath();
axis.lineWidth=2.0;
axis.strokeStyle = "rgba( 255&amp;#44; 255&amp;#44; 255&amp;#44; 1.0 )";
axis.moveTo( 25&amp;#44; 25 );
axis.lineTo( 25&amp;#44; 475 );
axis.lineTo( 475&amp;#44; 475 );
axis.lineTo( 475&amp;#44; 25 );
axis.lineTo( 25&amp;#44; 25 );
axis.stroke();
axis.restore();
}

function doCalc(){
var nhkGraph = document.getElementById("Graph").getContext("2d");
var etvGraph = document.getElementById("Graph").getContext("2d");
var now = new Date();
var hour = now.getHours();
var min = now.getMinutes();
var sec = now.getSeconds();
var nhkArray = NHK.text.split("&amp;#44;");
var etvArray = ETV.text.split("&amp;#44;");
var tmeArray = TME.text.split("&amp;#44;");
var timestr;

//nhkGraph.save();
nhkGraph.clearRect( 0&amp;#44; 0&amp;#44; 500&amp;#44; 500 );
nhkGraph.beginPath();
nhkGraph.lineWidth=2.0;
nhkGraph.strokeStyle = "rgba( 255&amp;#44; 0&amp;#44; 0&amp;#44; 1.0 )";
nhkGraph.moveTo( 475&amp;#44; 475 );
for( var i=0 ; i&amp;lt;nhkArray.length ; i++ ) {
nhkGraph.lineTo(25+(nhkArray.length - i - 1)*10 &amp;#44; 475 - nhkArray[i] );
}
nhkGraph.stroke();
//nhkGraph.restore();

//etvGraph.save();
//etvGraph.clearRect( 0&amp;#44; 0&amp;#44; 500&amp;#44; 500 );
etvGraph.beginPath();
etvGraph.lineWidth=2.0;
etvGraph.strokeStyle = "rgba( 255&amp;#44; 255&amp;#44; 0&amp;#44; 1.0 )";
etvGraph.moveTo( 475&amp;#44; 475 );
for( var i=0 ; i&amp;lt;etvArray.length ; i++ ) {
etvGraph.lineTo( 25+(etvArray.length - i - 1)*10 &amp;#44; 475 - etvArray[i] );
}
etvGraph.stroke();
//etvGraph.restore();

if(nhkArray.length &amp;gt;= 46){
nhkArray.shift();
}

if(etvArray.length &amp;gt;= 46){
etvArray.shift();
}

if(tmeArray.length &amp;gt;= 101){
tmeArray.shift();
}

        NHK.text = nhkArray.join("&amp;#44;") + "&amp;#44;" + Math.floor( Math.random() * 30 + 200);
        ETV.text = etvArray.join("&amp;#44;") + "&amp;#44;" + Math.floor( Math.random() * 30 + 200);
if(sec % 10 == 0){
//if(hour&amp;lt;10){hour = 0+""+hour;}
//if(min&amp;lt;10){min = 0+""+min;}
//if(sec&amp;lt;10){sec = 0+""+sec;}
        //TME.text = tmeArray.join("&amp;#44;") + "&amp;#44; " + hour + ":" + min + ":" + sec;
if(sec&amp;lt;10){sec = 0+""+sec;}
        TME.text = tmeArray.join("&amp;#44;") + "&amp;#44;" + sec;
} else {
//画像に差し替える
        if(sec%2==0){TME.text = tmeArray.join("&amp;#44;") + "&amp;#44;__";}
else{TME.text = tmeArray.join("&amp;#44;") + "&amp;#44;_";}
}
for( var i=0 ; i&amp;lt;tmeArray.length ; i++ ) {
if(typeof tmeArray[i] == 'undefined'){
timestr = ""+ timestr;
}else{
timestr = tmeArray[i] +""+ timestr;
}
}
TIME.text = timestr;
}
</pre>

  </div> 
 </content>
 <updated>2010-04-18T15:53:31+09:00</updated>
 <published>2010-04-18T15:53:31+09:00</published>
 </entry>

 <entry>
 <title type="text">遅延が解消されました</title>
 <link rel="alternate" type="text/html" href="http://westerndog.com/blog/index.php?UID=1255045005" />
 <author>
   <name>westerndog</name>
 </author>
 <id>http://westerndog.com/blog/index.php?UID=1255045005</id>
 <category term="twitter" label="twitter" scheme="http://westerndog.com/blog/index.php?mode=category&amp;aim=twitter" xml:lang="ja" />
 <summary type="text" xml:lang="ja">2009/10/08 23:40ごろからはじまったtwitterの障害は、200...</summary>
 <content type="xhtml" xml:lang="ja">
  <div xmlns="http://www.w3.org/1999/xhtml">
   <p>2009/10/08 23:40ごろからはじまったtwitterの障害は、2009/10/09 04:00ごろ回復しました。この時間に放送された番組は以下の通りです。&amp;nbsp;<br>&amp;nbsp;<br><span style="font-size: 8pt;">200910090040-0045「キャラディのジョークな毎日」 #192 at tvk<br>200910090030-0100「地獄少女 三鼎」 #6 at テレ玉<br>200910090045-0110「グイン・サーガ」 #2 at NHK総合<br>200910090100-0130「クイーンズブレイド 玉座を継ぐ者」 #1 at チバテレビ<br>200910090100-0130「涼宮ハルヒの憂鬱(新)」 #28 at テレ玉<br>200910090129-0159「けんぷファー」 #2 at TBS<br>200910090130-0200「NEEDLESS」 #15 at TOKYO MX<br>200910090130-0200「うみねこのなく頃に」 #15 at テレ玉<br>200910090159-0229「にゃんこい！」 #2 at TBS<br>200910090200-0230「ファイト一発！充電ちゃん!!」 #1 at チバテレビ<br>200910090200-0230「11eyes」 #1 at TOKYO MX<br>200910090215-0245「あにゃまる探偵 キルミンずぅ」 #1 at テレビ東京<br>200910090230-0300「生徒会の一存 碧陽学園生徒会議事録」 #1 at TOKYO MX<br></span>&amp;nbsp;<br>&amp;nbsp;<br>MataAnimeMiteruの視聴者カウントを再度行いましたが、復旧後(twitter検索が)再取得したデータに基づくものなので(おそらく)取得漏れがあり、精度を考慮の上、参考データとしてください。</p>

  </div> 
 </content>
 <updated>2009-10-09T08:36:45+09:00</updated>
 <published>2009-10-09T08:36:45+09:00</published>
 </entry>

 <entry>
 <title type="text">全てのbotが遅延の影響を受けています</title>
 <link rel="alternate" type="text/html" href="http://westerndog.com/blog/index.php?UID=1255020648" />
 <author>
   <name>westerndog</name>
 </author>
 <id>http://westerndog.com/blog/index.php?UID=1255020648</id>
 <category term="twitter" label="twitter" scheme="http://westerndog.com/blog/index.php?mode=category&amp;aim=twitter" xml:lang="ja" />
 <summary type="text" xml:lang="ja">2009/10/08 23:40ごろから、twitterに障害が発生しています。...</summary>
 <content type="xhtml" xml:lang="ja">
  <div xmlns="http://www.w3.org/1999/xhtml">
   <p>2009/10/08 23:40ごろから、twitterに障害が発生しています。現在も障害は継続中であり、回復を待っています。</p>
<p>障害発生中はtwitter検索に基づくMataAnimeMiteru視聴者数が不正確な数値となるため、ノーカウントとする予定です。</p>

  </div> 
 </content>
 <updated>2009-10-09T01:50:48+09:00</updated>
 <published>2009-10-09T01:50:48+09:00</published>
 </entry>

 <entry>
 <title type="text">Botを再稼働しました</title>
 <link rel="alternate" type="text/html" href="http://westerndog.com/blog/index.php?UID=1249726607" />
 <author>
   <name>westerndog</name>
 </author>
 <id>http://westerndog.com/blog/index.php?UID=1249726607</id>
 <category term="twitter" label="twitter" scheme="http://westerndog.com/blog/index.php?mode=category&amp;aim=twitter" xml:lang="ja" />
 <summary type="text" xml:lang="ja">技術的な問題で停止していたBotたちを再稼働させました。一昨日からはじまったtw...</summary>
 <content type="xhtml" xml:lang="ja">
  <div xmlns="http://www.w3.org/1999/xhtml">
   <p>技術的な問題で停止していたBotたちを再稼働させました。</p>
<p>一昨日からはじまった<a href="http://www.itmedia.co.jp/news/articles/0908/07/news019.html">twitterへのDoS攻撃</a>のあおりで、twitter運営からAPI投稿に制限が加わり、HTTP/1.1 408 Request Timeoutが続いていました（この制限により複数のBotが稼働を停止していたようです）。今朝9時ごろ、API投稿の制限が解除されましたので、復旧致しました。</p>

  </div> 
 </content>
 <updated>2009-08-08T19:16:47+09:00</updated>
 <published>2009-08-08T19:16:47+09:00</published>
 </entry>

 <entry>
 <title type="text">Botを停止しています</title>
 <link rel="alternate" type="text/html" href="http://westerndog.com/blog/index.php?UID=1249624478" />
 <author>
   <name>westerndog</name>
 </author>
 <id>http://westerndog.com/blog/index.php?UID=1249624478</id>
 <category term="twitter" label="twitter" scheme="http://westerndog.com/blog/index.php?mode=category&amp;aim=twitter" xml:lang="ja" />
 <summary type="text" xml:lang="ja">技術的な問題が発生しており、全てのtwitter botを停止しています。解消次...</summary>
 <content type="xhtml" xml:lang="ja">
  <div xmlns="http://www.w3.org/1999/xhtml">
   <p>技術的な問題が発生しており、全てのtwitter botを停止しています。解消次第、botを再開します。宜しくお願い致します。</p>

  </div> 
 </content>
 <updated>2009-08-07T14:54:38+09:00</updated>
 <published>2009-08-07T14:54:38+09:00</published>
 </entry>

 <entry>
 <title type="text">またスポーツ見てるを追加しました</title>
 <link rel="alternate" type="text/html" href="http://westerndog.com/blog/index.php?UID=1249172253" />
 <author>
   <name>westerndog</name>
 </author>
 <id>http://westerndog.com/blog/index.php?UID=1249172253</id>
 <category term="twitter" label="twitter" scheme="http://westerndog.com/blog/index.php?mode=category&amp;aim=twitter" xml:lang="ja" />
 <summary type="text" xml:lang="ja">また～見てるBOTシリーズに、新しく@MataSportMiteru（またスポー...</summary>
 <content type="xhtml" xml:lang="ja">
  <div xmlns="http://www.w3.org/1999/xhtml">
   <p>また～見てるBOTシリーズに、新しく<a href="http://twitter.com/MataSportMiteru/">@MataSportMiteru</a>（またスポーツ見てる関東番組告知Bot）を追加しました。関東圏のスポーツ番組が始まる5分前までに番組告知するBOTです。</p>
<p>@MataEntaMiteru&amp;#44; @MataEigaMiteru&amp;#44; @MataDramaMiteruと同様に、AM6時時点のテレビ番組表を取得して流しているため、野球延長等の放送開始時刻ズレには対応していません。ズレが生じている場合の正しい放送開始時刻は、放送局のwebサイト等を随時確認してください。</p>
<p>どうぞご利用ください。</p>

  </div> 
 </content>
 <updated>2009-08-02T09:17:33+09:00</updated>
 <published>2009-08-02T09:17:33+09:00</published>
 </entry>

 <entry>
 <title type="text">westerndog.comはじめました</title>
 <link rel="alternate" type="text/html" href="http://westerndog.com/blog/index.php?UID=1247925364" />
 <author>
   <name>westerndog</name>
 </author>
 <id>http://westerndog.com/blog/index.php?UID=1247925364</id>
 <category term="blog" label="blog" scheme="http://westerndog.com/blog/index.php?mode=category&amp;aim=blog" xml:lang="ja" />
 <summary type="text" xml:lang="ja">はじめまして、westerndogです。ほしいなぁとおもって、twitterのボ...</summary>
 <content type="xhtml" xml:lang="ja">
  <div xmlns="http://www.w3.org/1999/xhtml">
   <p>はじめまして、westerndogです。</p>
<p>ほしいなぁとおもって、twitterのボットとかwebサービスとか、作ってみました。順次、このBlogで紹介していこうと思います。宜しくお願いします。</p>

  </div> 
 </content>
 <updated>2009-07-18T22:56:04+09:00</updated>
 <published>2009-07-18T22:56:04+09:00</published>
 </entry>

</feed>