问题标签 [time-travel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 将 redux 操作拼接到历史中
Redux 树几乎是一个动作列表和从这些动作派生的状态。
像这样的东西:
我正在摆弄的项目需要允许将新操作拼接到该日志的中间。例如,在 MULTIPLY 之后和 SUBTRACT 之前添加“除以四”。该动作需要插入到历史记录中,然后重播任何后续动作。
这个“计算器”示例绝对是简化的,但希望您明白这一点。
这是 Redux 的有效用例吗?是否有考虑到这种类型的动作流设计的库或通用技术?
ruby-on-rails - Rails:控制器在水豚测试中没有看到时间旅行
我正在尝试使用travel_to
ActiveSupport::Testing::TimeHelpers 中的方法。我希望能够visit_page
像另一天一样使用。我可以Date.today
从调用 to 定义的块中调用travel_to
,它给了我想要测试的日期。但是,当Date.today
从我正在访问 capybara 的页面的控制器中调用时,它总是给我今天的日期。
这是测试:
和控制器:
并且测试失败:
我怀疑水豚以某种方式导致Date.today
控制器中的调用发生在我travel_to
的测试块之前。有没有办法确保不会发生这种情况?或者,会不会发生其他事情?
javascript - 状态历史没有在反应中正确更新
我正在建造河内塔游戏以适应反应。我有一个名为“disks”的状态属性,它是一个由 3 个长度为 N 的数组组成的数组(N 是磁盘的总数)。我还定义了一个状态属性“历史”,它应该包含磁盘阵列的历史,如下所示:
- 最初:历史= [磁盘(初始配置)]
- 1 次移动后: history = [磁盘(初始配置),磁盘(1 次移动后)]
- 2 次移动后: history = [disks(Initial config), disks(1 次移动后), disks(2 次移动后)] 等。
然而,在 M 移动之后,历史数组如下所示:
历史 = [磁盘(M 移动后),磁盘(M 移动后),...,磁盘(M 移动后)]。
我找不到我的错误。如果有人知道出了什么问题,将不胜感激。以下是相关代码:
请注意,游戏正常运行,这意味着磁盘阵列正在正确更新等......这只是历史阵列的更新以某种方式出错。我尝试将 disks.slice() 放入 history.concat 中,因为在我看来历史以某种方式存储了对磁盘数组的引用,但这并没有帮助。
azure - 有没有办法更改部署了基于 linux 的容器的 Azure App Service 的日期
我需要更改 Azure 应用服务的日期/时间。这将帮助我及时将 API 移动到过去的日期。我使用了基于 Linux 的 .Net Core API 映像,部署为 Azure App Service 中的容器。在这个 API 中,我有一个当前返回系统日期和时间的方法。
我知道有一种方法可以设置时区。这可以是 dockerfile 的一部分。我正在尝试寻找类似的方法来更改日期。
snowflake-cloud-data-platform - 更改 Snowflake 中已删除表的数据保留
我们正在利用 Snowflake 作为仓库平台。在将数据加载到 Snowflake 时,我们有一些 drop create 逻辑来填充雪花中的数据。我们没有使用临时表或临时表,而是意外地利用了永久表,这导致了巨大的存储大小作为时间旅行存储的一部分(接近140 tb)。
由于我们已经删除了永久表,因此这些表没有列出雪花模式。想检查是否有任何方法可以更改已删除表的保留期,以便我们可以释放这些已删除表使用的时间旅行存储。
非常感谢,
Prasanth
snowflake-cloud-data-platform - 雪花,如果发生恶意攻击怎么办?
如果有人恶意访问 ACCOUNTADMIN,将 DATA_RETENTION_TIME_IN_DAYS=0 设置为数据库中的所有对象,然后开始销毁这些对象,Snowflake 是否提供了一种方法来重建攻击前的数据库?时间旅行应该不再可用。
据我了解,Failsafe 仅在 Time Travel 之后启动,因此,如果 Time Travel 设置为 90,那么据我所知,我们最希望得到的就是取回 90 天前的数据。
如何防止这种情况发生?
snowflake-cloud-data-platform - 时间旅行中实际有多少数据?
是否可以查询表可用的时间旅行深度?
不是配置的保留天数,而是按日期/时间实际存储在 Time Travel 中的表格的保留天数。前任。a 表配置为 90 天 TT,但 TT 中只有 10 天。我在考虑查询 TT 时的情况,如果数据不存在,那么我们会收到错误,但是有没有办法检查,比如表中的 SELECT TT-DATE?