カテゴリー : 2015年 4月

[EC] 離島の定義と送料の判定処理

以前、配送料を決定する処理を実装する際に、離島の定義が分からなかったので色々と調べたメモを公開します。

ECサイトで下記みたいなよくあるやつ
・本州一律 500円
・北海道、九州、四国 700円
・沖縄及び離島は 1000円

ヤマト運輸のサポートからの回答

平素はヤマト運輸をご利用いただき誠にありがとうございます。
お問い合わせをいただきました件でございますが、弊社では
「離島」の別料金はいただいておりません。
何卒よろしくお願い申し上げます。

ヤマト運輸は「離島」で別料金を取っていないみたいなので、都道府県だけで送料を判定できるから楽そうでした。


参考情報

離島とは(島の基礎知識)

[Jade] mixin の命名規則

Jade には mixin という template を module 化する機能があります。

+hoge(arg) みたいな感じで method ライクに template を呼び出せるのですが、method みたいなだけあって命名規則はどうなってるんだろうと思って軽く調べてみました。

下記は、Jade のサンプルコードです。

mixin dialog-title(title)
  .dialog
    h1= title
    p stuff

snake_case, lowerCamelCase のいずれかでもなく、ハイフンを区切り文字として使っており dialog-title と定義されていました。

ついでに .jade ファイルについても見てみましょう。

extend-layout.jade とあるようにファイル名についてもハイフンが区切り文字として使われていました。

Jade の mixin をハイフン区切りにしておくと、JavaScript の method の命名規則と衝突しないので grep しやすくて良い感じになりそうですね。

[Firefox] 同じ key の Cookie が2つセットされていて POST Request が通らない

Firefox で 同じ key の Cookie が2つセットされていて POST Request が通らないということがありました。

そのサイトの Cookie を全て削除することで解決はしたんですが、どうやってこういう状況になったかは未だに分かっていません。

ログイン機能の処理が動かなかったので、一定の条件でこういうバグが発生してしまうとユーザが二度とサイトに訪問しなくなりそうですね。

[Mac] -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

Mac の Terminal アプリから外部サーバへ ssh すると -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory という Warning メッセージが表示されました。

$ ssh codenote.net
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

この状態だと mongo shell に入るときもエラーが発生するので export LC_ALL=C する必要があってちょっと面倒なんですよね。

$ mongo mydb
Failed global initialization: BadValue Invalid or no user locale set. 
Please ensure LANG and/or LC_* environment variables are set correctly.

Set locale environment variables on startup のチェックボックスを外せば Warning メッセージは表示されなくなります。

Terminal-Profiles-Set-locale-env

僕は Mac の言語設定を日本語から英語に変更したタイミングでこのようなエラーが発生するようになりました。

同じような問題に悩まされた方は Terminal アプリの設定を確認してみるといいかもしれません。

SNSのシェア用URLをカンタンに生成できる social-share-urls

SNS のシェア用 URL をカンタンに生成できる social-share-urls が便利だったのでご紹介します。

シェア用の URL を生成する Web サイトがあるわけではなく、github 上に公開されている repository を clone して使います。

$ git clone git@github.com:bradvin/social-share-urls.git
Cloning into 'social-share-urls'...
remote: Counting objects: 59, done.
remote: Total 59 (delta 0), reused 0 (delta 0), pack-reused 59
Receiving objects: 100% (59/59), 19.70 KiB | 0 bytes/s, done.
Resolving deltas: 100% (23/23), done.
Checking connectivity... done
 
$ open social-share-urls/generator.htm

プロジェクト直下にある generator.htm を開くと下記のような画面が表示されます。

必要な情報を埋めて generate ボタンをクリックすると各 SNS のシェア用 URL が生成されます。

Social-Link-Generator

各サービス公式の情報ではないので動かなくなったりするかもしれませんが、一括生成してくれるのは便利なので使っていきたいと思います。

CSS3のグラデーション生成サイト「Ultimate CSS Gradient Generator」

CSS3 のグラデーションを生成できるサイト Ultimate CSS Gradient Generator一緒にお仕事させてもらっているデザイナーさんに教えてもらいました。

グラデーションのかかったボタンの作成をお願いしたついでに「後学のため、なにで作ってるんですか?」って聞いたらこのサービスが出てきたわけです。

Ultimate-CSS-Gradient-Generator

ベースの色は決めないといけないですが、これだったら僕でも使えそうです。


参考情報