WEB/システム/IT技術ブログ

今回、Windows VistaプリインストールのノートPCにWindows XPをインストールします。

今更と思われるでしょうが、Webの業界でお仕事している関係で、まだまだVistaやXPというのは切っても切り離せない確認環境となっています。
私のメインマシンはWindows7ですが、今回、それに比べてもスペックが劣るノートPCに、VistaとXPのデュアル環境でもあれば、仕事上、非常に助かるということで、チャレンジしました。

実際に作業してみると、これが非常にめんどくさい。
忘れないようにメモとしてここに残しておきます。
同じような壁にぶつかった方に少しでもご参考になればと思います。

現状の環境と問題

まず、私の手元にあるのは
・Panasonic LET’S NOTE CF-R6(Windows Vistaプリインストール)
・Windows XP Professional SP2(正規ディスク)
です。

普通、デュアル環境を構築する場合は、古いOSが入っている状態で、新しいOSをインストールするという手順のようです。しかし今回は、Vistaのリカバリディスクだと、HDDを工場出荷時の状態にしてしまう、つまり、既存のOSを上書いてVistaを入れる事しかできないので、Vistaをインストール後にXPを入れる方法にチャレンジします。

Softbankを解約してから約2か月、それまで使用していたAndroid端末「HTC DesireⅡ」を捨てるのももったいないので、音楽プレーヤーなどとして活用しようと思い、引き出しの奥から取り出しました。

久しぶりに電源を入れてみると「サービス提供不可」の文字。ディスプレイロックを解除しても、それから先は何も操作できません。

調べてみると、HTC DesireはSoftbank解約から1か月後にUSIMが赤ロム状態となり、アプリやネットなどが全て利用できなくなってしまうようです。

Android端末本体の機種代は全て払ったのに、回線契約を解約したからといって、端末単体の全ての機能が操作できなくなるというのはなんだか腑に落ちませんが。

facebookの「いいねボタン」とOGP(Open Graph Protocol)タグについて、そこまで関心がありませんでした。しかし、ここ最近では無視できないような勢いでデフォルト化しているので、今更ですがここで改めて利用方法について確認しておこうと思いました。

いいねボタンについて、ボタンが押されたときに、情報が展開されるかどうかはOGPタグが正しく設定されている必要があります。

OGPタグが設定されていない場合、いいねボタンが押されても、何人がボタンを押したかのカウントが追加されるだけで、Facebookからの非リンクなどは期待できません。
一方でOGPタグを設定した場合、いいねボタンが押されたら、ボタンを押したユーザのタイムラインにそのページの情報が表示されます。つまり、その情報の元がOGPタグで設定した情報なんですね。

最近話題の「レスポンシブWeb」。
近年、スマートフォンの普及が加速して、Webの世界でもスマフォ最適化の必要性が叫ばれています。
そんな中、PCサイトとは別でスマホサイトを立ち上げる話はよくありますが、それよりも一歩先を見据えた考え方がレスポンシブWebです。
レスポンシブWebでは、PCやフマフォといった各端末において、HTMLソース1つで最適なインターフェースを提供するという考えがベースとなっています。(正確にはあらゆる画面サイズに対応する考え)

具体的には、まず画面サイズを取得して、画面の横幅に応じてスタイルを切り替える事で、さまざまなな端末に対してWebサイトを最適表示します。
説明するよりも実際に画を見てみると分かりやすいでしょう。以下のサイトでレスポンシブWebのサイトがまとめられています。
Media Queries

日本国内のサイトでは、まだあまり見かけませんが、海外のサイトではその例が着実に増えているようです。

IE6と格闘する日々は以前より少なくなりましたが、ここ最近はIE7やIE8の新たな問題に直面することが多くなったように感じます。

そこで「IE6のバグ、トラブル回避策」に続き、IE7のバグ、トラブル回避策をこのページにまとめます。

あと何年経てば、このIEの呪縛から解放されるんですかね。

HTML5+CSS3でデザインの表現の幅が広がりました。簡単なグラデーションや角丸ならCSSのみで表現できます。
しかし、検索を表す虫眼鏡やメールを表す封筒のアイコンなど、これらのイラストをCSSのみで表現するのはさすがに難しいです。
将来的に画像レスでデザインされたサイトなんて夢のまた夢なのかなと、そんなことを考えていたら、以下のようなサイトを発見しました。

Fontello – easy iconic fonts composer

こちらのサイトに掲載されているアイコンのイラストを、画像としてではなく、文字(ウェブフォント)として扱うことができます。

iPhoneに対してlabel要素を設定していも、選択エリアが広がりません。今回はその対応策について考えてみました。

例えば、フォームのラジオボタンやチェックボックスなどは、デバイスや画面サイズによっては操作しづらい事があります。そのような場合は、label要素で囲む事で、その囲まれたエリアをイベント領域として確保します。

例えば、以下のようなコードを用意してみました。

<input type="checkbox" />labelなしです<br />
<label><input type="checkbox" />labelありです</label>

そうすると、以下のような表示になります。

labelなしです

labelありだと、要素囲んだ「labelありです」の文字列の部分で、チェックのオン/オフができるので、操作性が上がりますね。
このように、フォームを組む際にユーザビリティとしてlabelを導入するのは、ここ最近は常識になっていますね。

しかし、iPhoneだと、このlabel要素が効きません。

今やオンラインショップでは当たり前のようにアフェリエイトAPIが公開されています。

そこで、何か目新しいAPIなどはないかと、いろいろなサイトを徘徊していたときにたまたま見つけたのがDMMのwebサービスAPIです。
トップ – DMM Web APIサービス

ショッピングサイトのアフェリエイトAPIは、まあ普通ですが、レンタルサイトのアフェリエイトがあるとは思いませんでした。
もちろん「売る」のに比べて「借りる」ほうが単価は安いわけで、それでアフェリエイトが成り立つのかと考えていました。しかし、開発が進んでいるということは、それなりに利益が生まれているんでしょうね。

早速ですが、そのAPIを使ったサンプルページを作成してみました。
DMM Webサービス サンプル ver1.0 | helog lab

APIはREST形式で公開されていて、他社のAPIに比べて非常にシンプルな作りになっています。リクエストURLの仕様は基本1本のみで、パラメータでオプション指定するのみとなっています。

もちろんレンタル商品のみではなく、通販、ストリーミング動画の商品も扱っています。
さらには、DMM.R18のアダルトコンテンツも公開しています。アダルトコンテンツを作成したことがないので詳しくはないですが、こちらは普通のレンタルサーバでは不適切なコンテンツとして扱われるはずなので、注意が必要でしょう。

Web技術者の誰もが、一度はアフェリエイトのチャレンジした経験があるかと思います。私もその1人です。
当時はA8.net、リンクシェア、バリューコマースなどのサービスが主流でした。

ただその管理作業がすごくめんどくさかったです。
サービスから自分のサイトに合ったプログラムを探して、そのコードをコピペで貼る事の繰り返し。ある程度サイトボリュームがあると、利益が出る前に、作業量が多すぎて管理・運営を断念せざるを得ません。

自身で管理システムでも作ればよいかもしれませんが、どうせなら、アフェリエイトサービス側で利便性を向上してくれないかと、その頃は勝手にそのように思っていました。

久しぶりにリンクシェアのサイトをのぞいてみたら、APIが公開されているではないですか。(今更と言われるかもしれませんが。。。)しかも社名が「Rakuten LINKSHARE」になっている。
Rakuten LINKSHARE

さて、早速ですがアフェリエイトのAPIの使い勝手を試してみました。

PHPの関数「file_get_contents」でAPIを利用した情報を取得することがあります。
但し、対象が「https」で始まるurlの場合に、情報が取得できません。
何度もこの問題に直面し、その度に頭を悩ませてしまいます。記憶力が。。。
というわけで、ここでしっかりメモを残しておきます。

「file_get_contents」でhttpsから始まる情報にアクセスできない

例えばAPIなどを利用するにあたり、その情報にアクセスするために以下のようなソースを記述します。

if(($res = @file_get_contents($url)) === false){
	(略)
}

ここで、$urlの中身が「https」で始まるurlの場合に、情報の取得に失敗してエラーになってしまいます。

Notice (8): Undefined variable: http_response_header xxx, line 688]
Notice (8): Undefined offset: 2 [xxx, line 688]
Notice (8): Undefined offset: 1 [xxx, line 688]

このようなエラーです。「xxx」はファイルパスです。

Monthly Archives