小编asm*_*ier的帖子

为什么Fibonacci系列用于敏捷计划扑克?

在估计敏捷软件开发中用户故事的相对大小时,团队成员应该估计用户故事的大小为1,2,3,5,8,13 ....... 所以估计的值应该类似斐波那契数列.但我想知道,为什么?

维基百科上的http://en.wikipedia.org/wiki/Planning_poker描述中有一句神秘的句子:

使用Fibonacci序列的原因是为了反映估计较大项目时的固有不确定性.

但为什么大项目存在固有的不确定性?如果我们减少测量,那么不确定性是否更高,这意味着如果更少的人估计相同的故事?即使较大的故事中的不确定性更高,为什么这意味着使用Fibonacci序列?它有数学或统计学原因吗?否则使用Fibonacci系列进行估算对我来说就像CargoCult科学一样.

math statistics agile agile-project-management

90
推荐指数
6
解决办法
12万
查看次数

如何配置log4j只保留过去七天的日志文件?

我有几个log4j用于日志记录的Java应用程序的日志记录问题:

我想每天轮换日志文件,比如

log.2010-09-10
log.2010-09-09
log.2010-09-08
log.2010-09-07
log.2010-09-06
log.2010-09-05
log.2010-09-04
Run Code Online (Sandbox Code Playgroud)

但出于数据安全原因,我们不允许在我的公司保留超过七天的日志文件.因此,下一个下一个日志文件的生成log.2010-09-11应该触发删除log.2010-09-04.是否可以配置这样的行为log4j?如果没有,你知道另一种优雅的解决方案吗?

java logging log4j

53
推荐指数
4
解决办法
14万
查看次数

Python:如何将巨大的文本文件读入内存

我在带有1GB RAM的Mac Mini上使用Python 2.6.我想读一个巨大的文本文件

$ ls -l links.csv; file links.csv; tail links.csv 
-rw-r--r--  1 user  user  469904280 30 Nov 22:42 links.csv
links.csv: ASCII text, with CRLF line terminators
4757187,59883
4757187,99822
4757187,66546
4757187,638452
4757187,4627959
4757187,312826
4757187,6143
4757187,6141
4757187,3081726
4757187,58197
Run Code Online (Sandbox Code Playgroud)

因此文件中的每一行都包含两个以逗号分隔的整数值的元组.我想读取整个文件并根据第二列对其进行排序.我知道,我可以在不将整个文件读入内存的情况下进行排序.但我认为对于一个500MB的文件,我仍然可以在内存中进行,因为我有1GB可用.

但是当我尝试读取文件时,Python似乎分配的内存比磁盘上的文件所需的内存多得多.因此,即使使用1GB的RAM,我也无法将500MB的文件读入内存.我用于读取文件和打印有关内存消耗的信息的Python代码是:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys

infile=open("links.csv", "r")

edges=[]
count=0
#count the total number of lines in the file
for line in infile:
 count=count+1

total=count
print "Total number of lines: ",total

infile.seek(0)
count=0
for line in infile:
 edge=tuple(map(int,line.strip().split(","))) …
Run Code Online (Sandbox Code Playgroud)

python memory sorting large-files

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

针对Java中的接口编程与使用C/C++中的头文件的概念相同吗?

我目前正在处理的java代码通常具有类似的结构

文件Controller.java:

interface Controller {...}
Run Code Online (Sandbox Code Playgroud)

文件ControllerImpl.java:

class ControllerImpl implements Controller {...}
Run Code Online (Sandbox Code Playgroud)

但是对于每个接口,只有一个实现.这与在C/C++中使用头文件不同,我将代码拆分成文件

Controller.hpp
Controller.cpp
Run Code Online (Sandbox Code Playgroud)

据我所知,已经引入了C/C++中的头文件来帮助编译器,这在Java中是不再需要的.头文件也应该有助于代码的可读性,但是具有折叠和轮廓视图的现代IDE这也不再是必需的.

那么为什么人们通过对接口编程再次通过后门引入Java头文件呢?

c++ java interface header-files

13
推荐指数
2
解决办法
5655
查看次数

无法从TemporalAccessor获取OffsetDateTime

当我这样做

String datum = "20130419233512";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss").withZone(ZoneId.of("Europe/Berlin"));
OffsetDateTime datetime = OffsetDateTime.parse(datum, formatter);
Run Code Online (Sandbox Code Playgroud)

我得到以下异常:

    java.time.format.DateTimeParseException: Text '20130419233512' could not be parsed: 
Unable to obtain OffsetDateTime from TemporalAccessor: {InstantSeconds=1366407312},ISO,Europe/Berlin resolved 
to 2013-04-19T23:35:12 of type java.time.format.Parsed
Run Code Online (Sandbox Code Playgroud)

如何解析我的日期时间字符串,以便将其解释为始终来自"Europe/Berlin"时区?

java java-8 java-time

13
推荐指数
2
解决办法
8367
查看次数

Apache Spark警告"在RowBasedKeyValueBatch上调用spill()"的含义

我正在使用Apache Spark本地模式运行pyspark 2.2.0作业,并看到以下警告:

WARN RowBasedKeyValueBatch: Calling spill() on RowBasedKeyValueBatch. Will not spill but return 0.
Run Code Online (Sandbox Code Playgroud)

这个警告的原因是什么?这是我应该关心的事情还是我可以安全地忽略它?

warnings apache-spark pyspark

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

如何使用GSON序列化地图的地图?

我想使用GSON将下面的Example类序列化为JSON.

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.util.LinkedHashMap;

public class Example
{
    private LinkedHashMap<String,Object> General;

    private static final String VERSION="Version";
    private static final String RANGE="Range";
    private static final String START_TIME="Start_Time";
    private static final String END_TIME="End_Time";

    public Example() {
        General = new LinkedHashMap<String,Object>();
        General.put(VERSION, "0.1");

        LinkedHashMap<String,String> Range = new LinkedHashMap<String, String>();
        Range.put(START_TIME, "now");
        Range.put(END_TIME, "never");

        General.put(RANGE, Range);
    }

    public String toJSON() {
        Gson gson = new GsonBuilder().serializeNulls().create();
        return gson.toJson(this);
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望得到以下输出:

{"General":{"Version":"0.1","Range":{"Start_Time":"now","End_Time":"never"}}}
Run Code Online (Sandbox Code Playgroud)

但是调用函数会toJSON()返回

{"General":{"Version":"0.1","Range":{}}}
Run Code Online (Sandbox Code Playgroud)

似乎GSON无法在Map中序列化RangeMap General.这是GSON的限制还是我在这里做错了什么?

java json map gson

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

使用elasticsearch进行文档聚类的简便方法是什么?

我在弹性搜索索引中存储了来自不同来源的RSS提要的大量新闻文章.在我进行搜索查询的那一刻,它会为一个查询返回很多类似的新闻文章,因为许多RSS源都涵盖了相同的新闻主题.

相反,我想做的只是从同一主题的一组文章中返回一篇新闻文章.因此,我不知何故需要认识到,哪些文章是关于同一主题的,对这些文档进行聚类并仅从这样的集群中返回"最佳"文章.

解决这个问题最方便的方法是什么?我可以以某种方式使用elasticsearch更像这个API吗?或者https://github.com/carrot2/elasticsearch-carrot2插件是要走的路?或者根本没有方便的方法,我必须以某种方式实现我自己的http://en.wikipedia.org/wiki/K-means_clustering版本或http://en.wikipedia.org/wiki/Non-negative_matrix_factorization到集群我的文件?

algorithm cluster-analysis elasticsearch

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

我应该使用`src/main/webapp`来使用Spring Boot提供静态内容吗?

Spring Boot文档说明:

如果您的应用程序将打包为jar,请不要使用src/main/webapp目录.

但令人惊讶的是,静态Web文件Spring Boot Sample正在使用该/src/main/webapp目录.而且JHipster正在使用该webapp文件夹.

所以我很困惑.Spring Boot文档中的警告是否已过时?现在认为使用src/main/webappSpring Boot jar应用程序提供静态文件是一种好习惯吗?如果没有,在Maven设置中使用Spring Boot时,建议的做法是什么?

static-files spring-boot jhipster

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

你能推荐哪个用于python的ldap对象映射器?

我必须使用不同的模式同步两个不同的LDAP服务器.为了让我的生活更轻松,我正在为像Pythonobject/SQLAlchemy这样的python搜索对象映射器,但对于LDAP.我通过pypi和google找到了以下可能提供此类功能的软件包:

  • 南瓜0.1.0-beta1:南瓜是用于python的LDAP ORM(没有R).

  • afpy.ldap 0.3:这个模块提供了一种简单的方法来处理python中的ldap东西.

  • bda.ldap 1.3.1:LDAP便捷库.

  • Python LDAP Object Mapper:为Python中的LDAP提供类似ORM(Django,Storm,SQLAlchemy等)的层.

  • ldapdict 1.4:用于连接LDAP的Python包,将结果作为字典返回类.结果被缓存.

您可以推荐以下哪些套餐?或者我应该更好地使用不同的东西?

python orm ldap

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