管理画面は特定のブラウザだけサポートして開発コストを削減しよう

Web サービスの開発にマルチブラウザ対応は付きものですが、管理画面まで対応する必要はないと思ってます。

ユーザに提供する機能は Chrome/Firefox/Safari/IE の最新版ぐらいはサポートして、社内向けの管理機能は Chrome だけサポートするなどして開発コストを削減するのがいいんじゃないでしょうか。

”長時間労働” は最終手段にとっておく

ここ最近、自分の働き方について見直す時間をとれていませんでした。

そんな中、考えさせられる記事がいくつか話題にあがっていたので取り上げるついでに自分の意見も書いてみたいと思います。

「スタートアップにいるんだから寝る時間以外、働こうぜ!」

と思うこともあれば、

「なんでこんなに働いてるんだろう・・・?」

というような燃え尽き症候群みたいな感じになることもあります。

そんな状態だとアウトプットの量や質にブレが出てくるので良くないなあと考えるようになりました。

これからは一定の時間内に高水準の成果を継続して出していけるように、もっと仕事を効率化していきたいです。

そして、”長時間労働” は最終手段にとっておきます。

それが心の余裕に繋がりそうです。

[WordPress] Twitter Card を Twitter 公式プラグインを利用して導入する方法

WordPress に Twitter 公式プラグインを利用して Twitter Card を導入する方法をご紹介します。

WordPress | ワードプレス

続きを読む

Google Analytics のデータをそのまま鵜呑みにしてはいけない

【翻訳】Google Analyticsに基づくスタートアップの危険性 | POSTD という記事を読んで、いくつか気付きを得れたので備忘録として書き残しておきます。

スタートアップはGoogle Analyticsのようなソースからの定量的なデータにあまり頼らないようにすべきというわけではありません。より高度に、洞察には多くの形があるということを理解し、全てのレポートと性能測定をスプレッドシートに一番読み込みやすいチャネルに基づいて行いたいという衝動を抑えなくてはなりません。

ツールについて学べば学ぶほど、ツールの長所と短所が分かってくるでしょう。ツールを自分で使うのは素晴らしいことですが、恐らくより一層効果的なのはツールが自分に対して使われるときです。もし上司がGoogle Analyticsに基づいて目標を決めてくれたら、数字が”あるべき”数字ほど良く見えない理由を説明できていいと思いませんか? 私はそう思います。

記事中の「サンプリングによって大抵の消費者レポートが、非常に不正確になる」という点が本当にそうだよなと思いました。例えば、EC サイトでサンプリングされたデータだけで購入経路などを分析してると、重要な判断ミスを犯してしまいそうですよね。

Google Analytics はカンタンに導入できてとても便利ではありますが、データの取得方法がブラックボックスなのが気になるところです。より正確にデータ分析をしたい場合は、自前で Tracking する仕組みを実装するアプローチをとることをおすすめします。

Rettyオフィス移転パーティー

Rettyの移転パーティーにおじゃましてきました。

retty-1

retty-2

築地市場から届いた鮮魚で握ったお寿司がとても美味しかったです。

Retty さんにはこの寿司の美味しさの勢いで、引き続き頑張っていただきたいですね。

「さくらのクラウド」の2万円分無料クーポンを貰った

「さくらのクラウド」の2万円分無料クーポンを中の人からもらいました。

sakura-cloud

今まで無料クーポンの存在を知らなかったのですが、さくらインターネットのイベントやセミナーなどで貰えたりするみたいですね。

1522円の「CPU 1Core/Memory 1GB」のプランだと 1 年近く「さくらのクラウド」が利用できそうです。

この機会に、契約中のさくらのVPSを全て、今月中に「さくらのクラウド」へ移行したいと思います。

[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 アプリの設定を確認してみるといいかもしれません。