小编Tor*_*Tor的帖子

在R中抑制一个命令的输出

我想抑制一个命令的输出(在这种情况下,apply函数).

是否可以不使用sink()?我已经在下面找到了所描述的解决方案,但是如果可能的话,我想在一行中做到这一点.

如何抑制输出

r

79
推荐指数
6
解决办法
9万
查看次数

无法在sql server中删除并创建数据库

我正在使用SQL Server 2008,我似乎无法删除并创建数据库.

我尝试了几种不同的方法,但我总是在它似乎被创建之前没有丢弃或试图"使用".

我目前的尝试看起来像这样.

use master;
GO
IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'test')
BEGIN
DROP DATABASE [test];
END
GO
CREATE DATABASE [test];
GO
use [test];
GO
Run Code Online (Sandbox Code Playgroud)

GO被建议在MS论坛,以此来阻止选择数据库时出现的一些问题.

有了这个,我目前得到的输出(与现有的同名数据库):

消息3702,级别16,状态4,行3
无法删除数据库"test",因为它当前正在使用中.
消息1801,级别16,状态3,行1
数据库'测试'已存在.选择其他数据库名称.
消息2714,级别16,状态6,行2
数据库中已存在名为"staff_type"的对象.

对我数据库中的每个表重复最后2行.

sql t-sql sql-server-2008

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

如何确定EventLog是否已存在

我正在使用以下行创建一个新的事件日志

new-eventlog -LogName "Visual Studio Builds" -Source "Visual Studio"
Run Code Online (Sandbox Code Playgroud)

我想每次运行它,因为如果我从新计算机运行构建,我仍然希望看到事件日志.

问题是每次在创建日志后运行脚本时,都会抛出错误.

New-EventLog : The "Visual Studio" source is already registered on the "localhost" computer.
At E:\Projects\MyApp\bootstrap.ps1:14 char:13
+ new-eventlog <<<<  -LogName "Visual Studio Builds" -Source "Visual Studio"
    + CategoryInfo          : InvalidOperation: (:) [New-EventLog], InvalidOperationException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.NewEventLogCommand
Run Code Online (Sandbox Code Playgroud)

现在我知道我可以"搜索"事件日志

Get-EventLog -list | Where-Object {$_.logdisplayname -eq "Visual Studio Builds"} 
Run Code Online (Sandbox Code Playgroud)

但现在我如何确定它是否存在?

powershell eventlog-source event-log

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

正确的Elixir OTP方式来构建重复任务

我有一个工作流程,涉及每30秒左右醒来并轮询一个数据库以获取更新,对此采取行动,然后再回到睡眠状态.撇开数据库轮询不会扩展和其他类似问题,使用主管,工作人员,任务等构建此工作流的最佳方法是什么?

我将列出一些我已经拥有的想法和我的想法/反对.请帮我弄清楚Elixir-y最方法.(顺便说一句,我对Elixir还很新.)

1.无限循环通过函数调用

只需在其中放入一个简单的递归循环,如下所示:

def do_work() do
  # Check database
  # Do something with result
  # Sleep for a while
  do_work()
end
Run Code Online (Sandbox Code Playgroud)

阅读有关构建网络爬虫教程时,我看到了类似的内容.

我在这里遇到的一个问题是由于递归导致的无限堆栈深度.这会不会导致堆栈溢出,因为我们在每个循环结束时递归?这个结构用于任务的标准Elixir指南,所以我可能错误的堆栈溢出问题.

更新 - 如答案中所述,Elixir中的尾调用递归意味着堆栈溢出在这里不是问题.在最后调用自己的循环是一种可接受的无限循环方式.

2.使用任务,每次重启

这里的基本思想是使用运行一次然后退出的Task,但是将它与具有one-to-one重启策略的Supervisor配对,以便每次完成后重新启动.任务检查数据库,休眠,然后退出.主管看到出口并开始新的出口.

这有利于住在主管内部,但这似乎是滥用主管.除了错误捕获和重新启动之外,它还用于循环.

(注意:使用Task.Supervisor可能还有其他一些功能,而不是普通的Supervisor,而我只是不理解它.)

3.任务+无限递归循环

基本上,将1和2组合在一起,因此它是一个使用无限递归循环的Task.现在它由Supervisor管理,如果崩溃将重新启动,但不会作为工作流的正常部分反复重启.这是目前我最喜欢的方法.

4.其他?

我担心的是,我缺少一些基本的OTP结构.例如,我熟悉Agent和GenServer,但最近我偶然发现了Task.也许正是这种情况下有某种Looper,或者是Task.Supervisor的一些用例.

elixir erlang-otp

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

R中var_dump()的等价物是什么?

我正在寻找一个转储变量和对象的函数,以及人类可读的数据类型解释.例如,在php var_dump中这样做.

$foo = array();
$foo[] = 1;
$foo['moo'] = 2;

var_dump($foo);
Run Code Online (Sandbox Code Playgroud)

产量:

array(2) {
  [0]=>
  int(1)
  ["moo"]=>
  int(2)
}
Run Code Online (Sandbox Code Playgroud)

php serialization r dump

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

CQRS和服务总线

CQRS是关于分离命令和查询.我们可以使用Event Sourcing,DDD,NoSQL等几种模式和技术轻松添加它......但ServiceBus是强制性的吗?

cqrs

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

资源监视器 - 为什么某些TCP连接显示为灰色?

在Windows 2008 R2上运行资源监视器时,某些TCP连接显示为灰色,而其他TCP连接为黑色.如果它们变灰了是什么意思?

resource-monitor

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