数据库/ SQL新手在这里.
我有一个带有一个列的表,例如"EmployeeID".我想要一个查询,对于每个不同的employeeID,它将返回具有该ID作为其ID的行数.我希望我很清楚我正在尝试做什么,有人会知道如何提供帮助!
我认为这不重要,但为了以防万一,我正在使用MS SQL Server 2008.
快问,我正在使用Visual Studio的测试框架进行单元测试.只是想知道使用构造函数进行初始化工作与使用[TestInitialize()]属性的方法有什么区别?
一位同事刚从MSDN安装了Visual-Studio-2010 Premium.安装表现得很好,但当他点击"文件"菜单时,他只有"新文件".在我的安装中,我看到一个"新建"菜单,其子菜单包含项目,文件,团队项目.
任何要检查的东西的想法或如何修复他的安装.我觉得他已经修好了.
我有一个Django应用程序,它使用MySQL和InnoDB引擎进行存储.出于某种原因,即使在查询完成之后,Django有时也会保留锁定.(我可以用Innotop看到它们).
我在代码中执行的唯一事务处理是我为某些save()方法指定了django.db.transaction.commit_on_success,我正在使用多表继承.
如果我重新启动Apache服务器,锁就会消失.
有没有人见过这样的东西?我可以用一些会引起这种情况的反模式吗?
我们的Java应用程序有大约100个映射到数据库(SQL Server或MySQL)的类.我们使用Hibernate作为我们的ORM(使用XML映射文件).
我们FOREIGN KEY在数据库模式中指定约束.我们的大多数FOREIGN KEY约束也都指明了ON DELETE CASCADE.
我们最近开始启用Hibernate二级缓存(针对流行的实体和集合)来缓解一些性能问题.
自从我们启用了二级缓存后,性能得到了提升.但是我们也开始遇到ObjectNotFoundExceptions.
似乎发生了ObjectNotFoundExceptions,因为数据库正在删除Hibernate 下面的表行.例如,当我们Parent使用Hibernate 删除a 时,数据库模式将ON DELETE CASCADE发送给任何Child实体.这显然没有Hibernates知识,所以它没有机会更新二级缓存(并删除任何已删除的Child实体).
我们相信这个问题的解决方案是ON DELETE CASCADE从我们的数据库模式中删除(但保留FOREIGN KEYs).相反,我们需要配置Hibernate来删除Child正常删除SQL的依赖关系,这也将使Hibernate更新二级缓存.一些有限的测试表明这种方法似乎有效.
我想得到一些社区反馈.我们的问题是否有其他(更好的?)解决方案?其他人如何处理这种情况?通常,在使用ON DELETE CASCADEHibernate的数据库模式中应该考虑哪些权衡?
谢谢.
这是我用于表单验证的脚本:
<script language="JavaScript">
function formCheck(formobj){
var fieldRequired = Array("Name", "Email", "Phone", "comments");
var fieldDescription = Array("Name", "Email", "Phone", "Comments");
var alertMsg = "Please complete the following fields:\n";
var l_Msg = alertMsg.length;
for (var i = 0; i < fieldRequired.length; i++){
var obj = formobj.elements[fieldRequired[i]];
if (obj){
switch(obj.type){
case "select-one":
if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
case "select-multiple":
if (obj.selectedIndex == -1){
alertMsg += " - " + …Run Code Online (Sandbox Code Playgroud) 令人惊讶的是,网上关于使用Bouncy Castle的轻量级API的信息非常少.环顾四周后,我能够把一个基本的例子放在一起:
RSAKeyPairGenerator generator = new RSAKeyPairGenerator();
generator.init(new RSAKeyGenerationParameters
(
new BigInteger("10001", 16),//publicExponent
SecureRandom.getInstance("SHA1PRNG"),//prng
1024,//strength
80//certainty
));
AsymmetricCipherKeyPair keyPair = generator.generateKeyPair();
Run Code Online (Sandbox Code Playgroud)
我有RSA的一个基本的了解,并且会在幕后数学,让我明白了什么publicExponent和strength是.我认为只要使用适当的填充,我publicExponent指的是互质phi(pq)并且从我收集的它可以是小的(如3).但是,我不知道是certainty指什么(某些地方提到它可能指的是一个百分比,但我想确定).使用SecureRandom是不言自明的.RSAKeyGenerationParameters的文档完全没有价值(毫不奇怪).我唯一的猜测是它与生成的键的准确性有关,但我想再次确定.所以我的问题是什么是适当的价值certainty和publicExponent?
PS请不要回复"这取决于具体情况 - 您希望信息的安全性".假设最高程度的安全性(即4096位RSA密钥或更高)是非常安全的,除非另有说明......我还希望链接到能够提供使用Bouncy Castle轻量级API的良好示例的链接(我不是所有对JCA实施感兴趣或任何与之相关的例子).
我们正在使用其他人提供的图书馆.最近由于该库的变化,我们的项目有500个错误.迁移到新库时,我们发现只有15个API失败,500个错误重复(这15个错误的倍数出现,因为同一次调用被多次使用).
因此,对于迁移,我建议创建另一个内部静态包装类,它包装那些库API调用.因为如果要再次更改库,我们将需要更少的代码来进行更改,因此将来代码变得更容易维护.而且通过包装调用,我们可以避免人为错误(或非预期的(重载的)API使用).
但是这里的一些人,没有看到另一个包装类的重点,他们认为这是完全没必要的.他们争论的唯一的一点是,由于大多数API的变化只是一个衬里,我们可以使用CTRL + H(查找和替换)经常改变它们.而且他们也说,我建议这种额外的抽象,带走了可读性(因为它背后隐藏的另一种方法的名称(即使有意义的)实际API调用)的编码器/读写器.
什么是最好的方法?我的建议错了吗?
我已经为COM互操作创建了一个.NET程序集,它在我的开发机器上运行良好.我目前正试图弄清楚如何使用Visual Studio的"安装项目"将DLL部署到目标机器.如何使用VIsual Studio安装项目执行以下操作:
regasm).
gacutil)
任何其他建议或关注将不胜感激.
java ×2
.net ×1
bit-fields ×1
bouncycastle ×1
c ×1
django ×1
encryption ×1
foreign-keys ×1
gac ×1
hibernate ×1
innodb ×1
interop ×1
javascript ×1
mysql ×1
oop ×1
regasm ×1
rsa ×1
security ×1
sql ×1
sql-server ×1
unions ×1
unit-testing ×1
validation ×1