我本应该学习法语,但不是学习任何词汇,我一直在用一个测试词汇的rails应用程序 - 所以它显示一个单词,我必须输入它的翻译.
不幸的是,Firefox记得我已经在那里输入的所有东西,所以它在某种程度上削弱了它的用处.
是否有可能通过form_for或其他方式选择关闭这个通常有用的行为?
我感兴趣的是GWT可以作为我整个表示层的基础.
我很想知道是否有人成功地尝试过这种方法 - 或者说没有成功 - 并且可以说服或不会让我试图这样做.
在我的具体案例中,我正在使用一个鉴别器列策略.这意味着我的JPA实现(Hibernate)创建了一个带有特殊DTYPE列的用户表.此列包含实体的类名.例如,我的users表可以包含TrialUser和PayingUser的子类.这些类名称将位于DTYPE列中,以便当EntityManager从数据库加载实体时,它知道要实例化的类的类型.
我尝试过两种转换实体类型的方法,两种方式都像脏黑客一样:
#1的问题是当您手动更改此列时,JPA不知道如何刷新/重新附加此实体到持久性上下文.它需要一个TrialUser ID为1234,而不是一个PayingUser ID为1234它失败了.在这里,我可以做一个EntityManager.clear()并分离所有实体/清除Per.上下文,但由于这是一个Service bean,它将擦除系统所有用户的挂起更改.
#2的问题在于,当您删除TrialUser时,您设置为Cascade = ALL的所有属性也将被删除.这很糟糕,因为您只是尝试交换其他用户,而不是删除所有扩展对象图.
更新1:#2的问题使我几乎无法使用,所以我放弃了尝试让它工作.更优雅的黑客肯定是#1,我在这方面取得了一些进展.关键是首先获得对底层Hibernate Session的引用(如果您使用Hibernate作为JPA实现)并调用Session.evict(user)方法从持久性上下文中仅删除该单个对象.不幸的是,没有纯粹的JPA支持.以下是一些示例代码:
// Make sure we save any pending changes
user = saveUser(user);
// Remove the User instance from the persistence context
final Session session = (Session) entityManager.getDelegate();
session.evict(user);
// Update the DTYPE
final String sqlString = "update user set user.DTYPE = '" + targetClass.getSimpleName() + "' where user.id = …Run Code Online (Sandbox Code Playgroud) 我需要重新解决我的旧问题,我可能不应该在凌晨1点问到它:P
似乎使用jquery的属性选择器找不到某些属性:
$("*[some=value]");
Run Code Online (Sandbox Code Playgroud)
到目前为止,我似乎无法使用form的action属性和img的src属性.是否有某个属性的列表不起作用,所以我可以为它们编写自定义选择器?
再次感谢!
编辑: 似乎没有人相信某些选择器不能按预期工作.看看这个例子:在这个站点上(其上有jquery 1.3用于firebugging),有一个看起来像这样的表单:
<form style="display: inline;" method="get" action="list">
Run Code Online (Sandbox Code Playgroud)
(它围绕'搜索当前下载'下拉列表).如果你打开firebug并尝试这个选择器:
$("form[action=list]");
Run Code Online (Sandbox Code Playgroud)
你将无法选择表格.action属性没有什么特别之处.该页面上的徽标图像的src也是如此:
<img alt="Logo" src="/p/aost/logo?logo_id=1238551994"/>
Run Code Online (Sandbox Code Playgroud)
不起作用的选择器是:
$("img[src=/p/aost/logo?logo_id=1238551994");
Run Code Online (Sandbox Code Playgroud)
当然,我可以做通配符,这不是我想要的.
我正在使用.NET 3.0类System.Security.Cryptography.MACTripleDES类来生成MAC值.不幸的是,我正在使用一个使用" 1111111111111111"(作为十六进制)作为单长DES密钥的硬件设备.System.Security.Cryptography如果您尝试使用加密弱键,库会对键执行一些完整性检查并返回异常.
例如:
byte[] key = new byte[24];
for (int i = 0; i < key.Length; i++)
key[i] = 0x11;
byte[] data = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
byte[] computedMac = null;
using (MACTripleDES mac = new MACTripleDES(key))
{
computedMac = mac.ComputeHash(data);
}
Run Code Online (Sandbox Code Playgroud)
抛出一个例外
System.Security.Cryptography.CryptographicException : Specified key is a known weak key for 'TripleDES' and cannot be used.
Run Code Online (Sandbox Code Playgroud)
我知道这不是一个安全的密钥.在生产中,设备将使用新的安全密钥进行闪存.同时,有没有办法抑制这个异常被抛出?也许是一个app.config或注册表设置?
编辑:密钥实际上是101010 ...由于算法强制奇校验.我不确定这是DES算法的通用性还是我付款处理工作的要求.
编辑2:Daniel的答案下面有一些关于黑客.NET的非常好的信息.不幸的是,我无法使用这种技术解决我的问题,但仍然有一些有趣的阅读.
这是一个加载url并捕获响应时间的python脚本:
import urllib2
import time
opener = urllib2.build_opener()
request = urllib2.Request('http://example.com')
start = time.time()
resp = opener.open(request)
resp.read()
ttlb = time.time() - start
Run Code Online (Sandbox Code Playgroud)
由于我的计时器包裹在整个请求/响应(包括read()),这将给我TTLB(时间到最后一个字节).
我还想获得TTFB(第一个字节的时间),但我不知道从哪里开始/停止我的计时.urllib2是否足以让我添加TTFB计时器?如果是这样,他们会去哪里?
我问过的结构类似的问题在这里,但我试图找出ç如何处理像变量赋值的东西,为什么不允许将它们分配到海誓山盟,如果他们在功能上是相同的.
可以说我有两个数组:
int x[10];
int y[10];
Run Code Online (Sandbox Code Playgroud)
为什么x = y不能编译?如果它们都是相同的"签名",那么你不应该来回分配它们吗?
我是否可以通过允许我在C中执行此操作的方式声明这些内容?你能够做到这一点对我有意义,但也许有办法可以做到这一点?结构的Typedef似乎是解决方案,它对于数组声明和赋值是否相同?
我感谢你们的帮助,我是Stackoverflow的新手,但到目前为止它对我来说是一个非常好的资源!
有人可以解释或提供对SpanQuery是什么的解释的链接,以及它的典型用例是什么?
该javadoc的非常简洁,并保持一提的"跨度"的概念,我不是很确定我得到.
此外,我对SpanScorer荧光笔以及它的作用感兴趣.
我发现使用C++(http://www.codeproject.com/KB/tips/resswitch.aspx)的好例子,但不是在C#中.
有人可以帮帮忙吗?
编辑:列出视频模式的确切功能是:
BOOL CVideoModes::GetAvailableVideoModes(CAvailableVideoModes& modes)
{
modes.SetSize(0, 5);
int i=0;
DEVMODE dm;
while (EnumDisplaySettings(NULL, i, &dm))
{
CVideoMode thismode(dm.dmBitsPerPel, dm.dmPelsWidth,
dm.dmPelsHeight, dm.dmDisplayFrequency);
modes.SetAtGrow(i, thismode);
++i;
}
modes.FreeExtra();
return (i>0);
}
Run Code Online (Sandbox Code Playgroud)
但是因为我无法理解C++代码.我在哪里可以找到"thismode"功能?