<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TechnoWeb　-phpやJava、C#.netなど、PGに関する事や、サーバー管理情報など、Webシステム開発全般に関するブログ-</title>
	<atom:link href="http://www.vish-develop.jp/feed" rel="self" type="application/rss+xml" />
	<link>http://www.vish-develop.jp</link>
	<description>VISHメンバーによるWeb技術トレンドや開発事例、プログラミングTips等、Webシステム開発全般に関するブログ</description>
	<lastBuildDate>Tue, 15 Mar 2011 00:32:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PHPでpathinfo関数やbasename関数を使用して、全角を含むファイル名を取得しようとすると失敗する事がある</title>
		<link>http://www.vish-develop.jp/tech/862</link>
		<comments>http://www.vish-develop.jp/tech/862#comments</comments>
		<pubDate>Fri, 11 Mar 2011 01:18:17 +0000</pubDate>
		<dc:creator>h_takimoto</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[技術情報]]></category>

		<guid isPermaLink="false">http://www.vish-develop.jp/?p=862</guid>
		<description><![CDATA[結論
PHP4、PHP5で、全角ファイル名を含むパスに対して
pathinfo関数やbasename関数でファイル名を取得しようとすると失敗する事がある。
※ファイル名の先頭がマルチバイト文字の場合に失敗する。
※文字コ [...]]]></description>
			<content:encoded><![CDATA[<h3>結論</h3>
<p>PHP4、PHP5で、全角ファイル名を含むパスに対して<br />
pathinfo関数やbasename関数でファイル名を取得しようとすると失敗する事がある。</p>
<p>※ファイル名の先頭がマルチバイト文字の場合に失敗する。<br />
※文字コードの種類によらない<br />
※OSの種類によらない</p>
<p>これはPHP4、PHP5の仕様なので、別の手段で対応しよう。<br />
<a href="http://bugs.php.net/bug.php?id=37738">PHP :: Bug #37738 :: basename does not work with Japanese</a></p>
<h3>代替案</h3>
<pre>
// 正常な例
$path = 'http://www.example.com/otakara.jpg';
echo basename($path);
$pathinfo = pathinfo($path);
echo $pathinfo['basename'];</code>

// 失敗例
$path = 'http://www.example.com/大変貴重な画像.jpg';
echo basename($path);
$pathinfo = pathinfo($path);
echo $pathinfo['basename'];

// 代替案の一例
echo end(explode('/', $path));
echo end(explode('/', $path));

////
// OUTPUT
//
// otakara.jpg
// otakara.jpg
// .jpg
// .jpg
// 大変貴重な画像.jpg
// 大変貴重な画像.jpg
</pre>
<p>滝本</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vish-develop.jp/tech/862/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>携帯でSSLサイト接続時に「この接続先は安全でない可能性があります」と出るケースの1例</title>
		<link>http://www.vish-develop.jp/trend/859</link>
		<comments>http://www.vish-develop.jp/trend/859#comments</comments>
		<pubDate>Mon, 27 Dec 2010 11:38:09 +0000</pubDate>
		<dc:creator>h_takimoto</dc:creator>
				<category><![CDATA[システムトレンド]]></category>

		<guid isPermaLink="false">http://www.vish-develop.jp/?p=859</guid>
		<description><![CDATA[最近、ベリサインのSSL証明書を設定する際に
「おや？」と思った事があったので、エントリしておきます。
詳しくは下記のURLをご覧頂きたいのですが、
中間CA証明書のインストールについて｜FAQ｜ヘルプデスク｜サーバID [...]]]></description>
			<content:encoded><![CDATA[<p>最近、ベリサインのSSL証明書を設定する際に<br />
「おや？」と思った事があったので、エントリしておきます。</p>
<p>詳しくは下記のURLをご覧頂きたいのですが、<br />
<a href="https://www.verisign.co.jp/ssl/help/faq/110089/index.html">中間CA証明書のインストールについて｜FAQ｜ヘルプデスク｜サーバID｜日本ベリサイン</a></p>
<p>ベリサイン証明書の階層が3階層から4階層になりました。<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
■変更前<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
ルート証明書<br />
中間CA証明書<br />
サーバID<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
■変更後<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
ルート証明書<br />
クロスルート設定用証明書<br />
中間CA証明書<br />
サーバID<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>サーバー管理者の設定作業としては、<br />
1つの中間証明書ファイルに<br />
2つの証明書（クロスルート設定用証明書、中間CA証明書）を<br />
合わせて記載する所がポイントになります。<br />
<a href="https://www.verisign.co.jp/ssl/help/install/iapache_new_intca_s.html">Apache + OpenSSL 中間CA証明書のインストール手順｜サーバIDのインストール｜日本ベリサイン</a></p>
<p>もしも、クロスルート設定用証明書の設定が漏れたりすると、<br />
証明書の階層構造がつながらず、正当性が確認できない場合が発生します。</p>
<p>たとえばケータイからSSLサイトにアクセスした際に<br />
「この接続先は安全でない可能性があります」<br />
なんて表示されてしまうのは、中間証明書のインストールが<br />
正常になされていない場合に良くあるケースです。</p>
<p>現在、使用中の証明書には影響はありませんが、<br />
次回の更新時には意識する必要がありますので、是非、覚えておきましょう。</p>
<p>滝本</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vish-develop.jp/trend/859/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DataGridViewでのクリップボードへのコピー</title>
		<link>http://www.vish-develop.jp/tech/net/855</link>
		<comments>http://www.vish-develop.jp/tech/net/855#comments</comments>
		<pubDate>Fri, 24 Dec 2010 07:40:24 +0000</pubDate>
		<dc:creator>King</dc:creator>
				<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://www.vish-develop.jp/?p=855</guid>
		<description><![CDATA[DataGridViewでのクリップボードへのコピーの動作において、
セルを編集している状態の時は選択しているテキストをコピーし、
セルを編集していない状態の時は選択行ごとコピーする場合、
以下の方法で実現できたので紹介 [...]]]></description>
			<content:encoded><![CDATA[<p>DataGridViewでのクリップボードへのコピーの動作において、<br />
セルを編集している状態の時は選択しているテキストをコピーし、<br />
セルを編集していない状態の時は選択行ごとコピーする場合、<br />
以下の方法で実現できたので紹介します。</p>
<p><span id="more-855"></span></p>
<pre>
private void dataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
    if (e.Control is DataGridViewTextBoxEditingControl)
    {
        dataGridView.ClipboardCopyMode = DataGridViewClipboardCopyMode.Disable;

        //編集のために表示されているコントロールを取得
        DataGridViewTextBoxEditingControl tb = (DataGridViewTextBoxEditingControl)e.Control;

        //イベントハンドラを削除
        tb.Validated -= new EventHandler(dataGridViewTextBox_Validated);
        // イベントハンドラを追加
        tb.Validated += new EventHandler(dataGridViewTextBox_Validated);
    }
}

private void dataGridViewTextBox_Validated(object sender, EventArgs e)
{
    dataGridView.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.vish-develop.jp/tech/net/855/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SIMフリー版 HTC Desire HDを購入</title>
		<link>http://www.vish-develop.jp/trend/850</link>
		<comments>http://www.vish-develop.jp/trend/850#comments</comments>
		<pubDate>Thu, 02 Dec 2010 13:59:12 +0000</pubDate>
		<dc:creator>h_tab</dc:creator>
				<category><![CDATA[システムトレンド]]></category>

		<guid isPermaLink="false">http://www.vish-develop.jp/?p=850</guid>
		<description><![CDATA[これまでiPhone 3GS を使ってきましたが、このたびAndroidに乗り換えました。
じつは私、大のApple嫌いなのですが、１年前はこれならガラケーから乗り換えても良い思えるスマートフォンがiPhoneくらいしか [...]]]></description>
			<content:encoded><![CDATA[<p>これまでiPhone 3GS を使ってきましたが、このたびAndroidに乗り換えました。</p>
<p>じつは私、大のApple嫌いなのですが、１年前はこれならガラケーから乗り換えても良い思えるスマートフォンがiPhoneくらいしかありませんでしたので、仕方なくiPhoneを選択しました。</p>
<p>スマートフォンとしてのiPhoneは十分実用的で、機能面では特に不満はありませんでしたが、どこか面白みがなく、他に良いスマートフォンがないかずっと探していました。<br />
（Apple嫌いなのでiTuneやiPod機能はほとんど使っていませんでした）</p>
<p>そんな折、Android 2.1のスマートフォンに触れる機会があったのですが、思いのほかサクサク動作することが確認でき、ようやくiPhone以外のスマートフォンに乗り換えても良いと確信できるようになりました。</p>
<p>ですが、ただ単純にAndroidに乗り換えても面白くありません。</p>
<p>そこで、SIMフリー版のHTC Desire HDを購入してみました。<br />
（諸事情でなぜかSoftBank番の001HTも同時に購入することになりました・・・）</p>
<p><span id="more-850"></span></p>
<p>SIMフリー版のDHDで一番目を引くのは、SoftBank版では削除されているテザリングのメニューがあることです。</p>
<p><img class="alignnone size-full wp-image-851" title="device1" src="http://www.vish-develop.jp/wp/wp-content/uploads/2010/12/device1.png" alt="device1" width="480" height="800" /> </p>
<p>上記スクリーンショットの「USB範囲」という項目が、PCとつないでテザリングを行う機能になります。</p>
<p>あと注目すべき点が、「ポータブル Wi-Fi hotspot」という項目です。</p>
<p>これは、Android端末がWi-Fiルーターになる機能です。</p>
<p>まだ実際のSIMでは試してはいませんが、こんな感じで設定できるようです。</p>
<p><img class="alignnone size-full wp-image-852" title="device" src="http://www.vish-develop.jp/wp/wp-content/uploads/2010/12/device.png" alt="device" width="480" height="800" /></p>
<p>年末年始に色々試すネタが増えました。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vish-develop.jp/trend/850/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Python東海第12回勉強会</title>
		<link>http://www.vish-develop.jp/seminar/846</link>
		<comments>http://www.vish-develop.jp/seminar/846#comments</comments>
		<pubDate>Thu, 04 Nov 2010 12:59:27 +0000</pubDate>
		<dc:creator>hashimoto</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[セミナー/勉強会]]></category>

		<guid isPermaLink="false">http://www.vish-develop.jp/?p=846</guid>
		<description><![CDATA[Python東海第12回勉強会をVISHにて開催しました。
■Google App Engineのスタートガイドハンズオン
開発環境のインストールから、ビックテーブルのところで終了。
この続きは11月20日(土)に実施し [...]]]></description>
			<content:encoded><![CDATA[<p>Python東海第12回勉強会をVISHにて開催しました。</p>
<p>■Google App Engineのスタートガイドハンズオン<br />
開発環境のインストールから、ビックテーブルのところで終了。<br />
この続きは11月20日(土)に実施します。<br />
・ハンズオンの内容として<br />
開発環境の構築<br />
バージョン管理ツールの使い方<br />
GAE のスタートガイド を 「データストアの使用」<br />
管理コンソールの起動<br />
GQLの利用</p>
<p>今回は14名の参加で大盛況でした。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vish-develop.jp/seminar/846/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSDからLinuxへのユーザアカウントの移行</title>
		<link>http://www.vish-develop.jp/trend/842</link>
		<comments>http://www.vish-develop.jp/trend/842#comments</comments>
		<pubDate>Fri, 29 Oct 2010 00:51:15 +0000</pubDate>
		<dc:creator>h_tab</dc:creator>
				<category><![CDATA[システムトレンド]]></category>

		<guid isPermaLink="false">http://www.vish-develop.jp/?p=842</guid>
		<description><![CDATA[最近、FreeBSDサーバからLinuxサーバへシステムを移行する機会がありました。
その際ユーザアカウントも一緒に移行する必要がありまして、
作業したポイントをまとめておきます。

================== [...]]]></description>
			<content:encoded><![CDATA[<p>最近、FreeBSDサーバからLinuxサーバへシステムを移行する機会がありました。</p>
<p>その際ユーザアカウントも一緒に移行する必要がありまして、<br />
作業したポイントをまとめておきます。</p>
<p><span id="more-842"></span></p>
<p>====================================================<br />
UIDとGIDをFreeBSDとLinuxで合わせてユーザを作成する<br />
====================================================<br />
後々に各ユーザが所有しているコンテンツを移行する際に、<br />
両サーバでUIDとGIDが一致していると、移行が<br />
スムーズに行えます。</p>
<p>まず最初に、Linuxにグループを追加します。<br />
# groupadd -g [GID] [グループ名]</p>
<p>GIDはFreeBSDの/etc/groupを参照すれば分かります。</p>
<p>次に、Linuxにユーザを追加します。<br />
# useradd -u [UID] -g [グループ名] [ユーザ名]</p>
<p>UIDはFreeBSDの/etc/passwdを参照すれば分かります。</p>
<p>====================================================<br />
パスワードを移行する<br />
====================================================<br />
一昔前なら、パスワードは/etc/passwdに記述されて<br />
いましたが、最近は暗号化されたシャドウパスワードファイルに<br />
記述されています。</p>
<p>ただし、シャドウパスワードファイルがFreeBSDと<br />
Linuxでことなるため、少し注意が必要です。</p>
<p>＜FreeBSDの場合＞<br />
/etc/master.passwd がシャドウパスワードファイルになります。</p>
<p>シャドウパスワードファイルの中身は<br />
test:$1$XXXDD$xgYDDDEE/7DDKsXbIHtW1:10000:10000:test:0:0:web:/home/test:/bin/sh<br />
というようになっています。</p>
<p>コロンで区切られた２番目のフィールド[$1$XXXDD$xgYDDDEE/7DDKsXbIHtW1]<br />
の部分がシャドウパスワードになります。</p>
<p>＜Linuxの場合＞<br />
/etc/shadow がシャドウパスワードファイルになります。</p>
<p>FreeBSDからLinuxにシャドウパスワードを移行すれば、<br />
パスワードも含めてユーザアカウントを移行できます。</p>
<p>シャドウパスワードを編集する際は、viで編集するのではなくて<br />
vipwコマンドで編集する必要があります。<br />
vipwコマンドを使用すると、/etc/passwdと/etc/shadowの<br />
整合性を確保して両者を編集することができます。<br />
以上が、FreeBSDからLinuxへのユーザアカウントの移行する際の<br />
ポイントになります。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vish-develop.jp/trend/842/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Azure初期特別提供プランの終了（2010/10/31）</title>
		<link>http://www.vish-develop.jp/trend/805</link>
		<comments>http://www.vish-develop.jp/trend/805#comments</comments>
		<pubDate>Sun, 17 Oct 2010 19:34:29 +0000</pubDate>
		<dc:creator>y_sato</dc:creator>
				<category><![CDATA[システムトレンド]]></category>

		<guid isPermaLink="false">http://www.vish-develop.jp/?p=805</guid>
		<description><![CDATA[Windows Azure を　無料（25時間/月）で使用できる初期特別提供プランは 2010 年10 月31 日で終了されるので、まだお試しになっていない方は試してみてはどうでしょうか、Windows Azure では [...]]]></description>
			<content:encoded><![CDATA[<p>Windows Azure を　無料（25時間/月）で使用できる初期特別提供プランは 2010 年10 月31 日で終了されるので、まだお試しになっていない方は試してみてはどうでしょうか、Windows Azure では.NET言語だけでなく非.NET言語のPHPやJAVAのSDKやPHP開発者向けのEclipseプラグイン「<a href="http://www.interoperabilitybridges.com/projects/windows-azure-tools-for-eclipse.aspx">Windows Azure Tools for Eclipse</a>」があるのでPHPには慣れてるけど.NET言語に慣れていない方も簡単にお試しができますよ</p>
<p> ■登録に必要なもの<br />
・Windows Live ID<br />
・クレジットカード（無料分以降は課金されるため）<br />
<span id="more-805"></span></p>
<p>■登録方法<br />
１．<a href="http://www.microsoft.com/japan/windowsazure/offers/">http://www.microsoft.com/japan/windowsazure/offers/</a>よりWindows Azure Platform導入特別プランの購入ボタンをクリックします</p>
<p><img class="alignnone size-thumbnail wp-image-817" title="azure1" src="http://www.vish-develop.jp/wp/wp-content/uploads/2010/10/azure1-150x150.jpg" alt="azure1" width="150" height="150" /><br />
２．登録済みのWindows Live IDでログインします<br />
<img class="alignnone size-thumbnail wp-image-817" title="azure2" src="http://www.vish-develop.jp/wp/wp-content/uploads/2010/10/azure2-150x150.jpg" alt="azure2" width="150" height="150" /></p>
<p>３．必要な個人情報を入力します<br />
<img src="http://www.vish-develop.jp/wp/wp-content/uploads/2010/10/azure3-150x150.jpg" alt="azure3" title="azure3" width="150" height="150" class="alignnone size-thumbnail wp-image-819" /><br />
４．画面のチェックボックスにチェックを入れ「checkout」ボタンをクリックします<br />
<img src="http://www.vish-develop.jp/wp/wp-content/uploads/2010/10/azure4-150x150.jpg" alt="azure4" title="azure4" width="150" height="150" class="alignnone size-thumbnail wp-image-821" /><br />
５．クレジット登録が選択されているのでそのまま「NEXT」ボタンをクリックします<br />
<img src="http://www.vish-develop.jp/wp/wp-content/uploads/2010/10/azure5-150x150.jpg" alt="azure5" title="azure5" width="150" height="150" class="alignnone size-thumbnail wp-image-822" /><br />
６．クレジットカード情報を入力します<br />
<img src="http://www.vish-develop.jp/wp/wp-content/uploads/2010/10/azure6-150x150.jpg" alt="azure6" title="azure6" width="150" height="150" class="alignnone size-thumbnail wp-image-823" /><br />
７．同意箇所にチェックを入れ、fullname項目を記入し「I　Accept」ボタンをクリックします<br />
<img src="http://www.vish-develop.jp/wp/wp-content/uploads/2010/10/azure7-150x150.jpg" alt="azure7" title="azure7" width="150" height="150" class="alignnone size-thumbnail wp-image-823" /><br />
８．確認画面が表示されるので「Proceed to activation」ボタンをクリックします<br />
<img src="http://www.vish-develop.jp/wp/wp-content/uploads/2010/10/azure8-150x150.jpg" alt="azure8" title="azure8" width="150" height="150" class="alignnone size-thumbnail wp-image-823" /><br />
９．登録が完了しポータルサイトが表示されます<br />
<img src="http://www.vish-develop.jp/wp/wp-content/uploads/2010/10/azure9-150x150.jpg" alt="azure9" title="azure9" width="150" height="150" class="alignnone size-thumbnail wp-image-823" /></p>
<p>以下が今回登録した無料提供分でできることです<br />
注意してもらいたいのが<br />
「S サイズのコンピューティング インスタンス 25 時間分」<br />
についてはWindows Azureにデプロイした状態で実行していなくても<br />
課金されることので注意が必要です</p>
<p>無料提供分の内容:<br />
&#8221; Windows Azure<br />
■S サイズのコンピューティング インスタンス 25 時間分<br />
■500 MB のストレージ<br />
■ストレージ トランザクション 10,000 回<br />
&#8221; SQL Azure<br />
■Web Edition データベース 1 つ (最初の 3 か月間のみ)<br />
&#8221; AppFabric<br />
■100,000 回のアクセス コントロール トランザクション<br />
■サービス バス接続 2 接続<br />
&#8221; データ転送量 (地域ごと)<br />
■受信 500 MB<br />
■送信 500 MB</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vish-develop.jp/trend/805/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FPDFで決まった単位でのページ番号を表示させる</title>
		<link>http://www.vish-develop.jp/tech/php/795</link>
		<comments>http://www.vish-develop.jp/tech/php/795#comments</comments>
		<pubDate>Thu, 14 Oct 2010 03:28:31 +0000</pubDate>
		<dc:creator>King</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.vish-develop.jp/?p=795</guid>
		<description><![CDATA[phpのFPDFを使ってPDF出力をする場合のに、
ページ番号を表示させるには

// 現在のページ番号を取得
$page_no = $pdf->PageNo();
// 「現在のページ番号/総ページ数」を表示
$pdf [...]]]></description>
			<content:encoded><![CDATA[<p>phpのFPDFを使ってPDF出力をする場合のに、<br />
ページ番号を表示させるには</p>
<pre>
// 現在のページ番号を取得
$page_no = $pdf->PageNo();
// 「現在のページ番号/総ページ数」を表示
$pdf->Cell(0, 4, $page_no.'/{nb}', 0, 0, 'C');
</pre>
<p>などのようにして出力すれば良いのですが、<br />
ある決まった単位（管理番号ごとなど）で<br />
ページ番号を1から始める、つまり<br />
1ページ目：1/2<br />
2ページ目：2/2<br />
3ページ目：1/4　　　←単位の切り替わり<br />
4ページ目：2/4<br />
5ページ目：3/4<br />
・・・<br />
のようにする方法を紹介します。<br />
<span id="more-795"></span></p>
<p>まず、FPDF本体のfpdf.phpファイルを修正します。<br />
(1)クラスのメンバ変数に総ページ数を保持する配列を定義します。</p>
<pre>
var $unitPageNo;        //Unit page number
</pre>
<p>(2)function FPDFメソッド内でメンバ変数を初期化しているところで$unitPageNoの初期化も一緒に行ないます。</p>
<pre>
$this->unitPageNo = array();
</pre>
<p>(3)総ページ数をセットするメソッドを追加します。</p>
<pre>
function SetUnitPageNo($page_no, $unit_page_no)
{
    // 指定ページ番号（$page_no）に表示する総ページ数（$unit_page_no）をセット
    $this->unitPageNo[$page_no] = $unit_page_no;
}
</pre>
<p>(4)function _putpagesメソッド内の「if(!empty($this->AliasNbPages))」の条件分岐内の処理を以下に置き換えます。</p>
<pre>
for($n=1;$n<=$nb;$n++){
    $this->pages[$n]=str_replace($this->AliasNbPages, $this->unitPageNo[$n], $this->pages[$n]);
}
</pre>
<p>あとは、FPDFクラスを呼び出している処理で以下のことを行ないます。<br />
(5)総ページ数を保持する変数を定義し、決まった単位（管理番号など）が変わるタイミングで値を0に戻します。</p>
<pre>
$unit_page_no = 0;
</pre>
<p>(6)ページ番号を表示をしている箇所を以下のようにして、総ページ数をセットします。</p>
<pre>
$unit_page_no++;
$pdf->Cell(0, 4, $unit_page_no.'/{nb}', 0, 0, 'C');
for($i = 0; $i < $unit_page_no; $i++){
    $no = $pdf->PageNo() - $i;
    $pdf->SetUnitPageNo($no, $unit_page_no);
}
</pre>
<p>これで、決まった単位ごとのページ数が出力されるようになります。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vish-develop.jp/tech/php/795/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>マイクロフレームワーク</title>
		<link>http://www.vish-develop.jp/trend/790</link>
		<comments>http://www.vish-develop.jp/trend/790#comments</comments>
		<pubDate>Fri, 08 Oct 2010 14:14:13 +0000</pubDate>
		<dc:creator>hashimoto</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[その他]]></category>
		<category><![CDATA[システムトレンド]]></category>
		<category><![CDATA[セミナー/勉強会]]></category>
		<category><![CDATA[ツール紹介]]></category>
		<category><![CDATA[技術情報]]></category>

		<guid isPermaLink="false">http://www.vish-develop.jp/?p=790</guid>
		<description><![CDATA[なかなか参加ができていなかった勉強会ですが
10月は名古屋地区で10月16日にAndoroid勉強会、10月23日にPython東海の勉強会があるので
久々に技術系サイトを巡回したら
「マイクロフレームワーク」というなん [...]]]></description>
			<content:encoded><![CDATA[<p>なかなか参加ができていなかった勉強会ですが<br />
10月は名古屋地区で10月16日にAndoroid勉強会、10月23日にPython東海の勉強会があるので<br />
久々に技術系サイトを巡回したら<br />
「マイクロフレームワーク」というなんだか新鮮な匂いのするキーワードを発見したので検索してみた。<br />
勉強のネタとして自宅のマシンに入れようと思います。</p>
<p>マイクロフレームワークと呼ばれているフレームワーク<br />
・ちいたん(PHP)<br />
http://php.cheetan.net/<br />
・MicroMVC(PHP)<br />
http://micromvc.com/<br />
・DENIED(Python)<br />
http://denied.immersedcode.org/<br />
・Flask(Python)<br />
http://flask.pocoo.org/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vish-develop.jp/trend/790/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C#のSSHライブラリ</title>
		<link>http://www.vish-develop.jp/trend/783</link>
		<comments>http://www.vish-develop.jp/trend/783#comments</comments>
		<pubDate>Fri, 08 Oct 2010 00:19:05 +0000</pubDate>
		<dc:creator>h_tab</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[システムトレンド]]></category>

		<guid isPermaLink="false">http://www.vish-develop.jp/?p=783</guid>
		<description><![CDATA[WEBサーバ上のデータベースをメンテナンスするツールとしてはphpMyAdminやphpPgAdminなどがありますが、Webのインターフェースのため少し使いにくい部分もあります。
普段使い慣れたデータベース管理ツールで [...]]]></description>
			<content:encoded><![CDATA[<p>WEBサーバ上のデータベースをメンテナンスするツールとしてはphpMyAdminやphpPgAdminなどがありますが、Webのインターフェースのため少し使いにくい部分もあります。</p>
<p>普段使い慣れたデータベース管理ツールでWEBサーバ上のデータベースにアクセスするための方法として、以前このブログでもSSHのポート転送を利用する方法が紹介されていました。</p>
<p>トンネリングを用いてSSHでDB接続<br />
<a href="http://www.vish-develop.jp/tech/127">http://www.vish-develop.jp/tech/127</a></p>
<p>ですがこのやり方は一般の方々には難しいため、もう少し簡単にポート転送を利用できないかと色々探してみたのですが、どれもSSHクライアントを利用する例しか見つかりませんでした。<br />
（ポート転送だけが簡単に出来ればよいのですが・・・）</p>
<p>そこで自分でSSHポート転送ツールが作成できないかと思い、C#で利用できるSSHライブラリを探してみました。</p>
<p><span id="more-783"></span></p>
<p>使えそうな候補としては以下の通り。</p>
<p>Granados<br />
<a href="http://www.routrek.co.jp/product/varaterm/granados.html">http://www.routrek.co.jp/product/varaterm/granados.html</a></p>
<p>SharpSSH<br />
<a href="http://www.tamirgal.com/blog/page/SharpSSH.aspx">http://www.tamirgal.com/blog/page/SharpSSH.aspx</a></p>
<p>とりあえず最初にGranadosの方を試してみましたが、普通のSSHクライアントはうまく実装することができましたが、どうにもポート転送がうまくいきません。</p>
<p>ライブラリの問題ではなくて自分の問題だとは思いますが、こちらは断念しました。</p>
<p>次にSharpSSHの方を試しています。</p>
<p>うまくいったら SSHポート転送に特化したツールとして公開したいと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vish-develop.jp/trend/783/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

