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

ブログ投稿用のカテゴリ

djUnitで複数回実行されるメソッドの返却値を変更する方法

djUnitでメソッドの返却値を好みのものに変更する場合は「addReturnValue」メソッドを使用しますが、
同一メソッドを複数回使用していてそれぞれ別々の戻り値に変更したい場合には「setReturnValueAt」メソッドを使用します。

Javaソース


djUnitサンプル

実行結果(コンソール)

djUnitでメソッドの返却値を好みのものに変更する方法

djUnitを使用する上での最大の利点と言っても良いのがVirtual Mock Objects(仮想モックオブジェクト)が使用出来る事です。
このVirtual Mock Objectsを使用すると作成したクラスでUtilクラスなどのメソッドを使用している場合、使用しているメソッドの戻り値を自由に変更する事が可能となります。
djUnitでメソッドの返却値を好みのものに変更する場合は「addReturnValue」メソッドを使用します。
「addReturnValue」メソッドの使用タイミングとしては、作成したクラスで使用している共通クラスのメソッドなどが未完成の場合でスタブが必要になるケースなどが考えられます。

Javaソース

djUnitサンプル

JDKとJREの違い

Javaの勉強をしていると最初の方に学習する事ではあるのですが、ふと違いとは?と考えるとjavaの実行環境と開発環境の違い位の認識しかなかったので整理しておこうと思います。

JDK

  • 「Java Development Kit」の略称。
  • Javaでプログラムを開発する際に必要。
  • ソフトウェア開発キット(SDK)を拡張したサブセット。
  • フリーソフトウェア。

JRE

  • 「Java Runtime Environment」の略称。
  • Javaで作成されたプログラムを実行する場合に必要。

普通郵便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」ボタンを選択します。
  • 正常に設定されると設定した名称でメニューの「表示」⇒「動作環境オプション」先に追加したブラウザが表示されます。