我有:
$(someTextInputField).keypress(function() {
alert($(this).val());
});
Run Code Online (Sandbox Code Playgroud)
现在警报总是在按键前返回值(例如,字段为空,我输入'a',警报给我''.然后我输入'b',警报给我'a'......).但是我想要按键后的价值 - 我怎么能这样做?
背景:我想在文本字段包含至少一个字符时立即启用按钮.所以我在每个按键事件上运行此测试,但使用返回的val()结果总是落后一步.使用change()事件对我来说不是一个选项,因为在您离开文本框之前按钮被禁用.如果有更好的方法,我很高兴听到它!
我需要能够在DB中存储大量订购商品.到目前为止,这是直截了当的:
ID Position OtherFields
1 45 ...
2 4736 ...
3 514 ...
...
Run Code Online (Sandbox Code Playgroud)
在查询中,我总是需要获得一些项目(基于OtherFields过滤),但顺序正确.也很容易,在位置上放置一个索引并使用"按位置排序".
现在问题是:项目经常更改其位置,而不仅仅是1或2.如果ID 2将位置从4736更改为2000,我需要更新其位置和旧位置2000和4735之间所有元素的位置,添加1在每一行.并且不仅每个事务更改一个ID而且还有一些ID,并且在短时间内可以有许多事务.
我认为处理更新问题最优雅的方法是使用链接列表而不是位置列,我可以通过将其前任链接到其后继者,然后通过在其之间链接将其插入其他位置,从而将ID 2从其旧位置移除新的前任和继任者.这将是每个职位变更的持续和少量更新,它也是我处理变更的首选方式(在我的案例中是Java).然而,这引起了N + 1问题查询正确的顺序-甚至几元,我不得不通过整个名单在最坏的情况下找出正确的顺序.
所以我的问题是:您建议在必要的更新和查询性能之间取得良好的平衡?
到目前为止,我看到两个有希望的方
是否存在DBMS(理想情况下是OpenSource),它不仅可以处理链接列表,而且还可以处理具有良好性能的链接列表,例如通过使用链接元素的内部索引?
也许只有一个BLOB可以选择存储整个链接列表!这样的链接列表有多大/它在数据库中使用了多少内存,并且当获取时让我们说1.000.000条目?我正在使用Java + Hibernate以防万一.我想在获取BLOB后处理内存中的整个列表应该非常快!
但当然也欢迎其他想法!
这是我想做的事情:
class A {
String string
static constraints = {
string(maxSize:100)
}
}
class B extends A {
static constraints = {
string(url:true)
}
}
Run Code Online (Sandbox Code Playgroud)
所以A类应该有一些约束,B应该对同一个属性有相同的附加约束.
我无法让它工作,我可以想象它会与Table-per-Hierarchy概念发生冲突.
所以我尝试通过引入一个带有类B的约束的Command对象来解决这个问题,这些约束可以在类B的构造函数中进行验证.但似乎Command对象只能在控制器中使用(grails一直说没有.validate ()方法).
所以我的问题是:使用grails约束解决这个问题最优雅的方法是什么(不是手动重新实现验证)?可能...
编辑:我可以定义子类中的所有约束,重复父类的约束,或者根本不在父类中有约束.但是该解决方案应该适用于同一父类的多个子类(具有不同约束).
假设我使用以下参数启动我的Java VM:
-Xms1024m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m
Run Code Online (Sandbox Code Playgroud)
512m PermGen空间是否会添加到1024m内存中,还是它们的一部分?或者换句话说,我的总内存消耗是1536米还是1024米?在后一种情况下,这是否意味着应用程序只有512m用于PermGen空间以外的目的?
如果这个问题显示对PermGen空间缺乏了解,请告诉我.;-)
我想运行模拟用户在同一时间Grails应用程序修改某些数据进行测试.
是否有任何插件/工具/机制可以用来有效地完成这项工作?它们不一定是特定的grails.应该可以并行触发多个动作.
我更喜欢在功能级别上运行测试(到目前为止,我正在使用Selenium进行其他测试)以从用户角度查看结果.当然,这除了可以集成测试完成,如果你会推荐上运行集成度并发修改测试以及.
testing grails functional-testing optimistic-locking concurrentmodification
我想在Grails中列出管理控制器中的所有当前会话.从控制器获取引用集合的最简单方法是什么?
我正在使用Rubberduck对我的VBA实现进行单元测试.当Assert.IsTrue
在一个TestMethod中使用相同类型的多个Assert(例如)时,测试结果并没有告诉我哪个失败,据我所见.
有没有办法找出哪个Assert失败或者这是在Rubberduck未来路线图上?当然我可以添加自己的信息,例如Debug.Print
在每个Assert之前使用,但这会导致很多额外的代码.
我知道在一次测试中对于多个Assert有不同的看法,但我选择在我的情况下使用它们,这个讨论已经在其他地方讨论过了 .
我想让我的Bootstrap依赖于grails DataSource.groovy文件中的createdb属性.当设置为"创建"时,如果设置为"更新",则应生成新的主数据,无.
我在Grails API中找到了GrailsDataSource,它也有一个方法getCreateDb,但我不知道如何从Bootstrap中为各自的Bootstrap环境访问它.
在grails中,我可以实现这样的N:1关系:
class Parent { hasMany = [children:Child] }
class Child { belongsTo = [parent:Parent] }
Run Code Online (Sandbox Code Playgroud)
现在(如果总是正确使用addTo和removeFrom)我可以通过parent.children获取Parent的子项.
但我也可以在没有hasMany的情况下做到这一点:
class Parent { }
class Child { belongsTo = [parent:Parent] }
Run Code Online (Sandbox Code Playgroud)
然后我必须使用Child.findAllByParent(parent)来获取所有孩子.
我的问题:如果能以第二种方式查询父母的孩子,我有什么理由可以使用hasMany吗?
我想它有时更容易(也许更快,如果与父母一起渴望获取?)只是引用parent.children,但另一方面,当有几个孩子时,这个List会变得相当长.而我不喜欢的事情还有很多,你总是需要注意addTo或removeFrom,或者在添加一个带有Parent的新Child之后清除会话,以便grails自动执行此操作...
答案是你应该简单地使用hasMany如果有很少的孩子并且如果有很多孩子而不使用它(出于性能原因),或者还有更多的孩子?
我正在将Rubberduck(版本2.0.13)与本地git存储库结合使用,以便对我的VBA项目进行版本控制.
目前,每次Manage -> Open Existing Repository
在Source Control Window中启动Rubberduck时,我都需要重新打开存储库.
有没有更好的方法来处理本地存储库,例如,Rubberduck可以保存此设置吗?我不想使用在线存储库,所以我认为"Unsynced commits"选项卡对我来说无关紧要.
grails ×5
rubberduck ×2
vba ×2
vbe ×2
assertions ×1
constraints ×1
controller ×1
datasource ×1
events ×1
forms ×1
git ×1
hibernate ×1
httpsession ×1
indexing ×1
inheritance ×1
java ×1
javascript ×1
jquery ×1
linked-list ×1
memory ×1
orm ×1
permgen ×1
recursion ×1
session ×1
sql ×1
subclass ×1
testing ×1
unit-testing ×1