我来自一个背景,我通常每个类创建一个文件.我也在目录下组织公共类.这种做法对我来说很直观,并且已被证明在C++,PHP,JavaSript等中有效.
我无法将这个比喻带入Python:文件不仅仅是文件,而是正式的模块.在一个模块中只有一个类似乎是不对的 - 大多数类本身都是无用的.如果我有一个automobile.py和一个Automobile类,总是引用它似乎很愚蠢automobile.Automobile.
但是,与此同时,将大量代码放入一个文件并将其称为一天似乎并不正确.显然,一个非常复杂的应用程序应该有超过5个文件.
什么是正确的 - 或pythonic ---方式?(或者,如果没有正确的方法,您首选的方式是什么?为什么?)我应该在Python模块中投入多少代码?
来自C++背景,这让我感到惊讶.在C++中,将虚拟函数设为私有是一种很好的做法.来自http://www.gotw.ca/publications/mill18.htm:"准则#2:更喜欢将虚拟功能设为私有."
我还引用Eric Lippert的博客,来自Knights-knaves-protected-and-internal:
私有虚拟方法在C#中是非法的,这让我感到厌烦.如果我们拥有它,我会完全使用该功能.
据我所知,在C#中,您无法覆盖派生(但不是嵌套)类中的私有虚方法.为什么会这样?在C++中,访问说明符与是否可以覆盖函数无关.
Linux如何确定它将用于进程的下一个PID?这个问题的目的是为了更好地理解Linux内核.不要害怕发布内核源代码.如果顺序分配PID,Linux如何填补空白?当它到达终点时会发生什么?
例如,如果我从Apache运行一个PHP脚本,那么<?php print(getmypid());?>在刷新时会打印出相同的PID几分钟.这段时间是apache接收的请求数量的函数.即使只有一个客户端,PID最终也会改变.
当PID改变时,它将是一个接近的数字,但有多近?该数字似乎并不完全是连续的.如果我这样做,ps aux | grep apache我会得到相当多的过程:

Linux如何选择下一个号码?前几个PID仍在运行,以及最近打印的PID.apache如何选择重用这些PID?
scoped_ptr不能复制,并且正在删除范围之外.所以它有点受限制shared_ptr.因此,除了您真正需要限制复制操作的情况之外,shared_ptr最好使用.因为有时您不知道需要创建对象的副本或不需要.所以问题是:除了上面提到的情况之外,我们shared_ptr是否可以考虑使用更好(或推荐)代替scoped_ptr.是否scoped_ptr更快地工作shared_ptr,或者它有什么优势?
谢谢!
我想计算时间序列的功率谱密度; 做一些带通,低通和高通滤波; 也许其他一些基本的东西.
有没有一个很好的开源Java库来做到这一点?
我有点没有成功(例如,谷歌搜索"功率谱密度java"或"信号处理java"和点击链接,查看Apache Commons,Sourceforge,java.net等).
有许多小程序,书籍,教程,商业产品等,不符合我的需求.
更新:我找到了 org.apache.commons.math.transform进行傅立叶变换.这不实现功率谱密度,带通等,但它是一些东西.
是否有可能在不创建实例的情况下获得价值?
我有这门课:
public class MyClass
{
public string Name{ get{ return "David"; } }
public MyClass()
{
}
}
Run Code Online (Sandbox Code Playgroud)
现在我需要获取值"David",而不创建MyClass的实例.
我想用你的智慧为数据仓库系统找到合适的解决方案.以下是一些可以更好地理解问题的细节:
数据以星型模式结构组织,具有一个BIG事实和~15个维度.
每月20B个事实行
10个维度有100行(有些层次结构)
5个维度有数千行
2个维度有~200K行
2个大尺寸有50M-100M行
针对此DB运行两个典型查询
dimq的热门成员:
select top X dimq, count(id)
from fact
where dim1 = x and dim2 = y and dim3 = z
group by dimq
order by count(id) desc
Run Code Online (Sandbox Code Playgroud)
针对元组的措施:
select count(distinct dis1), count (distinct dis2), count(dim1), count(dim2),...
from fact
where dim1 = x and dim2 = y and dim3 = z
Run Code Online (Sandbox Code Playgroud)
问题:
哪里可以托管(EC2?)
(请忽略此刻的导入和加载问题)
Tnx,
Haggai.
似乎每个C#静态分析器在看到公共字段时都想抱怨.但为什么?当然,有些情况下公共(或内部)领域就足够了,拥有它get_和set_方法的财产是没有意义的吗?如果我确定我不会重新定义该字段或添加它(副作用是坏的,对吧?) - 不应该是一个简单的字段就足够了怎么办?
静态对比 在SO中已经多次讨论过单身人士问题.
然而,所有的答案都指出了单身人士的许多优点.
我的问题是 - 静态类优于单例的优点是什么?为什么不每次只选择单身?
考虑这个功能:
public boolean foo(){
System.exit(1);
//The lines beyond this will not be read
int bar = 1; //L1
//But the return statement is required for syntactically correct code
return false; //L2
//error here for unreachable code
//int unreachable = 3; //L3
}
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么L1和L2明显无法访问不会发出警告但L3会发出警告.