ノラプログラマーの技術メモ

ネットで調べても出てこなかった情報を載せていきたい技術系ブログ。

ゆうプリRの起動時間を3分の1に短縮した方法

ゆうプリRの起動時間が長すぎる…!

日本郵便が提供する送り状印字ソフト「ゆうパックプリントR」の起動時間が遅すぎる。使い始めは「ちょっと遅いなー」と思う程度だったが、1年以上使い続けた今では「遅すぎるやろ!」と思わず関西弁になり、怒りで震えるほどになった。

試しに起動時間を調べてみると、27分33秒かかっている。これもう業務用ソフトウェアとして成立してないだろ…。完全に業務に支障をきたしているので、郵便局へメールしてみた。

郵便局から返事がきた

郵便局からメールが返ってきたので、そのまま転載しておこう。

日頃より<ゆうパックプリントR>をご愛顧いただき、誠にありがとうございます。
送り状印字システムサポートセンターの伊藤と申します。

この度はゆうパックプリントRのご利用につきまして、ご不便をお掛けして申し訳ございません。

お問い合わせいただきました件でございますが、ゆうパックプリントRは、常に最新のマスタデータをご使用いただくために、起動時に弊社システムと通信を行い、マスタデータ等の更新処理を行っております。
そのため、正常な状態でも起動時に多少のお時間を頂いております。
画面遷移につきましても、データベースの仕様上、時間がかかる場合がございます。

起動時の更新処理時間は、データの更新件数やパソコンのハードディスクの状態によっても変わります。

起動にお時間がかかる場合、ハードディスクが断片化している可能性もございますので、以下を行っていただき、起動時間に変わりがあるかご確認いただけますでしょうか。


■ディスクチェックと最適化
 コンピュータ⇒ローカルディスク(c:)を右クリックし、「プロパティ」を開いてください。
 「ツール」タブを開き「エラーチェック」とディスクの「最適化」を行ってください。

 ※エラーチェックやディスクの最適化には、端末の状況によってかなり時間がかかる場合がございますので、端末を使用しない時間帯に行ってください。
    
  最適化は念の為複数回行ってください。

また、上記をご確認頂いた上でも改善が見られないという場合には、追跡情報の連携を停止する事が可能です。
この処理を行う事で立ち上げ時に発送履歴一覧画面にあるデータの配達ステータス(引受や配達完了等の表示)受信を遮断し、多少ではございますが、立ち上げ時間をやや短縮する事が可能となります。
ご希望の場合はお手数ではございますが、当窓口までご相談下さいますようお願い申し上げます。

なお、発送履歴一覧画面内のデータ自体を定期的に削除する事でもソフト内のデータ容量が軽くなり、立ち上げ時の短縮が図れます。

【履歴データの削除方法】
発送履歴データ一覧にて削除対象のデータを選択後、「ゴミ箱へ」ボタンを押下。ゴミ箱の中身にデータが移行されますので、検索条件内の「ゴミ箱表示」にチェックを入れ、「検索」ボタンを押下。ゴミ箱内のデータが表示されますので、データを選択後、「ゴミ箱から消す」ボタンを押下。
※「ゴミ箱から消す」を行ったデータについては、復旧させる事ができなくなりますのでお気を付け下さい。
※データ容量が少ない場合でも、起動時には多少のお時間がかかります。

また、本ソフトをご利用頂くメモリ環境として、最低でもメモリ:2GB以上を推奨するとインストール仕様書にも記載されております。
ゆうプリRだけでも大量の処理を行うため、もしメモリ環境が不足しているという場合には、PCのメモリ環境の確保・増設をご検討頂ければと存じます。
また、搭載メモリが2GB以上でも使用可能のメモリ残量が少ない場合には、起動に多く時間がかかる場合もございます。
なお、HDDの空き容量も確保願います。

以上となります。
お手数お掛けしますが、今後とも何卒よろしくお願い申し上げます。
〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒
 日本郵便株式会社
 送り状印字システムサポートセンター (担当:伊藤)
  電話 : 0570-064-389 【送ろうよ、みんなでゆうパック
  FAX  : 050-3730-6596
  メール: k019000.injihelp.jj@ymd.jp-post.jp
〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒〒

要するに、ゆうプリRを起動するたびに、毎回マスタデータを更新しているから遅いとのことだ。ふむ。あとはハードディスクの断片化を直し、発送履歴を削除すれば良いと提案された。

最後に、メモリが2G以上であり、ハードディスクに十分な空き容量が必要とのこと。最初にこちらを確認してみたが、問題ないようだ。

f:id:kawai_norimitsu:20160402154815p:plain

f:id:kawai_norimitsu:20160402154900p:plain

連続して起動してみた

初回起動時にマスターデータを最新にし、それからゆうプリRを閉じる。再び、ゆうプリRを起動してみた。すると、半分くらいの時間で起動できた。おおー!

初回起動 27分33秒
   ↓↓
2回目起動 11分45秒

だが、起動に約12分ほど掛かっている。これでも遅いと思う。

デフラグしてみた

ハードディスクのデータが断片化されているらしいので、デフラグ複数回おこなって改善してみた。しかし、15秒ほどしか短縮されなかった。

f:id:kawai_norimitsu:20160402155545p:plain

2回目起動 11分45秒
   ↓↓
デフラグ後 11分30秒

この結果から、デフラグはほぼ効果なしだと思われる。

発送履歴を削除してみた

こうなれば最後の手段である。発送予定と発送履歴を削除するのだ。ゆうプリRの「発送管理」をクリックし、過去分の取込処理日付を設定する。ゴミ箱表示にチェックを入れて、「検索」ボタンをクリック。

直近2ヶ月分を残して、すべて削除した。同様の手順で、発送履歴も削除した。すると起動時間が4分未満に劇的変化したのだ!

デフラグ後 11分30秒
   ↓↓
発送履歴削除 3分56秒

いろいろ試したところ、発送履歴を削除する方法が一番効果的だった。

開始7秒間で起動する

裏技的ではあるけど、ネットワークの接続を切って、ゆうプリRをオフラインで起動する方法もある。この方法を試したところ、なんと7秒で起動した。

しかし、オフラインでの起動は3日間のみと制限があり、マスタデータも最新状態と保証されないので、あまりオススメできない。

以上、お役に立てれば。

ECCUBEのエラーメッセージを変更する方法

eccube2.13系で、表示されるエラーメッセージを変更する方法。

「/data/class/pages/error/LC_Page_Error.php」ファイルを編集する。
※オーバーライドして管理してる場合は「/data/class_extends/page_extends/error/LC_Page_Error_Ex.php」ファイルね。

LC_Page_Error.phpに記載されているエラーメッセージの内容は以下の通り。

public function action()
{
SC_Response_Ex::sendHttpStatus(500);

switch ($this->type) {
case PRODUCT_NOT_FOUND:
$this->tpl_error='ご指定のページはございません。';
SC_Response_Ex::sendHttpStatus(404);
break;
case PAGE_ERROR:
$this->tpl_error='不正なページ移動です。';
break;
case CART_EMPTY:
$this->tpl_error='カートに商品ががありません。';
break;
case CART_ADD_ERROR:
$this->tpl_error='購入処理中は、カートに商品を追加することはできません。';
break;
case CANCEL_PURCHASE:
$this->tpl_error='この手続きは無効となりました。以下の要因が考えられます。
・セッション情報の有効期限が切れてる場合
・購入手続き中に新しい購入手続きを実行した場合
・すでに購入手続きを完了している場合';
break;
case CATEGORY_NOT_FOUND:
$this->tpl_error='ご指定のカテゴリは存在しません。';
SC_Response_Ex::sendHttpStatus(404);
break;
case SITE_LOGIN_ERROR:
$this->tpl_error='メールアドレスもしくはパスワードが正しくありません。';
break;
case TEMP_LOGIN_ERROR:
$this->tpl_error='メールアドレスもしくはパスワードが正しくありません。
登録申請された場合は、承認されるまでお待ちください。';
break;
case CUSTOMER_ERROR:
$this->tpl_error='不正なアクセスです。';
break;
case SOLD_OUT:
$this->tpl_error='申し訳ございませんが、ご購入の直前で売り切れた商品があります。この手続きは無効となりました。';
break;
case CART_NOT_FOUND:
$this->tpl_error='申し訳ございませんが、カート内の商品情報の取得に失敗しました。この手続きは無効となりました。';
break;
case LACK_POINT:
$this->tpl_error='申し訳ございませんが、ポイントが不足しております。この手続きは無効となりました。';
break;
case FAVORITE_ERROR:
$this->tpl_error='既にお気に入りに追加されている商品です。';
break;
case EXTRACT_ERROR:
$this->tpl_error="ファイルの解凍に失敗しました。\n指定のディレクトリに書き込み権限が与えられていない可能性があります。";
break;
case FTP_DOWNLOAD_ERROR:
$this->tpl_error='ファイルのFTPダウンロードに失敗しました。';
break;
case FTP_LOGIN_ERROR:
$this->tpl_error='FTPログインに失敗しました。';
break;
case FTP_CONNECT_ERROR:
$this->tpl_error='FTPログインに失敗しました。';
break;
case CREATE_DB_ERROR:
$this->tpl_error="DBの作成に失敗しました。\n指定のユーザーには、DB作成の権限が与えられていない可能性があります。";
break;
case DB_IMPORT_ERROR:
$this->tpl_error="データベース構造のインポートに失敗しました。\nsqlファイルが壊れている可能性があります。";
break;
case FILE_NOT_FOUND:
$this->tpl_error='指定のパスに、設定ファイルが存在しません。';
break;
case WRITE_FILE_ERROR:
$this->tpl_error="設定ファイルに書き込めません。\n設定ファイルに書き込み権限を与えてください。";
break;
case DOWNFILE_NOT_FOUND:
$this->tpl_error='ダウンロードファイルが存在しません。
申し訳ございませんが、店舗までお問合わせ下さい。';
break;
case FREE_ERROR_MSG:
$this->tpl_error=$this->err_msg;
break;
default:
$this->tpl_error='エラーが発生しました。';
break;
}
}

レーザープリンタでラベル用紙がかすれて印刷される場合の解決方法

かすれて印刷されてしまう…

Canonレーザープリンタ(LBP7010C)で印刷すると、最初はキレイに印刷できるものの、途中から印刷が擦れてダメダメな結果に。

ヤマト運輸の「送り状発行ソフトB2」でも、郵便局の「ゆうパックプリントR」でも同じ結果になった。特にバーコード部分がかすれると、送り状として使い物にならず困っていた。

f:id:kawai_norimitsu:20160226174116p:plain

プリンタをクリーニングしても変わらず

プリンタのトナーを変えても相変わらずかすれて印刷されてしまう。用紙を見ると、トナーの粉が定着していないように見えたんだけどなあ。

プリンタのクリーニングも全部やってみるも変わらず。いよいよキャノンのプリンタが悪いのかと思い始める。

f:id:kawai_norimitsu:20160304174629p:plain

用紙の種類を変えたら解決した

キャノンの公式サイトを眺めていたところ、用紙の種類を変えてみるといいらしいことが分かった。

プリンタのプロパティから[給紙]タブを開いて、用紙種類を[ラベル用紙]に変更。ダメ元でやってみると、かすれがまったくなくなった!

f:id:kawai_norimitsu:20160304174846p:plain

これは盲点だった。
この情報が、同じように困ってる人の役に立ちますように。ではではー

Suicaインターネットサービスでチャージできない時の解決方法

Suicaがチャージできない!?

いつも通り、パソコンからスイカをチャージしようとしたら、こんなエラーが出た。

ブラウザが閉じられたため、カード情報の読み込み/書き込みができませんでした。
お手数ですが、Suicaインターネットサービストップから再度実行してください。(SH590)

いやいやいや、なんにも設定を変えてないのに…。
今までだって、インターネットサービスからsuicaをチャージしてたやん…。

使っているのは、viewクレジットカード+suicaのヤツです。

解決方法が公式サイトに出てた

まずは、suicaインターネットサービス(
https://www.suicainternetservice.com/
)のサイトを開きます。

f:id:kawai_norimitsu:20160224174942p:plain

IEのメニューにある[ツール]-[互換表示設定]をクリックします。

f:id:kawai_norimitsu:20160224175022p:plain

追加ボタンをクリックして、「suicainternetservice.com」を追加します。

f:id:kawai_norimitsu:20160224175102p:plain

これでsuicaがチャージできるようになりました。

公式サイトにも詳しい手順が書かれてますので、どうぞー↓↓
http://www.jreast.co.jp/suicainternetservice/information/pdf/ie20160212.pdf

自分で封筒に名前や住所を印刷する方法

f:id:kawai_norimitsu:20150428193847j:plain

はじめに

長3封筒(長形3号)の封筒に、名前や住所をパソコンで印刷する方法を解説します。
具体的には、マイクロソフト社のExcelで住所録を作り、Wordで差し込み印刷します。

環境

Windows 8.1
MS-Word 2013
MS-Excel 2013

テンプレート

下記のリンクをクリックして、テンプレートをダウンロードします。
ダウンロードしたZIPファイルをデスクトップに展開しておきます。

封筒印刷テンプレート.zip

印刷方法

1.住所録を編集する

「宛名リスト.xlsx」ファイルを開き、住所録を編集します。

「山田 太郎」のように、姓と名の間に半角スペースを含めると、キレイに印刷できます。
また郵便番号はハイフンなしで入力します。

f:id:kawai_norimitsu:20160202113052p:plain

2.送り主を編集する

「切手.docx」ファイルを開き、送り主を編集します。
もし送り主を裏面にしたい場合は、すべて削除して構いません。

f:id:kawai_norimitsu:20160202113246p:plain

3.住所録を読み込む

Wordのメニューにある[差し込み文書]-[宛名の選択]-[既存のリストを使用]をクリックします。
続いて「宛名リスト.xlsx」ファイルを選びます。

f:id:kawai_norimitsu:20160202113611p:plain

テーブルの選択では、そのまま[OK]ボタンを押します。

f:id:kawai_norimitsu:20160202113702p:plain

4.

Wordのメニューにある[差し込み文書]-[完了と差し込み]-[文書の印刷]をクリックします。

f:id:kawai_norimitsu:20160202114144p:plain

[すべて]が選択されていることを確認し、[OK]ボタンを押します。

f:id:kawai_norimitsu:20160202114438p:plain


以上で印刷できます。お疲れ様でした。

本を高く買ってくれると評判のamazonさんで売ってみた話

なぜamazon

普段からamazonで本を買っているぼくだが、図書券をもらったので「進撃の巨人」のコミックスをまとめ買いした過去がある。

しかし電子書籍と違って、本棚の場所を取り、困ってしまった。仕方なく売る決断にいたる。

本を売るならブックオフかと思いきや、どうせなら高く買ってもらえると噂のamazonへ売ることにしてみた。

さっそく売ってみた

ドジャーン!

f:id:kawai_norimitsu:20160115164148p:plain

進撃の巨人の1~18巻セット。1、2回しか読んでない、新品同様。

amazon買取サービスへアクセスし、売りたい本のタイトルで検索する。

f:id:kawai_norimitsu:20160115164436p:plain

希望商品の「買取申込」ボタンをクリック。どんどん進んでいくと、買取申込書が表示されるので、これを印刷し署名する。

本は適当な空き箱に入れる。空きスペースが出るようなら、新聞を丸めてすき間につめる。買取申込書と身分証明書のコピーを入れたら完成!

f:id:kawai_norimitsu:20160115164601p:plain

指定した日時に佐川急便が集荷に来てくれる。もし買い取り価格が気に入らなかった場合も、無料で商品を返送してくれる。すごい太っ腹。

商品を送ったら、amazonの買取履歴からステータスが確認できる。査定中とか査定済とか。

f:id:kawai_norimitsu:20160115164849p:plain

そしてキチンを現金が振り込まれたのであった。ただし現金振込は初回のみ、2回目以降はamazonギフト券で支払われるとのこと。

11日に商品を送って、14日に振り込まれていた。割と早いと思う。2回目以降は身分証明書も不要だから、より簡単に売れるはず。

f:id:kawai_norimitsu:20160115165157p:plain

amazon買取サービスの不満な点

・商品を送るための空きダンボールが必要
・2回目以降がamazonギフト券で支払われる件
進撃の巨人の17、18巻が検索しても出てこなかった
仕方ないので送ったら、売れないどころか返ってこなかった・・
・後日、送料無料で返送されました

今後の展開

amazonで買った本と段ボールを取っておいて、読んだらamazonへ売るというのが循環的でよい。

2周目はamazonギフト券の縛りがあるから、amazonは多少は高い値段で買い取っても損はしない仕組み。それどころか、消費者はうまいこと囲い込みされていると思う。

5000円でゲームを買って、すぐ遊んでクリアして、すぐ売れば3000円になるとする。実質的なゲームの価格は2000円となるわけで、そんな消費スタイルが今後は定着するのかも知れない。

www.amazon.co.jp