<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>The blog of H.Fujimoto</title>
    <link rel="alternate" type="text/html" href="http://www.h-fj.com/blog/" />
    <link rel="self" type="application/atom+xml" href="http://www.h-fj.com/blog/atom2.xml" />
    <id>tag:www.h-fj.com,2008-06-26:/blog//1</id>
    <updated>2010-07-31T03:31:11Z</updated>
    <subtitle>Personal Computer, Financial Planning, etc...</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 5.02</generator>

<entry>
    <title>今日はMTDDC Tokyoです</title>
    <link rel="alternate" type="text/html" href="http://www.h-fj.com/blog/archives/2010/07/31-123111.php" />
    <id>tag:www.h-fj.com,2010:/blog//1.2224</id>

    <published>2010-07-31T03:31:11Z</published>
    <updated>2010-07-31T03:31:11Z</updated>

    <summary>今日（2010年7月31日）、MTDDC Tokyo（テーマ編）が開催されます。</summary>
    <author>
        <name>壱</name>
        <uri>http://www.h-fj.com/blog/</uri>
    </author>
    
        <category term="イベント" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="movabletype" label="Movable Type" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="movabletype5" label="Movable Type 5" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mtddc" label="MTDDC" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="テーマ" label="テーマ" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.h-fj.com/blog/">
        <![CDATA[<p>今日（2010年7月31日）、MTDDC Tokyo（テーマ編）が開催されます。<br />
多くの方が参加されています。<br />
レポートは後日アップします。</p>

<p><a href="http://www.h-fj.com/blog/pic/2010/07/mtddc.jpg"><img alt="MTDDC Tokyoテーマ編" src="http://www.h-fj.com/blog/assets_c/2010/07/mtddc-thumb-320x239-1684.jpg" width="320" height="239" class="mt-image-none" style="" /></a></p>
        ]]>
    </content>
</entry>

<entry>
    <title>iPhone4ユーザーになりました</title>
    <link rel="alternate" type="text/html" href="http://www.h-fj.com/blog/archives/2010/07/30-183507.php" />
    <id>tag:www.h-fj.com,2010:/blog//1.2223</id>

    <published>2010-07-30T09:35:07Z</published>
    <updated>2010-07-30T09:35:07Z</updated>

    <summary>私もiPhone 4ユーザーになりました。</summary>
    <author>
        <name>壱</name>
        <uri>http://www.h-fj.com/blog/</uri>
    </author>
    
        <category term="モバイル" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.h-fj.com/blog/">
        <![CDATA[<p>今日、ソフトバンクモバイルのオンラインショップからiPhone 4が届きました。<br />
これで私もiPhone 4ユーザーになりました。<br />
</p>
        <p>外出中にパソコンをネットに接続して使うことが多い関係で、これまではイーモバイルのTouch Diamondを使っていました。<br />
しかし、iPadを使うようになり、またモバイルルーターの選択肢が増えたこともあって、屋外での通信はモバイルルーターに一本化しようと考えました。<br />
また、前々からiPhoneを使いたいと思っていて、iPhone 4に乗り換えようとも思っていました。</p>

<p>そこで、7月7日にソフトバンクオンラインショップで予約申し込みをしました。<br />
「在庫の確保が出来しだい、メールにて本申し込みのご案内をいたします。」との返事だったので、気長に待っていました。<br />
すると、7月27日に「在庫が確保できた」というメールが来て、本申し込みに進むことができました。<br />
そして、今日（7月30日）にiPhone 4が無事届きました。</p>

<p>この後、8月5日にはNTT東日本の光ポータブルも到着する予定です。<br />
光ポータブルがくれば、iPhone 4／iPad／パソコンから光ポータブルを通してインターネットに接続できるようになります。<br />
モバイルライフ(？)が充実しそうで楽しみです。<br />
</p>]]>
    </content>
</entry>

<entry>
    <title>Perl版ダイナミックパブリッシングとMTPaginateのブログ記事ページ分割を併用する</title>
    <link rel="alternate" type="text/html" href="http://www.h-fj.com/blog/archives/2010/07/29-112745.php" />
    <id>tag:www.h-fj.com,2010:/blog//1.2222</id>

    <published>2010-07-29T02:27:45Z</published>
    <updated>2010-07-29T02:30:53Z</updated>

    <summary>Perl版ダイナミックパブリッシングとMTPaginateのブログ記事ページ分割を併用する方法を紹介します。
</summary>
    <author>
        <name>壱</name>
        <uri>http://www.h-fj.com/blog/</uri>
    </author>
    
        <category term="カスタマイズ・TIPS" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="自作プラグイン" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="divpages" label="DivPages" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="movabletype" label="Movable Type" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="movabletype4" label="Movable Type 4" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="movabletype5" label="Movable Type 5" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mtpaginate" label="MTPaginate" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ページ分割" label="ページ分割" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.h-fj.com/blog/">
        <![CDATA[<p>
昨日、以下のようなご質問をいただきました。
</p>

<blockquote><p>DivPagesプラグインをブログで有効にすると<a href="http://www.nonplus.net/software/mt/MTPaginate.htm">MTPaginate</a>（こちらはエントリーページの分割で使用しています）プラグインと併用できなくて困っています。</p></blockquote>

<p>
そこで、Perl版ダイナミックパブリッシングを使っている環境で、MTPaginateプラグインでブログ記事のページを分割する方法を紹介します。<br />

</p>
        <h2>ページ番号を横一列に出力する場合</h2>

<p>
MTPaginateプラグインでは、各ページへのナビゲーションを、「MTPaginateNavigator」というテンプレートタグで出力しています。<br />
しかし、Perl版ダイナミックパブリッシングこのタグを使うと、このタグの出力が正しくなくなります。<br />
そこで、MTPaginateNavigatorタグの代わりに、MTのテンプレートタグとPHPを組み合わせてナビゲーションを出力します。
</p>

<p>
ページ番号を横一列に出力する場合は、MTPaginateNavigatorタグを、以下のようなコードに置き換えます。
</p>

<script type="text/javascript" src="http://www.h-fj.com/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="http://www.h-fj.com/syntaxhighlighter/scripts/shBrushXml.js "></script>
<script type="text/javascript">
SyntaxHighlighter.config.clipboardSwf = 'http://www.h-fj.com/syntaxhighlighter/scripts/clipboard.swf';
SyntaxHighlighter.all();
</script>

<pre class="brush : html;">&lt;$mt:PaginateNumPages setvar=&quot;page_count&quot;$&gt;
&lt;mt:For var=&quot;page_number&quot; from=&quot;1&quot; to=&quot;$page_count&quot;&gt;
  &lt;?php if ($paginate_current_page == &lt;$mt:GetVar name=&quot;page_number&quot;$&gt;) : ?&gt;
    &lt;$mt:GetVar name=&quot;page_number&quot;$&gt;
  &lt;?php else : ?&gt;
  &lt;mt:If name=&quot;page_number&quot; eq=&quot;1&quot;&gt;
    &lt;a href=&quot;&lt;$mt:EntryPermalink$&gt;&quot;&gt;&lt;$mt:GetVar name=&quot;page_number&quot;$&gt;&lt;/a&gt;
  &lt;mt:Else&gt;
    &lt;a href=&quot;&lt;$mt:EntryPermalink$&gt;?page=&lt;$mt:GetVar name=&quot;page_number&quot;$&gt;&quot;&gt;&lt;$mt:GetVar name=&quot;page_number&quot;$&gt;&lt;/a&gt;
  &lt;/mt:If&gt;
  &lt;?php endif; ?&gt;
  &lt;mt:If name=&quot;page_number&quot; ne=&quot;$page_count&quot;&gt;|&lt;/mt:If&gt;
&lt;/mt:For&gt;</pre>

<h2>selectでナビゲーションを出力する場合</h2>

<p>
MTPaginateNavigatorタグに「style="popup"」のモディファイアを指定すると、ナビゲーションをselectで出力することもできます。<br />
これと同等のことを行うには、MTPaginateNavigatorタグを以下のようなコードに置き換えます。
</p>

<pre class="brush : html;">&lt;$mt:PaginateNumPages setvar=&quot;page_count&quot;$&gt;
&lt;select onchange=&quot;location.href=options[selectedIndex].value&quot;&gt;
&lt;mt:For var=&quot;page_number&quot; from=&quot;1&quot; to=&quot;$page_count&quot;&gt;
  &lt;option value=&quot;&lt;$mt:EntryPermalink$&gt;&lt;mt:If name=&quot;page_number&quot; ne=&quot;1&quot;&gt;?page=&lt;$mt:GetVar name=&quot;page_number&quot;$&gt;&lt;/mt:If&gt;&quot;&lt;?php if ($paginate_current_page == &lt;$mt:GetVar name=&quot;page_number&quot;$&gt;) { echo ' selected=&quot;selected&quot;'; } ?&gt;&gt;&lt;$mt:GetVar name=&quot;page_number&quot;$&gt;&lt;/option&gt;
&lt;/mt:For&gt;
&lt;/select&gt;</pre>
]]>
    </content>
</entry>

<entry>
    <title>今年度の新着記事を出力する</title>
    <link rel="alternate" type="text/html" href="http://www.h-fj.com/blog/archives/2010/07/28-085805.php" />
    <id>tag:www.h-fj.com,2010:/blog//1.2221</id>

    <published>2010-07-27T23:58:05Z</published>
    <updated>2010-07-27T23:58:05Z</updated>

    <summary>Movable Typeで、拙作のExtendArchivesプラグインを使って、今年度の新着記事を出力する方法を紹介します。</summary>
    <author>
        <name>壱</name>
        <uri>http://www.h-fj.com/blog/</uri>
    </author>
    
        <category term="カスタマイズ・TIPS" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="自作プラグイン" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="movabletype" label="Movable Type" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="アーカイブ" label="アーカイブ" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.h-fj.com/blog/">
        <![CDATA[<p>
昨日、twitterで@<a href="http://twitter.com/webbingstudio">webbingstudio</a>さんが以下のようなツイートをしていました。
</p>

<blockquote><p>全ての国産CMSは「年度別アーカイブ」を採用すべきだと思うのです。これだけで日本の需要がぐわしと上がるはず。MTやWPだと条件分岐でなんとかなるけど無駄が多い。</p></blockquote>

<p>
年度別アーカイブは、拙作の<a href="http://www.h-fj.com/blog/mtplgdoc/extendarchives.php">ExtendArchivesプラグイン</a>でできるので、そのことをお知らせしました。<br />
すると、さらに以下のツイートをいただきました。
</p>

<blockquote><p>@<a href="http://twitter.com/hjfuji">hjfuji</a> おぉ（°Д° このプラグインですが、mtEntriesの条件モディファイアには使えないですよね。今年度分の新着記事だけ出してと言われたことがあるのです。流石に需要はほとんどないと思うのでmtIfで対応しましたが。</p></blockquote>

<p>
MTEntriesタグのモディファイアには使えませんが、ExtendArchivesプラグインにMTArchiveListタグとMTEntriesタグを組み合わせれば、今年度の新着記事を簡単に出力することができます。<br />
その方法を紹介します。<br />

</p>
        <h2>1.MTArchiveListタグ</h2>

<p>
MTArchiveListタグはMovable Type標準のテンプレートタグで、名前の通りアーカイブのリストを出力するテンプレートタグです。<br />
サイドバーに月別アーカイブの一覧を出力するような時に、このタグを使います。
</p>

<p>
MTArchiveListタグでは、archive_typeモディファイアを指定することで、アーカイブリストを出力するアーカイブのタイプを指定することができます。<br />
また、lastnモディファイアで、出力するアーカイブの件数を指定することもできます。<br />
例えば、以下のようにすると、最近6ヶ月間の月別アーカイブのリストを出力することができます。
</p>

<script type="text/javascript" src="http://www.h-fj.com/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="http://www.h-fj.com/syntaxhighlighter/scripts/shBrushXml.js "></script>
<script type="text/javascript">
SyntaxHighlighter.config.clipboardSwf = 'http://www.h-fj.com/syntaxhighlighter/scripts/clipboard.swf';
SyntaxHighlighter.all();
</script>

<pre class="brush : html;">&lt;mt:ArchiveList archive_type=&quot;Monthly&quot; lastn=&quot;6&quot;&gt;
  アーカイブのタイトル等を出力する部分
&lt;/mt:ArchiveList&gt;</pre>

<p>
拙作のExtendArchivesプラグインをインストールすると、年度別アーカイブは半期別アーカイブ等を作ることもできます。<br />
また、MTArchiveListタグで、年度別アーカイブ等のリストを出力することもできます。<br />
年度別アーカイブを出力する場合だと、archive_typeモディファイアに「FiscalYearly」を指定します。
</p>

<h2>2.MTArchiveListタグとMTEntriesタグを組み合わせる</h2>

<p>
MTArchiveListタグのブロックの中でMTEntriesタグを使うと、アーカイブ毎にブログ記事の一覧を出力することができます。<br />
例えば、以下のようにテンプレートを組むと、最近6ヶ月間のブログ記事のタイトル一覧を、月ごとにまとめて出力することができます。
</p>

<pre class="brush : html;">&lt;mt:ArchiveList archive_type=&quot;Monthly&quot; lastn=&quot;6&quot;&gt;
  &lt;h2&gt;&lt;$mt:ArchiveTitle$&gt;&lt;/h2&gt;
  &lt;ul&gt;
  &lt;mt:Entries&gt;
    &lt;li&gt;&lt;a href=&quot;&lt;$mt:EntryPermalink$&gt;&quot;&gt;&lt;$mt:EntryTitle$&gt;&lt;/a&gt;(&lt;$mt:EntryDate$&gt;)&lt;/li&gt;
  &lt;/mt:Entries&gt;
  &lt;/ul&gt;
&lt;/mt:ArchiveList&gt;</pre>

<h2>3.今年度の新着記事を出力する</h2>

<p>
今年度の新着記事も、MTArchiveListタグとMTEntriesタグの組み合わせで出力することができます。
</p>

<p>
まず、MTArchiveListタグに「archive_type="FiscalYearly"」と「lastn="1"」のモディファイアを付けたブロックを作ります。<br />
これで、年度別アーカイブのリストの最新1件（＝今年度のアーカイブ）を出力することができます。<br />
そして、このMTArchiveListタグのブロックの中に、MTEntriesタグのブロックを入れます。
</p>

<p>
例えば、以下のようにすれば、今年度の新着記事をul／liのリストで出力することができます。
</p>

<pre class="brush : html;">&lt;mt:ArchiveList archive_type=&quot;FiscalYearly&quot; lastn=&quot;1&quot;&gt;
  &lt;ul&gt;
  &lt;mt:Entries&gt;
    &lt;li&gt;&lt;a href=&quot;&lt;$mt:EntryPermalink$&gt;&quot;&gt;&lt;$mt:EntryTitle$&gt;&lt;/a&gt;(&lt;$mt:EntryDate format=&quot;%Y/%m/%d&quot;$&gt;)&lt;/li&gt;
  &lt;/mt:Entries&gt;
&lt;/ul&gt;
&lt;/mt:ArchiveList&gt;</pre>

<p>
上記のリストで、MTEntriesタグに「lastn="○○"」のモディファイアを追加して、今年度の新着記事を○○件出力することもできます。<br />
また、MTEntriesタグに「sort_order="ascend"」のモディファイアを追加して、今年度の新着記事を日付の古い順に出力することもできます。<br />

</p>]]>
    </content>
</entry>

<entry>
    <title>最近変化があった順にブログ記事を出力する</title>
    <link rel="alternate" type="text/html" href="http://www.h-fj.com/blog/archives/2010/07/27-164214.php" />
    <id>tag:www.h-fj.com,2010:/blog//1.2220</id>

    <published>2010-07-27T07:42:14Z</published>
    <updated>2010-07-27T07:42:14Z</updated>

    <summary>Movable Typeで、最近変化があった順にブログ記事を出力する方法を紹介します。
</summary>
    <author>
        <name>壱</name>
        <uri>http://www.h-fj.com/blog/</uri>
    </author>
    
        <category term="カスタマイズ・TIPS" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="movabletype" label="Movable Type" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="コメント" label="コメント" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ブログ記事" label="ブログ記事" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.h-fj.com/blog/">
        <![CDATA[<p>
<a href="http://communities.movabletype.jp/">MTQ</a>で、以下の日付でブログ記事を並べ替えて出力したいという質問を見ました。
</p>

<ul>
<li>コメントがないブログ記事は、その記事の更新日時</li>
<li>コメントがあるブログ記事は、最近コメントがついた日時</li>
</ul>

<p>
この処理は、標準のテンプレートタグとハッシュを組み合わせれば可能です。<br />
その方法を紹介します。<br />
なお、上記の2つのどちらかに該当するブログ記事を、本記事では「最近変化があったブログ記事」と呼ぶことにします。<br />

</p>
        <h2>1.考え方</h2>

<p>
最近変化があった日時順にブログ記事を一発で並べる方法は、残念ながら標準機能にはありません。<br />
ただ、以下のような手法で並べ替えることが可能です。<br />
なお、最近変化があったブログ記事を5件出力したいものとします。
</p>

<ul>
<li>1.最近更新されたブログ記事を5件取り出し、そのIDと更新日時をハッシュに代入します。<br >ハッシュのキーをブログ記事のIDにし、値を更新日時にします。<br />また、値（更新日時）は、数値順で並べ替えられるように、年月日時分秒を連結した14桁の数値にします。</li>
<li>2.最近コメントがあったブログ記事を5件取り出し、そのIDと最新コメントの投稿日時を、上と同じハッシュに代入します。</li>
<li>3.ハッシュを値（日時）の降順で並べ替え、それに対応するキー（ブログ記事のID）を、順に5件取り出します。</li>
<li>4.ブログ記事のIDから、そのブログ記事を読み込んで、必要な情報を出力します。</li>
</ul>

<p>
例えば、最近更新されたブログ記事5件のIDと更新日時が、以下の表のようになっているとします。
</p>

<table>
<tr><th>ID</th><th>更新日時</th><tr>
<tr><td>105</td><td>2010年7月25日0時0分0秒</td></tr>
<tr><td>104</td><td>2010年7月20日0時0分0秒</td></tr>
<tr><td>103</td><td>2010年7月15日0時0分0秒</td></tr>
<tr><td>102</td><td>2010年7月10日0時0分0秒</td></tr>
<tr><td>101</td><td>2010年7月5日0時0分0秒</td></tr>
</table>

<p>
また、最近コメントがあったブログ記事5件のIDとコメントの投稿日時が、以下の表のようになっているとします。
</p>

<table>
<tr><th>ID</th><th>更新日時</th><tr>
<tr><td>54</td><td>2010年7月23日0時0分0秒</td></tr>
<tr><td>102</td><td>2010年7月18日0時0分0秒</td></tr>
<tr><td>53</td><td>2010年7月13日0時0分0秒</td></tr>
<tr><td>52</td><td>2010年7月8日0時0分0秒</td></tr>
<tr><td>51</td><td>2010年7月3日0時0分0秒</td></tr>
</table>

<p>
まず、最近投稿されたブログ記事から、上記の手順1でハッシュを作ると、以下のようになります。
</p>

<table>
<tr><th>キー</th><th>値</th><tr>
<tr><td>105</td><td>20100725000000</td></tr>
<tr><td>104</td><td>20100720000000</td></tr>
<tr><td>103</td><td>20100715000000</td></tr>
<tr><td>102</td><td>20100710000000</td></tr>
<tr><td>101</td><td>20100705000000</td></tr>
</table>

<p>
次に、最近コメントがついたブログ記事から、ハッシュの続きを作ります。<br />
IDが102番のブログ記事は、最近投稿された記事にも入っていますが、最新のコメントの日時の方が新しいので、ハッシュの値が更新されます。<br />
したがって、ハッシュの内容は以下のようになります。
</p>

<table>
<tr><th>キー</th><th>値</th><tr>
<tr><td>105</td><td>20100725000000</td></tr>
<tr><td>104</td><td>20100720000000</td></tr>
<tr><td>103</td><td>20100715000000</td></tr>
<tr><td>102</td><td>20100718000000</td></tr>
<tr><td>101</td><td>20100705000000</td></tr>
<tr><td>54</td><td>20100723000000</td></tr>
<tr><td>53</td><td>20100713000000</td></tr>
<tr><td>52</td><td>20100708000000</td></tr>
<tr><td>51</td><td>20100703000000</td></tr>
</table>

<p>
このハッシュを値で並べ替えると、以下のようになります。
</p>

<table>
<tr><th>キー</th><th>値</th><tr>
<tr><td>105</td><td>20100725000000</td></tr>
<tr><td>54</td><td>20100723000000</td></tr>
<tr><td>104</td><td>20100720000000</td></tr>
<tr><td>102</td><td>20100718000000</td></tr>
<tr><td>103</td><td>20100715000000</td></tr>
<tr><td>53</td><td>20100713000000</td></tr>
<tr><td>52</td><td>20100708000000</td></tr>
<tr><td>101</td><td>20100705000000</td></tr>
<tr><td>51</td><td>20100703000000</td></tr>
</table>

<p>
次に、並べ替えた結果のハッシュの先頭から、5件を取り出します。すと、そのキーが、最近変化があったブログ記事のIDになります。
</p>

<h2>2.ハッシュを作る処理をテンプレート化する</h2>

<p>
ここまでの話に沿って、ハッシュを作る処理をテンプレート化すると、以下のようになります。
</p>

<script type="text/javascript" src="http://www.h-fj.com/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="http://www.h-fj.com/syntaxhighlighter/scripts/shBrushXml.js "></script>
<script type="text/javascript">
SyntaxHighlighter.config.clipboardSwf = 'http://www.h-fj.com/syntaxhighlighter/scripts/clipboard.swf';
SyntaxHighlighter.all();
</script>

<pre class="brush : html;">&lt;mt:Entries sort_by=&quot;modified_on&quot; lastn=&quot;5&quot;&gt;
  &lt;$mt:EntryModifiedDate format=&quot;%Y%m%d%H%M%S&quot; setvar=&quot;ts&quot;$&gt;
  &lt;$mt:EntryID setvar=&quot;entry_id&quot;$&gt;
  &lt;$mt:SetVar name=&quot;ts_hash&quot; key=&quot;$entry_id&quot; value=&quot;$ts&quot;$&gt;
&lt;/mt:Entries&gt;
&lt;mt:Entries recently_commented_on=&quot;5&quot;&gt;
  &lt;mt:Comments lastn=&quot;1&quot;&gt;
    &lt;$mt:CommentDate format=&quot;%Y%m%d%H%M%S&quot; setvar=&quot;ts&quot;$&gt;
  &lt;/mt:Comments&gt;
  &lt;$mt:EntryID setvar=&quot;entry_id&quot;$&gt;
  &lt;$mt:SetVar name=&quot;ts_hash&quot; key=&quot;$entry_id&quot; value=&quot;$ts&quot;$&gt;
&lt;/mt:Entries&gt;</pre>

<p>
前半の5行は、最近更新されたブログ記事5件からハッシュを作る処理です。<br />
1行目のMTEntriesタグで、「sort_by="modified"」と「lastn="5"」のモディファイアを指定していますので、最近更新されたブログ記事を5件読み込みます。<br />
2行目では、更新日時（MTEntryModifiedDateタグ）を14桁の数値に変換して、変数tsに代入します。<br />
3行目では、ブログ記事のID（MTEntryIDタグ）を変数entry_idに代入します。<br />
そして、4行目のMTSetVarタグで、「ts_hash」という名前のハッシュに、ブログ記事のID（変数entry_id）がキー、値が更新日時（変数ts）の要素を追加します。
</p>

<p>
後半の6行目以降は、最近コメントがあったブログ記事5件からハッシュを作る処理です。<br />
6行目のMTEntriesタグでは、「recently_commented_on="5"」のモディファイアを指定していますので、最近コメントがあったブログ記事を5件読み込みます。<br />
次に、7～9行目のMTCommentsタグのブロックで、個々のブログ記事についた最新のコメントの日付を、変数tsに代入します。<br />
そして、残りの部分でハッシュts_hashに要素を追加します。
</p>

<h2>3.ブログ記事を出力する</h2>

<p>
ここまででハッシュができましたので、そのハッシュから先頭5件の要素を取り出し、そのキーからブログ記事のIDを得て、個々のブログ記事の情報を出力します。<br />
その処理をテンプレートタグで表すと、以下のようになります。
</p>

<pre class="brush : html;">&lt;mt:Loop name=&quot;ts_hash&quot; sort_by=&quot;value reverse&quot;&gt;
  &lt;mt:If name=&quot;__counter__&quot; le=&quot;5&quot;&gt;
    &lt;mt:Entries id=&quot;$__key__&quot;&gt;
      ブログ記事の情報を出力する部分
    &lt;/mt:Entries&gt;
  &lt;/mt:If&gt;
&lt;/mt:Loop&gt;</pre>

<p>
まず、1行目のMTLoopタグで、ハッシュts_hashを値の逆順（＝日付の新しい順）に並べ替え、要素を1つずつ取り出します。<br />
次の2行目では、繰り返し回数（変数__counter__）の値が5以下の時だけ、ブログ記事の情報を出力するようにしています。<br />
ハッシュには、「最近投稿されたブログ記事」と「最近コメントがあったブログ記事」の情報5件ずつ入れていて、最大で10件のブログ記事の情報が入っているので、その中の先頭5件だけを取り出すために、このMTIfタグが必要です。<br />
そして3行目では、ハッシュのキー（＝変数__key__）の値からブログ記事のIDを割り出して、MTEntriesタグでそのブログ記事を読み込んでいます。
</p>

<h2>4.ちなみに</h2>

<p class="pkg">
<a href="http://www.h-fj.com/blog/mt5bookvol2/"><img src="http://www.h-fj.com/blog/mt5bookvol2/mt5bookvol2.png" width="120" height="172" title="Movable Type 5 Webサイト製作ガイドVolume 2" class="left_float" /></a>ここまでで述べた例の他にも、ハッシュを使うといろいろなことができます。<br />
しかし、ハッシュはプログラム的な考え方なので、難しいという声もよく聞きます。<br />
&nbsp;<br />
拙著「<a href="http://www.h-fj.com/blog/mt5bookvol2/">Movable Type 5 Webサイト製作ガイドVolume 2</a>」では、変数／条件判断／配列／ハッシュ／繰り返しなど、テンプレートタグでプログラム的な記述をする方法も詳細に解説しています。<br />
ハッシュ等が苦手だという方は、この本もぜひお読みください。
</p>
]]>
    </content>
</entry>

<entry>
    <title>Movable Typeで電子書籍作成</title>
    <link rel="alternate" type="text/html" href="http://www.h-fj.com/blog/archives/2010/07/26-104941.php" />
    <id>tag:www.h-fj.com,2010:/blog//1.2219</id>

    <published>2010-07-26T01:49:41Z</published>
    <updated>2010-07-26T01:49:41Z</updated>

    <summary>7月31日（土）開催のMTDDC TokyoのLightning Talksで、ぴろり氏がMovable Typeで電子書籍用データを出力するデモを行うそうです。</summary>
    <author>
        <name>壱</name>
        <uri>http://www.h-fj.com/blog/</uri>
    </author>
    
        <category term="イベント" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="epub" label="ePub" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="kindle" label="Kindle" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="movabletype" label="Movable Type" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="電子出版" label="電子出版" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="電子書籍" label="電子書籍" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.h-fj.com/blog/">
        <![CDATA[<p>7月31日（土）開催の<a href="http://communities.movabletype.jp/pressroom/2010/07/mt-ddc-tokyo.html">MTDDC Tokyo</a>のLightning Talksで、ぴろり氏がMovable Typeで電子書籍用データを出力するデモを行うそうです。<br />
ePubとKindle形式の2つのフォーマットを出力できるようにするそうです。</p>

<p><a href="http://www.magicvox.net/archive/2010/07192357/">MTDDC のLightning Talkで電子書籍のテーマを発表します</a><br />
</p>
        <p>このところ、電子出版が非常に盛り上がっています。<br />
中でも、iPad等で採用されているePubは、大まかには以下のような仕組みなので、Webとの親和性が高いです。</p>

<ul>
<li>HTMLとCSSでコンテンツを作ります。</li>
<li>XMLで目次等の情報を追加します。</li>
<li>すべてのファイルを、Zip形式の1つのファイルに圧縮します。</li>
</ul>

<p>Movable Typeを使うと、テンプレートに沿って、デザインが揃ったHTMLファイルを、静的に多数出力することができます。<br />
また、コンテンツのデータを組み合わせてXMLを生成することも、お手の物です。<br />
したがって、Movable TypeはePub用の各種ファイルの出力にも使うことができます。<br />
さらに、出力したファイルをZipにまとめるプラグインを用意すれば、Movable Type内で簡単にePub生成を行うことができます。</p>

<p>ぴろり氏に先を越されましたが（笑）、私もMovable TypeをePub出力に使うことを考えていました。<br />
先日参加した<a href="http://linker.in/journal/2010/07/meeting17--.php">こんぶだしミーティング</a>の中でも、「Movable TypeをePub出力に使える」ということを少しお話ししました。<br />
また、先日「<a href="http://www.h-fj.com/blog/archives/2010/07/19-203224.php">PerlでZipファイルを作る</a>」という記事を書きましたが、これもePub出力への布石でした。</p>

<p>電子書籍は、Movable Typeの新しい使い道として、非常に期待できるのではないかと思います。<br />
MTDDCのLightning Talksが楽しみです。<br />
</p>]]>
    </content>
</entry>

<entry>
    <title>CSS Nite LP, Disk 10参加レポート</title>
    <link rel="alternate" type="text/html" href="http://www.h-fj.com/blog/archives/2010/07/25-101229.php" />
    <id>tag:www.h-fj.com,2010:/blog//1.2218</id>

    <published>2010-07-25T01:12:29Z</published>
    <updated>2010-07-25T01:12:29Z</updated>

    <summary>昨日（2010年7月24日）、ベルサール飯田橋にて、CSS Nite LP, Disk 10（SEO特集）が開催されました。</summary>
    <author>
        <name>壱</name>
        <uri>http://www.h-fj.com/blog/</uri>
    </author>
    
        <category term="インターネット" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="cssnite" label="CSS Nite" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="seo" label="SEO" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.h-fj.com/blog/">
        <![CDATA[<p>昨日（2010年7月24日）、ベルサール飯田橋にて、CSS Nite LP, Disk 10（SEO特集）が開催されました。<br />
</p>
        <p>景気が厳しくなる中で、企業はWebサイトに対して「成果」を求めるようになっています。<br />
ただWebサイトがあるだけではだめで、集客増・売上増につながることが必要です。</p>

<p>そのような中で、SEOが果たす役割も重要になっています。<br />
今回のCSS Nite LP, Disk 10は、SEOについて学ぶ良い機会でした。</p>

<p>告知当初は、制作者向けのセッションと、発注者向けのセッションの2トラックに分ける予定になっていました。<br />
しかし、両方聞きたいという声が多かったようで、1トラックにまとめられて、密度が高かったです。</p>

<p>どのセッションも良かったですが、紺野氏のセッションが一番面白かったと思います。<br />
悪徳SEO業者の手口を次々と切り捨てていきつつ、今後のSEOへの取り組み方を考えるといった内容でした。<br />
検索のロジックの裏を突くようなブラックな手口は、次々と出てきます。<br />
しかし、ロジックが修正されればそれまでです。<br />
また、ブラックな手口を使っていることを叩かれて、評価を落としてしまうこともあります。<br />
正攻法で行くべきだということを、改めて感じました。</p>

<p>また、紺野氏の次に登壇された小越氏のセッションも良かったです。<br />
SEO業者にもタイプがいろいろあって、発注側の希望とマッチングが重要だということが分かりました。<br />
「大切なのは、あなたの予算（財布）でなく、あなたサイトの成功に興味がある人とチームを組むこと。」「直感的にあやしいと思うものはやっぱり怪しいことが多い。」といった名言もありました。<br />
97枚ものスライドを、怒涛の勢いで40分間で話しきるのもすごかったです。</p>

<p>最後の安川氏と大内氏のセッションは、非常に実践的でした。<br />
実際のサイトを事例に、SEO的に改善すべきポイントを挙げていくという内容で、分かりやすかったです。</p>

<p>12時～19時の7時間に渡るイベントでやや疲れましたが、有意義な一日でした。<br />
スピーカー・スタッフの皆様大変お疲れさまでした。<br />
</p>]]>
    </content>
</entry>

<entry>
    <title>電話もできる「talkingSIM」</title>
    <link rel="alternate" type="text/html" href="http://www.h-fj.com/blog/archives/2010/07/24-074534.php" />
    <id>tag:www.h-fj.com,2010:/blog//1.2217</id>

    <published>2010-07-23T22:45:34Z</published>
    <updated>2010-07-23T22:45:34Z</updated>

    <summary>日本通信から、電話もできるデータ通信向けのSIMとして「talkingSIM」が発表されました。</summary>
    <author>
        <name>壱</name>
        <uri>http://www.h-fj.com/blog/</uri>
    </author>
    
        <category term="モバイル" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="sim" label="SIM" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.h-fj.com/blog/">
        <![CDATA[<p>昨日の記事で日本通信の「<a href="http://www.bmobile.ne.jp/sim/index.html">b-mobileSIM U300</a>」をレポートしましたが、その日本通信から、新たなSIMとして「<a href="http://www.bmobile.ne.jp/sim_t/index.html">talkingSIM</a>」が発表されました。<br />
データ通信だけでなく、電話もできる点が特徴です。<br />
</p>
        <p>talkingSIMは、b-mobileSIM U300と同等のデータ通信に加えて、電話することも可能なSIMです。<br />
SIMロックフリーの携帯電話やスマートフォンに装着して使用します。</p>

<p>基本料金は月額3,960円です。<br />
NTTドコモの3G回線でのデータ通信を、時間無制限に行うことができます（ただし速度の上限は300kbps）。<br />
また、3,960円の中に、無料通話分が1,050円分（25分相当）含まれています。<br />
それ以上電話する場合は、30秒あたり21円の料金がかかります。<br />
さらに、契約期間の縛りはありません。</p>

<p>MNPにも対応しています。<br />
しかし、iモードには対応していませんので、iモードのサイトを見たり、「○○○@docomo.ne.jp」のアドレスでのメール送受信を行ったりすることはできません。<br />
そのため、既存の携帯電話からの乗り換えには十分とは言えないでしょう。</p>

<p>ただ、電話兼データ通信用の2台目端末用として持つ分には良さそうです。<br />
例えば、iPhoneで電話できないエリアで、2台目の端末を使って電話したいような場合に、役に立ちそうです。</p>

<p>今のところ、SIMロックフリーの携帯電話やスマートフォンは、日本ではあまり簡単には手に入らないです。<br />
しかし、NTTドコモが、<a href="http://www.itmedia.co.jp/news/articles/1007/06/news054.html">来年4月以降に発売する端末すべてでSIMロックフリー化を進めるという話</a>も出ています。<br />
SIMロックフリー化が進めば、talkingSIMは非常に面白い存在になると思います。<br />
</p>]]>
    </content>
</entry>

<entry>
    <title>b-mobileSIM U300を試してみた</title>
    <link rel="alternate" type="text/html" href="http://www.h-fj.com/blog/archives/2010/07/23-092407.php" />
    <id>tag:www.h-fj.com,2010:/blog//1.2216</id>

    <published>2010-07-23T00:24:07Z</published>
    <updated>2010-07-23T00:24:07Z</updated>

    <summary>光ポータブルの到着に先駆けて、日本通信のb-mobileSIM U300を買って、通信を試してみました。</summary>
    <author>
        <name>壱</name>
        <uri>http://www.h-fj.com/blog/</uri>
    </author>
    
        <category term="モバイル" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="bmobile" label="b-mobile" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="モバイルルーター" label="モバイルルーター" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="光ポータブル" label="光ポータブル" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.h-fj.com/blog/">
        <![CDATA[<p class="pkg"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/B003H4QHYY/hajimefujimos-22/ref=nosim/" name="amazletlink" class="left_float"><img src="http://ecx.images-amazon.com/images/I/41-xsk%2BvAPL._SL160_.jpg" alt="日本通信 bモバイルSIM U300 1年(365日)使い放題パッケージ BM-U300-12MS" style="border: none;" /></a>先日、NTT東日本の<a href="http://flets.com/hikariportable/index.html">光ポータブル</a>のSIMフリー版に申し込みました。<br />
その後、NTT東日本から「8月5日にお届け」という連絡があり、到着を楽しみに待っているところです。<br />
&nbsp;<br />
光ポータブルの到着に先駆けて、日本通信のb-mobileSIM U300を買って、通信を試してみました。</p>
        <p>b-mobileSIM U300は、日本通信が販売しているSIMです。<br />
NTTドコモの3G回線を使って、インターネットに接続することができます。<br />
通信速度が300kbpsに制限されていますが、1年間29,800円（月額約2,480円）で使い放題です。</p>

<p>以前に、日本通信の「b-mobile 3G」というUSB接続モデムを使っていたことがあります。<br />
b-mobile 3Gも、NTTドコモの3G回線を使ってインターネットに接続する機器で、480日間または150時間まで使うことができます。<br />
このb-mobile 3GのSIMを、b-mobileSIM U300に交換することもできるということでした。<br />
そこで、手持ちのb-mobile 3GのSIMを交換して、通信をテストしてみました。</p>

<p>通信速度を測定してみると、上り／下りを足して400～500kbps程度は出る感じでした。<br />
測定のたびに上りと下りの配分が変わり、特に下り重視というわけではないようでした。</p>

<p>また、いくつかのウェブページを開いてみたところ、ページを読み込み終わるまでには時間がかかりますが、「遅すぎて使えない」という感じでもなかったです。<br />
写真や動画が多いウェブページは厳しいですが、テキスト主体のウェブページを見るだけなら、それなりに使えそうな印象を受けました。</p>

<p>SIMフリー版の光ポータブルでは、今のところはイーモバイルのSIMのみ正式サポートになっています。<br />
ただ、b-mobileSIM U300も、動作はするはずです。<br />
光ポータブルが届いたら、動作を実験したいと思います。<br />
</p>]]>
    </content>
</entry>

<entry>
    <title>今後のMTへの要望（その6・ウェブサイト関連）</title>
    <link rel="alternate" type="text/html" href="http://www.h-fj.com/blog/archives/2010/07/22-085126.php" />
    <id>tag:www.h-fj.com,2010:/blog//1.2215</id>

    <published>2010-07-21T23:51:26Z</published>
    <updated>2010-07-21T23:51:26Z</updated>

    <summary>Movable Type 5のウェブサイト機能について要望をあげます。</summary>
    <author>
        <name>壱</name>
        <uri>http://www.h-fj.com/blog/</uri>
    </author>
    
        <category term="MTの将来を考える" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="movabletype" label="Movable Type" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="movabletype5" label="Movable Type 5" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ウェブサイト" label="ウェブサイト" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.h-fj.com/blog/">
        <![CDATA[<p>Movable Type 5では、新機能として「ウェブサイト」が追加されました。<br />
ただ、追加されたばかりの新機能なだけに、こなれていない点もあって、現状では使いにくいところもいろいろあります。<br />
そこで、ウェブサイト関連の要望点を挙げてみます。<br />
</p>
        <h2>1.「ウェブサイト＝ブログ」となるサイトの作成</h2>

<p>Movable Type 5では、まずウェブサイトを作り、ブログは必ずウェブサイトの配下に入れなければならないという仕様になっています。<br />
規模がある程度大きいサイトを作るなら、この仕様でも特に問題はないでしょう。</p>

<p>しかし、小さなサイトで、ブログそのものがサイトになるような場合は、ウェブサイトをわざわざ作らなければならないのは面倒です。<br />
そこで、以下のどちらかの機能を要望します。</p>

<ul>
<li>ウェブサイトに属さないブログを作る機能</li>
<li>ウェブサイト自体をブログと同等に扱える機能（ブログ記事やカテゴリを作ったりなど）</li>
</ul>

<h2>2.ブログへの任意のドメインの付与</h2>

<p>Movable Type 5では、ブログのアドレスは、ウェブサイトのサブドメインかサブディレクトリになるようにする仕様になっています。<br />
しかし、この制限も使いづらい点があります。</p>

<p>例えば、まったく異なるドメインで複数のブログを作って、それらの情報をウェブサイトに集約したいとします。<br />
この場合、上記の仕様だと対応できません。<br />
そこで、ウェブサイトのドメインに縛られずに、ブログに任意のドメインを設定できるようにして欲しいです。</p>

<h2>3.ブログ間で共有したいオブジェクトをウェブサイトで管理する</h2>

<p>ウェブサイトの配下に複数のブログを入れて管理するという仕組みを取るなら、ブログ間で共有したい各種のオブジェクトを、ウェブサイトで一元管理する機能が欲しいです。<br />
ただ、現状のMovable Type 5ではこの点が弱く、システムレベルとウェブサイトレベルの分離が十分にできていません。<br />
そこで、以下のような機能を要望します。</p>

<h3>3-1.テンプレートモジュールの共有</h3>

<p>ブログのテンプレートに「&lt;$mt:Include module="○○○"$&gt;」のタグを入れた場合、現状ではブログに「○○○」のテンプレートモジュールがないと、システムの「○○○」テンプレートモジュールを読み込みにいくようになっています。<br />
これを変えて、ブログ→ウェブサイト→システムの順にテンプレートモジュールを探すようにして欲しいです。</p>

<h3>3-2.ウィジェットの共有</h3>

<p>ウィジェットマネージャーでも、ブログのウィジェット一覧には、ブログのウィジェットとシステムのウィジェットが表示され、ウェブサイトのウィジェットは表示されません。<br />
テンプレートモジュールの共有と同様に、ウェブサイトのウィジェットもブログで共有できる機能が欲しいです。</p>

<h3>3-3.ウィジェットセットの共有</h3>

<p>MTWidgetSetタグでブログにウィジェットセットを組み込む際にも、ブログ→ウェブサイト→システムの順にウィジェットセットを探すようにして欲しいです。</p>

<h3>3-4.カスタムフィールドの共有</h3>

<p>ウェブサイトに作ったカスタムフィールドを、配下のブログでも利用できるような機能が欲しいです。</p>

<h3>3-5.カテゴリの共有</h3>

<p>ウェブサイトにカテゴリを作る機能を追加した上で、そのカテゴリをブログでも利用できるような機能が欲しいです。</p>

<h2>4.日付系アーカイブの追加</h2>

<p>ウェブサイトで複数ブログの情報を束ねるのであれば、ウェブサイトに日付系アーカイブの機能を追加して、ウェブサイト全体での月別アーカイブ等も出力できるようにして欲しいです。<br />
</p>]]>
    </content>
</entry>

<entry>
    <title>子ども手当で手取り減少？</title>
    <link rel="alternate" type="text/html" href="http://www.h-fj.com/blog/archives/2010/07/21-093622.php" />
    <id>tag:www.h-fj.com,2010:/blog//1.2202</id>

    <published>2010-07-21T00:36:22Z</published>
    <updated>2010-07-21T00:36:22Z</updated>

    <summary>子ども手当が「月13,000円」で決着すると、子ども手当をもらっても、増税でかえって手取りが減少する世帯が生じます。</summary>
    <author>
        <name>壱</name>
        <uri>http://www.h-fj.com/blog/</uri>
    </author>
    
        <category term="ライフプラン" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="税金" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="子ども手当" label="子ども手当" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="扶養控除" label="扶養控除" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="配偶者控除" label="配偶者控除" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.h-fj.com/blog/">
        <![CDATA[<p>昨年の総選挙で、民主党が目玉政策として「子ども手当」を打ち出しました。<br />
しかし、財源不足の問題があり、当初の「月26,000円」から後退して、「月13,000円」で決着しそうな状況です。<br />
この影響で、子ども手当をもらっても、増税でかえって手取りが減少する世帯が生じます。</p>

<p>参考：<a href="http://www.jiji.com/jc/zc?k=201007/2010070200849">負担増世帯が続出＝子ども手当、半額据え置きで－第一生命</a></p>

<p>このことについて、手取りの増減のシミュレーションを行ってみました。<br />
</p>
        <h2>子ども手当の財源としての増税</h2>

<p>子ども手当を支給する代わりに、所得控除を廃止して財源の一部に充てることが決まっています。<br />
平成22年度税制改正で確定しているのは、以下の所得控除の廃止です（いずれも平成23年分の所得税から適用）。</p>

<ul>
<li>15歳までの子供の扶養控除の廃止</li>
<li>16歳～18歳の子供の扶養控除を、所得税では63万円から38万円に、住民税では45万円から33万円に縮減</li>
</ul>

<p>なお、民主党の公約には、配偶者控除の廃止も上がっていました。<br />
しかし、平成22年度の税制改正では、配偶者控除の廃止は見送られています。</p>

<h2>3歳未満の子どもだけがいる世帯は手取り減</h2>

<p>月13,000円支給で決着すると、3歳未満の子どもだけがいる世帯は、手取り減になります。</p>

<p>子ども手当の前には、「児童手当」の制度がありました。<br />
児童手当は、小学生までの子供がいる世帯に支給されます。<br />
1人目／2人目の子供は1人あたり月5,000円で、3人目以降は1人あたり月1万円です。<br />
ただし、3歳未満の子供は、1人目／2人目でも1人あたり月1万円です。<br />
また、児童手当には所得制限がありました。<br />
例えば、会社員の方で、妻と子ども1人が扶養親族なら、所得が608万円を超えると児童手当は受けられませんでした。</p>

<p>3歳未満の子どもが1人の世帯の場合、児童手当から子ども手当になることによって、年間で36,000円（1万円→13,000円×12か月）収入が増えます。<br />
一方で、扶養控除が廃止されますので、所得税が38万円×税率、住民税が33万円×税率だけ増加します。</p>

<p>所得税の税率は所得によって変化しますので、一律にいくら増税とは言えません。<br />
ただ、現状で所得税／住民税がかかっている方なら、扶養控除の廃止分の増税額は、子ども手当による収入増を上回って、実質的に手取り減になることは確かです。</p>

<p>最も税率が低い世帯（所得税5％／住民税10％）の世帯でも、所得税が38万円×5％＝19､000円、住民税が33万円×10％＝33,000円増税になり、子ども手当と差し引きで年16,000円の手取り減になります。<br />
所得がもっと多い世帯では、手取り減の幅はさらに広がります。<br />
また、3歳未満の子供が複数いる世帯だと、人数に比例して手取り減が広がります。</p>

<p>3歳未満の子供が1人の会社員の世帯で、年収と手取りの増減との関係をシミュレーションしてみると、以下の図のようになりました。<br />
シミュレーションの条件は以下の通りです。</p>

<ul>
<li>所得控除は、基礎控除／配偶者控除／扶養控除／社会保険料控除のみを考慮</li>
<li>社会保険料は年収の12％と仮定</li>
<li>児童手当は、年収が約817万円を超えると所得制限で0になると仮定（配偶者と子供の2人を扶養親族と仮定）</li>
</ul>

<p><a href="http://www.h-fj.com/blog/pic/2010/07/child.png"><img alt="3歳未満の子供が1人の場合の手取りの増減" title="3歳未満の子供が1人の場合の手取りの増減" src="http://www.h-fj.com/blog/assets_c/2010/07/child-thumb-320x180-1672.png" width="320" height="180" class="mt-image-none" style="" /></a></p>

<p>なお、上の図を見ると、年収が多い世帯では手取りが増えています。<br />
これは、所得制限で児童手当を受けていなかった高所得な世帯でも、子ども手当が支給されることが原因です。<br />
このような世帯では、子ども手当による増収分が、所得税／住民税の増税による減収分を上回って、手取り増になっています（ただし、もっと高収入な世帯だと、所得税率がさらに上がるため、手取りがマイナスになります）。</p>

<h2>配偶者控除が廃止されると手取り減世帯が大幅に増える</h2>

<p>前述したように、今のところは配偶者控除の廃止は決まっていません。<br />
しかし、将来的には、配偶者控除が廃止される可能性がないわけではありません。</p>

<p>子ども手当が月額13,000円のままで配偶者控除が廃止されると、手取り減になる世帯が大幅に増えます。<br />
3歳未満の子供だけの世帯は、影響がかなり大きくなります。<br />
また、小学生の子供が1人の世帯でも、手取り減になります。<br />
さらに、中学生の子供がいる世帯でも、所得が多い世帯では、子ども手当の増収分よりも増税による減収分が大きく、手取りが減少します。<br />
いくつかのパターンで手取りの増減をシミュレートしてみると、以下の図のようになりました。</p>

<p><a href="http://www.h-fj.com/blog/pic/2010/07/child2.png"><img alt="配偶者控除が廃止された場合の手取りの増減" title="配偶者控除が廃止された場合の手取りの増減" src="http://www.h-fj.com/blog/assets_c/2010/07/child2-thumb-320x196-1682.png" width="320" height="196" class="mt-image-none" style="" /></a></p>

<h2>迷走が続く？</h2>

<p>上で見たように、配偶者控除を廃止すると、手取り減になる世帯が多く出ます。<br />
ただ、参議院で与党が過半数を割り、国会運営が厳しくなっている中で、配偶者控除の廃止は難しくなったと思います。</p>

<p>一方、今の状況が続けば、次の衆議院総選挙では民主党は敗北する可能性が高いと思われます。<br />
自民党主体の政権になれば、おそらく子ども手当は廃止になるでしょう。</p>

<p>しばらくは迷走が続くことになりそうです。<br />
</p>]]>
    </content>
</entry>

<entry>
    <title>8月7日に「第8回Creatorz×第2回広島MT学会」が開催</title>
    <link rel="alternate" type="text/html" href="http://www.h-fj.com/blog/archives/2010/07/20-090510.php" />
    <id>tag:www.h-fj.com,2010:/blog//1.2214</id>

    <published>2010-07-20T00:05:10Z</published>
    <updated>2010-07-20T00:08:34Z</updated>

    <summary>2010年8月7日に広島県福山市の「まなびの館ローズコム」にて「第8回Creatorz×第2回広島MT学会」が開催されます。</summary>
    <author>
        <name>壱</name>
        <uri>http://www.h-fj.com/blog/</uri>
    </author>
    
        <category term="イベント" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="movabletype" label="Movable Type" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="movabletype5" label="Movable Type 5" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.h-fj.com/blog/">
        <![CDATA[<p><a href="http://creatorz.org/">備後クリエイター協会</a>の主催で、8月7日に広島県福山市の「まなびの館ローズコム」にて、「<a href="http://creatorz.org/news/mt-fukuyama.html">第8回Creatorz×第2回広島MT学会</a>」というMovable Type 5に関するイベントが開催されます。<br />
私も講師として参加します。<br />
広島近辺の中国地方にお住まいで、Movable TypeでWeb製作を行われている方は、ぜひご参加ください。</p>

<p><a href="http://creatorz.org/news/mt-fukuyama.html">第8回Creatorz×第2回広島MT学会の特設ページ</a><br />
<a href="http://creatorz.org/document/docs/creatorz8th.pdf">第8回Creatorz×第2回広島MT学会のパンフレット</a></p>
        <p><a href="http://creatorz.org/">備後クリエイター協会</a>は、広島県福山市を中心としたWeb制作者の集まりです。<br />
昨年暮れに発足し、毎月「Creatorz」という勉強会を開催されています。</p>

<p>また、広島では昨年夏に、「<a href="http://www.webtouchmeeting.com/">Web Touch Meeting</a>」というイベントとのコラボレーションで、「<a href="http://atnd.org/events/1210">第1回広島MT学会</a>」というイベントも開催されています。<br />
今回の「第2回広島MT学会」は、そのイベントの第2回目になります。</p>

<p>勉強会Creatorzは、普段は10～20人程度で行われているようです。<br />
しかし、今回はスペシャルイベントとして、200人の動員を目指すとのことです。<br />
講師として、私と、<a href="http://www.alfasado.net/">アルファサード有限会社</a>の<a href="http://junnama.alfasado.net/online/">野田純生氏</a>が参加します。<br />
私はMovable Type 5のテーマ機能の使い方についてお話しします。</p>

<p>イベントの概要は以下の通りです。</p>

<table>
<tr><th>日時</th><td>2010年8月7日（土曜日）<br />13時～18時(12時30分開場)</td></tr>
<tr><th>場所</th><td>まなびの館ローズコム 4階 大会議室1<br /><a href="http://maps.google.co.jp/maps?f=q&source=s_q&hl=ja&geocode=&q=%E5%BA%83%E5%B3%B6%E7%9C%8C%E7%A6%8F%E5%B1%B1%E5%B8%82%E9%9C%9E%E7%94%BA1%E4%B8%81%E7%9B%AE10%E7%95%AA1%E5%8F%B7&sll=35.65861,139.745447&sspn=0.069668,0.076647&brcurrent=3,0x355110bc9a104433:0x945c406e36701b7,0&ie=UTF8&hq=&hnear=%E5%BA%83%E5%B3%B6%E7%9C%8C%E7%A6%8F%E5%B1%B1%E5%B8%82%E9%9C%9E%E7%94%BA%EF%BC%91%E4%B8%81%E7%9B%AE%EF%BC%91%EF%BC%90%E2%88%92%EF%BC%91&ll=34.482912,133.366127&spn=0.01767,0.019162&z=16">広島県福山市霞町1丁目10番1号</a>(福山駅から徒歩約15分)</td></tr>
<tr><th>セッション内容</th><td><ul><li>ライトニングトーク</li><li>私のセッション（Movable Type 5のテーマ機能関係）</li><li>Pronetパートナーディスカッション</li><li>野田純生氏のセッション（内容未定）</li><li>プレゼントタイム</li></ul></td></tr>
<tr><th>参加費</th><td>3,000円<br /><a href="http://atnd.org/events/5113/">ATNDからの申込</a>で500円割引<br />知人を紹介すると自分および知人それぞれ500円割引</td></tr>
</table>

<p>また、イベント終了後に懇親会も予定されています。<br />
私も懇親会に参加します。<br />
</p>]]>
    </content>
</entry>

<entry>
    <title>PerlでZipファイルを作る</title>
    <link rel="alternate" type="text/html" href="http://www.h-fj.com/blog/archives/2010/07/19-203224.php" />
    <id>tag:www.h-fj.com,2010:/blog//1.2213</id>

    <published>2010-07-19T11:32:24Z</published>
    <updated>2010-07-19T13:25:23Z</updated>

    <summary>PerlでZipファイルを作る方法を調べてみました。</summary>
    <author>
        <name>壱</name>
        <uri>http://www.h-fj.com/blog/</uri>
    </author>
    
        <category term="プログラミング" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="自作プラグイン" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="movabletype" label="Movable Type" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="Perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="zipファイル" label="Zipファイル" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.h-fj.com/blog/">
        <![CDATA[<p>
Movable Type用に今後作りたいと考えているプラグインで、Zipファイルを作成する処理が必要になります。<br />
そこで、PerlでZipファイルを作る方法を調べてみました。<br />

</p>
        <h2>Archive::Zip</h2>

<p>
PerlでZipファイルを操作するには、Archive::Zipを使うのが簡単です。<br />
Archive::ZipはZipファイルの作成や読み込みの機能を持ったクラスで、シンプルな記法でZipファイルを読み書きすることができます。
</p>

<p>
Perlのプログラムに以下の行を入れると、Archive::Zipを使うことができます。
</p>

<script type="text/javascript" src="http://www.h-fj.com/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="http://www.h-fj.com/syntaxhighlighter/scripts/shBrushPerl.js "></script>
<script type="text/javascript">
SyntaxHighlighter.config.clipboardSwf = 'http://www.h-fj.com/syntaxhighlighter/scripts/clipboard.swf';
SyntaxHighlighter.all();
</script>

<pre class="brush : perl;">use Archive::Zip qw( :ERROR_CODES :CONSTANTS );</pre>

<h2>Zipファイルのオブジェクトを作成</h2>

<p>
Archive::ZipでZipファイルを作る場合、まずメモリ上にZipファイルのオブジェクトを作ります。<br />
オブジェクトを変数$zipに割り当てるなら、以下のように書きます。
</p>

<pre class="brush : perl;">my $zip = Archive::Zip-&gt;new();</pre>

<h2>ファイルを圧縮する</h2>

<p>
ファイルを圧縮するには、オブジェクトのaddFileメソッドを使います。<br />
オブジェクトを変数$zipに割り当てている場合に、カレントディレクトリにある「sample1.txt」ファイルを圧縮するには、以下のように書きます。
</p>

<pre class="brush : perl;">$zip-&gt;addFile('sample1.txt');</pre>

<p>
サブディレクトリにあるファイルを圧縮するには、サブディレクトリ名も含めてファイル名を指定します。<br />
例えば、カレントディレクトリの中に「dir」というディレクトリがあり、その中の「sample2.txt」ファイルを圧縮するには、以下のように書きます。
</p>

<pre class="brush : perl;">$zip-&gt;addFile('dir/sample2.txt');</pre>

<p>
また、ファイル名を変えて圧縮したい場合は、addFileメソッドの2つ目のパラメータでそのファイル名を指定します。<br />
例えば、「sample1.txt」を圧縮し、ファイル名を「otherfile.txt」にしたい場合は、以下のように書きます。
</p>

<pre class="brush : perl;">$zip-&gt;addFile('sample1.txt', 'otherfile.txt');</pre>

<h2>テキストデータを圧縮する</h2>

<p>
テキストデータを直接に圧縮することもできます。<br />
それには、「addString」というメソッドを使います。
</p>

<p>
例えば、変数$strに入っているテキストデータを圧縮し、「string.txt」というファイル名を付けたい場合は、以下のように書きます。
</p>

<pre class="brush : perl;">$zip-&gt;addString($str, 'string.txt');</pre>

<h2>圧縮せずに格納する</h2>

<p>
Zipファイルにファイルや文字列を追加する際に、圧縮せずに単に格納だけしたい場合もあります（例：短いファイルで、圧縮するとかえってサイズが大きくなる場合）。<br />
このような時には、addFileやaddStringのメソッドを実行した後に、その戻り値のオブジェクトに対して「desiredCompressionMethod」というメソッドを実行し、パラメータとして「COMPRESSION_STORED」を渡します。
</p>

<p>
例えば、「sample1.txt」というファイルを格納するだけの場合、以下のように書きます。
</p>

<pre class="brush : perl;">my $sample1 = $zip-&gt;addFile('sample1.txt');
$sample1-&gt;desiredCompressionMethod(COMPRESSION_STORED);</pre>

<h2>Zipファイルに保存する</h2>

<p>
Zipファイルのオブジェクトを作り終わったら、最後にその内容をZipファイルに保存します。<br />
それには「writeToFileNamed」というメソッドを使い、パラメータとしてファイル名を指定します。<br />
戻り値が「AZ_OK」なら、保存に成功しています。
</p>

<p>
例えば、変数$zipに割り当てたオブジェクトを「sample.zip」というファイルに保存するには、以下のようにします。
</p>

<pre class="brush : perl;">if ($zip-&gt;writeToFileNamed('sample.zip') == AZ_OK) {
    print &quot;sample.zip is successfully saved.\n&quot;;
}
else {
    print &quot;sample.zip save error.\n&quot;;
}</pre>
]]>
    </content>
</entry>

<entry>
    <title>WordBench埼玉勉強会に参加しました</title>
    <link rel="alternate" type="text/html" href="http://www.h-fj.com/blog/archives/2010/07/18-105352.php" />
    <id>tag:www.h-fj.com,2010:/blog//1.2212</id>

    <published>2010-07-18T01:53:52Z</published>
    <updated>2010-07-18T01:53:52Z</updated>

    <summary>昨日（7月17日）に、埼玉県越谷市の越谷市中央市民会館で、WordBench埼玉勉強会が開催されました。</summary>
    <author>
        <name>壱</name>
        <uri>http://www.h-fj.com/blog/</uri>
    </author>
    
        <category term="イベント" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="wordbench" label="WordBench" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="wordpress" label="WordPress" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="wordpress30" label="WordPress 3.0" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.h-fj.com/blog/">
        <![CDATA[<p>昨日（7月17日）に、埼玉県越谷市の越谷市中央市民会館で、<a href="http://saitama.wordbench.org/2010/06/22/study-meeting-20100717/">WordBench埼玉勉強会</a>が開催されました。<br />
私も参加してきました。</p>

<p><a href="http://www.h-fj.com/blog/pic/2010/07/wordbench20100717.jpg"><img alt="WordBench埼玉勉強会" title="WordBench埼玉勉強会" src="http://www.h-fj.com/blog/assets_c/2010/07/wordbench20100717-thumb-320x240-1680.jpg" width="320" height="240" class="mt-image-none" style="" /></a></p>
        <p>今回のWordBench埼玉勉強会では、WordPress 3.0がテーマになりました。</p>

<h2>新デフォルトテーマ Twenty Ten の構造や新機能を理解しよう</h2>

<p>まず、かとちゃん氏より、WordPress 3.0の新デフォルトテーマの「TwentyTen」について、解説がありました。</p>

<p>WordPress 3.0ではいくつかの新機能が追加されています。<br />
TwentyTenテーマは、それらの新機能のデモンストレーション的な作りになっていて、WordPress 3.0の新機能を学ぶ上で役に立ちます。</p>

<p>中でも、「get_template_part」という新しい関数が便利だというお話しがありました。<br />
get_template_part関数は、あるテンプレートを他のテンプレートに組み込む際に使う関数で、WordPress 3.0で追加されました。<br />
get_header関数やget_sidebar関数を一般化したような関数で、子テーマにも対応しているので、PHPのinclude文を直接に使うより楽になります。</p>

<h2>3.0から始めるWordPressのデータベース負荷分散</h2>

<p>次に、Jim912氏より、WordPressのデータベース負荷分散についての解説がありました。</p>

<p>WordPressは動的にページを生成するので、各ページへのアクセスが多くなってくると、負荷対策が必要になってきます。<br />
その1つの手法として、データベースを書き込み用と読み込み用に分け、読み込み用のデータベースを複数台用意して、書き込み用の内容を読み込み用に複製する、という方法を解説していただきました。<br />
WordPressのようなデータベースの使い方だと、書き込みよりも読み込みの方がはるかに多いので、読み込み用のサーバーを複数台用意すれば、データベースへのアクセス負荷を分散しやすいです。</p>

<h2>複数のWordPressの統合</h2>

<p>事前に、池田百合子氏から、「複数インストールしたWordPressを、WordPress 3.0のネットワーク機能で1つにまとめたい」という質問が上がっていました。<br />
そこで、統合の作業をその場で実演することも行われました。</p>

<p>基本的には、WordPress 3.0で複数のブログを作っておいて、そのデータベースのテーブルに、既存のWordPressのテーブルの内容をインポートすれば良いということでした。<br />
ただし、wp_optionテーブルをインポートすると、ログインできなくなるなどの問題が起こるので、wp_option以外のテーブルをインポートすると良いそうです。</p>

<h2>懇親会</h2>

<p>勉強会の後に、懇親会も開催されました。<br />
焼き肉を食べつつ、WordPressをネタに盛り上がりました。</p>

<p>今回のWordBenchも内容が濃く、非常にためになりました。<br />
ご参加の皆様お疲れさまでした。<br />
</p>]]>
    </content>
</entry>

<entry>
    <title>「ケイ運送」様のサイトを製作</title>
    <link rel="alternate" type="text/html" href="http://www.h-fj.com/blog/archives/2010/07/16-213021.php" />
    <id>tag:www.h-fj.com,2010:/blog//1.2211</id>

    <published>2010-07-16T12:30:21Z</published>
    <updated>2010-07-16T22:46:55Z</updated>

    <summary>知り合いのファイナンシャル・プランナーの方から、そのお客様である「ケイ運送」様のサイト製作を依頼され、製作を行いました。
</summary>
    <author>
        <name>壱</name>
        <uri>http://www.h-fj.com/blog/</uri>
    </author>
    
        <category term="日記" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="movabletype" label="Movable Type" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="movabletype5" label="Movable Type 5" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mtos" label="MTOS" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.h-fj.com/blog/">
        <![CDATA[<p><a href="http://k-trans.chicappa.jp/"><img alt="「ケイ運送」様のサイト" title="「ケイ運送」様のサイト" src="http://www.h-fj.com/blog/assets_c/2010/07/k-trans-thumb-240x215-1676.png" width="240" height="215" class="left_float" style="" /></a>知り合いのファイナンシャル・プランナーの方から、そのお客様である「<a href="http://k-trans.chicappa.jp/">ケイ運送</a>」様のサイト製作を依頼され、製作を行いました。<br />
</p>
        <p>ケイ運送様は、群馬県みなかみ町にある会社です。<br />
一般運送の他に、産業廃棄物（木材）の処理や、堆肥の製造販売等を行われています。</p>

<p>サイト製作の際には、コストを抑えるために、MTOS 5.02を利用しました。<br />
クラシックウェブサイト／ブログのテーマにHills Greenスタイルシートを組み合わせたものをベースにして、カスタマイズを行っています。<br />
メインページや、会社案内等のウェブページは、ウェブサイトで管理しています。<br />
そして、お知らせをブログで管理するようにしています。</p>

<p class="pkg"><a href="http://www.h-fj.com/blog/pic/2010/07/k-trans2.png"><img alt="「作業メニュー」ダッシュボードウィジェット" title="「作業メニュー」ダッシュボードウィジェット" src="http://www.h-fj.com/blog/assets_c/2010/07/k-trans2-thumb-240x204-1678.png" width="240" height="204" class="left_float" style="" /></a>ケイ運送様側では、お知らせの更新と、トップページのメッセージの更新だけを行っていただく形を取っています。<br />
そこで、ユーザーダッシュボードに「作業メニュー」というウィジェットを作り、最小限のメニューのみ表示するようにしました。</p>]]>
    </content>
</entry>

</feed>
