相关疑难解决方法(0)

在日历应用程序中为重复事件建模的最佳方法是什么?

我正在构建一个需要支持重复事件的组日历应用程序,但是我提出来处理这些事件的所有解决方案看起来都像是一个黑客.我可以限制前方可以看到的距离,然后立即生成所有事件.或者我可以将事件存储为重复,并在日历上向前看时动态显示它们,但如果有人想要更改特定事件实例的详细信息,我将不得不将它们转换为正常事件.

我确信有更好的方法可以做到这一点,但我还没有找到它.对重复事件建模的最佳方法是什么,您可以在其中更改特定事件实例的详细信息或删除特定事件实例?

(我正在使用Ruby,但请不要让这限制你的答案.如果有一个特定于Ruby的库或其他东西,那么,这很有用.)

ruby algorithm recurrence calendar data-modeling

213
推荐指数
8
解决办法
6万
查看次数

设计问题:您将如何设计定期事件系统?

如果您的任务是构建支持重复事件的事件调度系统,您将如何做?如何删除定期活动时的处理方式?你怎么能看到未来事件何时发生?

即在创建活动时,您可以选择"每日重复"(或每周,每年等).

请回复一个设计.我已经习惯了Ruby/Rails,但是使用你想表达设计的任何东西.

我在接受采访时被问到这个问题,并且无法提出我喜欢的非常好的回复.

注意:这里已经被问到/已经回答了.但我希望得到一些更实用的细节,详情如下:

  • 如果有必要能够对重复事件的一个实例进行评论或以其他方式添加数据,那该怎么办?
  • 事件更改和删除如何工作?
  • 你如何计算未来事件的发生时间?

calendar

47
推荐指数
2
解决办法
2万
查看次数

表示数据库中复杂的计划重复

我试图在数据库中表示复杂的计划数据时遇到了一个有趣的问题.作为指导,我需要能够代表iCalendar - ics- 格式可以表示的全部内容,但是在数据库中.我实际上并没有实现任何与之相关的内容ics,但它提供了我需要能够为我的特定项目建模的规则类型的良好范围.

我需要允许基于每天多次,一周中的几天,一个月的一周,一个月,一年或这些的某种组合来允许表示单个事件或重复事件.例如,每年11月的第三个星期四,或每年的12月25日,或从11月2日开始的每两周一直持续到次年的9月8日.

我不关心插入效率,但查询效率至关重要.我最常做的操作是提供单个日期/时间或日期/时间范围,并尝试确定定义的时间表是否与日期/时间范围的任何部分相匹配.其他操作可能会更慢.例如,在2010年1月15日上午10:00到2010年1月15日上午11:00,查找至少部分时间匹配的所有计划.(即10:30 - 11:00的时间表仍然匹配.)

有什么建议?我看一下如何在RDBMS中表示预定事件?但它不包括我想建模的重复规则类型的范围.

database icalendar modeling calendar schedule

10
推荐指数
1
解决办法
4914
查看次数