The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xml:lang="ja-JP">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta http-equiv="Content-Style-Type" content="text/css" />
  <link rel="stylesheet" type="text/css" href="style.css" />
  <title>tips Tips</title>
  <link rel="index"     href="./" />
  <link rel="up"        href="../" />
</head>
<body>

<div class="pod_title_block">
tips Tips


</div>

<!-- Begin TABLE_OF_CONTENTS -->
<div class="pod_toc">
<p>
<strong><span class="pod_lang">TABLE OF CONTENTS</span></strong>
</p>
<ul>
<li><a href="#NAME">
<span class="pod_lang">NAME

</span></a>
</li>
<li><a href="#DESCRIPTION">
<span class="pod_lang">DESCRIPTION

</span></a>
<ul>
<li><a href="#Xe9X80X9fXe5XbaXa6Xe3X81XabXe9X96Xa2Xe3X81X99Xe3X82X8bXe3X83X81Xe3X83Xa5Xe3X83XbcXe3X83X8bXe3X83Xb3Xe3X82Xb0">
<span class="pod_lang">速度に関するチューニング

</span></a>
<ul>
<li><a href="#DBXe3X82XafXe3X83Xa9Xe3X82Xb9Xe3X81XaeXe3X82XaaXe3X83XbcXe3X83X90Xe3X83XbcXe3X83X98Xe3X83X83Xe3X83X89Xe3X81XaeXe5X9bX9eXe9X81Xbf">
<span class="pod_lang">DBクラスのオーバーヘッドの回避

</span></a>
</li>
</ul>
</li>
<li><a href="#TripletaiLXe3X82X92Xe5X88Xa9Xe7X94Xa8Xe3X81X97Xe3X81XaaXe3X81X84HTMLXe3X83X95Xe3X82Xa9Xe3X83XbcXe3X83Xa0Xe3X81X8bXe3X82X89Xe3X81XaeXe5X80Xa4Xe3X81XaeXe5X8fX97Xe3X81X91Xe5X8fX96Xe3X82X8a">
<span class="pod_lang">TripletaiLを利用しないHTMLフォームからの値の受け取り

</span></a>
</li>
</ul>
</li>
<li><a href="#AUTHOR_INFORMATION">
<span class="pod_lang">AUTHOR INFORMATION

</span></a>
</li>
</ul>
</div>
<!-- End TABLE_OF_CONTENTS -->

<!-- Begin CONTENT -->
<!-- =encoding utf-8 -->

<hr />
<h1><a id="NAME">
<span class="pod_lang">NAME

</span></a></h1>

<p>
<span class="pod_lang">tips Tips

</span>
</p>


<hr />
<h1><a id="DESCRIPTION">
<span class="pod_lang">DESCRIPTION

</span></a></h1>

<p>
<span class="pod_lang">このドキュメントでは、TripletaiL を使用する際に知っておいた方が良いTipsについて紹介します。

</span>
</p>

<h2><a id="Xe9X80X9fXe5XbaXa6Xe3X81XabXe9X96Xa2Xe3X81X99Xe3X82X8bXe3X83X81Xe3X83Xa5Xe3X83XbcXe3X83X8bXe3X83Xb3Xe3X82Xb0">
<span class="pod_lang">速度に関するチューニング

</span></a></h2>

<h3><a id="DBXe3X82XafXe3X83Xa9Xe3X82Xb9Xe3X81XaeXe3X82XaaXe3X83XbcXe3X83X90Xe3X83XbcXe3X83X98Xe3X83X83Xe3X83X89Xe3X81XaeXe5X9bX9eXe9X81Xbf">
<span class="pod_lang">DBクラスのオーバーヘッドの回避

</span></a></h3>

<p>
<span class="pod_lang">DBクラスは、<a href="././Tripletail/DB.html#Xe6X8bXa1Xe5XbcXb5Xe3X83X97Xe3X83XacXe3X83XbcXe3X82Xb9Xe3X83X9bXe3X83XabXe3X83X80Xe8Xa9Xb3Xe7Xb4Xb0">拡張プレースホルダ</a>等の追加機能を実現するために、オーバーヘッドがあります。

</span>
</p>

<p>
<span class="pod_lang">大量のクエリを発行するバッチ処理などでは、DBクラスの拡張機能を利用せず、DBIを直接利用することでパフォーマンスが改善します。

</span>
</p>

<p>
<span class="pod_lang">例えば以下のように利用します。

</span>
</p>

<pre class="pod_verbatim"><code> my $DB = $TL-&gt;getDB('DB');
 my $DBH = $DB-&gt;getDbh();
 my $sth = $DBH-&gt;prepare(q{SELECT * FROM test WHERE id = ?});
 $sth-&gt;execute($id);
 while(my $data = $sth-&gt;fetchrow_hashref) {
   # ...
 }</code></pre>

<h2><a id="TripletaiLXe3X82X92Xe5X88Xa9Xe7X94Xa8Xe3X81X97Xe3X81XaaXe3X81X84HTMLXe3X83X95Xe3X82Xa9Xe3X83XbcXe3X83Xa0Xe3X81X8bXe3X82X89Xe3X81XaeXe5X80Xa4Xe3X81XaeXe5X8fX97Xe3X81X91Xe5X8fX96Xe3X82X8a">
<span class="pod_lang">TripletaiLを利用しないHTMLフォームからの値の受け取り

</span></a></h2>

<p>
<span class="pod_lang">TripletaiL は、出力時にHTMLソースを加工し、フォームに文字コード判別用の
文字を追加しています。
フォームを受け取ったときは、この文字を利用して文字コードを判別することによって、
どの日本語文字コードで受け取っても正しくデコードできるようにしています。

</span>
</p>

<p>
<span class="pod_lang">TripletaiL 以外のプログラムや、静的なHTMLファイルからフォームを受け取る場合、
この文字コード判別用の文字を追加する必要があります。
この文字がない場合、正しく文字コードが判別できず、受け取った内容が文字化けします。

</span>
</p>

<p>
<span class="pod_lang">以下の内容のフォームデータを一緒に送信するようにして下さい。

</span>
</p>

<pre class="pod_verbatim"><code> &lt;input type=&quot;hidden&quot; name=&quot;CCC&quot; value=&quot;愛&quot;&gt;</code></pre>

<p>
<span class="pod_lang">URLの場合は、文字コードにあわせて、以下のようにデータを送信して下さい。

</span>
</p>

<pre class="pod_verbatim"><code> UTR-8の場合 http://example.com/tl.cgi?CCC=%e6%84%9b&amp;key1=value1&amp;key2=value2
 Shift_JISの場合 http://example.com/tl.cgi?CCC=%88%a4&amp;key1=value1&amp;key2=value2
 EUC-JPの場合 http://example.com/tl.cgi?CCC=%b0%a6&amp;key1=value1&amp;key2=value2</code></pre>


<hr />
<h1><a id="AUTHOR_INFORMATION">
<span class="pod_lang">AUTHOR INFORMATION

</span></a></h1>

<ul>
<p>
<span class="pod_lang">Copyright 2007 YMIRLINK Inc.

</span>
</p>

<p>
<span class="pod_lang">This framework is free software; you can redistribute it and/or modify it under the same terms as Perl itself

</span>
</p>

<p>
<span class="pod_lang">このフレームワークはフリーソフトウェアです。あなたは Perl と同じライセンスの 元で再配布及び変更を行うことが出来ます。

</span>
</p>

<p>
<span class="pod_lang">Address bug reports and comments to: tl@tripletail.jp

</span>
</p>

<p>
<span class="pod_lang">HP : http://tripletail.jp/

</span>
</p>

</ul>

<!-- End CONTENT -->

<div class="pod_title_block">
tips Tips


</div>

<!-- Begin INDEX -->
<hr />
<h1><a id="INDEX"><span class="pod_lang">INDEX</span></a></h1>
<div class="pod_idx_outer">
<ul class="pod_idx">
<li><a href="#AUTHOR_INFORMATION">AUTHOR INFORMATION</a></li>
<li><a href="#DBXe3X82XafXe3X83Xa9Xe3X82Xb9Xe3X81XaeXe3X82XaaXe3X83XbcXe3X83X90Xe3X83XbcXe3X83X98Xe3X83X83Xe3X83X89Xe3X81XaeXe5X9bX9eXe9X81Xbf">DBクラスのオーバーヘッドの回避</a></li>
<li><a href="#DESCRIPTION">DESCRIPTION</a></li>
<li><a href="#NAME">NAME</a></li>
<li><a href="#TripletaiLXe3X82X92Xe5X88Xa9Xe7X94Xa8Xe3X81X97Xe3X81XaaXe3X81X84HTMLXe3X83X95Xe3X82Xa9Xe3X83XbcXe3X83Xa0Xe3X81X8bXe3X82X89Xe3X81XaeXe5X80Xa4Xe3X81XaeXe5X8fX97Xe3X81X91Xe5X8fX96Xe3X82X8a">TripletaiLを利用しないHTMLフォームからの値の受け取り</a></li>
<li><a href="#Xe9X80X9fXe5XbaXa6Xe3X81XabXe9X96Xa2Xe3X81X99Xe3X82X8bXe3X83X81Xe3X83Xa5Xe3X83XbcXe3X83X8bXe3X83Xb3Xe3X82Xb0">速度に関するチューニング</a></li>
</ul>
</div>
<!-- End INDEX -->

<div class="pod_title_block">
tips Tips


</div>

</body>
</html>