<?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>2011-04-20T02:09:25Z</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">PHPでDOMを使って配列をXMLファイルにする</title>
 <link rel="alternate" type="text/html" href="http://westerndog.com/blog/index.php?UID=1303231064" />
 <author>
   <name>westerndog</name>
 </author>
 <id>http://westerndog.com/blog/index.php?UID=1303231064</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">PHPでDOM(Document Object Model)を使用すると、文法的...</summary>
 <content type="xhtml" xml:lang="ja">
  <div xmlns="http://www.w3.org/1999/xhtml">
   <p>PHPでDOM(Document Object Model)を使用すると、文法的に正しい構造のXMLを、比較的容易に作成することができます。</p>
<h2>XMLファイルの書き込みサンプル</h2>
<h3>makeXML.php</h3>
<pre>
&amp;lt;?php
// 元データ
// 親ノードID(くっつき先)と子ノードID(自分)を含む
// 順番は問わない
// 木構造
// contents─1┬2─3
//           └4─5
&amp;#36;data = array(
  array(
    'parentId' =&amp;gt; ''&amp;#44;
    'childId' =&amp;gt; '1'&amp;#44;
    'comment' =&amp;gt; 'comment1'&amp;#44;
  )&amp;#44;
  array(
    'parentId' =&amp;gt; '1'&amp;#44;
    'childId' =&amp;gt; '2'&amp;#44;
    'comment' =&amp;gt; 'comment1-1'&amp;#44;
  )&amp;#44;
  array(
    'parentId' =&amp;gt; '4'&amp;#44;
    'childId' =&amp;gt; '5'&amp;#44;
    'comment' =&amp;gt; 'comment1-2-1'&amp;#44;
  )&amp;#44;
  array(
    'parentId' =&amp;gt; '1'&amp;#44;
    'childId' =&amp;gt; '4'&amp;#44;
    'comment' =&amp;gt; 'comment1-2'&amp;#44;
  )&amp;#44;
  array(
    'parentId' =&amp;gt; '2'&amp;#44;
    'childId' =&amp;gt; '3'&amp;#44;
    'comment' =&amp;gt; 'comment1-1-1'&amp;#44;
  )&amp;#44;
);

// 出力ファイル名
&amp;#36;fileName = 'comment.xml';

// DOMオブジェクト作成
&amp;#36;dom = new DomDocument('1.0');
&amp;#36;dom-&amp;gt;encoding = "UTF-8";

// 出力XMLを改行
&amp;#36;dom-&amp;gt;formatOutput = true;

// XML作成
&amp;#36;contents = &amp;#36;dom-&amp;gt;appendChild(&amp;#36;dom-&amp;gt;createElement('contents'));

// 子ノードを追加
foreach(&amp;#36;data as &amp;#36;array){
  &amp;#36;parentId = &amp;#36;array['parentId'];
  &amp;#36;childId = &amp;#36;array['childId'];

  // parentIdが無い場合contentsに付加
  if(empty(&amp;#36;parentId)){
    &amp;#36;parentId = 'contents';
  }

  // 親ノードが無い場合
  if(empty(&amp;#36;parentId)){
    &amp;#36;parentId = &amp;#36;dom-&amp;gt;createElement('content');
  }

  // 子ノードが無い場合
  if(empty(&amp;#36;childId)){
    &amp;#36;childId = &amp;#36;dom-&amp;gt;createElement('content');
  }

  // 子ノードを付加
  &amp;#36;parentId-&amp;gt;appendChild(&amp;#36;childId);

  // 属性値を付加
  &amp;#36;childId-&amp;gt;setAttribute('id'&amp;#44; &amp;#36;childId);
  &amp;#36;childId-&amp;gt;setAttribute('comment'&amp;#44; &amp;#36;array['comment']);
}

//XMLを出力
file_put_contents(&amp;#36;fileName&amp;#44; &amp;#36;dom-&amp;gt;saveXML());
?&amp;gt;
</pre>
<p>実行例</p>
<pre>
&amp;#36; php makeXML.php
&amp;#36; cat comment.xml
&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;
&amp;lt;contents&amp;gt;
  &amp;lt;content id="1" comment="comment1"&amp;gt;
    &amp;lt;content id="2" comment="comment1-1"&amp;gt;
      &amp;lt;content id="3" comment="comment1-1-1"/&amp;gt;
    &amp;lt;/content&amp;gt;
    &amp;lt;content id="4" comment="comment1-2"&amp;gt;
      &amp;lt;content id="5" comment="comment1-2-1"/&amp;gt;
    &amp;lt;/content&amp;gt;
  &amp;lt;/content&amp;gt;
&amp;lt;/contents&amp;gt;
</pre>
<p>DOMの他の使い方は、<a href="http://www.php.net/manual/ja/book.dom.php">DOMのリファレンス</a>を参照してください。</p>

  </div> 
 </content>
 <updated>2011-04-20T01:37:44+09:00</updated>
 <published>2011-04-20T01:37:44+09:00</published>
 </entry>

 <entry>
 <title type="text">PHPでpear Configを使って配列をiniファイルにする</title>
 <link rel="alternate" type="text/html" href="http://westerndog.com/blog/index.php?UID=1300684003" />
 <author>
   <name>westerndog</name>
 </author>
 <id>http://westerndog.com/blog/index.php?UID=1300684003</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">PHPのparse_ini_file関数を使用するとiniファイルを読み込むこと...</summary>
 <content type="xhtml" xml:lang="ja">
  <div xmlns="http://www.w3.org/1999/xhtml">
   <p>PHPのparse_ini_file関数を使用するとiniファイルを読み込むことができますが、その逆、配列をiniファイルにする手法を調べたところ、<a href="http://pear.php.net/manual/ja/package.configuration.config.php">pearのConfigパッケージ</a>を使用すると楽にできることがわかりました。</p>
<h2>準備</h2>
<p>すでにpearがインストールされていて、pearへのパスが設定されているなら、パッケージを入れるだけです。</p>
<pre>
&amp;#36; sudo pear install Config
Did not download optional dependencies: pear/XML_Parser&amp;#44; pear/XML_Util&amp;#44; use --alldeps to download automatically
pear/Config can optionally use package "pear/XML_Parser"
pear/Config can optionally use package "pear/XML_Util"
downloading Config-1.10.12.tgz ...
Starting to download Config-1.10.12.tgz (32&amp;#44;291 bytes)
.........done: 32&amp;#44;291 bytes
install ok: channel://pear.php.net/Config-1.10.12
</pre>
<p>Configで、iniファイルからXMLファイルへ、XMLファイルから配列へ、などの処理をしたい場合は、XML_Parserを追加インストールするとそれらの機能を使用できるようになります。今回はiniファイルの読み書きだけなので、スルーします。</p>
<h2>iniファイルの書き込みサンプル</h2>
<h3>writeConfig.php</h3>
<pre>
&amp;lt;?php
require_once ("Config.php");

&amp;#36;conf = array(
    'DB' =&amp;gt; array(
        'type' =&amp;gt; 'mysql'&amp;#44;
        'host' =&amp;gt; 'localhost'&amp;#44;
        'user' =&amp;gt; 'root'&amp;#44;
        'pass' =&amp;gt; 'root'
     )&amp;#44;
    'TT' =&amp;gt; array(
        'encode' =&amp;gt; 'sjis'&amp;#44;
        'path' =&amp;gt; './template'
     )
);

&amp;#36;config = new Config();

// 配列をパース
&amp;#36;root =&amp; &amp;#36;config-&amp;gt;parseConfig(&amp;#36;conf&amp;#44; 'phparray'&amp;#44; array('name' =&amp;gt; 'conf'));
if( PEAR::isError( &amp;#36;root ) ) {
  die('配列読み込みエラー: ' . &amp;#36;root-&amp;gt;getMessage());
}

// iniファイル書き込み
&amp;#36;root =&amp; &amp;#36;config-&amp;gt;writeConfig('conf.ini'&amp;#44; 'inifile');
if( PEAR::isError( &amp;#36;root ) ) {
  die('設定書き込みエラー: ' . &amp;#36;root-&amp;gt;getMessage());
}
?&amp;gt;
</pre>
<p>実行例</p>
<pre>
&amp;#36; php writeConfig.php
&amp;#36; cat conf.ini
[DB]
type=mysql
host=localhost
user=root
pass=root
[TT]
encode=sjis
path=./template
</pre>
<h2>iniファイルの読み込みサンプル</h2>
<h3>parseConfig.php</h3>
<pre>
&amp;lt;?php
require_once ("Config.php");

&amp;#36;config = new Config();

// iniファイル読み込み
&amp;#36;root =&amp; &amp;#36;config-&amp;gt;parseConfig('./conf.ini'&amp;#44; 'inifile');
if( PEAR::isError( &amp;#36;root ) ) {
  die('設定読み込みエラー: ' . &amp;#36;root-&amp;gt;getMessage());
}

// 配列作成
&amp;#36;array = &amp;#36;root-&amp;gt;toArray();
print_r(&amp;#36;array['root']);
?&amp;gt;
</pre>
<p>実行例</p>
<pre>
&amp;#36; php parseConfig.php
Array
(
    [DB] =&amp;gt; Array
        (
            [type] =&amp;gt; mysql
            [host] =&amp;gt; localhost
            [user] =&amp;gt; root
            [pass] =&amp;gt; root
        )

    [TT] =&amp;gt; Array
        (
            [encode] =&amp;gt; sjis
            [path] =&amp;gt; ./template
        )

)
</pre>
<p>Configパッケージの他の使い方は、<a href="http://pear.php.net/manual/ja/package.configuration.config.php">Configマニュアルページ</a>を参照してください。</p>

  </div> 
 </content>
 <updated>2011-03-21T14:06:43+09:00</updated>
 <published>2011-03-21T14:06:43+09:00</published>
 </entry>

 <entry>
 <title type="text">さくらインターネットのレンタルサーバにsvnをインストール</title>
 <link rel="alternate" type="text/html" href="http://westerndog.com/blog/index.php?UID=1300607083" />
 <author>
   <name>westerndog</name>
 </author>
 <id>http://westerndog.com/blog/index.php?UID=1300607083</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">さくらのレンタルサーバのプレミアムプランを借りています。SVNをインストールした...</summary>
 <content type="xhtml" xml:lang="ja">
  <div xmlns="http://www.w3.org/1999/xhtml">
   <p>さくらのレンタルサーバのプレミアムプランを借りています。SVNをインストールしたので、そのときの記録です。<a href="http://www.sakuttoly.com/blog/2009/07/sakura_subversion_eclipse_redmine.html">こちらのサイト</a>を参考にインストールさせていただきました。</p>
<li>サーバOS：FreeBSD 7.1-RELEASE-p15</li>
<li>subversion:1.6.16(2011/03/04リリース)</li>
<h2>インストール</h2>
<pre>
&amp;#36; mkdir -p ~/local/src/svn
&amp;#36; wget http://subversion.tigris.org/downloads/subversion-1.6.16.tar.gz
&amp;#36; wget http://subversion.tigris.org/downloads/subversion-deps-1.6.16.tar.gz

&amp;#36; tar zxvf subversion-1.6.16.tar.gz
&amp;#36; tar zxvf subversion-deps-1.6.16.tar.gz

&amp;#36; cd subversion-1.6.16
&amp;#36; ./configure --prefix=&amp;#36;HOME/local --with-ssl --without-berkeley-db
&amp;#36; gmake clean
&amp;#36; gmake
&amp;#36; gmake install
</pre>
<p>いままで&amp;#36;HOME/local/binにパスが通っていなかった場合、source .cshrcしてパスを通します。</p>
<pre>
&amp;#36; source .cshrc
&amp;#36; svn --version
svn&amp;#44; version 1.6.16 (r1073529)
   compiled Mar 20 2011&amp;#44; 15:44:38

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software&amp;#44; see http://subversion.apache.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).
</pre>
<p>testリポジトリを作成します。</p>
<pre>
&amp;#36; mkdir -p svn/repos
&amp;#36; cd svn/repos/
&amp;#36; svnadmin create test
&amp;#36; cd ~
&amp;#36; mkdir temp
&amp;#36; cd temp
&amp;#36; svn co file:///home/&amp;lt;ユーザ名&amp;gt;/svn/repos/test test
Checked out revision 0.
&amp;#36; cd test/
&amp;#36; svn mkdir trunk branches tags
A         trunk
A         branches
A         tags
&amp;#36; svn commit -m "first commit"
Adding         branches
Adding         tags
Adding         trunk

Committed revision 1.
&amp;#36; svn list file:///home/&amp;lt;ユーザ名&amp;gt;/svn/repos/test
branches/
tags/
trunk/
</pre>
<p>インストールを開始して最初のcommitまで、30分程度で完了しました。</p>

  </div> 
 </content>
 <updated>2011-03-20T16:44:43+09:00</updated>
 <published>2011-03-20T16:44:43+09:00</published>
 </entry>

 <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>

  </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>

</feed>
