新米iPhoneアプリ開発者(自称)の開発奮闘記

iPhoneアプリ開発(自称)3ヶ月目の悪戦苦闘を記して行きます。

キャッシュされたJavascriptが予期せぬ不具合を出す Internet Explorer 9の問題

キャッシュされたJavascriptが予期せぬ不具合を出す Internet Explorer 9の問題

Internet Explorer 9 において Webサーバーとの通信なしでキャッシュからコンテンツを表示する場合がある

http://support.microsoft.com/kb/2530998/ja

[インターネット一時ファイルと履歴の設定] で [自動的に確認する] が設定されている (既定値)
Web サーバーと通信せずキャッシュされたコンテンツを表示する場合があります。
本現象は Internet Explorer 9 の仕様です。

Web サーバー側での対応
コンテンツのHTTP Header やMeta タグでCache-control: no-cache もしくは max-age=0を指定

Internet Explorer 側での対応
Internet Explorer 9 で [Web サイトを表示するたびにに確認する] に設定する

Pumpkin Moonshine JavaScriptCSSの更新時にキャッシュから読ませない

http://yuki.silk.to/2006/04/000170.html

プログラマ「プログラムを更新しました」
テスター「いきなりエラーがでますよ!動作確認したんですか!」
プログラマ「え、私のところでは動くけど…、キャッシュクリアしました?」
テスター「キャッシュをクリアしたらエラーがでなくなりました」
テスター「でも、ユーザ全員にキャッシュをクリアさせるの?」

Internet Explorer 9に乗り換えてみた – 新・ブログの館

http://dc800eb.blog77.fc2.com/blog-entry-3902.html

おぬしもサルじゃのぉ(^o^)日記 IE9のキャッシュ問題とその対応

http://aboutlinda.blog.fc2.com/blog-entry-64.html

■対応策(画面そのもの)
 (1)

1
<meta http-equiv="Pragma" content="no-cache"/>;

 (2)

1
<meta http-equiv="Cache-Control" content="no-cache"/>

 (3)

1
<meta http-equiv="Expires" content="0"/>

■対応策(外部js,cssの読み込み)

現行:

1
2
<link href="hogehoge.css" rel="stylesheet" type="text/css"/>;
<script src="hogehoge.js" language="javascript"type="text/javascript"></script>;

この指定方法だと、(IE9のデフォルト設定の場合)キャッシュが勝つ。

対応後:

1
2
<link href="hogehoge.css?20130101" rel="stylesheet" type="text/css"/>
<script src="hogehoge.js?20130101" language="javascript"type="text/javascript"></script>

 外部ファイルを引数(変動)付きで読み込むこと

How to distribute definition content from a LiveUpdate Administrator 2.x (LUA 2.x) server to an isolated network.

How to distribute definition content from a LiveUpdate Administrator 2.x (LUA 2.x) server to an isolated network.

http://www.symantec.com/docs/HOWTO44060

Updating downloads in an internal LiveUpdate Administrator 2.x Server using the downloads from an external LiveUpdate Server 

http://www.symantec.com/docs/TECH106254

Amazon EC2 EBSブートしたインスタンスの領域拡張

Amazon EC2 で借りているWIndows 2008のCドライブが容量不足になってきたので拡張しました。
1.現在のインスタンスの停止(必ずstopで停止です。terminalだとインスタンスが消えてしまいます)
2.Elasticfoxの「Volumes And Snapshotタブ」を開いて現在のインスタンスにマウントされているEBSのボリュームを選択して「create new snapshot from this volume」を実行。これでボリューム→スナップショットが取られます。
3.さらに2で取られたばかりのスナップショットを選択してこんどは「craete new volume from this snapshot」を実行して今度はスナップショット→ボリュームです。この時にディスクの容量を聞かれるので、拡張したいサイズに変更します。
新しくできたボリュームをインスタンスからマウントさせてやります。
4.「Volumes And Snapshotタブ」で現在のボリュームを選択して「Detach this volume」をしてマウント解除
5.新しいボリュームを選択して「Attach this volume」
を実行します。このとき、deviceには/dev/sda1を入力します。そうしないとWindowsがブートしません。

6.インスタンスを起動

AWS入門 EC2のインスタンスのTerminateはインスタンスの破棄

本日は少し失敗してしまった件について書いてみようと思います。


まずは失敗した結果の画面を紹介します。



何を失敗してしまったのかというと、上記画面はInstanceの一覧画面ですが、
表示されている作成済みのインスタンスのStatusが
「 terminated 」という状態になっています。
この「 terminated 」というステータスがどういう状態かといえば、

インスタンスの永久破棄 物理サーバで言うところの筐体廃棄 」

という事になります。


手探りに色々とコンソールを触りながら、
インスタンスの停止・再起動を探していたところ、
右クリックのメニュー内「 instance action 」という項目内に

  • Terminate
  • Reboot
  • Stop
  • Start

上記の4項目があったので、おそらくこの辺りで停止・再起動ができるのではないかと
「 Terminate 」をクリックしてみました。
処理が終わり、Statusがterminatedに変わってから
再度右クリックメニューを開いてみても、ほとんどの項目が選択不可状態になってしまいました。



ここでようやくインスタンスを破棄してしまったことに気づきました。


今回は勉強用として作成してまだ間もないインスタンスだったので
問題はなかったですが、これが既に色々なデータを入れたものや
稼動・公開状態になっていたもので行ってしまっていたら大変なことになってしまいます。

インスタンスの操作がとても簡単に行えて便利なAWS Management Consoleですが、
インスタンスの破棄も同様にとても簡単にできます。

特権ユーザ以外のユーザを作って通常操作する場合はTerminate操作ができないように
制御できる方法があるといいなあ。まだ探してないけども。