问题列表 - 第32886页

重写多个return语句的简便方法

我有一些代码写得像这样:

private double function1()
{
    double result2 = function2();
    if (result2  < 0) { return result2; }

    double result3 = function3();
    if (result3  < 0) { return result3; }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我需要重新编写它,使它只有一个return语句.是否有捷径可寻?从使用两次相同的if构造开始,这对我来说是低效的.如何清除这种低效率?

c#

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

Spring-Batch用于大规模的夜间/小时Hive/MySQL数据处理

我正在考虑更换一堆Python ETL脚本,这些脚本执行大量数据的夜间/小时数据汇总和统计数据收集.

我想要实现的是

  • 稳健性 - 应该自动重启失败的作业/步骤.在某些情况下,我想执行恢复步骤.
  • 该框架必须能够从崩溃中恢复.我想这里需要一些持久性.
  • 监控 - 我需要能够监控工作/步骤的进度,并且最好查看有关性能的历史和统计数据.
  • 可追溯性 - 我必须能够理解执行的状态
  • 手动干预 - 很高兴能够从API/UI /命令行启动/停止/暂停作业.
  • 简单 - 当我介绍替换时,我不希望我的同事生气.有一个简单易懂的API是必需的.

当前脚本执行以下操作:

  • 从许多计算机收集文本日志,并将它们推送到Hadoop DFS.我们将来可能会将Flume用于此步骤(请参阅http://www.cloudera.com/blog/2010/07/whats-new-in-cdh3b2-flume/).
  • 对数据执行Hive摘要查询,并插入(覆盖)到新的Hive表/分区.
  • 将新摘要数据提取到文件中,然后加载(合并)到MySql表中.这是以后在线报告所需的数据.
  • 对新添加的MySql数据(来自MySql表)执行其他连接,并更新数据.

我的想法是用spring-batch替换脚本.我也研究过Scriptella,但我认为这种情况太简单了.

因为我在Spring-Batch上看到了一些不好的共鸣(大多是老帖子),我希望在这里得到一些输入.我还没有看到很多关于spring-batch和Hive集成,这很麻烦.

mysql hadoop etl hive spring-batch

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

是否可以使用关键字值在C#中定义枚举?

我有一些我正在阅读的客户端数据,并且我为其中一个值定义了一个Enum,所以我可以使用Enum.Parse(type,somestring).

问题是他们刚刚添加了一个新值:"公共".是否可以定义一个也是保留字的枚举值?

IE:

public enum MyEnum {
    SomeVal,
    SomeOtherVal,
    public,
    YouGetTheIdea
}
Run Code Online (Sandbox Code Playgroud)

如果不是,我想我会写一个解析方法.

c# enums

14
推荐指数
3
解决办法
3409
查看次数

如何在django tests.py中创建管理员用户

我正在尝试创建一个管理员用户作为我的tests.py的一部分来检查持久性.

更新:tests.py是子类TestCase的标准格式,下面的代码在setUp()函数中调用.

我可以创建普通用户但不能创建管理员用户.如果我试试这个:

    self.adminuser = User.objects.create_user('admin', 'admin@test.com', 'pass')
    self.adminuser.save()
    self.adminuser.is_staff = True
    self.adminuser.save()
Run Code Online (Sandbox Code Playgroud)

或者self.adminuser = User.objects.create_superuser('admin','admin @ test.com','pass')self.adminuser.save()

我明白了:

Warning: Data truncated for column 'name' at row 1
Run Code Online (Sandbox Code Playgroud)

如果我删除is_staff行一切都很好(除了我不能做我的测试!)

我是否必须将管理员用户作为固定装置加载?

UserProfile定义如下:

class UserProfile(models.Model):

    user = models.ForeignKey(User, unique=True)
    organisation = models.ForeignKey(Organisation, null=True, blank=True)
    telephone = models.CharField(max_length=20, null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)

和完整错误回溯是:

    Traceback (most recent call last):
      File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/test/testcases.py", line 242, in __call__
        self._pre_setup()
      File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/test/testcases.py", line 217, in _pre_setup
        self._fixture_setup()
      File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/test/testcases.py", line 440, in _fixture_setup
        return super(TestCase, self)._fixture_setup()
      File "/usr/lib/python2.4/site-packages/Django-1.1.1-py2.4.egg/django/test/testcases.py", line 222, …
Run Code Online (Sandbox Code Playgroud)

django functional-testing

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

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

不读〜/ .vimrc

我有一个〜/ .vimrc文件,vim似乎没有阅读./ etc/vimrc中有一个文件,看起来好像正在使用那个文件.

我的理解是主目录中的那个应该覆盖这一个,不应该吗?

更新

cat vim_strace | grep .vimrc
    stat64("/etc/vimrc", {st_mode=S_IFREG|0644, st_size=1438, ...}) = 0
    open("/etc/vimrc", O_RDONLY|O_LARGEFILE) = 3
    stat64("/etc/vimrc", {st_mode=S_IFREG|0644, st_size=1438, ...}) = 0
    stat64("/root/.vimrc", {st_mode=S_IFREG|0644, st_size=35, ...}) = 0
    open("/root/.vimrc", O_RDONLY|O_LARGEFILE) = 3
    stat64("/root/.vimrc", {st_mode=S_IFREG|0644, st_size=35, ...}) = 0
Run Code Online (Sandbox Code Playgroud)

vim

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

调用虚基类的重载构造函数

有没有(实用的)绕过普通(虚拟)构造函数调用顺序的方法?

例:

class A
{
    const int i;

public:
    A()
      : i(0)
    { cout << "calling A()" << endl; }

    A(int p)
      : i(p)
    { cout << "calling A(int)" << endl; }
};

class B
    : public virtual A
{
public:
    B(int i)
      : A(i)
    { cout << "calling B(int)" << endl; }
};

class C
    : public B
{
public:
    C(int i)
      : A(i), B(i)
    { cout << "calling C(int)" << endl; }
};

class D
    : public C …
Run Code Online (Sandbox Code Playgroud)

c++ constructor virtual-inheritance

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

存储来自Web服务的图像

我正在访问返回指定域的网站图标的API(http://getfavicon.appspot.com/).我有很长的域名列表,我想获取图标,并且不希望每次都调用Web服务,所以我想我会得到响应并将图像存储在文件系统或文件系统中DB Blob.

然而.我不知道如何从服务返回的响应流中获得有意义的东西.

byte[] buf = new byte[8192];

var request = (HttpWebRequest)WebRequest.Create("http://getfavicon.appspot.com/http://stackoverflow.com");

var response = (HttpWebResponse)request.GetResponse();

var resStream = response.GetResponseStream(); 
Run Code Online (Sandbox Code Playgroud)

我已经到了这里得到回复,但我怎么能把它当作可以保存到SQL DB或文件系统的东西呢?

我错过了一些简单的事吗?

谢谢

c# favicon httpwebrequest

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

如何在运行时在XNA中加载纹理?

我正在开发一个使用XNA框架进行3D渲染的应用程序.我现在想从文件加载纹理.到目前为止我找到了两种方法:

  1. Texture2D.FromStream(GraphicsDevice, Stream) 这种方法的问题是它只加载gif,png和jpg,我还需要支持tga图像.
  2. 创建一个ContentManager对象.这种方法的问题在于,似乎需要将所有纹理静态添加到项目中,从文档中说明:"在ContentManager加载资产之前,您需要将资源添加到游戏项目中".有问题的程序是一个关卡编辑器,预先不知道需要哪些纹理.

有没有其他简单的方法来加载纹理,我正在考虑使用其他类加载图像(虽然我不知道哪个,我不是很熟悉C#)然后可能使用该Texture2D.SetData方法?

有没有其他简单的方法来实现我想要实现的目标?

c# xna xna-4.0

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

序数分类包和算法

我正在尝试制作一个为项目i选择评级(1-5)的分类器.对于每个项目i,我有一个向量x,包含大约40个与i有关的不同数量.我对每件商品都有金标准等级.根据x的某些功能,我想训练一个分类器给我一个与金标准非常接近的等级1-5.

我在分类器上看到的大部分信息只涉及二元决策,而我有一个评级决定.是否有常见的技术或代码库来处理这类问题?

classification machine-learning

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