问题列表 - 第31980页

如何结合SQLAlchemy和EAV DB模式的优点?

我最近一直在与Pylons做一些工作,非常像SQLAlchemy数据库交互模型.我的网站有一部分,我认为可以从EAV架构中受益.

使用它作为我的表示例:

id | userid | type   | value
---+--------+--------|------------
1  |  1     |  phone | 111 111 111
---+--------+--------|------------
2  |  1     |  age   | 40
Run Code Online (Sandbox Code Playgroud)

我可以手动运行以下查询来提取和更新数据:

SELECT value FROM table WHERE userid=1 AND type='phone'
UPDATE table SET value=41 WHERE userid=1 AND type='age'
Run Code Online (Sandbox Code Playgroud)

这很容易并且有效...但是手动构建查询不是我的首选方法.我想使用SQLAlchemy来创建我的表模型并让它完成所有的工作.

如果我使用标准架构,每个架构都有type自己的列,我可以执行以下操作:

class People(Base):

   __tablename__ = 'people'

   id      = Column(Integer, primary_key=True)
   userid  = Column(Integer, ForeignKey('users.id'))
   phone   = Column(Unicode(40))
   age     = Column(Integer)
Run Code Online (Sandbox Code Playgroud)

然后我可以使用以下方法提取数据:

data = Session.query(People).filter_by(id=1).first()
print data.age
Run Code Online (Sandbox Code Playgroud)

我希望能够为我的EAV架构做同样的事情.所以基本上,我需要一种方法来扩展SQLAlchemy并告诉它,当我调用data.age它实际上意味着,我想要SELECT value FROM table …

python pylons sqlalchemy entity-attribute-value

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

SRC和HREF之间的区别

SRCHREF属性用于包括一些外部实体,如图像,CSS文件,HTML文件,其他任何网页或JavaScript文件.

有没有明确区分SRCHREF?何时何地使用SRCHREF?我认为它们不能互换使用.

我将在下面给出几个使用这些属性的示例:

  • 引用CSS文件:href="cssfile.css"在链接标记内.
  • 引用JS文件:src="myscript.js"在脚本标记内.
  • 引用图像文件:src="mypic.jpg"在图像标记内.
  • 引用另一个网页:href="http://www.webpage.com"在锚标记内.

html

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

从sh或bash脚本运行/调用windows批处理脚本

我有一个sh/bash脚本需要调用带参数的批处理文件(参数是文件名,并以DOS/Windows格式给出).

基本上我有: script.sh

#!/bin/sh
declare var1=$1
declare var2=$2
dosomething var1 var2
...
<invoke batch script> var1 var2
...
dosomethingelse
Run Code Online (Sandbox Code Playgroud)

我正在使用GNU bash, version 3.1.0(3)-release (i686-pc-msys)shell作为shellmsysgit

问题是,当我从脚本运行时: $COMSPEC /c batchfile param1 param2 要么我得到一个看似bash的"空提示",但是控制台上没有显示命令结果,要么cmd.exe启动,要么不执行脚本.

我试过引用这些参数来像这样猛击:

$COMSPEC /c \"batchfile param1 param2\"
$COMSPEC /c \"\"batchfile param1 param2\"\"
$COMSPEC /c \"\"batchfile \"param1\" \"param2\"\"\"
Run Code Online (Sandbox Code Playgroud)

但我没有得到任何结果.

bash cmd batch-file msysgit

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

跟踪多步骤任务的进度

我正在开发一个向客户端公开Web服务的简单服务器.某些请求可能需要很长时间才能完成,并且在逻辑上分为多个步骤.对于此类请求,需要在执行期间报告进度.此外,可以在前一个请求完成之前启动新请求,并且要求两个请求同时执行(除非某些特定于系统的限制).

我想让服务器将TaskId返回给它的客户端,并让客户端使用TaskId跟踪请求的进度.我认为这是一个很好的方法,我留下了如何管理任务的问题.

从来没有使用过TPL,我认为这是解决这个问题的好方法.实际上,它允许我同时运行多个任务而无需手动管理线程.我甚至可以使用ContinueWith相对容易地创建多步骤任务.

但是,我无法想出一个跟踪任务进度的好方法.我意识到,当我的请求包含一个"步骤"时,该步骤必须合作报告其状态.这是我现在宁愿避免的.但是,当请求包含多个步骤时,我想知道当前正在执行哪个步骤并相应地报告进度.我能想到的唯一方法是非常无聊:

Task<int> firstTask = new Task( () => { DoFirstStep(); return 3.14; } );
firstTask.
ContinueWith<int>( task => { UpdateProgress("50%"); return task.Result; } ).
ContinueWith<string>( task => { DoSecondStep(task.Result); return "blah"; }.
ContinueWith<string>( task => { UpdateProgress("100%"); return task.Result; } ).
Run Code Online (Sandbox Code Playgroud)

即使这不完美,因为我希望Task存储自己的进度,而不是让UpdateProgress更新一些已知的位置.此外,在添加新步骤时必须更改大量位置的明显缺点(因为现在进度为33%,66%,100%而不是50%,100%).

有没有人有一个好的解决方案?

谢谢!

c# task-parallel-library c#-4.0

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

C#将包含浮点的字符串转换为整数

获取可以为空或包含"1.2"的字符串的最佳方法是什么,并将其转换为整数?int.TryParse当然,失败了,我不想使用float.TryParse然后转换为int.

c# floating-point int parsing

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

jQuery如何检索ap标签中的字符数?

我的问题很简单:我想知道'p'标记内有多少个字符,如果数量超过100,则会在悬停时触发一个事件。我试图像这样检索字符数:

var charLength = $('.myPar').val().length;
<p class="myPar">this is the content of the paragraph</p>
Run Code Online (Sandbox Code Playgroud)

它始终返回零作为值,并且似乎仅适用于文本区域或输入标签。任何的想法?

提前致谢!

毛罗

jquery character

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

如果适当的话,将C#字段设为只读是否有任何好处?

我正在使用ReSharper开发一个项目.有时它会提示我可以只读取一个字段.这有什么表现或其他好处吗?我认为它的好处是相当低级的,或者任何好处都是纯粹的语义?

谢谢

在下面的示例中,该字段最初只是私有,但resharper提示将其设置为只读.我理解为什么它可以设置为只读,即.它是在构造函数中设置而不是再次更改,但只是想知道这是否有任何好处......

public class MarketsController : Controller
{
    private readonly IMarketsRepository marketsRepository;

    public AnalysisController(IMarketsRepository marketsRepository)
    {                
        this.marketsRepository = marketsRepository;
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑 查看MSIL的最简单方法是什么?

c# resharper cil readonly

23
推荐指数
2
解决办法
3127
查看次数

列出未知枚举的值

假设我们有一个Class对象.说出来cls.

现在cls.isEnum()回来了true

真高兴!!! 我可以把价值列在我面前吗?(一个糖,没有牛奶)

java enums class

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

工厂模式会解决我的问题吗?

我需要创建一些实现给定接口的对象,其中创建的具体实现的类型基于Enum值.

当不同的具体实现在运行时需要不同的参数时,我遇到了麻烦.

这个例子(C#)很好:

public enum ProductCategory
{
    Modem,
    Keyboard,
    Monitor
}

public class SerialNumberValidatorFactory()
{
    public ISerialNumberValidator CreateValidator(ProductCategory productCategory)
    {
        switch (productCategory)
        {
            case ProductCategory.Modem:
                return new ModemSerialNumberValidator();
            case ProductCategory.Keyboard:
                return new KeyboardSerialNumberValidator();
            case ProductCategory.Monitor:
                return new MonitorSerialNumberValidator();
            default:
                throw new ArgumentException("productType", string.Format("Product category not supported for serial number validation: {0}", productCategory))
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果具体实现具有不同的构造函数参数会发生什么?我无法将所有值传递给SerialNumberValidatorFactory.CreateValidator()方法,所以我该如何处理?

我听说这种Abstract Factory模式应该可以解决这个问题,但我不确定如何正确实现它.

c# design-patterns

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

为什么这个reg exp总是成功的数字?

我有一个正则表达式来搜索特殊字符.

当我搜索数字时,例如3,当我期望得到-1时,我总是得到0.

'3'.search(/[!\"£\$%\^&\*\(\)-_\+=\[\]\{\};:@\'#\\|<,\.>\/\?]/)
Run Code Online (Sandbox Code Playgroud)

知道为什么会这样吗?

javascript regex special-characters

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