小编duf*_*ymo的帖子

如何调用命令而不是获取其输出

在Python中,调用命令subprocess但不打扰其输出的最短和标准方法是什么.

我尝试过subprocess.call它似乎返回输出.我并不担心,我只需要静默运行程序而不会使输出混乱.

如果它有帮助,我正在打电话pdflatex,我的意图就是打电话给它.

python subprocess

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

是否存在"普通约束"或"对象类"的任何标准实现?

我想要的

class Trivial t
instance Trivial t
Run Code Online (Sandbox Code Playgroud)

这在Haskell 98中当然没用,因为你可以省略约束; 但ConstraintKinds我们可以明确要求种类的论点* -> Constraint.理想情况下,我想将其定义为"匿名类型级函数" \type a -> (),但这显然是不可能的.

我应该怎么做,使用预定义的东西或者只在我需要的地方定义该类(因为实例是通用的,没有人需要访问它,看起来也很好)?

haskell typeclass constraint-kinds

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

在c ++中创建矩阵的正确方法

我想为图形创建一个邻接矩阵.由于我读过matrix[x][y]因为不检查范围而使用表单数组是不安全的,所以我决定使用stl的vector模板类.我需要存储在矩阵中的是布尔值.所以我的问题是,如果使用std::vector<std::vector<bool>* >*产生过多的开销或者有一种更简单的矩阵方式以及如何正确初始化它.

编辑:非常感谢您的快速解答.我刚才意识到,那当然我不需要任何指针.矩阵的大小将在开始时初始化,并且在程序结束之前不会更改.这是一个学校项目,所以如果我写"好"代码会很好,虽然技术上性能不是太重要.使用STL很好.使用像boost这样的东西可能不受欢迎.

c++ stl graph matrix data-structures

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

在.NET与Java中锁定的成本

我正在使用Disruptor框架及其.NET平台端口,并发现了一个有趣的案例.可能是我完全错过了一些东西所以我正在寻找全能社区的帮助.

        long iterations = 500*1000*1000;
        long testValue = 1;

        //.NET 4.0. Release build. Mean time - 26 secs;
        object lockObject = new object();
        Stopwatch sw = Stopwatch.StartNew();
        for (int i = 0; i < iterations; i++)
        {
            lock (lockObject)
            {
                testValue++;    
            }
        }
        sw.Stop();

        //Java 6.25. Default JVM params. Mean time - 17 secs.
        Object lock = new Object();
        long start = System.currentTimeMillis();
        for (int i = 0; i < iterations; i++)
        {
                synchronized (lock)
                { …
Run Code Online (Sandbox Code Playgroud)

c# java performance locking synchronized

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

我可以配置没有数据源的Grails吗?

我有一个Grails应用程序,它从xml文件加载其数据并通过罗马提供rss提要.我没有任何域类,我的应用程序没有数据源.我不希望Grails在应用程序不需要时加载内存中的hsql db.删除DataSource.groovy文件阻止我启动Web应用程序,似乎需要数据源,但如果我的应用程序不需要数据源,我还能做些什么吗?

database grails groovy datasource

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

良好的课堂设计

我正在尝试找出设计一个其属性保存在数据库中的类的最佳方法.我们来看一个基本的例子Person.要创建一个新人并将其放在数据库中,我希望该DateOfBirth属性是可选的(即在DB中为NULL).

这是我的示例代码:

namespace BusinessLayer
{
    class Person
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public DateTime DateOfBirth { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

我不确定这些领域是否应公开.我应该这样做:

class Program
{
    static void Main(string[] args)
    {
        Person person1 = new Person("Kate","Middleton",null);
    }
}
Run Code Online (Sandbox Code Playgroud)

或者像这样:

class Program
{
    static void Main(string[] args)
    {
        Person person1 = new Person();
        person1.FirstName = "Kate";
        person1.LastName = "Middleton";
    }
}
Run Code Online (Sandbox Code Playgroud)

我也想知道我应该如何处理类的可选属性.填写完字段后,如何将它们保存到数据库中?我有一个DatabaseComponenet类来保存信息.保存到数据库时如何处理可选项?

那么,我会做这样的事情:

public int Save()
{
    int …
Run Code Online (Sandbox Code Playgroud)

c# c#-4.0

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

这个Spring单例bean线程的设计是否安全?

考虑以下Spring Service类.定义的弹簧范围是Singleton.自动连接的两个服务bean作为下面类中的字段具有相似的结构 - 它们也由以下任一字段组成

  • 春豆本身
  • 无国籍班
  • 不可变类

等等.此模式总体上用于应用程序设计中.

@Service     
public class DocumentService {  
  private final DocumentGenerationService documentGenerationService;
  private final DocumentPublishService documentPublishService;

  @Autowired
  public DocumentService (DocumentGenerationService documentGenerationService,    
                          DocumentPublishService documentPublishService) {
  this.documentGenerationService = documentGenerationService;
  this.documentPublishService = documentPublishService;
}

... methods follow
Run Code Online (Sandbox Code Playgroud)

说DocumentService类是不可变的是正确的,因为它不可能改变它的两个字段中的任何一个(可以通过容器本身只初始化一次的spring bean)?

在任何情况下,上面定义的DocumentService bean都可以被认为是线程安全的吗?如果遵循这个设计,整个应用程序也是线程安全的吗?

java concurrency singleton spring multithreading

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

Reporting Services在哪里存储其日志文件

最相关的谷歌结果似乎表明,为了访问日志,我们必须将我们自己的日志表解密到数据库,并使Reporting Services写入它.

简单地说:肯定必须有Reporting Services的纯文本日志文件吗?如果是,这些文件存储在哪里?

sql sql-server reporting-services

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

如何使陷入无限循环的测试失败?

我有一些产生无限循环的代码.现在我需要编写一个在大约200ms后失败的测试.200ms将指示代码处于无限循环中.

例如:

public void CodeUnderTest()
{
   while(true)
   {

   }
} 
Run Code Online (Sandbox Code Playgroud)

.net c# unit-testing mstest .net-2.0

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

Java计时器

我正在尝试使用计时器来安排应用程序中的重复事件.但是,我希望能够实时调整事件触发的时间段(根据用户输入).

例如:

public class HelperTimer extends TimerTask
{
    private Timer timer;
    //Default of 15 second between updates
    private int secondsToDelay = 15;

    public void setPeriod(int seconds)
    {
        this.secondsToDelay = seconds;
        long delay = 1000; // 1 second
        long period = 1000*secondsToDelay; // seconds
        if (timer != null) 
        {
            timer.cancel();
        }
        System.out.println(timer);
        timer = new Timer();
        System.out.println(timer);
        timer.schedule(this, delay, period);
    }
    public int getPeriod()
    {
        return this.secondsToDelay;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我启动这个类的新实例并调用它的set period函数.但是,当我这样做时,我得到一个非法状态异常.你可以看到System.out.println(计时器); 在那里,因为我正在检查,并且确实,他们是两个不同的计时器...所以当我尝试在一个全新的Timer实例上运行计划调用时,为什么我会收到IllegalStateException!?!?!?!

java.util.Timer@c55e36
java.util.Timer@9664a1
Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: Task already …
Run Code Online (Sandbox Code Playgroud)

java timer

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