问题标签 [mutation]

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.

0 投票
1 回答
1482 浏览

triggers - 如何为触发器中的不同 Cassandra 表填充突变

我正在尝试实现一个 Cassandra 触发器,这样当 keyspace1.tableA 上有更新或删除时,触发器将向 keyspace1.tableB 添加一行。

tableB 中的列名与 tableA 中的列名完全不同。

我正在使用 Cassandra 2.1,无法迁移到更新的版本。查看https://github.com/apache/cassandra/blob/cassandra-2.1/examples/triggers/src/org/apache/cassandra/triggers/InvertedIndex.java上的 InvertedIndex 触发器示例,我可以看到添加突变:

从 InvertedIndex 示例:

挑战在于,在此示例中,传递给 mutation.add 的单元名称是 cell.name() ,它是一个现有对象,我们可以使用该函数获取其名称。

现在,我只是想存储对 tableA 进行更改的时间,所以 tableB 有两列:

  • 更改时间timeuuid
  • 操作文本

我需要添加一个突变,它将在 tableB 中添加一行,并执行更改时间和操作。如何在 Cassandra 2.1.12 中添加这样的行突变?

我已经尝试过了,但在触发器中出现空指针异常:

任何帮助将不胜感激 - 我不了解 Cassandra 的内部结构,所以没有多少细节是太多的信息。

0 投票
1 回答
77 浏览

javascript - 注意具有特定属性的元素

我有一个 web 应用程序,它有一个 index.html,它通过 ajax 加载数据以显示不同的页面。

在那些不同的页面上,我想data-watch="true"在一些需要观察变化的元素上放置属性(包括它自己及其子元素)。例如:

如果ul自身发生变化,或者其子项ul被添加/更改/删除,我需要执行一个显示已更改内容的函数。这ul是一个例子。这也可能是一个包含大量子元素的 div(还有子元素中的子元素等)。

经过一些研究,我发现使用 Mutation Observer 是最好的方法。但是,我还没有完全让它与突变观察者一起工作。然后我找到了一个名为Mutation Summary的库,声称它可以做我想做的事。我只是无法让它以我想要的方式工作。

现在我有这个:

但是,当通过 ajax 加载handleChanges时,不会触发此代码。ul

但是,当我将属性添加到 eachli时,它确实有效。但我不想在需要检查的每个元素上定义属性。只需将其放在跟踪其所有子元素的父元素上即可。至少对我来说,这似乎是最合乎逻辑的......

如果你有一个没有MutationSummary库的解决方案,那完全没问题。只要data-watch="true"触发具有属性(及其子元素)的元素的所有更改(添加、更改或删除)。

你能帮我解决这个问题吗?

0 投票
1 回答
597 浏览

arrays - 阵列更新后聚合物 dom-repeat 无法更新

我有一个像下面这样的聚合物特性。

gamma:{type:Array,observe:true,notify:true,value: [{"id":1,"value":["w"]}, {"id":2,"value":["w "]}]}

我正在使用此属性使用 div 在模板中显示行和列。

如果我修改 gamma 属性以在第一个对象中添加一个值,并调用 notifysplices,它不会根据数字呈现 div。我正在从添加列方法调用渲染函数。

我有另一种称为 addrows 的方法,它具有此代码。

我在这里缺少什么。

我找到了解决方案,子属性或嵌套数组更改应如下所示。

this.push(["gamma", i, "value"], "a");

来自 polymer.slack.com 的功劳归于 Arthur Evans

0 投票
1 回答
74 浏览

functional-programming - 如果应用程序改变堆栈,函数式编程中的“纯”是什么意思?

我们知道纯函数

  1. 始终为给定输入返回相同的结果
  2. 不产生副作用

这使我们实现了引用透明性——在不改变程序行为的情况下,可以将表达式替换为值

这告诉我们,如果一个程序排除了程序运行环境中实体的破坏性修改(更新),则可以说它是纯功能性的。

这位评论员写道

考虑到 FP 设置中的“纯”实际意味着什么,考虑到应用程序本身是一个突变协议(堆栈)

我的问题是:如果应用程序改变堆栈,函数式编程中的“纯”意味着什么?

0 投票
1 回答
140 浏览

search - 使用遗传算法搜索 3D 位置

我有一个问题,我想根据一些适应度函数使用遗传算法搜索 3D 空间中的最佳位置。因为我正在寻找一个位置,所以我的染色体由 3 个浮点数表示。目前,交叉是通过从一个父级获取 1 或 2 个数字并从另一个父级获取剩余的数字来完成的。

当像这样交叉时,下一代将仅包含与起始种群中的染色体具有相似 X、Y 或 Z 坐标的位置。因此,不可能有太大的变化。我的问题是,是否最好通过对我的染色体使用另一种表示(例如位)来解决这个问题,以便可能有更多的交叉点(也在浮点数内),或者是将突变率设置得更高并让突变添加的更好解决方案下一代的变化更多?

0 投票
1 回答
1070 浏览

javascript - 检测阵列突变

我制作了一个简单的概念验证 Polymer 1.0 应用程序来演示我的问题:JSBin

在我的问题中,我使用数组突变方法来更改包含购物项目列表的数组。

但是,这似乎没有按预期工作。我确实dom-repeat在打印数组的长度时发生了变化。但是当我打印数组本身或将其包装在函数中时,我没有收到更改事件

简而言之,为什么会这样?

为什么这不起作用

此外,当我取消注释以下行(在 JSBin 中)时,事情似乎像 indened 一样工作。但我不喜欢它,因为它有点hackish。

slice()我通过阅读这个问题偶然发现了修复: https ://github.com/Polymer/polymer/issues/2068


编辑

因此,在查看评论后,“这是设计使然”这个问题的答案是肯定的。数组本身不会改变(因为它只是一个参考),但它的属性改变。这就是为什么slice()强制重新加载,因为它创建了一个浅拷贝。

但是,有人可能会争论这是否可行。是的,变量本身list不会改变。但放入HTML 代码实际上会触发. 并且该功能的结果已经改变。[[list]]toString()

我想我现在只能捎带这处length房产了……

0 投票
1 回答
253 浏览

c++ - 了解向量类和比赛选择

我希望能够将一个人的“整体”价值与另一个人进行比较。我不确定我是否正确存储它们,也不知道如何正确比较它们。我不知道如何访问任何一个人的“整体”价值观,这是我认为最困扰我的。

头文件

人口.cpp

主文件

我希望能够比较人,将“获胜者”存储到“幸存者”向量中,然后继续使用“幸存者”向量通过 X 代的交叉和变异来创建新种群。

0 投票
3 回答
1222 浏览

nested - graphql - 在突变中使用查询 - 创建嵌套对象

我有一个非常简单的模型,post其中嵌入了几个comments

我想知道我应该如何做一个突变来添加一个新commentpost

由于我已经定义了查询以获取post给定的 a id,因此我想尝试使以下突变语法起作用

但我似乎找不到让它工作的方法。即使我处于突变状态,作为postaddComment 的输出类型也被视为post应具有的字段。

你们有什么想法吗?

谢谢

0 投票
1 回答
111 浏览

c++ - 遗传算法的选择机制

我已经建立了一个遗传算法,但我觉得我的代码的选择/变异部分有问题。这是我正在谈论的代码的一部分:

我的代码似乎大部分工作正常。我似乎无法弄清楚为什么它的表现越来越差。最初的几代人似乎经常找到新的、更好的解决方案。几代之后,它停止寻找新的最佳解决方案。

这当然可能是因为没有更好的解决方案,但我同时也在 excel 中进行计算,一个人通常可以通过将其“染色体”之一增加 1 来获得更好的适应性,这通常是1 位更改,因为我通常使用 10000 个人运行此代码,您会说该程序必然会创建一个具有此突变的个人。

我现在已经用调试器多次遍历我的代码,在每一步都显示值等等,但我似乎无法找出哪里出了问题,所以我想我会在这里发布我的代码和看看是否有人能发现我在哪里搞砸了。

仅作记录,该算法只是一个公式求解器。例如,我可以输入 a = 1, b = 6, target = 50, a*gene1 + b *gene2 并且它(理论上)分配的适应度越高,个人越接近获得这个结果。

另外,如果我不得不猜测我搞砸了,我会说它在代码的突变部分:

我这么说只是因为这是我自己最不了解的部分,我可以想象我在那里犯了一个“看不见的”错误。

无论如何,任何帮助将不胜感激。

0 投票
2 回答
437 浏览

plsql - 更新时的 pl/sql 变异表

我知道,这个问题已经被构思了很多次了,但我需要你的建议 :)

有2张桌子:

  • 销售收入

| item |income |create_user |create_date |last_update_user | update_time| |------|-------|------------|-------------------|-----------------|------------| | 1 | 100 |duck |05-19-2016 |human |05-19-2016 | | 2 | 250 |dog |05-19-2016 |human |05-19-2016 | | 3 | 210 |cat |05-20-2016 |human |05-19-2016 |

  • 销售收入审计

| item |change_id|last_inc|new_inc |user_update|update_date|operation | |------|---------|--------|----------|-----------|-----------|------------| | 1 | 1 |null |05-19-2016|duck |05-19-2016 |I | | 2 | 2 |null |05-19-2016|dog |05-19-2016 |I | | 3 | 33 |null |05-20-2016|cat |05-19-2016 |I |

任务是:当有人执行插入、更新或删除操作时,触发器必须将上面发生操作的记录插入到表Sale_income_audit中(操作类型 - 列“操作”)。同时必须更新表 Sale_income(last_update_user 和 update_time)。我这样做了:使用 3 个变量创建包:

和 2 个触发器

第一的

第二

它有效,但我认为这是错误的解决方案。因为从“一般”触发器更新块移动到另一个触发器,这个带有变量的魔法不好,我是对的吗?

您将如何决定这项任务以及您将在我的解决方案中进行哪些更改?感谢帮助 :)