小编tre*_*der的帖子

MongoDB——大量数据库

在我们的网络应用程序中,我们有大量与每个用户相关的数据。因此我们正在考虑为每个用户分配一个单独的数据库。因此,这将需要一个大号。数据库。

所以,我的问题是——不可以有限制吗?数据库的数量,例如单个数据库中的集合数量限制为 24,000 个。

编辑

事实上,我们决定为每个用户提供一个单独的数据库——这是否表明设计有任何错误?

实际上,网络应用程序是一种库存系统(比这更复杂一点),我们有很多与每个用户相关的小信息(更不用说他们的会话数据了)——我们需要将其存储在数据库。

我们决定使用数据库中的集合来存储与用户相关的不同“类型”的信息。由于 Mongo DB 没有比“集合”更高级别的抽象,因此我们被迫使用单独的数据库来分隔用户。

mongodb

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

一个Python模块和包加载混乱

假设我有这样的事情:

.
??? run.py
??? test
    ??? __init__.py
    ??? models
    ?   ??? foo
    ?   ?   ??? baby.py
    ?   ?   ??? __init__.py
    ?   ??? __init__.py
    ?   ??? user.py
    ??? start.py

run.py

from test import start
Run Code Online (Sandbox Code Playgroud)

start.py

from .models import user
Run Code Online (Sandbox Code Playgroud)

user.py

from . import foo

print(foo.baby.Baby)
Run Code Online (Sandbox Code Playgroud)

baby.py

Baby = "I am a baby"
Run Code Online (Sandbox Code Playgroud)

现在,当你运行run.py文件时......

>>> python run.py
... traceback ...
AttributeError: 'module' object has no attribute 'baby'
Run Code Online (Sandbox Code Playgroud)

但是,如果你改变了start.py这样:

from .models.foo import baby
from .models import user
Run Code Online (Sandbox Code Playgroud)

一切正常. …

python python-module python-3.x

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

ES6:这在静态方法中

假设我有两个这样的ES6类:

class Base {
    static something() {
        console.log(this);
    }
}

class Derived extends Base {
}
Run Code Online (Sandbox Code Playgroud)

然后我打个电话:

Derived.something();
Run Code Online (Sandbox Code Playgroud)

请注意,我正在通过子类调用超类上定义的静态方法.

这并没有给我的错误.它打印

[Function: Derived]
Run Code Online (Sandbox Code Playgroud)

因此,this在静态方法中访问似乎在这里工作.

我需要一个超级类的所有子类的公共静态方法,我需要能够知道什么子类正在调用此方法.

现在我的问题是this在静态方法中使用是否合法.我知道这些静态方法成为类方法,因此this自然会指向它们被调用的类对象.(类对象是构造函数.)

但我似乎无法找到任何明确的资源,表明ES规范允许这样做.

看起来像一个很好的介绍ES6类,但没有谈及thisstatic.

javascript static-methods this-pointer ecmascript-6 es6-class

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

虚拟机编程资源

我是一名 C 语言初学者(稍微多一点)。我对虚拟机领域非常感兴趣——JVM、Google V8、Erlang VM、PyPy 等。

我的问题是:

  • 我需要了解/学习哪些内容(语言、概念、算法、数学等)才能构建虚拟机?
  • 任何有帮助的书籍或其他资源

vm-implementation

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

相对导入在Python中不起作用

我有这样的项目结构......

app/
    main.py
    app/
        __init__.py
        boot.py
        server.py
        controllers/
            __init__.py
            home.py
Run Code Online (Sandbox Code Playgroud)

进口是......

# main.py
from app import server

# server.py
from . import boot

# boot.py
from . import controllers

# controllers/__init__.py
from . import home

# controllers/home.py
from .. import boot
Run Code Online (Sandbox Code Playgroud)

现在所有的导入都在工作,除了最后一个.抛出的错误是......

ImportError: cannot import name boot
Run Code Online (Sandbox Code Playgroud)

有什么问题?(我使用的是Python 3.2)

python python-3.x

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

为什么==被认为是JavaScript中的一个不好的做法

我知道使用等号operator(==)有许多怪癖.例如,以下都是真的......

null == undefined
1 == '1'
true == 1
false == ''
Run Code Online (Sandbox Code Playgroud)

在上述所有情况下,使用identity operator(===)将返回(严格)正确的答案.

但是,当我只想比较那些没有怪癖的简单事物时,为什么我不应该使用相等运算符.例如...

typeof x == 'number'
str == 'something'
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是; 为什么平等算子具有这种贬义地位,实际上它在某些情况下是有用的.

javascript

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

将元组作为字典中的值处理(在列表推导中)

我有一个这样的字典:

>>> pprint.pprint(d)
{'a': ('abc', 'pqr', 'xyz'),
 'b': ('abc', 'lmn', 'uvw'),
 'c': ('efg', 'xxx', 'yyy')}

现在,给定一个变量x,我希望能够列出元组中第一个元素等于的dict中的所有键x.因此我这样做(在Python 2.6上):

>>> [ k for k, v in d if v[0] == x ]
Run Code Online (Sandbox Code Playgroud)

我明白了

Traceback (most recent call last):
  File "", line 1, in 
ValueError: need more than 1 value to unpack

我怎么能纠正这个?

python list-comprehension

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

基于绝对定位的父元素在子元素上设置"高度"

我有一个父元素,我想在父元素中设置元素的高度.例如:

<div id="parent">
    <p id="child"></p>
</div>
Run Code Online (Sandbox Code Playgroud)

现在我们知道,为了设置"子"的高度,我们必须在"父"上设置一些高度值.否则,仅在"孩子"上设置任何高度值都没有效果.

#parent { height: 200px; }
#child { height: 75%; }
Run Code Online (Sandbox Code Playgroud)

这会将"child"的高度设置为200px的75%.如果我们删除"父"的高度,"child"将不会设置任何高度.

现在,我发现不是设置高度,如果我们将"父"的定位设置为绝对,我们可以在不设置任何高度的情况下离开,并且"子"上的高度值仍然有效:

#parent { position: absolute; top: 0; bottom: 0; }
#child { height: 75%; }
Run Code Online (Sandbox Code Playgroud)

我想知道的是这是一种标准行为还是偶然发生的事情.另外,如果它是标准的,这是否意味着给元素一个布局(通过设置它的位置)会给它一些隐含的高度值?

css

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

JavaScript Internals 101:功能和功能

>>> function () {}
SyntaxError

>>> f = function() {}
f = function() {}

>>> new function() {}
>>> Object

>>> new Function()
function anonymous() {}

>>> Function()
function anonymous() {}


>>> f = (function() { a = 10; return function() {console.log(a);} })();
>>> f()
10
undefined

>>> f = (function() { a = 10; return new Function('console.log(a)'); })();
>>> f()
undefined
Run Code Online (Sandbox Code Playgroud)

因此,我有两个问题:

  1. 为什么Function即使没有new运算符,构造函数也会返回一个新函数?

  2. 是否使用Function构造函数NOT闭包创建函数?

javascript

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

什么类型的项目将帮助我学习线程编程

我想学习Python中的线程和多处理.我不知道应该采取什么样的项目.

我希望能够处理所有相关的对象,如锁,互斥,条件,信号量等.

请建议一个最适合我的项目类型.

PS随着项目,请建议任何工具来调试/配置/加载测试我的应用程序,以便我可以衡量我的线程实现有多好.

python multithreading

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