<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
 <channel>
  <title>westerndog.com Blog</title>
  <link>http://westerndog.com/blog/</link>
  <description>westerndog.com Blog: Recent Entries</description>
  <language>ja-jp</language>
  <lastBuildDate>Sun, 30 May 2010 11:40:45 +0900</lastBuildDate>
  <generator>ppBlog ver.1.8.3</generator>
  <copyright>copyright (c) 2009 p2b.jp</copyright>
  <category domain="http://westerndog.com/blog/feeds/rss2.0.xml">rssUpdates</category>
  <docs>http://westerndog.com/blog/rss</docs>
 <image>
  <url>http://westerndog.com/blog/Images/logo.png</url>
  <title>westerndog.com Blog</title>
  <link>http://westerndog.com/blog/</link>
  </image>

<item>
 <title>mod_rewrite使用メモ  :: blog</title>
 <link>http://westerndog.com/blog/index.php?UID=1275186901</link>
 <description>mod_rewriteはApacheのモジュールのひとつで、アクセスURLを正規表現で書き換えることができる。httpd.confまたは.htaccessを編集し詳細な設定を行うことができる。WampServerで使用する場合、メニュー＞A...</description>
 <comments>http://westerndog.com/blog/index.php?mode=comment&amp;TID=1275186901</comments>
 <pubDate>Sun, 30 May 2010 11:35:01 +0900</pubDate>
 <category domain="http://westerndog.com/blog/index.php?mode=category&amp;aim=blog">blog</category>
 <guid>http://westerndog.com/blog/index.php?UID=1275186901</guid>
 <content:encoded>
 <![CDATA[<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>
]]>
 </content:encoded>
</item>
<item>
 <title>ウィジェット  :: develop</title>
 <link>http://westerndog.com/blog/index.php?UID=1271573611</link>
 <description>諸事情でYウィジェットを作ることになりそうなので、製作過程のメモを作ることにしました。準備 Yウィジェットエンジンをダウンロードしてインストール。 次に、ウィジェットコンバータをダウンロード。ウィジェットコンバータは、コマンドラインツールと...</description>
 <comments>http://westerndog.com/blog/index.php?mode=comment&amp;TID=1271573611</comments>
 <pubDate>Sun, 18 Apr 2010 15:53:31 +0900</pubDate>
 <category domain="http://westerndog.com/blog/index.php?mode=category&amp;aim=develop">develop</category>
 <guid>http://westerndog.com/blog/index.php?UID=1271573611</guid>
 <content:encoded>
 <![CDATA[<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>
]]>
 </content:encoded>
</item>
<item>
 <title>遅延が解消されました  :: twitter</title>
 <link>http://westerndog.com/blog/index.php?UID=1255045005</link>
 <description>2009/10/08 23:40ごろからはじまったtwitterの障害は、2009/10/09 04:00ごろ回復しました。この時間に放送された番組は以下の通りです。&amp;amp;nbsp;&amp;amp;nbsp;200910090040-0045...</description>
 <comments>http://westerndog.com/blog/index.php?mode=comment&amp;TID=1255045005</comments>
 <pubDate>Fri, 09 Oct 2009 08:36:45 +0900</pubDate>
 <category domain="http://westerndog.com/blog/index.php?mode=category&amp;aim=twitter">twitter</category>
 <guid>http://westerndog.com/blog/index.php?UID=1255045005</guid>
 <content:encoded>
 <![CDATA[<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>
]]>
 </content:encoded>
</item>
<item>
 <title>全てのbotが遅延の影響を受けています  :: twitter</title>
 <link>http://westerndog.com/blog/index.php?UID=1255020648</link>
 <description>2009/10/08 23:40ごろから、twitterに障害が発生しています。現在も障害は継続中であり、回復を待っています。障害発生中はtwitter検索に基づくMataAnimeMiteru視聴者数が不正確な数値となるため、ノーカウント...</description>
 <comments>http://westerndog.com/blog/index.php?mode=comment&amp;TID=1255020648</comments>
 <pubDate>Fri, 09 Oct 2009 01:50:48 +0900</pubDate>
 <category domain="http://westerndog.com/blog/index.php?mode=category&amp;aim=twitter">twitter</category>
 <guid>http://westerndog.com/blog/index.php?UID=1255020648</guid>
 <content:encoded>
 <![CDATA[<p>2009/10/08 23:40ごろから、twitterに障害が発生しています。現在も障害は継続中であり、回復を待っています。</p>
<p>障害発生中はtwitter検索に基づくMataAnimeMiteru視聴者数が不正確な数値となるため、ノーカウントとする予定です。</p>
]]>
 </content:encoded>
</item>
<item>
 <title>Botを再稼働しました  :: twitter</title>
 <link>http://westerndog.com/blog/index.php?UID=1249726607</link>
 <description>技術的な問題で停止していたBotたちを再稼働させました。一昨日からはじまったtwitterへのDoS攻撃のあおりで、twitter運営からAPI投稿に制限が加わり、HTTP/1.1 408 Request Timeoutが続いていました（こ...</description>
 <comments>http://westerndog.com/blog/index.php?mode=comment&amp;TID=1249726607</comments>
 <pubDate>Sat, 08 Aug 2009 19:16:47 +0900</pubDate>
 <category domain="http://westerndog.com/blog/index.php?mode=category&amp;aim=twitter">twitter</category>
 <guid>http://westerndog.com/blog/index.php?UID=1249726607</guid>
 <content:encoded>
 <![CDATA[<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>
]]>
 </content:encoded>
</item>
<item>
 <title>Botを停止しています  :: twitter</title>
 <link>http://westerndog.com/blog/index.php?UID=1249624478</link>
 <description>技術的な問題が発生しており、全てのtwitter botを停止しています。解消次第、botを再開します。宜しくお願い致します。</description>
 <comments>http://westerndog.com/blog/index.php?mode=comment&amp;TID=1249624478</comments>
 <pubDate>Fri, 07 Aug 2009 14:54:38 +0900</pubDate>
 <category domain="http://westerndog.com/blog/index.php?mode=category&amp;aim=twitter">twitter</category>
 <guid>http://westerndog.com/blog/index.php?UID=1249624478</guid>
 <content:encoded>
 <![CDATA[<p>技術的な問題が発生しており、全てのtwitter botを停止しています。解消次第、botを再開します。宜しくお願い致します。</p>
]]>
 </content:encoded>
</item>
<item>
 <title>またスポーツ見てるを追加しました  :: twitter</title>
 <link>http://westerndog.com/blog/index.php?UID=1249172253</link>
 <description>また～見てるBOTシリーズに、新しく@MataSportMiteru（またスポーツ見てる関東番組告知Bot）を追加しました。関東圏のスポーツ番組が始まる5分前までに番組告知するBOTです。@MataEntaMiteru&amp;amp;#44; @...</description>
 <comments>http://westerndog.com/blog/index.php?mode=comment&amp;TID=1249172253</comments>
 <pubDate>Sun, 02 Aug 2009 09:17:33 +0900</pubDate>
 <category domain="http://westerndog.com/blog/index.php?mode=category&amp;aim=twitter">twitter</category>
 <guid>http://westerndog.com/blog/index.php?UID=1249172253</guid>
 <content:encoded>
 <![CDATA[<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>
]]>
 </content:encoded>
</item>
<item>
 <title>westerndog.comはじめました  :: blog</title>
 <link>http://westerndog.com/blog/index.php?UID=1247925364</link>
 <description>はじめまして、westerndogです。ほしいなぁとおもって、twitterのボットとかwebサービスとか、作ってみました。順次、このBlogで紹介していこうと思います。宜しくお願いします。</description>
 <comments>http://westerndog.com/blog/index.php?mode=comment&amp;TID=1247925364</comments>
 <pubDate>Sat, 18 Jul 2009 22:56:04 +0900</pubDate>
 <category domain="http://westerndog.com/blog/index.php?mode=category&amp;aim=blog">blog</category>
 <guid>http://westerndog.com/blog/index.php?UID=1247925364</guid>
 <content:encoded>
 <![CDATA[<p>はじめまして、westerndogです。</p>
<p>ほしいなぁとおもって、twitterのボットとかwebサービスとか、作ってみました。順次、このBlogで紹介していこうと思います。宜しくお願いします。</p>
]]>
 </content:encoded>
</item>
 </channel>
</rss>