小编Que*_*ger的帖子

在多个模块中使用Python日志记录

我有一个小python项目,具有以下结构 -

Project 
 -- pkg01
   -- test01.py
 -- pkg02
   -- test02.py
 -- logging.conf
Run Code Online (Sandbox Code Playgroud)

我计划使用默认日志记录模块将消息打印到stdout和日志文件.要使用日志记录模块,需要进行一些初始化 -

import logging.config

logging.config.fileConfig('logging.conf')
logger = logging.getLogger('pyApp')

logger.info('testing')
Run Code Online (Sandbox Code Playgroud)

目前,我在开始记录消息之前在每个模块中执行此初始化.是否可以在一个地方只执行一次初始化,以便通过整个项目记录重复使用相同的设置?

python logging config

217
推荐指数
9
解决办法
15万
查看次数

为什么Collections.sort使用Mergesort但是Arrays.sort却没有?

我使用的是JDK-8(x64).对于Arrays.sort(primitives),我在Java文档中找到了以下内容:

该排序算法是一个双枢轴快速排序弗拉基米尔·Yaroslavskiy,乔恩·本特利,以及约书亚Bloch.`

对于Collections.sort(对象),我发现了这个"Timsort":

这个实现是一个稳定的,自适应的,迭代的mergesort ......这个实现将指定的列表转储到一个数组中,对数组进行排序,并迭代列表,从数组中的相应位置重置每个元素.

如果Collections.sort使用数组,为什么不调用Arrays.sort或使用双枢轴QuickSort?为什么要使用Mergesort

java arrays sorting collections java-8

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

ASCII与Uni​​code + UTF-8

正在阅读Joel Spolsky关于字符编码的'The Absolute Minimum'.据我所知,ASCII是一种代码点+编码方案,在现代,我们使用Unicode作为代码点方案,使用UTF-8作为编码方案.它是否正确?

unicode ascii utf-8 character-encoding

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

在Java中修剪字符串的正确方法

在Java中,我这样做是为了修剪一个字符串:

String input = " some Thing ";
System.out.println("before->>"+input+"<<-");
input = input.trim();
System.out.println("after->>"+input+"<<-");
Run Code Online (Sandbox Code Playgroud)

输出是:

before->> some Thing <<-
after->>some Thing<<-
Run Code Online (Sandbox Code Playgroud)

作品.但我想知道如果通过为自己分配一个变量,我做的是正确的.我不想通过创建另一个变量并为其分配修剪值来浪费资源.我想在原地进行修剪.

我这样做对吗?

java string trim variable-assignment

28
推荐指数
2
解决办法
8万
查看次数

为购物车应用程序设计数据库?

我从未设计过数据库/数据模型/模式,特别是对于Web应用程序.在最近的一些求职面试中,我被要求为购物车应用程序"设计"数据库.现在我正在开发一个移动购物应用程序(零售,使用phonegap),后端需要存储和处理产品和订单信息.这个问题的规模是如此巨大,我不知道从哪里开始.我希望有一些建议 -

  1. 我应该如何处理这样的问题(购物车应用程序数据库)?我应该从哪里开始?
  2. 我应该避免任何常见的错误/陷阱吗?
  3. 在设计这样的数据库时,我应该记住哪些优化/效率范例?
  4. 我该如何识别问题空间中的实体(产品,订单等)?我该如何推导出它们之间的关系?
  5. 当面试官问这样一个问题时,他究竟在寻找什么?有什么我应该/不应该说的吗?

我还应该澄清 -

  1. 是的,我是一个菜鸟,我的动机是学习数据库设计并为即将到来的求职面试做准备.我已经阅读了DBMS书籍,他们详细描述了各个概念,但我不知道如何将这些东西放在一起并开始设计数据库.
  2. 我见过数据库设计的其他主题.作者已经倾向于拥有一些如何解决问题的知识.我想了解这背后的方法.
  3. 我将非常感谢外部资源,评论,建议和任何能使我走上正轨的事物的链接.我希望这个主题可以作为我和他人的学习经历.

database shopping-cart database-design

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

在Google Cloud中存储图形数据库

我有一个600万条目的数据集.每个条目与其他条目具有一对多关系.以前,此数据已存储在Neo4J实例中.

Google Cloud是否提供可存储图形数据库的产品?或者有没有办法使现有的Google云数据库产品适应图形数据库引擎?

我试图避免在Google计算实例上运行Neo4J实例.

graph-databases google-cloud-datastore google-cloud-platform

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

为什么方阵乘法的时间复杂度定义为O(n ^ 3)?

我在多个来源(在线和书籍)中遇到过这种情况 - 对于大小为nXn的矩阵,方阵乘法的运行时间为O(n ^ 3).(例子 - 矩阵乘法算法时间复杂度)

该陈述将指示该乘法过程的运行时间的上限是Cn ^ 3,其中C是一些常数并且n> n0其中n0是一些输入,超过该输入,该上限保持为真.(http://en.wikipedia.org/wiki/Big_O_notationΘ(n)和O(n)之间有什么区别?)问题是,我似乎无法推导出常数C和n0的值.

我的问题 -

  1. 有人可以提供一个数学证明的声明'方阵矩阵乘法的大哦是O(n ^ 3)'?

  2. C和n0的值是多少?

big-o matrix-multiplication

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

节点数和高度之间的关系

我正在阅读算法设计手册.作者指出,树的高度是:

h = log n, 
where 
h is height 
n = number of leaf nodes
log is log to base d, where d is the maximum number of children allowed per node.
Run Code Online (Sandbox Code Playgroud)

然后他接着说,一个完美平衡的二叉搜索树的高度将是:

h = log n
Run Code Online (Sandbox Code Playgroud)

我想知道n在第二个语句中是否表示" 叶子节点总数"或" 节点总数".

这提出了一个更大的问题,节点总数和完美平衡的二叉搜索树的高度之间是否存在数学关系?

height binary-search-tree data-structures

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

查找BST中的所有子树,其键位于给定范围内

我在最近的一次采访中得到了这个问题:给定一个BST,其节点包含一个Integer作为值,找到其节点落在整数X(min)和Y(max)之间的所有子树,其中X <Y.这些子树不能相互重叠.

我已经解决了这个问题的变化,例如 - 打印在给定范围内的BST的键.但无法弄清楚这一点,因为它涉及查找满足非常特定约束的主图/树的所有连通子图.任何指针/帮助/伪代码都很受欢迎.

补充说明 -

  1. 该问题将节点的数据结构定义为具有左指针,右指针和整数值.没有办法标记节点.
  2. 有人要求用Java解决这个问题.
  3. 当我说子树/子图时,我的意思是一组连接的节点,而不是一个不相交的节点列表.对困惑感到抱歉.

algorithm tree-traversal binary-search-tree range-query

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

Java 通用使用格式

当我需要创建一个需要存储字符串的 ArrayList 时,我这样做 -

ArrayList<String> whatwhat = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)

在 Eclipse 中,当我<String>从上述语句的左侧或右侧省略时,我会收到警告。这让我想到了我的问题:为什么 Java 需要/允许这样做?难道我们不应该被要求只在一侧声明一个泛型类型吗?

java generics

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