Amazon の広告用画像をカスタマイズする

– Amazonの画像生成ルール(ええもん屋 ラボ)
http://ecs.amonya.com/ecs40/amazon.html

[基本ルール]
http://images-jp.amazon.com/images/P/[ASINコード].[国コード].[画像の種類].jpg

で、画像の種類にパラメータを与えてやるとぼかしや割引追加、サイズ変更、回転など様々な加工ができるようです。
 
http://images-jp.amazon.com/images/P/4873111811.09._OU02_PIuk-r-ss-new,BottomRight,5,5_.jpg
 
参考:
Google と Amazon の画像生成する隠れAPI(using API;)

<script src="…"> で注意すべき点

で注意すべき点">

ドメイン間のデータ送信テスト(docodemo door Test)
<script src=”…”>を用いた、パスワード入力フォームの内容を悪意あるサイトに送るテスト。
 
たとえばブログペットやアクセスカウンター、アフィリエイトなどは <script src=”http://サービス提供サイト/xxx”>という形式の HTML タグをブログに埋め込みますが、埋め込んだブログがトップページからログイン可能なものであった場合、サービス提供サイト側がブログのパスワードを盗み出すことができてしまいます。
 
対策として
– 信頼できる(盗まれても問題が無い,あるいは自分で構築した)サイトのサービスのみ利用する。
-重要な情報が含まれる(入力される)ページには信頼できるサイト以外のサービスを付加しない。
などが挙げられます。
 
JSONP を利用する場合も当然注意する必要があります。

で注意すべき点">

Web API ネタ

Geocoding API
書式: http://www.geocoding.jp/?q=<キーワード>
指定したキーワード(住所、地名、駅など)を持つ場所の座標(経緯度)を検索して XML で返します。
Google CodeSearch
書式: http://www.google.com/codesearch/feeds/search?q=<キーワード>
指定したキーワードを、公開されているソースコードから検索して、該当したソースコードの URL を RSS フィード(Atom 1.0)で返します。
Koders.com なんかの Google 版ですね。
詳細:
  – Google CodeSearch Data API Overview
  – Google CodeSearch の使用法(Zend Framework)
  
 
Web API の動向については using API が参考になります。

Yahoo API の簡単な利用法 – serialize

http://developer.yahoo.co.jp/
で公開されている API は全て XML でレスポンスが返りますが、
output=php をパラメータに追加すると、PHP の serialize() 形式でシリアル化されたデータが返るという記事を見付けました。
 
注:ライブラリを利用することで、他の言語(C#, perl など)でも PHP serialize は読み込むことが可能なため、用途は PHP に限りません。これに付いてはリンク先の最後を参照してください。
 
Using Serialized PHP with Yahoo! Web Services
 
ここに書かれている、
http://api.search.yahoo.com/ImageSearchService/V1/imageSearch?appid=YahooDemo&query=Madonna&results=1&output=php
にアクセスしてみるとサンプル出力が得られます。
 
以下、上記 API を利用した PHP のサンプルコードです。

<?php
$url = “http://api.search.yahoo.com/ImageSearchService/V1/” .
        “imageSearch?appid=YahooDemo&query=fruit+cake&results=1&output=php”;
ob_start();
readfile($url);
$result =unserialize(ob_get_contents()); // 結果セットを取得
ob_end_clean();
 
// var_dump($result); // どういう内容が格納されているか確認したい場合コメントアウト。
 
 $thumbnail_url = $result[“ResultSet”][“Result”][0][“Thumbnail”][“Url”];
?>
<html>
<head>
  <title>サムネイル</titte>
</head>
<body>
  <?php foreach($result[“ResultSet”][“Result”] as $record){ ?>
     □<?=$record[‘Title’]?>
       (<?=$record[‘FileSize’]?> バイト)<br>
     <p>説明:<?=$record[‘Summary’]?></p>
     <a href=”<?=$record[‘ClickUrl’]?>”><img src=”<?=$record[‘Thumbnail’][‘Url’]?>”></a><br>
     <hr>
  <?php } ?>
</body>
</html>

 
参考:
Yahoo曰く、XMLじゃなくてPHPの変数をそのままシリアライズして返せばいいじゃん

Selenium – HTMLベースの HttpUnit

http://www.openqa.org/selenium/index.html
 
HTMLでテストケースを書いて、ブラウザで実行できる Web 用の xUnit 系テストツール。実装は JavaScript です。
同僚経由で知りましたが、かなりいいです。
 
追記: これを Firefox の拡張で行えるようにした Selenium IDE というものもあります。
ブラウザでの動作を記録してそこからテストを生成してくれるというものです。
テストの生成から実行まで全て短時間で GUI でできるというのが素晴らしいです。作成したテストはもちろん本家 Selenium でも使えます。これから何度もお世話になりそう。
なお、この拡張は日本で作られた Selenium Recorderがベースになっています。
 
参考:
webアプリケーションテストツール seleniumがヤバすぎる(2nd life)
SeleniumIntegration
– [Web アプリケーションテストツール Selenium のテスト記述から開放してくれる Firefox 拡張 Selenium IDE|http://cl.pocari.org/2006-02-15-3.html]]

File (URL Scheme)

file:// という URI スキーマを使う事でブラウザ, OS に極力非依存な形で
ファイルアクセスができる。表し方は次の通り。
– ローカルのファイルパス

c:\windows\notepad.exe

file:///c:/WINDOWS/notepad.exe

になり、

/var/log/messages

file:///var/log/messages

になる。
– Windows ネットワーク(WINS)を使ったファイルパス
PC 名 “foo” の共有ディレクトリ “work” を表す

\\foo\work

file://///foo/work

になる。

ブラウザでページを操作

– ブラウザのアドレスバーを使った遊び。日本語テキストたっぷりなページでを開いた後、次のコードをアドレスバーにいれて実行すると文章を書き換える。

javascript:varelm=document.getElementsByTagName(“body”)[0];elm.innerHTML=elm.innerHTML.replace(newRegExp(“。”,”g”),”にゃ。”);

堅苦しい言葉がトロ語に。replace 使うと Firefox だと化けるなぁ.. split(“from”).join(“to”); としたほうがいいかも。

document.getElementsByTagName(“body”)[0].innerHTML;

これがキモ。DOM メソッドを使って Body タグの全文章を取得/操作する。

追記[2005-06-22]:

document.getElementsByTagName(“body”)[0]

は、

document.body

でも参照可能らしい。某所にあったコードのほうが汎用的で簡素みたい。

JavaScript:document.body.innerHTML=document.body.innerHTML.split(‘。’).join(‘にゃ。’);focus();

focus() しないと、実行後が別ページ扱いになって相対パスの外部ファイル(画像, js, css)の読み込みに失敗して見ためが崩れるみたい。

XML のデータ整合性をチェックする

– Visual Studio.NET の Microsoft Development Environment
– Eclipse
– Emacs – PSGML
OpenJade,OpenSP: それぞれ Jade, SP を DSSSL コミュニティが受け継いでメンテナンスと拡張をしているバージョン。元となった Jade/SP は既に配布されていない。
http://www.sscd.de/openjade/
– OpenJade Windows Binaries and Sources.