小编Mat*_*och的帖子

当我们需要在数据库设计中使用一对一关系时?

我们什么时候需要在数据库设计中使用一对一的关系?在我看来,如果两个表是一对一的关系,它们可以组合成一个表.这是真的?

database database-design erd

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

sphinx.ext.autodoc:保持签名中的常量名称

我正在使用Sphinx的autodoc功能来记录我的API.

例:

DEFAULT_OPTION = 'default'
def do_something(msg, option=DEFAULT_OPTION):
    print msg
Run Code Online (Sandbox Code Playgroud)

生成的文档现在显示以下签名:

do_something(msg, option='default')
Run Code Online (Sandbox Code Playgroud)

如何告诉Sphinx保留常量值的名称,即

do_something(msg, option=DEFAULT_OPTION)
Run Code Online (Sandbox Code Playgroud)

有没有我忽略的选择?如果可能的话,我不想再用手写所有的签名.

python python-sphinx

6
推荐指数
2
解决办法
2070
查看次数

Memcache和最终的一致性

我正在开发一个小项目来了解Google App Engine,该项目是Java并且有Customer对象,Customer的实例可以有策略.每个客户都在自己的实体组中,以便可以使用事务来修改客户.

该站点的主页是客户列表,当添加新客户时,将再次显示客户列表.

由于每个客户都在他们自己的实体组中,因此新添加的客户有时不会出现在新客户列表中,几秒钟后刷新客户列表并且客户将出现.删除客户时存在类似的问题,您删除了客户,但它在整个列表中显示几秒钟.据我所知,由于数据存储提供的最终一致性,因此可以在Google App Engine中实现这一点.

所以我试图通过使用memcache来存储最近添加或最近删除的客户来解决这个问题.我正在使用的代码如下.

public List<Customer> getCustomers() {
    List<Customer> cachedCustomers = myCache.getCached();
    List<Customer> recentlyDeleted = myCache.getDeleted();
    // Calls the real datastore.
    List<Customer> dbCustomers = customerDao.getCustomerList();
    Set<Customer> allCustomers = new HashSet<Customer>();

    //  Add cached first as these are most the most up todate.
    allCustomers.addAll(cachedCustomers);
    allCustomers.addAll(dbCustomers);
    allCustomers.removeAll(recentlyDeleted);

    List<Customer> allList = new ArrayList<Customer>();
    allList.addAll(allCustomers);
    Collections.sort(allList);        
    return allList;
}
Run Code Online (Sandbox Code Playgroud)

我在这里问,因为我认为我正在采取的方式不会感觉到"正确"的方式,并希望听到那些知道更好的方法来解决最终一致性产生的问题的人.

java google-app-engine

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

c#不能声明具有相同参数的静态和非静态方法吗?

如果我尝试使用相同的参数声明静态和非静态方法,编译器将返回错误:类型'Test'已经定义了一个名为'Load'的成员,其参数类型相同.

    class Test
    {
        int i = 0;

        public int I
        {
            get { return i; }
            set { i = value; }
        }

        public bool Load(int newValue)
        {
            i = newValue;
            return true;
        }

        public static Test Load(int newValue)
        {
            Test t = new Test();
            t.I = newValue;
            return t;
        }
Run Code Online (Sandbox Code Playgroud)

据我所知这两个方法不能混合,非静态方法在对象上调用而静态方法在类上调用,那么为什么编译器不允许这样的东西,有没有办法做类似的事情呢?

c# methods class

6
推荐指数
2
解决办法
2048
查看次数

在python中应用PMML预测器模型

Knime为我生成了一个PMML模型.这时我想将这个模型应用于python进程.这样做的正确方法是什么?

更深入:我开发了一个django学生出勤系统.该应用程序已经非常成熟,我有时间实现"我感觉很幸运"按钮,以自动填写出席表格.这就是PMML的用武之地.Knime已经生成了一个预测学生出勤率的PMML模型.另外,感谢django如此高效,以至于我为这项伟大的工作留出时间;)

在此输入图像描述

python machine-learning knime pmml

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

在Clojure中排序列表

我试图以特定的方式对Clojure列表(或seq,如果它是所谓的)进行排序.我希望它按降序排列最后一项的优先级,然后按升序排列第一项.一个例子:

(def pnts '((1 2)
            (2 4)
            (3 2)
            (4 10)
            (5 3)
            (6 1)
            (7 2)))

(sort-by last > pnts)
;; ((4 10) (2 4) (5 3) (1 2) (3 2) (7 2) (6 1))
;; Notice how (1 2), (3 2), (7 2) are sorted. This
;; is correct and is what I want.
Run Code Online (Sandbox Code Playgroud)

(排序由过去的),似乎是在做的伎俩,虽然这可能是因为点最初由排序第一个项目.我正在实现我正在编写点的ASCII/CLI图形脚本的方式将始终像pnts那样排序.我的问题是什么是可以保证这种排序偏好的命令?

PS我尝试过(排序方式(juxt last first)(juxt> <)pnts)但无济于事.

sorting clojure

6
推荐指数
2
解决办法
1682
查看次数

为什么Dockerized Hadoop datanode注册了错误的IP地址?

我有针对Hadoop(2.7.1)名称节点和数据节点的单独Docker(1.9.1)映像.我可以从这些容器中创建容器,并让它们通过用户定义的Docker网络进行通信.但是,datanode似乎报告自己拥有网络网关的IP地址而不是自己的IP地址.虽然这不会导致单个数据节点出现任何问题,但在添加其他数据节点时会产生混淆.它们都使用相同的IP地址注册,名称节点在它们之间翻转,只报告单个数据节点是活动的.

为什么服务器(namenode)在用户定义的Docker网络上运行时从客户端(datanode)套接字连接读取错误的IP地址,我该如何解决?

更新:此问题似乎在Docker端

使用--net=bridge并执行netcat服务器运行两个容器:

nc -v -l 9000
Run Code Online (Sandbox Code Playgroud)

在一个容器中,另一个容器中的netcat客户端:

nc 172.17.0.2 9000
Run Code Online (Sandbox Code Playgroud)

导致第一个容器正确打印:

Connection from 172.17.0.3 port 9000 [tcp/9000] accepted

但是创建一个用户定义的网络:

sudo docker network create --driver bridge test
Run Code Online (Sandbox Code Playgroud)

并在启动时在容器中执行相同的命令,--net=test错误地打印网关/用户定义的网络接口的IP地址:

Connection from 172.18.0.1 port 9000 [tcp/9000] accepted

HDFS/Docker详细信息

dfs.datanode.address每个datanode hdfs-site.xml文件中的属性都设置为其主机名(例如,hdfs-datanode-1).

网络创建如下:

sudo docker network create --driver bridge hadoop-network
Run Code Online (Sandbox Code Playgroud)

namenode的开头是这样的:

sudo docker run -d \
                --name hdfs-namenode \
                -v /hdfs/name:/hdfs-name \
                --net=hadoop-network \
                --hostname hdfs-namenode \
                -p 50070:50070 \
                hadoop:namenode
Run Code Online (Sandbox Code Playgroud)

datanode就像这样开始:

sudo docker run …
Run Code Online (Sandbox Code Playgroud)

java hadoop hdfs docker

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

当CompilerParameters.GenerateInMemory == true时,在运行时编译一个类失败

我正在运行时编译动态程序集.它需要引用另一个dll.只要我在CompilerParameters中设置了OutputAssembly,一切正常.但是一旦我设置了GenerateInMemory = true; 它失败:

var compilerParameters = new CompilerParameters();
if( compileInMemory )
    compilerParameters.GenerateInMemory = true;
else
    compilerParameters.OutputAssembly = "<my_dynamic_dll_path>";
compilerParameters.ReferencedAssemblies.Add( "<other_dll_path>" );
var compilerResults = new CSharpCodeProvider().CompileAssemblyFromDom( compilerParameters, codeCompileUnit );

// Here: compilerResults.Errors.HasErrors == false

foreach( var type in compilerResults.CompiledAssembly.GetTypes() )
{
     // Exception:
     // Unable to load one or more of the requested types.
     // Retrieve the LoaderExceptions property for more information.
}
Run Code Online (Sandbox Code Playgroud)

LoaderExceptions告诉我无法找到"other_dll".为什么只要我不在内存中编译就可以工作,为了让它在内存中工作,我该怎么办呢?

c# reflection

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

用于简单表达的Javascript解析器

我想找到一个可以处理和评估简单表达式的javascript解析器.解析器应该能够评估常规数学表达式,并支持带参数的自定义函数.它还必须支持字符串处理.字符串连接|| 操作员支持是首选,但是如果+可以做到这一点也没关系.

应由解析器处理的表达式示例:

3*(2 + 1) - 1

2*func(2,2)

func('hello world',0,5)|| '你'

有没有人实现这样的事情或在哪里可以找到类似的东西?

javascript evaluation parsing expression

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

Java的GUI框架

我想知道是否有人有任何框架的建议,以便为旧的桌面应用程序提供急需的改版.该应用程序使用寿命很长,没有任何人注意它的外观,导致一个80年代的怪物.

我刚下载并尝试了MyDoggy框架,使windows可浮动和可停靠.因此,我看起来类似于快速简便的修复,这将使看起来很糟糕的应用程序恢复生机.

java user-interface frameworks

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