「ブログ」カテゴリーアーカイブ

ブログ投稿用のカテゴリ

ブラウザの戻るボタンを押すと有効期限切れになってしまう

Webページを作成していると、ブラウザバック(ブラウザの戻るボタン押下)時に有効期限切れのメッセージが表示される事があります。今回はこの事象についてまとめてみようと思います。

何故「ページの有効期限切れ」対策が必要なのか?

そもそも何故、ページの有効期限切れ対策が必要となるのでしょうか?
正直、個人的にはブラウザによるセキュリティ対策で個人情報をキャッシュさせない為の制御なので、ブラウザ仕様になるのでAP側では対処不要と考えています。
それでも業務用APなどではクライアント側が納得してくれないケースも多いと思われます。それは何故でしょうか?

  • まず、格好と見栄えが悪い。
  • 戻るボタンを押したのだから、当然直前の入力画面へ戻るだろうと勝手に思い込んでいる。
  • ユーザから見れば意味不明の画面が表示されているので、何か異常があったのかと思う。

大体、こんなところでしょうか。

「ページの有効期限切れ」が発生する原因

  1. POSTでパラメータ送信している
  2. SESSIONを使用している
  3. 上記を使用しているページへ戻ろうとしてブラウザの「戻る」ボタンを押下した

ブラウザ側では「ページの有効期限切れ」を表示する際、どこをチェックするのか

多くのブラウザではページ有効期限を確認する際、以下の「HTTPヘッダー」の設定値を確認します。

  • Last-Modified:最終更新日
  • Expires:有効期限
  • pragma :HTTP1.0仕様に基づくデータのキャシュ制御オプション
  • Cache-Control:HTTP1.1仕様に基づくデータのキャシュ制御オプション

ページの有効期限切れが発生した場合、まずHTTPヘッダーの設定値が現在どうなっているか確認して下さい。

対策

クライアント側

  • 有効期限切れが表示されたらF5キー押下やブラウザのページ再読みなどでページをリロードしてもらう
  • 恐らくこれがAP側の対応も不要になるので一番手っ取り早い対処方法です。

サーバ(AP)側

  • ブラウザの戻るボタンを無効又は非表示にしてしまう。
  • 仮に有効期限切れの事象を回避出来てたとしても、DB更新後にブラウザバックされた場合など、ブラウザバックによって他にも問題が出てくる可能性が高いと思われます。AP側で一番良い対処法と思われるのはブラウザの戻るボタンがユーザの目立つ位置に見えているからつい押下してしまうので、戻るボタンを無効化又は非表示にしてしまうことが一番確実な対処方法と思われます。但しクライアントが納得すればの話ですが。

  • POSTではなくGETを使用する。
  • ブラウザではPOSTは警告を出力しますが、GETではそのまま画面遷移します。但し、POST時にパスワードなどの個人情報や大量のデータを送信している場合はオススメしません。

  • HTTPヘッダーの設定値を見直す。
  • HTTPヘッダーの設定値を変更する事で、ブラウザ側の有効期限チェックを回避する事が出来ます。

マイクロソフト認定資格試験 (MCP) 70-480

最近、JavaScriptやjQueryを使用する機会が増えてきたので、JavaScript関連の資格が無いか調べてみたら「マイクロソフト認定資格試験 (MCP) 70-480」という試験があるようなので少し調べてみました。試験内容の大半はJavaScript及びjQueryらしいので少し勉強すればなんとかなるかも。

資格名

マイクロソフト認定資格試験 (MCP) 70-480

試験番号

70-480

試験概要

HTML5 と JavaScript および CSS3 との組み合わせによるアプリケーションのプログラミングに関するスキルおよび知識の評価を目的としています。

受験対象者

この試験の受験対象者は、JavaScript を使用したさまざまなアプリケーション タイプおよびハードウェア/ソフトウェア プラットフォームに欠かせないビジネス/アプリケーション ロジックのプログラミングで 1 年以上の実務経験が必要です。また、受験対象者は、HTML を使用した、オブジェクト指向のイベント ドリブン プログラミング モデルの開発経験が最低 1 ~ 2 年必要です。
受験対象者は、以下のことについて十分に理解している必要があります。

  • プログラム フローとイベントの管理
  • 非同期プログラミングとスレッド処理
  • データの入力規則と JQuery などのデータ コレクションの使用
  • エラーと例外の処理
  • 配列とコレクション
  • 変数、演算子、および式の使用
  • プロトタイプとのメソッドの使用
  • 条件判断ステートメントと繰り返しステートメント

試験申込先

PROMETRIC

試験時間

140分

受験料

19,000円(税抜)

問題数

40問

合格ライン

700点

ネットワーク上の共有 PC へのリンクを開く場合の設定方法

HTMLのリンクからネットワーク上の共有PC(CIFS)へアクセスしたいという要望があった場合の対処方法を記載します。

HTMLリンクはfile URI形式で設定

UNCパスでは「\\common\dir\test.xls」というエクスプローラでよく見かける記述となりますが、file URIのパスでは「file://///common/dir/test.xls」という記述形式となります。このfile URI形式でHTMLではリンクを設定します。

file URIパスへのリンクが有効になるようにブラウザ毎に設定

メジャーなブラウザ(IE以外)の多くはセキュリティ的観点から、file URIのリンクをクリックしてもリンク先を表示出来ない設定となっています。これを解除するためにはブラウザ毎に対応する必要があります。

Internet Explore

 IEの場合、セキュリティ対策が甘いのか何も設定する必要はありません。

Firefox

  1. 「user.js」ファイルを作成
  2. FireFoxの場合は設定が少し面倒で、プロファイルへ許可するアドレスを追加する必要があります。その設定ファイルをJavaScriptで以下の様に記述します。

    ※”http://common.dir.co.jp”の箇所 をリンクを許可したいサーバのアドレスへ変更して下さい。複数ある場合はスペースで区切って記述します。

  3. FireFoxのプロファイルフォルダへ「user.js」ファイルを配置
  4. 配置先「%AppData%\Mozilla\Firefox\Profiles\(英数字のランダム文字列).default」
    ※既に「user.js」ファイルが存在している場合は記述を追加して下さい。

  5. FireFoxを再起動
  6. FireFoxを再起動すると「user.js」ファイルへ記述した内容が「prefs.js」(Windowsで言うレジストリのようなもの)へ追加されます。

アンケートサイト「マクロミル(MACROMILL)」でお小遣い稼ぎ

アンケートで稼ぐには、まずアンケート配信サイトへ会員登録を行います(もちろん年会費などは一切掛かりません)。そして登録したサイトから配信されてくるアンケートにWeb上で回答するとその回答に応じて謝礼が貰えるというシステムです。貰える謝礼もリードメールなどよりは割がよく、比較的早めに換金可能額に到達出来るのが特徴です。またこのサイトは換金手数料も無料なのでオススメです。

マクロミル詳細情報

項目           内容
サイト名マクロミル
換金可能額500ポイント~(1ポイント=1円)
換金手数料0円
紹介報酬100円(1人)
単価・事前アンケート:2~3ポイント
・本アンケート:数十ポイント~数百ポイント
メール配信数1日=数通
換金可能な銀行・楽天銀行
・ジャパンネット銀行
・ゆうちょ銀行
・三菱東京UFJ銀行
・みずほ銀行
・三井住友銀行
考察・もう何年も続けていますが、アンケート配信数も安定していて、本アンケートが配信される可能性も結構高い為、比較的短期間で換金可能額まで貯まります。
・毎日続ければ、2~3ヶ月位で1,000円貯める事も可能です。

登録先

※下記バナーから登録すれば、登録した方にも1週間以内にアンケートに回答すれば30ポイント貰えます!

JBossのインストール後にrun.batが実行されない

JBossの起動で少しハマったのでメモしておきます。

JBossのインストール状態

  • 【前提】javaがインストールされていること
  • JBossサイトからzipファイルをダウンロード
  • ダウンロードしたzipファイルを解凍して配置

これだけでJBossのインストールとしては完了となります。
この後に[JBossのホームディレクトリ]\bin\run.batを実行すれば起動するはずなのですが、一瞬コマンドプロンプトの画面が表示されるだけでエラーメッセージも表示せずに即終了してしまい、JBossが起動しないという事象が発生しました。

原因

  • 環境変数「JAVA_HOME」の設定
    「JAVA_HOME」へ「C:\Java\jdk1.6.0_45\bin」と指定していたのが原因でした(「\bin」が余計でした・・・)。
    「C:\Java\jdk1.6.0_45」へ修正したら正常に起動しました。

2013年春(4月~6月) – おススメ音楽

ジャケットタイトル名    歌手   収録曲           備考
私は想像する昆夏美1.私は想像する
2.ココロ
3.私は想像する(Instrumental)
4.ココロ(Instrumental)
TVアニメ「銀河機攻隊 マジェスティックプリンス」OPテーマ
※発売日「2013年4月17日」
サヨナラっていう石川智晶1.サヨナラっていう
2.その逆
3.サヨナラっていう(Instrumental)
4.その逆(Instrumental)
TVアニメ「銀河機攻隊 マジェスティックプリンス」EDテーマ
※発売日「2013年4月17日」
いつもこの場所で彩音1.いつもこの場所で
2.Foresight Oscillator
3.いつもこの場所で(Instrumental)
4.Foresight Oscillator(Instrumental)
劇場版アニメ「STEINS;GATE 負荷領域のデジャヴ」EDテーマ
※発売日「2013年4月24日」
美しき残酷な世界日笠陽子1.美しき残酷な世界
2.Starting line
3.美しき残酷な世界(Instrumental)
4.Starting line(Instrumental)
TVアニメ「進撃の巨人」EDテーマ 美しき残酷な世界
※発売日「2013年5月8日」

MVCモデルについて

Webアプリケーションを作成する上で重要になってくるのがMVCと呼ばれるソフトウェア設計モデルです。

MVCとは

  • ソフトウェアを「Model」・「View」・「Controller」という3要素の組み合わせでシステムを実装する方式です。

MVCモデルのイメージ

  • Model
    • Modelは、システムの中で処理の中核を担うビジネスロジック(アプリケーションが扱う領域のデータと手続き)を担当するシステムの本体部分に当たります。
    • データベースなどに格納された生のデータを隠蔽し、抽象化された形のAPIを通じて他のモジュールからのアクセスをコントロールするモジュールです。
    • Modelは入出力や表示といった処理は行わず、業務モデルの実装といった部分を担当します。
    • アプリケーション特有のルールやロジック(ビジネスロジック)を持ち、データの整合性に絶対の責任を持ちます。
    • データの変更をViewに通知するのもModelの責任となります。(Modelの変更を通知するのにObserverパターンが用いられることもあります)。
    • 多くのアプリケーションではデータの格納に永続的な記憶の仕組み(データベースなど)が使われています。
    • MVCの概念では、データの(UI以外の)入出力は取り扱わないので、データアクセスも本来MVCの概念の範疇を超えるものではありますが、敢えて言えばModelの中に隠蔽されると考えられます。
    • J2EEでは JavaBeans、EJBがモデルを担当します。
    • サーバサイドでいうserviceに関する処理を行なっています。
  • View
    • Viewは、表示、入出力といった部分を担当します。
    • Modelのデータを取り出してユーザが見るのに適した形で表示する要素です。
    • UIへの出力を担当します。
    • Modelが提供する抽象化されたデータを、どのような形式で人へ見せるのかを記述したモジュールです。
    • GUIアプリケーションの場合、使用するGUI部品や画面上のレイアウトを指定します。
    • 必要な情報をModelから取り出して画面へ表示させる為の処理を行います。
    • J2EEではServletやJSPで実装します。
    • 一般的な HTML表示に関してはJSP、そのほかの特殊なデータ(バイナリデータ)を出力する場合は Servletを用いるのが標準的な使用方法となります。
  • Controller
    • コントローラは、ViewとModelを制御します。
    • 自分自身では表示を行ったりロジックの実行は行わず、Viewからの入力に応じて、必要なロジックの実行をModelに依頼し、その結果表示をViewに依頼します。
    • ユーザの入力(通常イベントとして通知されます)に対して応答し、それを処理する要素です。
    • UIからの入力を担当します。
    • ViewとModelの間に位置して、ユーザーにどんな順序でデータを見せて行くとか、Viewを通したユーザーからの入力をModelへのAPIコールへとマッピングするのがこのモジュールの役割となります。
    • ModelとViewに変更を引き起こす場合もありますが、直接描画を行ったり、Modelの内部データを直接操作したりはしません。
    • J2EEではServletでControllerを実装します。
    • イベントはコントローラで受け取り、画面上構成するボタン(イベント)の数だけ処理があります。

MVCモデルのメリット

  • 並行開発
    機能毎の分離が明確になることにより独立性が確保出来る。
    ・開発の分業が可能になる
    ・専門家を配置しクオリティーを上げる事が可能になる
  • 再利用性
    コンポーネント間の依存性が最小限に抑えられる為、他の部分の影響を受けにくい。
    ・コンポーネントの再利用がしやすくなる
    ・他のコンポーネントの変更が原因で、複数の担当者が同一のソースに対してメンテナンスを行う、というような事態を避けることもでき、保守性も確保される

ワイド液晶ディスプレイ「RDT272WX(BK)」を購入しました。

RDT272WX(BK)
ふとパソコンのモニターを眺めたら、なんだか画面の文字や画像が全体的に薄っすらとぼやけている現象が発生・・・。
色々調べてたらどうもモニターの故障と判明し、購入からもう4,5年は経つので寿命だろうと思い買い替えを決断。
予算は前回と同様4,5万位で店頭で探して値段的にも4万円位で妥当だったのでMITSUBISHIのワイド液晶ディスプレイ「RDT272WX(BK)」へ決めました。
以前使用していた、BENQの「E2400HD」と比較すると以下の様に性能面は全体的に向上してます。
しかし、しばらく見てない内にIPS方式やらTN方式やらVA方式だのと色々ありすぎて素人の自分にはよく分からないっすっ(><)。

MITSUBISHI ワイド液晶ディスプレイ「RDT272WX(BK)」とBENQの「E2400HD」の機能比較

機能MITSUBISHI「RDT272WX(BK)」BENQ「E2400HD」
発売日2012/6/12007/10/31
価格\39,100\4万円前後
最大表示画素数1920×10801920x1080
輝度250cd/m²300cd/m²
応答速度3.5ms5ms
視野角左右178°/上下178°左右160°/上下170°
コントラスト比8000:11000:1
解像度(規格)高透過率IPS方式液晶パネルフルHD液晶パネル

mkvファイルをGOM Playerで再生すると音声が出ない

皆様は動画再生プレイヤーは普段何を使用しているでしょうか?
私は通常「GOM Player」を使用しているのですが、一部のmkvファイルを再生すると映像は表示されるが音声だけ出ないという事象がたまに発生します。

対応方法

以下の様なmkv専用の再生プレイヤーをインストールしてmkvファイル再生はそちらをメインにするのが一番手っ取り早い対応です。

mkv再生ソフト

  • MKV Player

ダウンロード先

Windows7でファイルを移動しても元のフォルダに残るエラー

画像や動画などのファイルを移動していると移動先へは正常に移動されるけれど、元のフォルダに移動したはずのファイルが残っている事がよく発生しています。
対処方法としては「explorer.exe」を再起動させれば綺麗に掃除されるのですが、頻繁に発生しているので根本的対処をMicrosoftには早急にお願いしたいところです。

環境

  • OS:Windows 7 Professional 64bit

対処方法

  1. Ctrl + Alt + Shiftキーを同時押下し、「タスクマネージャー」を起動します。
  2. 「プロセス」タブを選択し、「explorer.exe」を選択し「プロセスの終了」ボタンをクリックします。
  3. 続けて「アプリケーション」タブを選択し、「新しいタスク」ボタンをクリックし、「explorer.exe」と入力後「OK」ボタンをクリックします。

  4. 再度エクスプローラーを立ちあげてコピー元のフォルダへ残っていたファイルが削除されていればOKです。