小编Fra*_*ron的帖子

纯粹使用 Dockerfile 创建带有恢复的备份数据库的 SQL Server docker 映像

以下 docker 文件使用从备份 (rmsdev.bak) 恢复的数据库创建自定义 SQL Server 映像。

FROM mcr.microsoft.com/mssql/server:2019-latest
ENV MSSQL_PID=Developer
ENV SA_PASSWORD=Password1?
ENV ACCEPT_EULA=Y

USER mssql

COPY rmsdev.bak /var/opt/mssql/backup/

# Launch SQL Server, confirm startup is complete, restore the database, then terminate SQL Server.
RUN ( /opt/mssql/bin/sqlservr & ) | grep -q "Service Broker manager has started" \
    && /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P $SA_PASSWORD -Q 'RESTORE DATABASE rmsdev FROM DISK = "/var/opt/mssql/backup/rmsdev.bak" WITH MOVE "rmsdev" to "/var/opt/mssql/data/rmsdev.mdf", MOVE "rmsdev_Log" to "/var/opt/mssql/data/rmsdev_log.ldf", NOUNLOAD, STATS = 5' \ …
Run Code Online (Sandbox Code Playgroud)

sql-server docker dockerfile

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

F# 中具有泛型参数的高阶函数

RE:传递解析为多种类型的泛型函数的最佳方法是什么

请先阅读引用的链接,然后再继续往下看

我试图扩展这个概念并传递一个带有 2 个参数并用它们执行某些操作的通用函数。

静态方法有效,但是基于接口的方法会导致编译错误(请参阅标有 ​​//error 的代码行):

The declared type parameter '?' cannot be used here since the type parameter cannot be resolved at compile time.
Run Code Online (Sandbox Code Playgroud)

有谁知道如何修理它?

module MyModule

type T = Content of int
with 
    static member (+) ((Content i1), (Content i2)) = Content (i1 + i2)
    static member (*) ((Content i1), (Content i2)) = Content (i1 * i2)

type W = { Content: int }
with 
    static member (+) ({Content = i1}, {Content = i2}) = …
Run Code Online (Sandbox Code Playgroud)

f# higher-order-functions

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

将 Span<T> 传递给函数时出现 F# 错误

在以下 F# 代码中,f1 将 Span 作为输入,f2 调用 f1。当参数通过管道传递而不是传递时,编译器会给出指示的错误。

let f1 (span: Span<byte>) = span.Length

let f2() =
    let buf = [|0uy|].AsSpan()
    buf |> f1 // FS0412
    f1 buf // Ok
Run Code Online (Sandbox Code Playgroud)

FS0412 A type instantiation involves a byref type. This is not permitted by the rules of Common IL

有没有办法将 Span 通过管道传输到 F# 函数中?

.net f#

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

具有多个构造函数语法的F#继承

我有这个F#课

module File1

open System
open System.Collections.Generic

type TimeRangeList<'e>(getter: DateTime * DateTime -> List<'e>, ?maybe_tFrom: DateTime, ?maybe_tTo: DateTime) as this = 
    inherit List<'e>()
    //inherit List<'e>(getter(defaultArg maybe_tTo DateTime.Now, defaultArg maybe_tFrom ((defaultArg maybe_tTo DateTime.Now).AddDays(-1.0))))

    let tTo = defaultArg maybe_tTo DateTime.Now
    let tFrom = defaultArg maybe_tFrom (tTo.AddDays(-1.0))
    do this.AddRange(getter(tFrom, tTo))
Run Code Online (Sandbox Code Playgroud)

现在我想添加构造函数并使用此处的语法

type TimeRangeList<'e> = 
    inherit List<'e>
    val tFrom: DateTime
    val tTo: DateTime
    new (getter: DateTime * DateTime -> List<'e>, ?maybe_tFrom: DateTime, ?maybe_tTo: DateTime) = {
            inherit List<'e>()
            //inherit List<'e>(defaultArg maybe_tFrom ((defaultArg …
Run Code Online (Sandbox Code Playgroud)

inheritance f# constructor

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

在 AKS 集群中安装 nginx ingress 失败并出现 SyncLoadBalancerFailed 错误

我有一个带有 Web 应用程序的 AKS 集群。我想配置一个 nginx Ingress 控制器以将应用程序公开到互联网,然后启用 TLS。

我一直在关注官方文档

https://learn.microsoft.com/en-us/azure/aks/ingress-basic

https://learn.microsoft.com/en-us/azure/aks/ingress-static-ip

但我总是以悬而未决的 nginx-ingress 服务结束并出现此错误

reason: SyncLoadBalancerFailed
message: >-
  Error syncing load balancer: failed to ensure load balancer: instance not
  found
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我见过

如何修复 nginx 入口的“无法确保负载均衡器”错误

并用谷歌搜索了错误,但到目前为止还没有运气

有谁知道它会是什么?

或者,有一些我可以开始的工作示例吗?

azure kubernetes azure-aks nginx-ingress

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

在同一 AKS 集群中安装多个 nginx 入口控制器实例

我有一个全新的(非常空的)AKS 集群。我想使用 helm 在不同的命名空间和不同的入口类中安装 nginx 入口控制器的两个实例。

我从第一个开始:

helm install ingress1 ingress-nginx/ingress-nginx --namespace namespace1 --set controller.ingressClass=class1

NAME: ingress1
LAST DEPLOYED: Fri Sep 24 20:46:28 2021
NAMESPACE: namespace1
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
The ingress-nginx controller has been installed.
It may take a few minutes for the LoadBalancer IP to be available.
Run Code Online (Sandbox Code Playgroud)

都好

现在我选择第二个:

helm install ingress2 ingress-nginx/ingress-nginx --namespace namespace2 --set controller.ingressClass=class2

Error: rendered manifests contain a resource that already exists. Unable to continue with install: IngressClass "nginx" in …
Run Code Online (Sandbox Code Playgroud)

nginx kubernetes nginx-ingress helm3

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

F# 不同顺序的类方法中的类型推断问题

此 F# 代码编译无错误

type A() = 
    member private this.M1(tt: Task<'t>) = task {
        let! t = tt
        return t
    }

    member this.M4() = this.M2()
    member this.M2() = this.M1(Task.FromResult(1))
    member this.M3() = this.M1(Task.FromResult(1.0))
Run Code Online (Sandbox Code Playgroud)

M4 调用之后声明的 M2。现在我将私有方法移到最后:

type A() = 
    member this.M4() = this.M2()
    member this.M2() = this.M1(Task.FromResult(1)) //FS0064
    member this.M3() = this.M1(Task.FromResult(1.0)) //FS0001

    member private this.M1(tt: Task<'t>) = task { //FS0064
        let! t = tt
        return t
    }
Run Code Online (Sandbox Code Playgroud)

此代码无法编译并出现以下错误:

警告 FS0064 此构造导致代码不如类型>注释所指示的通用。类型变量“t”已被限制为“int”类型。

错误 FS0001 该表达式的类型应为“int”,但此处的类型为“float”

请解释为什么会发生这种情况以及如何解决它(如果可能)

f# type-inference

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

F#“函数”函数无法内联

下面2个函数

let episodeDict1 (a: obj) = 
    match a with
    | :? (Episode -> _) as generator ->
        let episodes = [D; W; M]
        let values = episodes |> List.map generator
        List.zip episodes values
    | :? _ as value -> [D, value; W, value; M, value]
    |> dict |> Dictionary


let episodeDict2: obj -> Dictionary<Episode, _> = function
    | :? (Episode -> _) as generator ->
        let episodes = [D; W; M]
        let values = episodes |> List.map generator
        List.zip episodes …
Run Code Online (Sandbox Code Playgroud)

f#

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