ヤマト宅急便のお届け予定日数の一覧を作ってみた

ヤマトのお届け予定日検索が使いにくい・・・
料金・お届け予定日検索(宅急便)|ヤマト運輸
時間帯レベルまで細かく出してくれるのはいいんだけど、いちいち郵便番号を入れなきゃならないから、いろいろな地域を大まかに見るようなことはできないんですよねー。

佐川急便の予定日検索みたいに、日本地図でざっくり出してほしいですね。日数で表示されるから、個人的にはめっちゃ使いやすいんですよね。

……そんなわけで、その地図を出す素を作ってみました。
今日のところは力尽きたので、地図にするのはまた後にします( ・`ω・´)

yamato_otodoke_nissu

ファイルの中身は、各都道府県の県庁所在地の郵便番号を元に、上記お届け予定日検索を実行して出てきた日数をリストアップしてあります。
文字コードShiftJISのCSVファイルなので、エクセルあたりで開いてみるといいと思います。

48都道府県の2乗だから、検索回数は2304回!死ぬorz
流石に人力は腕がお亡くなりになってしまうのでSeleniumさんにやってもらいました(´・ω・`) テスト以外でも大活躍ですぜ!!

[MongoDB] findで深い階層のフィールドを指定して取得する

こんなドキュメントがあったとする。

ここからaddress内のafter要素だけを取得する。ドットで要素名をつなぐだけで気軽に取れる。コレクション名(hogehoge)は適当に読み替えてください。

 

・・・この文章を書いてから、何の気なしにWikipediaのMongoDBのページを見たら、似たような感じの記事があることに気づいて驚きΣ(・ω・`) ドキュメントの構造まで同じっていうね……

Wikipedia – MongoDB  ネストされたフィールドのクエリ

まぁ気にせずうp。

[PHP] ZipArchive::setPassword は解凍専用

だってよ! ついさっき知ったよ!(;ω;)

メソッド名だけ見て、圧縮に使うもんなんだな~と早合点してずっと試行錯誤してましたつらいorz
リファレンスはしっかり読みましょうというお話です。

PHPの公式リファレンスのNoteには以下のように書いてあります。 → http://php.net/manual/ja/ziparchive.setpassword.php

注意:

This function only sets the password to be used to decompress the archive; it does not turn a non-password-protected ZipArchive into a password-protected ZipArchive.

「展開するときにだけ使えるよ!パスワード保護されていないZipを保護する用途には使えないよ!」みたいなことがちゃんと書かれてますね……。

英語の記事でもすぱっと一発で読めるようになりたい。なりたい・・・(´・ω・`)

ちなみにどうしてもPHP上でパスワードを掛けて圧縮したかったら、現状はexec関数でシステムコールを利用するぐらいしか無いんじゃないでしょうか。
参考→http://blogs.yahoo.co.jp/terere4040/31295794.html

Goutteのリクエストタイムアウト秒数を設定する

やたら重たい処理をさせたいけど、先にGoutteがへばってしまうと困るのでタイムアウト秒数を変えたい時、以下のように書いたら行けるみたいですね(´・ω・`)

もしくは以下の書き方。

参考 cURL timing out even after setting timeout value · Issue #197 · FriendsOfPHP/Goutte · GitHub

離島地域の郵便番号一覧(CSV形式)

仕事でどーーーーしても離島の判別をしなければならなくなったので調べてみた。

ぐぐったらアマゾンにいい感じのリストが有ったのでそれを参考にしてみる。

離島料金でのお届けとなる地域
http://www.amazon.co.jp/gp/help/customer/display.html?nodeId=200127560

離島ってこんなにあるのね……関東に住んでると全然分かりませんぜorz

ちなみに俺の離島経験は、神奈川県の猿島にバーベキューをしに行った一回のみ。船で10分程度の好立地です(´・ω・`)

アマゾンのページそのままだとデータとして使いにくいので、CSVに整形してみる。

island_zipcode

(上のファイルは、郵便番号以外に都道府県、市区町村、町域名も入っています。)
(データは2015年1月現在のものです。)

また、SQLのIN構文で使うために郵便番号だけをワンライナーで整形してみる。

これで判別できたらいいなぁ(´・ω・)