问题标签 [bijection]
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.
postgresql - Postgres:从 A 到 B 的唯一引用
我想要一对(tag1,tag2)和tag_id之间的双射。
我不想参考,例如:
换句话说,我希望 REFERENCE 从(tag1,tag2)到标签(tag_id)是唯一的,而不是唯一的(tag1,tag2)。
java - JBoss Seam - @In 注释不能与不同属性的访问器方法同时使用吗?
我使用 sean-gen (seam new-form) 生成了一个新表单,并使用 @In 注释向其中添加了另一个字段:
界面是这样的:
问题是,当我尝试访问我得到的属性时:
我的看法是这样的:
如果我删除“ fooField ”或“ barField ”,则视图会呈现并正常工作,但如果我尝试同时使用两者,则会出现上述异常。
我还注意到,如果我只使用 @In 注释(从 bean 中删除访问器方法),页面就可以工作。
这是预期的事情吗?我应该在问之前做功课吗?
我正在使用 JBoss 5.1.0.GA、Seam 2.2.0.GA 和 Java 6。
algorithm - 是否存在没有隐藏状态的“好”PRNG 生成值?
我需要一些好的伪随机数生成器,它可以像纯函数一样从其先前的输出中计算出来,而不会隐藏任何状态。在“好”下,我的意思是:
我必须能够以这样的方式对生成器进行参数化,即
2^n
使用任何参数(或它们的一些大子集)运行它以覆盖所有或几乎所有介于0
和之间的值2^n - 1
,其中n
是输出值中的位数。位的组合生成器输出
n + p
必须涵盖所有或几乎所有值0
,2^(n + p) - 1
如果我针对2^n
其参数的每个可能组合运行它进行迭代,其中p
是参数中的位数。
例如,LCG可以像纯函数一样计算,它可以满足第一个条件,但不能满足第二个条件。假设我们有 32 位 LCG,m = 2^32
并且它是常数,我们的p = 64
(两个 32 位参数a
和c
)n + p = 96
,所以我们必须从输出中查看三个整数的数据以满足第二个条件。不幸的是,由于输出中奇偶整数的严格交替序列,无法满足条件。为了克服这个问题,必须引入隐藏状态,但这会使函数不纯并打破第一个条件(长隐藏期)。
编辑:严格来说,我想要按p
位参数化并具有完整n
位状态的函数系列,每个函数都以独特的“随机”方式生成所有可能的二进制位字符串p + n
,而不仅仅是连续递增(p + n)
-bit int。选择该独特方式所需的参数化。
我想要的太多了吗?
algorithm - 整数的对称双射算法
我需要一种算法,可以将 32 位有符号整数一对一映射(即无冲突)到另一个 32 位有符号整数。
我真正关心的是足够的熵,以至于函数的输出看起来是随机的。基本上我正在寻找一种类似于 XOR Cipher 的密码,但它可以生成更多看起来任意的输出。安全不是我真正关心的问题,尽管默默无闻是。
为澄清目的进行编辑:
- 该算法必须是对称的,这样我就可以在没有密钥对的情况下反转操作。
- 该算法必须是双射的,每个 32 位输入数字必须生成一个 32 位唯一数字。
- 函数的输出必须足够晦涩,只在输入中添加一个会对输出产生很大的影响。
预期结果示例:
F(100) = 98456
F(101) = -758
F(102) = 10875498
F(103) = 986541
F(104) = 945451245
F(105) = -488554
就像 MD5 一样,改变一件事可能会改变很多事情。
我正在寻找一个数学函数,所以手动映射整数不是我的解决方案。对于那些询问的人来说,算法速度并不是很重要。
java - JBoss Seam:可以注入@Create 方法吗?
我似乎无法在 @Create 方法中注入 Seam 组件。我在文档中找不到任何暗示这是不可能的,这将验证我是否犯了错误。
是否可以在@Create 中注入?
干杯!
java - Seam Session 范围内的组件在下一个请求中消失
我有Seam 会话范围的组件CustomIdentity,它覆盖了标准的Seam Identity(也是会话范围的)。扩展的 CustomIdentity 有一个属性
在覆盖的 login() 中,我定义了一个 User 对象,其中填充了来自 HttpServletRequest 的 Principal 的信息。在应用程序的第一个请求中,User 对象在 SESSION 范围内按预期弹出。但是,在第二个请求中,User 对象已经从 Session 中消失了,当我访问一个注入它的页面时,我得到了一个异常。
我的问题是何时准确地喷射组件:
- 在 CustomIdentity 组件的每一个方法之后(即使它不包含对 的引用
user
)? - 在每个包含 User 组件引用的方法之后?
关于required
属性:
- 如果在弹出时 User 对象的计算结果为
null
,那么已经弹出的 User 是否将从 Session 范围中删除?
干杯!
python - 范围和一些常数之间的双射关系?
请将此问题移至Code Review -area。它更适合那里,因为我知道下面的代码是垃圾,我想要关键的反馈来完成重写。
如何在 Python 中编写集合到常量的关系?所以如果A
在一个范围内,则返回其对应的常数。
闻代码,不好。
bits - 任何不同的 4 个 4 位字符串和所有 2 位字符串之间是否存在双射?
让我举个例子,让我们考虑一下字符串:1000 0101 0111 0000
以及全范围的 2 位字符串:00 01 10 11
我想知道是否有一个函数具有逆并将 4 个 4 位字符串映射到 2 位字符串。
algorithm - 查找数组之间双射的算法
我有两个数组,比如说A={1, 2, 3}
和B={2, 4, 8}
(数组项数和数字可能会有所不同)。如何找到数组之间的双射。
在这种情况下,它将是f:A->B; f(x)=2^(x)
algorithm - 双射“整数 <-> 字符串”函数
这是我正在尝试为其创建最佳解决方案的问题。我在[0...N]范围内有一组有限的非负整数。我需要能够将这个集合中的每个数字表示为一个字符串,并且能够将这样的字符串向后转换为原始数字。所以这应该是一个双射函数。
附加要求是:
- 数字的字符串表示应该至少在某种程度上混淆原始数字。所以像f(x) = x.toString()这样的原始解决方案将不起作用。
- 字符串长度很重要:越少越好。
- 如果有人知道K的字符串表示,我希望它是非平凡的(在某种程度上)猜测K+1的字符串表示。
对于 p.1 和 p.2,显而易见的解决方案是使用类似 Base64(或任何适合所有值的 BaseXXX)符号。但是我们能以最少的额外努力适应第 3 页吗?常识告诉我,对于 BaseXXX 值,我还需要一个双射“String <-> String”函数。有什么建议么?或者也许有比 BaseXXX 更好的东西来满足所有 3 个要求?