この記事では、Webサービスを開発する上で「一見簡単に考えてしまいがちだけど、実際に手をつけてみると意外とちゃんと考えなきゃいけない」問題を、僕の経験を振り返りながらリストアップしてみます。 技術的な問題だけでなく、サービスの性質や仕様によって最適解が変わる場合が多いために一概に「こうすればOK!」が言えない類の、とても困ったちゃんたちを挙げてみました。 仕様検討や設計をする上での観点のひとつとして読んでいただけたらと思います。 本文 「1か月後っていつ?」問題 たとえば「利用登録した日の1か月後に期限切れ」という処理を考えてみます。 このとき、利用登録した日が7/21だった場合、期限切れになる日付は8/21と直感的に答える方は多いと思います。 では、利用登録した日が6/21だった場合はどうでしょうか? これを7/21としてしまうと、6月は30日しかありませんので6月に登録したユーザーは7