普通郵便82円と速達料金362円の違い

一般的に郵便物を送付する際、普通郵便の場合は82円、速達の場合は362円の料金が掛かります。
ではこの料金の差はどこにあると思った事はないでしょうか?
私の場合ですが、速達の場合は普通郵便より早くつくからその手間賃なんだろうと漠然と考えていました。ですが、普通郵便でも速達と同じ速度で届くことがあるのです。

普通郵便と速達郵便の集配システムの違い

    集配システムは基本的に以下の順序で各家庭に届けられます。
  • ポスト⇒ポストを設置している地域の集配局⇒その地域の集配局⇒輸送⇒配達先の集配局⇒各家庭
  • この流れで大きく分けて1日3回(朝、昼、夕)の3回集配されます。

  • 普通郵便の場合
    普通郵便の場合は朝回収された郵便物はその日の内に郵送ルートに乗りますが、昼以降回収された郵便物は翌日以降の郵送ルートへ回されます。
  • 速達郵便の場合
    速達郵便の場合は朝、昼、夕に回収された郵便物はそれぞれ朝の郵送ルート、昼の郵送ルート、夕の郵送ルートに乗って郵送されます。
  • この違いから昼以降の郵送に関しては速達の方が早く各家庭に届けられるので、その手間賃分の料金が掛かっています。
    ということで朝郵便物をポストへ投函すれば高い料金を払わなくても速達と同じ速度で届くこともあるようです。

Web開発でApache POIを使用する際に注意する事

Web開発では帳票をExcelで出力する際に「Apache POI」がよく使用されています。
ただ「Apache POI」を使用する場合、システム的な制限やリソースなど事前に注意しておくべき点があるのでメモしておきます。

Apache POIの問題点

  • 「xlsx」形式のファイルの場合、リソースを大量に消費する
    POIを使用する場合、出力帳票のテンプレートファイルを用意して帳票を出力するケースが多いと思われます。このテンプレートファイルの拡張子がEXCEL2007以降の形式「xlsx」で用意されている場合、POIでは一旦そのファイルを全てメモリに読み込ませる為により多くのリソース(メモリ)を消費する事になります。
  • セル結合処理は非常に遅い
    POIでEXCEL操作する場合、セル結合処理は非常に処理速度が遅くなるので帳票のフォーマットを決める場合はセル結合しないフォーマットで設計しておいた方が懸命です。

UTF-8のBOM有り、BOM無しの違いとは

エディタなどで文字コードを指定する際「BOM有り」と「BOM無し」という選択肢があります。この「BOM」とは何かをまとめておきます。

BOMとは?

    まずBOMとは「バイトオーダーマーク (byte order mark) 」の略語となります。
    バイトオーダーマークとはUnicode形式のデータを「ビッグエンディアン」、「リトルエンディアン」のどちらで保存しているのかという情報をデータの先頭に付与する情報のことです。
    UTF-8の場合、先頭に3バイトのバイナリデータ「0xEF 0xBB 0xBF」が付与されたものが「BOM有り」の状態。付与されていない場合が「BOM無し」の状態となります。

どういう場合に「BOM有り」、「BOM無し」を使い分けるか?

  • Unicodeの規格ではBOMは推奨していません。
  • Web制作などでHTMLやPHPなどをエディタで編集する際はBOM無しを選択した方が一般的には問題は起こりにくいので無難です。但し、必ずしもBOM無しが正解というわけではないのは認識しておきましょう。
  • 「Microsoft Office Excel」などはBOMがないとUTF-8だと認識できず、種々の問題が起こる。
  • 基本的にはアプリケーション側でBOM有りが推奨されているケース以外ではBOM無しをデフォルト設定しておけば良いかと思われます。

HeTeMuLu Creatorで文字コードを設定する方法

HeTeMuLu Creatorでの文字コード設定方法をメモしておきます。
デフォルトの文字コードはUTF-8に設定しておく事をお勧めします。

文字コードの設定手順

  1. メニューの「ファイル」⇒「文字/改行コードの指定」を選択します。
  2. 後は文字コードで「UTF-8(BOM付き)」を選択して「OK」ボタンを選択すれば完了です。

HeTeMuLu Creator:終了するとRuntime error 216が発生する

HTMLエディタ「HeTeMuLu Creator」を起動して終了すると、以下の様に「Runtime error 216 at 00003188」というエラーが発生する原因と対処方法についてご紹介します。

環境

  • Windows 7 Professional
  • HeTeMuLu Creator Version 1.10a(インストーラ版)

Runtimeエラーが発生する原因

  • HeTeMuLu Creatorの最新バージョンをが適用されていない。
    古いバージョンのHeTeMuLu Creatorを使用するとアプリがクラッシュしてしまうようです。

対処方法

    最新バージョン「Version 1.20 Beta 2」を適用する事で「Runtime error 216」が発生する事象は解消出来ます。
  1. 公式サイトからHeTeMuLu Creatorの「Version 1.20 Beta 2」をダウンロードします。
  2. ダウンロードした「hcre120beta2.zip」を解凍して「Datas」ファイルと「Hetecre.exe」をHeTeMuLu Creatorをインストールしたフォルダへ上書きすれば完了です。

サクラエディタで文字コードを設定する方法

サクラエディタでデフォルトの文字コードを設定する方法です。
デフォルトの文字コードはUTF-8に設定しておく事をお勧めします。

文字コードの設定手順

  1. メニューの「設定」⇒「タイプ別設定」を選択します。
  2. 「支援」タブを選択し、デフォルト文字コードで「UTF-8」、「BOM」をチェックし「OK」ボタンを選択すれば設定完了です

HeTeMuLu Creator:「ブラウザでプレビュー」が選択出来ない原因

HTMLエディタ「HeTeMuLu Creator」でhtmlを編集して実際にブラウザでの表示確認用のメニューとして「ブラウザでプレビュー」がありますが、メニューを選択しても「ブラウザA,ブラウザB,ブラウザC,ブラウザD」とは表示されますがメニューが非活性になっていてブラウザが選択出来ない事象が発生しました。その原因と対応方法についてメモしておきます。

原因

  • 動作環境オプションでHeTeMuLu Creatorとブラウザが関連付けられていない。

対処方法

    「HeTeMuLu Creator」インストール直後はブラウザが設定されていない為、最初に表示確認するブラウザのexeファイルを「HeTeMuLu Creator」と関連付ける必要があります。
  • メニューの「表示」⇒「動作環境オプション」を選択します。
  • 「ブラウザの名称」と「表示したいブラウザのexeファイルの保存先」を指定して「OK」ボタンを選択します。
  • 正常に設定されると設定した名称でメニューの「表示」⇒「動作環境オプション」先に追加したブラウザが表示されます。

HeTeMuLu Creator:インストール手順

HTMLエディタ「HeTeMuLu Creator(へてむるクリエイタ~)」のインストール手順をご紹介しておきます。
基本的にインストーラをダウンロードして手順通り勧めれば簡単にインストール出来ます。

HeTeMuLu Creatorの特徴

  1. 無料で高機能なHTMLエディタを利用出来ます。
  2. タブで複数のファイルを編集できます。
  3. キーマクロも利用可能です。
  4. スタイル シートに対応しています。
  5. レジストリを汚さない。
  6. 画像のイメージビューアも搭載。
  7. 強力なタグ入力補完機能を搭載。
  8. リンクや画像の相対パスを取得できます。

ダウンロード先

HeTeMuLu Creatorのインストール手順

  1. ダウンロードした「hcre110a.exe」をダブルクリックしてインストーラを起動します。
  2. セットアップウィザードが起動したら「次へ」ボタンを選択します。
  3. 重要な情報画面が表示されるので「次へ」ボタンを選択します。
  4. インストール先の指定画面が表示されるのでインストール先を指定して「次へ」ボタンを選択します。
  5. プログラムグループを指定して「次へ」ボタンを選択します。基本的にデフォルト値のままでOKです。
  6. 「デスクトップ用のショットカット用アイコン」と「クイック起動用のショットカット用アイコン」の作成有無を選択して「次へ」ボタンを選択します。
  7. インストールが完了すると重要な情報画面が表示されるので読んだら「次へ」ボタンを選択します。
  8. セットアップが完了したら「完了」ボタンを選択してインストール完了となります。

JUnit:privateメソッドを実行(テスト)する方法

JUnitでテストする時にprivateメソッドをテストする方法をご紹介します。
privateメソッドをテストするにはリフレクション「java.lang.reflect.Method」を使用することで実行可能となります。

Javaソース

JUnitサンプル

JUnit:private変数を取得・更新する方法

JUnitでテストする時にprivateなメンバ変数を取得・更新したい場合の方法をご紹介します。
今回はAPI「JMockit」の「Deencapsulation」クラスを使用してカプセル化された変数を参照・更新する方法です。

JMokitのダウンロード

    以下サイトへアクセスしてダウンロードした「jmockit.jar」ファイルをクラスパスへ追加します。
    クラスパスへ追加する際、JUnitより先に読み込む必要があるのでJUnitより上位へ配置します。
    JMokitのダウンロード

JMokitのJavadoc

Javaソース

JUnitサンプル