小编Eri*_*ikE的帖子

Javascript - 将多个NodeLists连接在一起

我原本想要一种优雅的方式来模拟IE或旧浏览器中函数Array.concat()结果的getElementsByTagName功能,因为它似乎concat不受支持.只是,当然它是 - 返回的对象不支持它的原因是因为它不是一个Array.哎呀!

getElementsByTagName实际上返回一个NodeList.那么真正的问题是:什么是获取文档中所有表单元素的单个列表(输入,选择,文本区域,按钮)以循环遍历它们的好方法?不需要数组......单个NodeList也是完美的.

请注意,我使用IE6,因为这是企业内部网(尽管IE8很快).

我想出的答案是:

  • 它变得更简单,并且可能更好地将代码放入一个单独的函数并使用不同的节点列表调用它三次,而不是担心将它们组合成一个的好方法.

  • 我最终转而使用MooTools(几个小时后阅读所有不同框架的比较).所以现在,获取我想要的项目数组非常简单.我建议使用这样的javascript框架,而不是人们试图找出最好的做事方式.当然我都是为了实际学习原始语言(这就是为什么我暂时停止使用框架),但它并不总是最快速的方式,这在业务中通常很重要通过语言提高编码人员的能力.

更新:差不多2年后我会使用jQuery并完成它!

javascript internet-explorer concat nodelist

18
推荐指数
2
解决办法
8902
查看次数

如何检测和绑定SQL表中行值之间的更改?

我有一个表记录随时间变化的值,类似于以下内容:

RecordId  Time   Name
========================
1         10     Running
2         18     Running
3         21     Running
4         29     Walking
5         33     Walking
6         57     Running
7         66     Running
Run Code Online (Sandbox Code Playgroud)

查询此表后,我需要一个类似于以下的结果:

FromTime  ToTime  Name
=========================
10        29      Running
29        57      Walking
57        NULL    Running
Run Code Online (Sandbox Code Playgroud)

我玩弄了一些集合函数(例如MIN,MAX等),PARTITION和CTE,但我似乎无法找到正确的解决方案.我希望SQL大师可以帮助我,或者至少指出我正确的方向.是否有一种相当直接的方式来查询(最好没有光标?)

t-sql sql-server sql-server-2008

18
推荐指数
2
解决办法
4506
查看次数

多对多关系:在列中使用关联表或分隔值?

更新2009.04.24

我的问题的主要问题不是开发人员的混淆以及该怎么做.

关键是要了解分隔值何时是正确的解决方案.

我已经看到商业产品数据库中使用的分隔数据(Ektron lol).

SQL Server甚至具有XML数据类型,因此可以用于与分隔字段相同的目的.

/结束更新

我正在设计的应用程序有一些多对多的关系.过去,我经常使用关联表在数据库中表示这些.这给开发人员带来了一些困惑.

这是一个示例DB结构:

Document
---------------
ID (PK)
Title
CategoryIDs (varchar(4000))


Category
------------
ID (PK)
Title
Run Code Online (Sandbox Code Playgroud)

文档和类别之间存在多对多关系.

在此实现中,Document.CategoryIDs是一个以管道分隔的大型CategoryID列表.

对我来说,这很糟糕,因为它需要在查询中使用子字符串匹配 - 这不能使用索引.我认为这将是缓慢的,不会扩展.

使用该模型,要获取类别的所有文档,您需要以下内容:

select * from documents where categoryids like '%|' + @targetCategoryId + '|%'
Run Code Online (Sandbox Code Playgroud)

我的解决方案是创建一个关联表,如下所示:

Document_Category
-------------------------------
DocumentID (PK)
CategoryID (PK)
Run Code Online (Sandbox Code Playgroud)

这让开发人员感到困惑.我缺少一些优雅的替代解决方案吗?

我假设Document中会有数千行.类别可能大约40行左右.主要关注的是查询性能.我是否过度设计了这个?

是否存在将数据列表存储在数据库列中而不是将数据推送到关联表的情况?

还要考虑我们可能需要在文档之间创建多对多关系.这将建议一个关联表Document_Document.这是首选设计还是将关联的文档ID存储在单个列中更好?

谢谢.

sql database architecture database-design many-to-many

16
推荐指数
9
解决办法
9376
查看次数

在SQL中生成所有组合

我需要@k在给定的一组大小中生成所有大小的组合@n.有人可以查看以下SQL并首先确定以下逻辑是否返回预期结果,第二个是否有更好的方法?

/*CREATE FUNCTION dbo.Factorial ( @x int ) 
RETURNS int 
AS
BEGIN
    DECLARE @value int

    IF @x <= 1
        SET @value = 1
    ELSE
        SET @value = @x * dbo.Factorial( @x - 1 )

    RETURN @value
END
GO*/
SET NOCOUNT ON;
DECLARE @k int = 5, @n int;
DECLARE @set table ( [value] varchar(24) );
DECLARE @com table ( [index] int );

INSERT @set VALUES ('1'),('2'),('3'),('4'),('5'),('6');

SELECT @n = COUNT(*) FROM @set;

DECLARE @combinations int = …
Run Code Online (Sandbox Code Playgroud)

sql t-sql combinatorics sql-server-2008

16
推荐指数
2
解决办法
2万
查看次数

S3:如果由其他用户创建,则用户无法访问自己的s3存储桶中的对象

外部用户可以使用我们的存储桶策略中的以下操作访问我们的s3存储桶:

"Action": [
            "s3:GetObjectAcl",
            "s3:GetObject",
            "s3:PutObjectAcl",
            "s3:ListMultipartUploadParts",
            "s3:PutObject"
        ]
Run Code Online (Sandbox Code Playgroud)

该用户生成了临时凭证,然后用于将文件上传到我们的存储桶中.

现在,我无法访问该文件.在s3用户界面中,如果我尝试下载文件,我会得到403.如果我尝试更改该对象的权限,我会看到消息:"抱歉!您无权查看该存储桶." 如果外部用户在使用临时凭证上载文件时设置了适当的标头(x-amz-acl bucket-owner-full-control),我可以正常访问该文件.我觉得很奇怪,即使我拥有该存储桶,外部用户也可以将文件放入我无法访问的文件中.

是否有可能我可以设置一些策略以便我可以访问该文件,或者这样我可以访问添加到我的存储桶的任何文件,无论它是如何添加的?谢谢!

permissions amazon-s3 amazon-web-services

16
推荐指数
3
解决办法
1万
查看次数

Java相当于C#Linq中的Where子句

我可以在C#中做到这一点:

int CheetahNumber = 77;
Animal Cheetah = Model.Animals
   .Where(e => e.AnimalNo.Equals(CheetahNumber))
   .FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

例如在Java中我有 ArrayList<Animal> Animals

我怎样才能查询这样的ArrayList?谢谢.

java lambda

15
推荐指数
1
解决办法
2万
查看次数

如何在Unicode中将字符串设置为大写/小写?

这主要是一个我非常好奇的理论问题.(我不是试图通过自己编写或任何东西来做到这一点,我不是在重新发明轮子.)

我的问题是大写/小写等价表如何适用于Unicode.

例如,如果我必须在ASCII中执行此操作,我会使用一个字符,如果它在[az]范围内,我会将A和a之间的差值相加.

如果它不属于该范围,我会为10个左右的重音字符加上一个小等价表加上ñ.(或者,我可以只有一个包含256个条目的完整等价数组,其中大多数与输入相同)

但是,我猜测有一种更好的方法来指定Unicode中的等价,假设有数十万个字符,理论上,可以添加一种新语言或一组字符(我期待你当发生这种情况时,不需要修补窗口).

Windows是否为每个字符都有一个巨大的硬编码等价表?或者这是如何实现的?

一个相关的问题是SQL Server如何实现基于Unicode的重音不敏感和不区分大小写的查询.它是否有一个内部表格,告诉它éëeÉÉ和Ë都等同于"e"?

在比较字符串时,这听起来不是很快.

它如何快速访问索引?它是否已将索引值转换为其"基本"字符,对应于该字段的整理?

有谁知道这些东西的内部?

谢谢!

theory string unicode low-level uppercase

14
推荐指数
2
解决办法
1万
查看次数

在URL路由中强制页面的自定义404页面

在IIS7.5上编码平台ASP.NET 4.0 WebForms

如果我请求一个blahblah.aspx不存在的页面,我会导航到我的自定义错误页面,找不到页面异常.我已经实现了URL路由,因此我省略了所有路由的.aspx扩展名.

现在,如果我键入 www.mysite.com/blahblah(这是一个没有扩展名的网址)而不是转到我的自定义错误页面,它会被重定向到我的IIS 404错误页面.

我应该怎么做才能使我的自定义错误页面出现在我的网站而不是IIS错误页面?

asp.net iis-7.5

14
推荐指数
2
解决办法
2万
查看次数

在android中实现一对一和分组聊天

我正在开发一个Android应用程序,我必须在其中实现聊天消息.我想一对一的聊天群聊.

但我不知道如何开始.请帮帮我这个东西.任何帮助将不胜感激.

android chat

14
推荐指数
1
解决办法
2万
查看次数

在PowerShell中获取HTTP请求并容忍500服务器错误

在Powershell v3.0中,我想从HTTP GET返回响应代码,例如200 OK500 Internal Server Error.(这是为了进行黑客部署,对已部署的站点进行快速预热并查看它是否有效,这是一种小型验收测试.状态代码确实是我想要的.)

违背我的意愿,HttpWebRequest.GetResponse收到错误时会抛出错误500 Internal Server Error.这很烦人,因为在我的用例中它对我来说并不是一个错误.无论如何,我认为我可以捕获异常并仍然剥离底层响应代码,但我遇到了麻烦.

这是一些几乎可以工作的代码:

function WebResponseStatusCode (
   [Parameter(Mandatory=$true)][string] $url
) {
    $req = [system.Net.HttpWebRequest]::Create($url)
    try {
        $res = $req.GetResponse();
        $statuscode = $res.statuscode;
    }
    catch [System.Net.WebException] {
        #the outer error is a System.Management.Automation.ErrorRecord
        Write-Host "error!"
        return = $_.Response.statuscode; #nope
    }
    finally {
        if (!($res -eq $null)) {
           $res.Close();
        }
    }
   return $statuscode;
}
Run Code Online (Sandbox Code Playgroud)

问题当然是$_没有Response财产.也不是$_.InnerException,即使是演员:

return [System.Net.WebException]($_.InnerException)
Run Code Online (Sandbox Code Playgroud)

我玩过$_ | …

powershell http-request

14
推荐指数
1
解决办法
9976
查看次数