jQueryでAmazon検索

jQueryの$.ajaxを練習がてら、今さらながらAmazon検索ページを作ってみました。

jQueryでAmazon検索

Amazon Web サービス」を利用し、PHPでデータを取得しjQueryで処理をさせています。

検索後ページ下部に表示される「NEXT」をクリックすると、検索結果が追加されていきます。というか削除する処理をつけなければ勝手にこうなるのですが、検索した結果がページに蓄積されていくほうが使いやすいかと思い、そのままにしています。新しく検索すると前の結果は削除されます。(ちょっと処理が荒いのでソースはのせていません。興味がある方は直接ソースをのぞいてくださいな。)

なんかappendで追加したもののeventが取得できないっていう現象ではまりました。「NEXT」の部分は「a id=”next”」としてappendで追加していたけど「$(“a#next”).click」が動作せず。Firebugで確認してもちゃんと追加されてるし、動かない理由がわからず時間だけくってしまったので、仕様変更。根本的な知識が抜けているのか、単なるミスか。またちゃんと調べなければ。ひとまず今日はここまで。

参考ページ
特集:jQueryではじめるAjax|gihyo.jp … 技術評論社

Mail関数でHTMLメールを送る場合のメモ

HTMLメールを表示しない設定にしているものにも対応するため本文にtext/plainも添える場合、ヘッダーのContent-Typeを「Multipart/alternative」にする。(添付にする場合は「Multipart/mixed」)

Content-Type: Multipart/alternative; boundary="HM0000001"
MIME-Version: 1.0

本文は以下のように「text/plain」「text/html」の2つを記述しておく。

--HM0000001
Content-Type: text/plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

プレーンテキストです。

--HM0000001
Content-Type: text/html; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

<html>
<head>
<title>HTMLメール</title>
</head>
<body>
HTMLメールです。
</body>
</html>
--HM0000001--

これだけでプレーンテキスト表示にも対応したHTMLメールが送れる。

  • Category : PHP
  • Tags : 

PHPのパフォーマンステスト

最近PHPの見直しをしているついでに、記述の違いでどれだけパフォーマンスが違うかをテストしてみました。

チェックしたのは下記2つ。

・『 $a[ abc ](遅い)』と 『 $a[ ” abc ” ](速い)』
・for文で 『 count()を直接指定(遅い)』と 『 count()の結果を変数に代入して指定(速い)』

処理が遅い記述

for ($i = 0; $i < count($a[abc]); $i++){ $hoge1 += $a[abc][$i]; } [/sourcecode] 処理が速い記述

$count = count($a[“abc”]);
for ($i = 0; $i < $count; $i++){ $hoge2 += $a["abc"][$i]; } [/sourcecode] 遅い方の記述と速い方の記述を組み合わせてテストしました。下記ページで確認できます。 PHP パフォーマンステスト

なんとこの2つの記述の違いだけで、約10倍近いパフォーマンスの差がでます。

連想配列はきちんとダブルクォート、もしくはシングルクォートで括っていますが、for文にcount()を指定するのはよくやってしまっています。これからは少し手間でもきちんと変数に代入するように気をつけよう…。

他にも記述の違いでのPHPのパフォーマンスがかなり異なるようで、下記サイトを参考にきちんと基本を見直していこうと思います。

The PHP Benchmark

  • Category : PHP
  • Tags :