カレンダーを作成しようと思っているのですが、表題に関して質問があります。
祝祭日の持ち方ですが、大きく分けて静的な持ち方と動的な持ち方があると思います。
静的な持ち方・・・複数年分を予めデータとして作成しておき、それを元に、カレンダーを作成。
動的な持ち方・・・各祝祭日を計算するプログラムを書き、カレンダー作成の都度計算。
webサービス等のMAX10年程度のスパンを表示するものであれば、静的な持ち方の方がメンテナンスもパフォーマンスも有利だと思うのですが、動的な持ち方を採用したほうが良いケースというのはあるのでしょうか?
ToDoツールの一部で使用しようと検討しておりますが、それに限らず一般論が聞きたいと思っています。
少し曖昧な質問で恐縮ですが、ご意見をいただけると幸いです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答6件
0
ベストアンサー
こんにちは。
動的な持ち方を採用したほうが良いケースというのはあるのでしょうか?
休日の法律変更は頻繁にはないですし、バグがなければチェックが必要なのは秋分の日と春分の日だけですので、動的の方が人のミスの発生確立は低いだろうと思います。
バグの無いことを十分にチェックでき、かつ、休日設定の毎年の確認を忙しい人が実施せざる得ないケースでは動的な持ち方を採用したほうがよいかも知れません。
セキュリティのこと等を考えると現実的ではないかも知れませんが、個人事業主が一人で展開するようなサービスの場合該当するかも?
投稿2016/08/04 04:14
総合スコア23272
0
今年から山の日が始まったり、あとは皇室関連の慶弔事で臨時に休日が発生したり(近年では1993年6月9日、皇太子殿下の結婚の儀)と、祝日は常に変化し続けるものです。
春分・秋分も含めて継続的なメンテナンスは欠かせないものですので、表引きにするにしても算出するにしても、メンテナンスの手間はそう変わらないと思います。
投稿2016/08/04 02:58
総合スコア145192
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/08/04 03:26
0
投稿2016/08/04 02:42
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/08/04 02:45
退会済みユーザー
2016/08/04 02:46
退会済みユーザー
2016/08/04 02:50
退会済みユーザー
2016/08/04 02:52
退会済みユーザー
2016/08/04 02:55
0
コタエじゃなくてごめんなさい。
春分/秋分はどうするんだろ。
毎年国立天文台が算出し閣議決定され官報で公示されるため、
表にできないしアルゴリズムも定義できない。
投稿2016/08/04 02:38
総合スコア16614
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/08/04 02:40
2016/08/04 02:45
退会済みユーザー
2016/08/04 03:28
0
解決済みですが、おもろしそうなので少し…
動的な持ち方よりは静的な持ち方がいいんじゃない!?
って意見は自分も同意ですが、例えば基本的なとこは
動的な持ち方をしておき、設定ファイル的なもので
上書き/追加できるようなものもアリなんじゃないかなあ
って思いました。
その場合、既存の祝日予定日や上書きした場合の
祝日予定日をビジュアル的に表示できるなどの
仕掛けを充実させる必要はある気がします。
投稿2016/08/06 21:59
総合スコア7460
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/08/06 22:52
0
言い方を変えるとこういうことだと思います。
- 静的な持ち方:年毎の祝日をデータベース化し、毎年更新する。
- 動的な持ち方:法律(祝日の規則性)をコード化し、法律改正時にメンテナンスする。
静的な持ち方の方がメンテナンスもパフォーマンスも有利だと思うのですが、
私もそう思います。パフォーマンスはともかく、メンテナンスも政府が発表している祝日情報をそのままデータ化すればいいだけですし、商用のカレンダーサービス(Googleカレンダーとか)のAPIを使って自動で取得する、ということもできますし。
動的な持ち方を採用したほうが良いケースというのはあるのでしょうか?
思いつきません。
投稿2016/08/04 04:17
総合スコア5938
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/08/04 05:13
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/08/04 05:11