April 03, 2006

キーボードの入力が英語になってしまったら

@や:が半角でうまく打てなくなったときなど

レジストリエディタで
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000411
に移動し
Layout Textが日本語になってるのと
Layout Fileがkbdjpn.dllになってるか確認する

大体、kbdus.dllになってしまってるケースが多い

なお、kbdus.dllであってもメモ帳などはうまく打てたりして
ブラウザだけ日本語打てないなどのケースのときはこの対処法で直るかも?

デバイスマネージャのキーボード項目が
101/102英語キーボードになっててもちゃんと打てた

February 22, 2006

Flashでの外部データ読み込み

1ドメイン内で処理している場合は問題ないが
外部サービスなどでXMLやswfを読み込む場合は注意が必要です

FlashPlayer7からしか外部読み込みは対応していません

読み込む場合は
読み込みたいサーバのドキュメントルートにcrossdomain.xmlを設置すること。
中身は
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>

でOK
*になってるところに読み込み元のドメインを記述する
ワイルドカード対応のため*にすると全ドメインが許可される

ドキュメントルート以外に設置したい場合は
System.security.loadPolicyFile("http://www.example.com/crossdomain.xml");
という記述を読み込み元のswfに記述しておく
(この方法はFlashPlayer 7r19以上)

読み込みたいファイルがswfで読み込み元のswfと読み込み先のswfを通信したい場合は
System.security.allowDomain("www.example.com");
という記述を読み込み先のswfに記述が必要
この記述をするとコンパイルエラー出る場合は以下を参照
http://www.fumiononaka.com/TechNotes/Flash/FN0411003.html


Amazonなどの有名なサービスは大体ドキュメントルートにcrossdomain.xmlは用意されていますので
XMLを指定するだけでOKな場合が多い

February 12, 2006

MovieClipLoaderのイベント呼び出し順

FlashPlayer7からの読み込み関数:MovieClipLoader

onLoadStart
onLoadProgress
onLoadComplete
onLoadInit

loadClipを連続行などで読み込んだ場合は表示が飛ばされるので
onLoadInitが呼ばれないケースあり

画像のサイズはonLoadInitのときに取得可能

使うときは
各イベント関数を定義した後
addListenerでリスナー用オブジェクト生成してから
loadClipで読み込む

November 14, 2004

PostgreSQLのデータベースの所有者を変更する

psql内で\lしたときのowner欄のところに今設定されている
所有者を変更するコマンドです

所有者のIDを取得
SELECT usesysid FROM pg_user WHERE usename='ユーザ名';

データベース所有者を変更
UPDATE pg_database SET datdba= 変更したいユーザID WHERE datname='変更するデータベース名';

November 11, 2004

Amazonの商品画像URLのルール

Amazonにリンクする際にほとんどの方が商品画像を利用していると思いますが
実はあの画像・・・加工できるんです。

ここでは個人的にかなりおもしろかった
エースコンバット5のパッケージを利用します。

まずエースコンバット5のASINは「B0002TY16I」です。

そして普通のAmazonに使われている画像

これのURLはこれです
http://images.amazon.com/images/P/B0002TY16I.09.MZZZZZZZ.jpg

まず最初の下記部分は全商品共通です
http://images.amazon.com/images/P/
http://images-jp.amazon.com/images/P/

使ってるのは上のほうのドメインですけど
下のほうを使っても同じように取得できます


加工できる部分はこのファイル名の部分です
B0002TY16I.09.MZZZZZZZ.jpg

最初の「B0002TY16I」の部分はASINです
次の「09」は商品エリアコードです

日本用:01
海外用:09

と設定されてますが
ほとんどの場合は海外用をしかありません。
音楽のジャケットなどでは
両方あるが色彩が微妙に違ったりします。


そして重要なのは「MZZZZZZZ」!
この8文字で構成されるのは画像の形式指定です

これはアルファベットを使ってオプションを指定し
「Z」で8文字埋めるというものです

サイズを変化させるのは最初の1文字目。

大:L
中:M
小:T
極小:THUMB

極小だけ5文字ですがルールにのっとり
THUMBZZZとZ文字で8文字埋めてみると・・・

http://images.amazon.com/images/P/B0002TY16I.09.THUMBZZZ.jpg
というように極小サイズがでます。


あとは画像を傾けたり、値引率を表示したりできますが
この加工はサイズが「小」に限定されるので注意が必要です。

まず画像を傾ける方法は
左:1TZZZZZZ
右:1TRZZZZZ
です

http://images.amazon.com/images/P/B0002TY16I.09.1TZZZZZZ.jpg

次は値引率の表示です
10%OFFの場合は

http://images.amazon.com/images/P/B0002TY16I.09.10TRZZZZ.jpg

というように「10TRZZZZ」と指定すればOKです
最初の10が値引率なので
95%OFFなら

http://images.amazon.com/images/P/B0002TY16I.09.95TRZZZZ.jpg
となります

割引率の数字に応じてマークの色も変化します

そして値引率を右にもっていきたければ

http://images.amazon.com/images/P/B0002TY16I.09.95TLZZZZ.jpg

という風に「95TLZZZZ」と「TR」を「TL」にすればOKです
left・rightの頭文字です

値引率は1~99まで整数のみ対応してます
(1%の場合は01と2桁指定すること)

傾ける方法と値引率を同時にすると

http://images.amazon.com/images/P/B0002TY16I.09.50TTZZZZ.jpg

という風にできます

微妙な問題ですが

http://images.amazon.com/images/P/B0002TY16I.09.00TTLZZZ.jpg

http://images.amazon.com/images/P/B0002TY16I.09.TTLZZZZZ.jpg

というように割引率を0にして傾けるのと
傾けるだけのとは商品の位置が微妙に違います

これも覚えるのが面倒なので
ASINから自動で画像URL生成するスクリプト

http://www.yanbe.net/cgi/aws/image.cgi

なおこの画像加工はAmazon公式にはどこに載ってるかわからなかったので
自分で調べたものですので
今後、ずっと使えるかどうか不明ですので
ご了承ください

今回も下記2サイトにお世話になりました!
感謝!

↓AsociateHelper
http://a-h.parfe.jp/intro.html
↓はてなダイアリー - まんぷく::日記(Amazon画像、さらなる機能)
http://d.hatena.ne.jp/manpukuya/20040119#1074438001

November 10, 2004

AmazonのECSを使う!

AmazonのWEBサービスを使って遊ぶための情報をまとめてみる

以下の情報は全てAWS4.0ですのでお間違いなく。

XMLをもらうためのRESTリクエストルールは以下の通り

まずドメインは
日本のAmazonなら
http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService
アメリカのAmazonなら
http://webservices.amazon.com/onca/xml?Service=AWSECommerceService

(ここで紹介するリクエストオプションは全て共通です)

まずXML使用するためにIDを指定する
アソシエイトIDは日本Amazonで
SubscriptionIdはアメリカAmazonで取得してください

&SubscriptionId=[登録時のsubscription ID]
&AssociateTag=[アソシエイトID]

ECSサービスのバージョンを指定する
指定しなくても取得できるがデフォルト値は最新なのでバージョンアップした際に動作しなくなる恐れあり。

&Version=2004-10-19

レスポンスの形式を指定する
XMLかHTMLで取得できるがHTMLにしてもブラウザで見やすいというものではない

&ContentType=text/xml
&ContentType=text/html

レスポンス内容を指定する
「&ResponseGroup=」で指定できるが
このオプションはカンマ(,)で区切って複数を指定できるので欲しい情報を指定しよう

ほとんどの情報は
Small
Medium
Large
を指定すれば情報量を操作できる

Small 最小限の情報を返す(デフォルト値)
・ASIN
・曲名・書籍名
・作者・アーティスト
・所属グループ
・商品へのリンクURL
Medium 中ぐらいの情報を返す
・ASIN
・曲名・書籍名
・作者・アーティスト
・所属グループ
・商品へのリンクURL
・売り上げランキング順位
・商品画像URL(大・中・小)(縦横のピクセル単位のサイズもある) (もちろんない場合もある)
・定価
・発売日
・書籍の場合は本の分厚さ、ページ数がある
・音楽の場合はメディアの種類(CD/DVDなど)、ディスクなどが何枚組かがある

Small, Request, ItemAttributes, OfferSummary, SalesRank, EditorialReview, Imagesの集合体
Large

ほとんどの情報を返す
・ASIN
・曲名・書籍名
・作者・アーティスト
・所属グループ
・商品へのリンクURL
・売り上げランキング順位
・商品画像URL(大・中・小)(縦横のピクセル単位のサイズもある) (もちろんない場合もある)
・定価
・発売日
・発送可能時期
・カスタマーレビュー
・関連するカテゴリ
・書籍の場合は本の分厚さ、ページ数がある
・音楽の場合はメディアの種類(CD/DVDなど)、ディスクなどが何枚組か、曲目リストがある
Medium, Tracks, BrowseNodes, Reviews, ListmaniaLists, Similarities, Offers, Accessoriesの集合体

他の細かい指定の例
画像URLとピクセル単位の縦横のサイズ(画像サイズは大中小あり)
Images

音楽の場合だと曲目リストを取得
Tracks

価格・在庫情報など
Offers

Amazon.co.jp 売上ランキング
SalesRank

カスタマーレビュー
Reviews

さてここからは共通項目ではなくなります
まずASINコードから検索してみます
ItemId=[ASINコード]

ASINはこれだけです。
例えば「CGI&Perlポケットリファレンス」という本だと
ASINコードは4774107557です(本の場合はISBNとASINは同じ)
http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService
&SubscriptionId=0G5EGJ79QA3Y2073NFG2
&AssociateTag=ait-22
&ContentType=text/xml
&ItemPage=1
&Version=2004-10-19
&Operation=ItemLookup
&ResponseGroup=Medium
&ItemId=4774107557

というURLになります(長くなるので改行してます)

キーワード検索はまた今度説明を載せますが

毎回URLを手打ちするのは面倒なので
URL記述プログラムがあるので使いたい人はご自由にどうぞ。

http://www.yanbe.net/cgi/aws/

下記リンクの上位2つのサイトの情報をほとんど使ってます
本当に感謝!

↓Amazon ECS 4.0 解説1 RESTリクエストのパラメータ:Goodpic
http://www.goodpic.com/mt/archives2/2004/10/amazon_ecs_401.html
↓まいど、blog始めました: AmazonのアフィリエイトシステムであるECS(元AWS)関連の自分用メモ
http://kazux.tea-nifty.com/blog/2004/10/amazonecsaws.html
↓Amazon.co.jp: アマゾンへようこそ!
http://www.amazon.co.jp/exec/obidos/tg/browse/-/489986/249-7278634-5803534
↓Amazon E-Commerce Service 4.0 - SDK
http://www.amazon.com/gp/aws/sdk/
↓Amazon Web Services (AWS) SDK - Introduction and Overview of Operations
http://www.amazon.com/gp/aws/sdk/main.html/102-2720479-0175323?s=AWSEcommerceService&v=4-0&p=PgOverviewArticle

October 11, 2004

PostfixAdminのアナウンスファイル

PostfixAdminに最初アクセスするとメニューの下に赤字で
表示されるものが気になると思います。

赤なのでエラーかなっと思う人もいるでしょうが
それがアナウンスファイル(勝手に呼んでますが)の結果です

これは各ユーザに知らせるときなどに使える結構便利なヤツ
ページごとに表示も変えれます
http://example.com/ は motd.txt
http://example.com/admin/ は motd-admin.txt
http://example.com/users/ は motd-users.txt
のファイルを読み込んでます。

表示させたくなかったらファイルを削除すればOK

↓Postfix Admin
http://high5.net/postfixadmin/

October 10, 2004

PostfixAdminを日本語化しちゃう

PostfixAdminはデフォルトでなんと22言語に対応してます!
しかしその22言語に含まれてないのが日本語!!!

別に英語でもわかれば問題ないんですが
一般ユーザにも利用させるためにも日本語化してみましょう

まずMETAタグの指定文字コードをデフォルトはiso-8859-1になってるので
templates/header.tplのファイルにあるcharsetをShift_JISに書き換える

次にlanguagesディレクトリに下記からDLしたja.langファイルを入れる

↓PostfixAdminの日本語化ファイル
!!!公式で日本語対応したため配布終了!!!

そしてconfig.inc.phpの設定ファイルの最初らへんの言語設定を
$CONF['default_language'] = 'ja';
にする

以上!!!

自分でいじる時の注意点はpostfixadminは中身を見ると手抜きっぽい感じがあったりする
例えばlangファイルの
$PALANG['pAdminMenu_create_domain_admins']
実はどのファイルにも使われていない(苦笑

$PALANG['pVcp_welcome']とかのVcp関係も使ってない
というかtemplateのvcp.tplにあるのだが
どのファイルもvcp.tplを使ってねーーーーーーーー

まぁそんなのよりも動いてくれればいいんです

ということで皆さんも日本語化してないからPostfixAdminが嫌なんて言わず
さっさとわかりにくいqmailよりPostfixに移行しましょう(笑

September 30, 2004

モバイル端末用IPリスト

モバイル端末向けの携帯コンテンツを作成する際に必要なIPリストをメモメモ

NTTDoCoMo(iモード、FOMA含む)
210.153.84.0/24
210.136.161.0/24
(2003年12月更新)

Vodafone(ボーダフォンライブ!)
210.134.83.32/27
210.146.7.192/26
210.146.60.128/25
210.151.9.160/27
210.169.193.192/26
210.228.189.0/24
211.8.49.160/27
211.8.159.128/25
211.127.183.0/24
(2003年12月12日現在)

KDDI・TUKA(EZweb)
210.169.40.0/24
210.196.3.192/26
210.196.5.192/26
210.230.128.0/24
210.230.141.192/26
210.234.105.32/29
210.234.108.64/26
210.251.1.192/26
210.251.2.0/27
211.5.1.0/24
211.5.2.128/25
211.5.7.0/24
218.222.1.0/24
61.117.0.0/24
61.117.1.0/24
61.117.2.0/26
61.202.3.0/24
219.108.158.0/26
219.125.148.0/24
222.5.63.0/24
222.7.56.0/24
(2004年12月1日現在)

NTTDoCoMoはiモード用IPだけでメール用はまた別にあります。
同じEZweb用でもツーカーサイトの帯域は古くKDDIサイトのIPを参照した方がいいでしょう

最新情報は下記リンクからどうぞ。

↓DoCoMo Net
http://www.nttdocomo.co.jp/
↓ボーダフォン - www.vodafone.jp -
http://www.vodafone.jp/
↓au by KDDI
http://www.au.kddi.com/
↓KDDI Group [ TU-KA ]
http://www.tu-ka.co.jp/
↓DoCoMo Net - 製品・サービス・料金 - i-mode - ドコモサーバのIPアドレス帯域
http://www.nttdocomo.co.jp/p_s/imode/ip/index.html
↓技術情報(EZwebのIP帯域 By KDDI)
http://www.au.kddi.com/ezfactory/tec/spec/ezsava_ip.html
↓技術情報(EZwebのIP帯域 By TUKA)
http://www.tu-ka.co.jp/common/support/tec/spec/ezsava_ip.html
↓ボーダフォン(ボーダフォンライブ!のIP帯域 By ボーダフォン)
http://www.dp.j-phone.com/dp/tech_svc/web/ip.php

July 10, 2004

Windows標準!PC1台のみの簡易DNS機能

LAN内に設置した外部向けWWWサーバをチェックする際に
バーチャルドメインやMovableTypeだと
ローカルIPでもアクセスは可能だがページが正常にでない場合がある

しかし簡易DNS機能をついたルータは高いから手が出せないというときに
Linux系ならhostsというファイルに書けばできるんですが
Windowsでは出来ないかな~っと思ってたら同じ機能を持ったhostsありました!

場所はWindows2000の場合は
C:\WINNT\system32\drivers\etc\hosts
他のOSでも似たようなディレクトリにあります

そこをテキストエディタで開くと
最初の17行ほどが「#」でコメントアウトされ
最後の行に「127.0.0.1 localhost」と書いてると思います

その下に(絶対にlocalhostのデータは消さないこと)
変換先IPと変換したいドメインの順に書きます
例えばtesttest.jpを192.168.0.2にしたい場合は
「192.168.0.2 testtest.jp」でOKです
IPとドメインの間はスペースで空けておけばOK

これで完了です

作業中に起動しているブラウザは昔のデータを読み込んでる可能性もあるので
ブラウザのみ再起動させましょう

調べたところによるとMacにもあるみたいですが未確認です
ちなみに初期データの
「127.0.0.1 localhost」
を消すとローカルIPを指定しても意味がなくなる場合があるので削除しないように!

この設定のメリットでありデメリットでもあり注意点でもあるのが
その設定したPCでしか設定が影響しないこと
つまりLAN内からアクセスするクライアント台数が4~5台あるなら
4~5台全て設定しなければならず設定管理がしにくい
逆に個別設定できるという意味では文句なし
そして設定を忘れると当然だが
サーバにアクセスできない事態になったりすることに注意しておこう

June 08, 2004

フレーム内のスクロールバーの癖

フレームページでブラウザを縮めるとスクロールが自動ででてくるように
scrolling="auto"に設定すると当たり前のように出てくるが
DreamweaverMXのときは縦が足りなくなれば縦を。
横が足りなければ横のスクロールバーを出すが

DreamweaverMX2004で製作したHTMLは違う
横が足りなければ横だけだが
縦が足りないときは縦だけではない!

なんと横のスクロールバーも出てくるのである

対処法はHTMLの一番最初のMETAタグである
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
に変更するだけ

他のMETAタグでもフレームがおかしくなる場合は
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
で対処できる場合があるらしい

しかしこれをわかってもDreamweaverで新規作成する度に直さないといけないので
デフォルトインストール先である
C:\Program Files\Macromedia\Dreamweaver MX 2004\Configuration\DocumentTypes\NewDocuments
の中にある「Default.html」を直接テキストエディタで修正してやれば新規作成しても大丈夫

この他にもこのディレクトリにある物が新規作成時のデフォルトになるので
最初から記述しておきたいものなどはテンプレートごと書き換えた方が早い。

ちなみに新規作成時の拡張子を変えるところも1階層上の
C:\Program Files\Macromedia\Dreamweaver MX 2004\Configuration\DocumentTypes
にある「MMDocumentTypes.xml」です

上から3行目のHTMLの中にある
winfileextension="htm,html,shtml,shtm,stm,tpl,lasso,xhtml"

winfileextension="html,htm,shtml,shtm,stm,tpl,lasso,xhtml"
にすればOK
これは単純に一番最初の拡張子が新規作成時の拡張子になる

他にも file="Default.html" を変えると
新規作成時の元テンプレートファイルを指定できることができる

ちなみにこれらの変更はアップデートしたら消えてしまう(アップデートファイルに上書きされる)ので
できればアップデートしてから変更した方が楽。

March 30, 2004

開発する上での住所文字列制限

日本一長い住所は調べたところ
京都府京都市上京区智恵光院通り芦山寺上る西入る西社町×××の29文字。
ここからマンション名なども入ったとしても50文字で足りるわけですね。
しかもこれ都道府県や市区町村で分けてない場合なのでわけてもそんなにいりません。
都道府県8バイト
市区町村100バイト
マンション名等100バイト
でいいのかな?っと思います。

↓NAVER - 知識plus(日本で一番長い住所は?)
http://plus.naver.co.jp/browse/db_detail.php?dir_id=9&docid=2231

March 29, 2004

SQLでのワイルドカード

table1というテーブルのstrに「abcdefghijk」があるとして「abc*」をしたいときは
SELECT * FROM table1 WHERE str like 'abc%'
でOK
「=」を「like」に変えるだけ。
「*」の代わりは「%」。

March 23, 2004

Windows2000系列でのクリップボードビューア

「スタート」→「ファイル名を指定して実行....」を選択し「clipbrd」と打ち「OK」すると起動します。

使い勝手というか98/MEのようなクリップボードビューアではないですが
一応、ないよりはということで・・・。

March 02, 2004

Opteronの読み方

実は「オプテロン」ではなく「オプティオン」。。。

ちなみにあまり読み方が知られていない「nVIDIA」は「ヌヴィディア」。。。

February 19, 2004

Web広告の技

ポップアップやモーション広告などはよくありますが
技術的に面白い広告を見つけました。
下記リンクからそのサンプルのみのページをご覧ください。
これは全てHTML+JavaScriptだと思われます。
ソースにCGIに連携されてますが
そのCGIにアクセスしてみると
JavaScriptのソースが帰ってきます。
もちろんそれを真似することは
COPYRIGHTが書かれてるのでできませんが
あのウインドウ自体は
http://www.fastclick.com/tmp/250x250_background.gif
の通りGIF画像です。
中身はソース内にあるリンクの
http://www.fastclick.com/demo/invuetest.html
をロードしてます。
このURLを変えるといろんなページが入ります。
まぁ実際のウインドウではないのでスクロールはないんですが
最小化ボタンと閉じるボタンがあり
どちらも動作します。
閉じるボタンはよくありますが
最小化が動作するとは思わなかったんでビックリしました。

http://www.fastclick.com/demo/invue.html