问题列表 - 第4664页

数据库表中的键/值对

我需要在我的数据库中设计一个Key/value表,我正在寻找最佳方法的指导.基本上,我需要能够将值与一组动态命名属性相关联,并将它们应用于外部键.

我需要支持的操作是:

  • 将键/值对应用于一组项目
  • 枚举所有当前活动的密钥
  • 确定具有给定键值的所有项目
  • 确定与给定键关联的值与某些条件匹配的所有项.

似乎最简单的方法是定义一个表:

CREATE TABLE KeyValue (
  id    int,
  Key   varchar...,
  Value varchar...
);
Run Code Online (Sandbox Code Playgroud)

似乎我可能会在Key列中复制大量数据,因为我可能会为大量文档定义任何给定的键.用一个整数查找替换Key varchar到另一个表似乎缓解了这个问题(并且使枚举所有活动密钥的效率明显提高),但是我仍然坚持维护查找表的问题(随时随地插入它)定义属性,并在键/值被清除时可能删除条目.

最好的方法是什么?

sql t-sql sql-server entity-attribute-value

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

RegEx:HTML白名单

由于对正则表达式的弱点,我一直在与他们合作改进.我一直试图做的一个概念是删除除允许列表之外的所有HTML元素.

我设法做了相反的事情 - 删除指定的元素列表:

<\/?(strong|em|a)[^>]*>
Run Code Online (Sandbox Code Playgroud)

但是我想要相反,并删除每个元素.

regex

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

mod_rewrite正则表达式仅在某个字符串不存在时才匹配

通过我的服务器日志看,我看到了很多我的网站上的网页请求favicon.ico,favicon.jpg,favicon.png,等在各种不同的目录中.

我没有浏览每个页面以试图找出每个不正确的请求来自何处,而是编写了一些apache重定向规则来更改任何包含"favicon"重定向到的URL的请求/favicon.ico

我最初的天真尝试是这样的:

RewriteRule favicon /favicon.ico [R=301,L]
Run Code Online (Sandbox Code Playgroud)

但这意味着,当您实际请求时,/favicon.ico它会将您发送到无限重定向循环.

基本上我认为我需要的是具有这种效果的正则表达式:

| Request                | Response     |
|------------------------|--------------|
| favicon.png            | /favicon.ico |
| directory/favicon.png  | /favicon.ico |
| directory/favicon.ico  | /favicon.ico |
| favicon.ico            | <no match>   |
Run Code Online (Sandbox Code Playgroud)

regex apache mod-rewrite

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

在XML标记中表示空格和制表符

如何在XML标记中表示空格和制表符.是否有任何特殊字符可供他们代表.

xml tags

45
推荐指数
4
解决办法
15万
查看次数

分支或乘法更有效吗?

我正在尝试优化一个小的,高度使用的函数,该函数使用无符号short int中的高位来指示要一起求和的数组值.起初我使用下面显示的明显方法.请注意,循环展开未明确显示,因为它应由编译器完成.

int total = 0;
for(unsigned short mask = 0x0001, j = 0; mask != 0; mask <<= 1, j++){
    if (i & mask){
        total += value[j];
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,后来我认为删除分支以帮助CPU流水线操作可能会更好,并提出以下建议.

int total = 0;
for(unsigned short mask = 0x0001, j = 0; mask != 0; mask <<= 1, j++){
    total += ((i & mask) != 0) * value[j];
}
Run Code Online (Sandbox Code Playgroud)

请注意,由于(i&mask)不会产生布尔答案,因此与0的比较会强制结果为1或0.虽然第二种方法从代码的这一部分中删除了if语句,但第二种解决方案需要除了等式的其余部分之外,在每次迭代时运行0或1的乘法.

哪个代码运行得更快?

c c++ optimization branch if-statement

7
推荐指数
3
解决办法
3845
查看次数

使用StructureMap在模型 - 视图 - 展示器模式中进行Presenter注入

我已经实现了我自己的模型视图演示者模式的副本(在Web客户端软件工厂的静脉中),所以我可以利用我自己的DI框架而不是绑定到WCSF的ObjectBuilder,我遇到了很多问题.我想出了几个方法来做到这一点,但没有一个特别让我开心.我想知道是否有其他人有其他想法.

解决方案#1a

使用HttpModule拦截context.PreRequestHandlerExecute来调用ObjectFactory.BuildUp(HttpContext.Current.Handler)

public partial class _Default : Page, IEmployeeView
{
    private EmployeePresenter _presenter;

    private EmployeePresenter Presenter
    {
        set
        {
            _presenter = value;
            _presenter.View = this;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

解决方案#1b

在页面加载中调用buildup而不是使用HttpModule

public partial class _Default : Page, IEmployeeView
{
    private EmployeePresenter _presenter;

    private EmployeePresenter Presenter
    {
        set
        {
            _presenter = value;
            _presenter.View = this;
        }
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        ObjectFactory.BuildUp(this);
    }
}
Run Code Online (Sandbox Code Playgroud)

解决方案#1c

如果需要,通过Property访问presenter允许Getter to BuildUp.

public partial class _Default : Page, IEmployeeView
{
    private EmployeePresenter …
Run Code Online (Sandbox Code Playgroud)

c# structuremap mvp dependency-injection

6
推荐指数
1
解决办法
3319
查看次数

元编程究竟是什么?

我正在阅读关于Java平台ployglot编程的 TheServerSide上的一篇文章.文章中的一些评论将元编程称为生成代码的能力(可能即时).

元编程能否动态生成代码,或者是在运行时将方法和属性注入现有对象的能力(就像Python,Ruby和Groovy等动态语言允许的那样).

metaprogramming

110
推荐指数
7
解决办法
5万
查看次数

有哪些方法可以找到Web应用程序中的瓶颈?

如何对Web应用程序的性能进行基准测试?

有没有办法找出Web应用程序中的瓶颈?

编辑:我不是要问任何前端调整,如图像,CSS等.我想知道的是如何配置应用程序的后端,以便我知道要修改哪些方法/查询以提高性能.

php asp.net performance web-applications

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

谷歌索引页面是否有隐藏的div?

我开始重新设计和开发一个包含大量文本的网站,我正在考虑如何在网站上组织信息,使其看起来更干净.在网站的某些部分,我想实现一个jquery切换效果,其中一些内容放在隐藏的div中,并且内容将根据用户的onclick事件显示或隐藏.

这种组织内容的技术是否会极大地损害网站的搜索引擎优化?谷歌什么时候开始将其视为垃圾邮件并将网站放在一起索引?

//更新 - 找到了一些答案.

我想澄清一下,作为对下面某些答案的回答,隐藏div的目的是在为组织目的显示/隐藏内容之间切换,其中任何隐藏文本最终将显示给用户.

然而,经过大量挖掘后,来自谷歌的Matt Cutts几乎可以说,只要你没有填充隐藏文字的关键词并试图欺骗googlebot滥用系统,你通常应该没问题.他还给出了一个关键字填充错误的有趣例子.

seo google-search

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

如何在PHP中从行X到行Y打开文件?

我在PHP文档中看到的最接近的是fread()一个给定的长度,但是没有指定从哪一行开始.还有其他建议吗?

php fopen

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