问题列表 - 第38107页

我应该使用EAV模型吗?

我正在为电子商务应用程序设计我的数据库/域,而我很难弄清楚如何存储产品.

该网站将出售各种产品,钢笔,丁字裤,纹身,雨伞,应有尽有.这些产品中的每一个都会分享一些常见的属性,高度,宽度,长度,重量等,但有些产品有特殊数据.例如,笔具有不同的墨水颜色,并且提示/盖子和小册子可以具有不同类型的折叠.到目前为止,我已经考虑了20多个额外属性,但这些属性可能仅适用于网站上1%的产品.

所以我想知道是否适合实施EAV模型来处理额外的数据.请记住,当客户在前端查看网站时,会有一个过滤侧边栏,如eBay和carsales.com.au.(所以记住会有一些相当多的查询)

我认为实现类表继承是不切实际的,因为系统需要保持灵活性.这是因为,在未来的轨道上,我们可能会在未来使用新类型的产品时拥有更多属性.

我考虑的另一件事是使用NoSQL数据库(可能是MongoDB)但是我对这些类型的数据库没什么经验,它甚至可以解决我的问题吗?

审查选项:

  1. 单个产品实体,包含大量列
  2. 单独的属性实体(EAV)
  3. 切换到无模式持久性

我正在构建一个带有属性实体的原型,以查看它的灵活性,测试性能以及查询失控的方式.

编辑:我当然对任何其他解决方案持开放态度.

php database-design magento entity-attribute-value doctrine-orm

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

current_date()+ 1返回无效日期

选择CURRENT_DATE()+ 1将于10月31日在MySQL中返回20101032.我怎样才能解决这个问题?预计日期是20101101.谢谢.

mysql sql

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

将字符串写入超过4095个字符的文件

我正在构建一个分布式消息传递系统,供用户在不同的Linux终端上相互发送消息.我正在寻找我的问题的场景是当我尝试将字符串写入超过4095字节/字符的文本文件时.该字符串将从用户输入生成.我已经读过最大字符串大小的ISO C99标准是4095字节/字符.我应该限制用户只输入小于4095字节的字符串吗?我知道简单的聊天消息通常很短,但我关注的场景如下.

用户尝试从某处复制并粘贴摘录,然后将其发送给其他用户.如果消息长于4095字节,则会在第4095个字符后截断字符.因此,用户只会收到第一部分.

我不确定这一点,但我想知道如果字符串长度超过4095个字符,我应该采取增加堆栈大小的路径,或者是否有另一种方式通过以某种方式将字符串分开,因为我接受它然后写逐个文件的多个字符串.

c++ string c99

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

在普通的lisp中读取文件

我如何阅读以下文件,其中包含带有标题和空格或制表符分隔的数据列,在常见的lisp中.

我还想将数据放入包含行的列表列表中.

另外,如何在常见的lisp中获得日期差异

ID YR MO DA YrM MoM DaM
100 2010 2 20 2010 8 30
110 2010 4 30 2010 9 12
112 2010 8 20 2010 10 20

file common-lisp

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

Scala递归闭包编译错误

我正在尝试实现一个memoized Fibonacci数字函数,我遇到了一个我无法解决的编译错误.以下代码是我到目前为止的代码.

var fibs = Map.empty[Int, Int]
fibs += 0 -> 1
fibs += 1 -> 1
fibs += 2 -> 2
val fib = (n: Int) => {
  if (fibs.contains(n)) return fibs.apply(n)
  else{
    // Error here
    val result = fib(n - 1) + fib(n - 2)
    fibs+= n -> result
    return result
  }
}
println(fib(100))
Run Code Online (Sandbox Code Playgroud)

错误是:

递归fib需求类型

我已经尝试在各个地方为闭包输入一个返回类型,但我似乎无法让它工作.

声明闭包会val fib = (n: Int): Int => {产生不同的编译错误.

你能帮我解决这个编译错误吗?

recursion closures scala

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

将数组设置为一个值

是否有一种更简单的方法C将数组设置为一个值而不是使用for循环并逐个设置每个值?

c

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

基于对象字段对ArrayList进行排序

可能重复:
对联系人的ArrayList进行排序

我正在存储DataNode对象ArrayList.该DataNode班有一个名为整型字段degree.我想以DataNode递增的顺序从nodeList 检索对象degree.我该怎么做.

List<DataNode> nodeList = new ArrayList<DataNode>();
Run Code Online (Sandbox Code Playgroud)

java

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

在我的python项目中使用自定义包

我现在正在python中做一些项目,我正在试图弄清楚如何使用我自己版本的现有开源软件包.

例如,我正在使用tipcy和zc.buildout,我已经添加了'paypal'包.不幸的是它没有我需要的功能,所以我在github上分叉并添加了该功能.我将向原始软件包维护者发送一个pull请求,但是他们是否接受我的添加,我想使用我的软件包版本并保持zc.buildout管理我的依赖项的便利性.我该怎么做呢?

我是否将我自己的库上传到PyPI并用我的名字加上前缀?这不会不必要地污染指数吗?

或者我应该制作和维护自己的索引和包装回购?我在哪里可以找到这种格式?是否违反OSS许可条款以使用相同名称的修改包托管我自己的仓库?(我宁愿不用新的命名空间修改项目中的每个文件)

我确定这个问题出现了很多,而不仅仅是python.我可以看到Maven和SBT也发生这种情况......当人们想要使用他们自己版本的流行软件包时,他们通常会做些什么?

python buildout pypi tipfy

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

C#字符串"相似"对比测试

是否有任何库可以轻松比较C#中2个字符串的"相似性"?我在想的是如果你有弦乐,

"This is a test" // 100%
"THIS IS A TEST" // 95%
"    This is a test" // 98%
"This is" // 60%
"Foobar" // 0%
"this test is a" // 70%
Run Code Online (Sandbox Code Playgroud)

与基本字符串相比,每个人都会获得一个分数.

c# string testing

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

将参数传递给比较函数?

在向量上使用STL排序算法时,我想传入我自己的比较函数,该函数也需要一个参数.

例如,理想情况下我想做一个本地函数声明,如:

int main() {
    vector<int> v(100);
    // initialize v with some random values

    int paramA = 4;

    bool comp(int i, int j) {
        // logic uses paramA in some way...
    }

    sort(v.begin(), v.end(), comp);
}
Run Code Online (Sandbox Code Playgroud)

但是,编译器抱怨这一点.当我尝试这样的事情:

int main() {
    vector<int> v(100);
    // initialize v with some random values

    int paramA = 4;

    struct Local {
        static bool Compare(int i, int j) {
            // logic uses paramA in some way...
        }
    };

    sort(v.begin(), v.end(), Local::Compare);
}
Run Code Online (Sandbox Code Playgroud)

编译器仍然抱怨:"错误:使用包含函数的参数"

我该怎么办?我应该用全局比较函数制作一些全局变量吗?

谢谢.

c++ sorting stl

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