小编Seb*_*zzz的帖子

在2d块网格中查找矩形

假设我有一个块网格,7x12.我们使用颜色'*','%','@'和一个空单元' - '.

1 2 3 4 5 6 7
- - - - - - -  1
- - - - - - -  2
% % - - - - -  3
% % - - - - *  4 
% % - - - @ %  5
@ @ @ - - @ %  6
@ @ * * * - *  7
* * * % % % %  8 
% @ @ % * * …
Run Code Online (Sandbox Code Playgroud)

algorithm grid

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

TS1055使用async/await时使用类型别名

我已经声明了一个类型别名:

export type ActivationPromise = Promise<void>;
Run Code Online (Sandbox Code Playgroud)

我写了以下函数:

async function derp(): ActivationPromise {
    await test();
}

function test() : ActivationPromise {
    return Promise.resolve();
}
Run Code Online (Sandbox Code Playgroud)

我的tsconfig.json:

{
    "compilerOptions": {
        "noImplicitAny": true,
        "removeComments": true,
        "preserveConstEnums": true,
        "sourceMap": true,
        "module": "commonjs",
        "target": "es5",
        "allowJs": true,
        "alwaysStrict": true,
        "importHelpers": true,
        "lib": [ "dom", "es5", "es2015.promise", "es2015.iterable", "scripthost"]
    },
    "compileOnSave": false
}
Run Code Online (Sandbox Code Playgroud)

当我编译时,我得到:

错误TS1055:类型'ActivationPromise'不是ES5/ES3中的有效异步函数返回类型,因为它不引用与Promise兼容的构造函数

如果我将返回类型更改为简单Promise<void>,则代码编译正常.仅在使用类型别名时,才会出现问题.由于类型别名应该只是作为一个typedef,为什么会发生这种情况?

typescript

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

Powershell管道会导致爆炸性内存使用

我目前正在Powershell中编写一个脚本,允许将SVN存储库中的文件夹复制到另一个文件夹,同时保留历史记录.这种命令的一个例子是:

svnadmin.exe dump $FromRepoPath `
    | svndumpfilter.exe include --drop-empty-revs --renumber-revs --preserve-revprops $Folder `
    | svnadmin.exe load --ignore-uuid $ToRepoPath
Run Code Online (Sandbox Code Playgroud)

这会在Powershell中导致非常高的内存使用量.似乎Powershell首先执行svnadmin.exe并从SVN admin缓冲stdout,然后执行svndumpfilter并缓冲输出并最终执行svnadmin.exe.

我可以通过创建一个单独的批处理文件来解决它:

@echo off
svnadmin.exe dump %1 | svndumpfilter.exe include --drop-empty-revs --renumber-revs --preserve-revprops %2 | svnadmin.exe load --ignore-uuid %3
Run Code Online (Sandbox Code Playgroud)

然后从Powershell调用它:

cmd.exe /c "SvnHelper.cmd $FromRepoPath $Folder $ToRepoPath"
Run Code Online (Sandbox Code Playgroud)

但这感觉就像一个讨厌和不必要的解决方法.

有没有办法告诉Powershell在管道而不是缓冲时直接传递?

powershell batch-file

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

Cake:构建脚本进度

我目前正在构建一个与团队城市互动的Cake构建脚本,我想提供进度消息.我可以轻松报告任务名称,但我无法找出构建脚本中的进度.想想("执行任务1的5").

有没有办法在构建脚本中找到进度?

c# cakebuild

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

ASP.NET Core Razor:没有值的条件属性

我想有条件地readonly<input>. 在 Razor 的 ASP.NET Core 方言中,属性的解释与 System.Web.Mvc 略有不同。

在 System.Web.Mvc 我曾经这样做:

<input name="Name" class="form-control" @(Model.MyCondition ? "readonly" : "") />
Run Code Online (Sandbox Code Playgroud)

在 ASP.NET Core 中,同样不起作用:没有错误,但也没有呈现该属性。

<input asp-for="Name" class="form-control" @(Model.MyCondition ? "readonly" : "" ) />
Run Code Online (Sandbox Code Playgroud)

一旦属性出现在 HTML 中,它就会被强制执行,所以我不能对属性的做任何事情。此代码段将导致输入始终为只读:

<input asp-for="Name" class="form-control" readonly="@(Model.MyCondition ? "readonly" : "" )" />
Run Code Online (Sandbox Code Playgroud)

现在,我可以通过创建一个响应标签的标签助手来解决这个问题is-readonly,但这对于如此简单的事情来说似乎非常复杂。

如何在不求助于自定义标签助手的情况下有条件地呈现无值属性?

razor asp.net-core

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

范围服务:访问没有 IHttpContextAccessor 的 HTTP 上下文

在 ASP.NET Core 中,我有一个在 DI 中注册为作用域的服务。我可以访问该服务中的 HTTP 上下文而不使用IHttpContextAccessor它的开销吗?

asp.net-core

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