小编jra*_*ali的帖子

在Kotlin的密封舱内进行物体声明的目的是什么?

在Kotiln文档中,他们给出了密封类的以下示例:

sealed class Expr {
    class Const(val number: Double) : Expr()
    class Sum(val e1: Expr, val e2: Expr) : Expr()
    object NotANumber : Expr()
}
Run Code Online (Sandbox Code Playgroud)

在这里使用delcaring NotANumber作为对象声明(singleton?)会有什么用?为什么不写class NotANumber : Expr()

kotlin

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

有没有办法检查字符串是否包含在 TypeScript 的联合类型中?

考虑以下代码:

type Foo = "Foo" | "Bar" | "Baz"

function isInFoo(str: string) boolean {
    // return Foo.contains(str); ?
}
Run Code Online (Sandbox Code Playgroud)

在打字稿中,是否有一种优雅的方法来检查是否str在 type 中Foo

typescript

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

Java开发人员需要帮助理解F#中的.NET构建过程

我的大多数开发都是在Java中,我习惯于使用运行时,编译器和构建工具.所以现在我正试图进入.NET世界,特别是使用VSCode,Ionide插件和F#来构建一个F#程序.我很难理解与Java构建过程的直接比较.到目前为止,这是我的粗略理解:

  • JRE - > .NET运行时?
  • JDK工具 - > Microsoft Build Tools 2015,包括F#编译器和其他工具?
  • Paket - > maven?
  • 假 - > <build>pom.xml中的maven 部分?
  • paket.dependencies和paket.references - > <dependencies>pom.xml中的maven 部分?
  • *.*proj文件 - > ???

我对*proj文件感到困惑.我认为这与MSBuild有关.但我很困惑,因为我认为FAKE是MSBuild的替换,但我见过的一些FAKE例子引用了这个文件并将其传递给MSBuildRelease任务.

另外,为什么paket需要依赖项引用文件?

我希望有人能够确认,澄清,添加或者上述任何一项,到目前为止我的理解水平.非常感激!

编辑:

我知道这个问题很复杂,而且不是很具体.谢谢大家花时间去除它并回答你的能力.我很感激.

java f# maven f#-fake paket

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

从函数的输出创建 Bash 关联数组:为什么“declare -A foo=$(bar)”有效,但“declare -A foo; foo=$(bar)”无效?

考虑以下 bash 片段。在其中,我以不同的方式创建两个关联数组,然后打印其中一个条目。

场景 1.在一个语句中声明和赋值。按预期工作:

make_person() { echo '([firstName]=Bob [lastName]=Black)'; }
declare -A person1=$(make_person)
echo "${person1[firstName]}"
Run Code Online (Sandbox Code Playgroud)

输出:

Bob
Run Code Online (Sandbox Code Playgroud)

场景 2.在两条不同的行上声明和分配。无输出:

declare -A person2
person2=$(make_person)
echo "${person2[firstName]}"
Run Code Online (Sandbox Code Playgroud)

输出:

为什么方案 1 可以成功打印[firstName]条目而方案 2没有?两个场景都定义了和预期的行为吗?

bash shell

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

在没有FPU的情况下,浮点数会发生什么变化?

如果使用C语言编写没有FPU的微处理器,编译器会在遇到浮点文字和关键字(0.75,浮点数,双精度等)时发出错误信号?

此外,如果表达式的结果是小数,会发生什么?

我知道有一些软件库可供使用,因此你可以进行浮点数学运算,但我特别想知道如果你没有使用它会得到什么结果.

谢谢.

c c++ compiler-construction embedded floating-point

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

工厂模式:枚举参数与显式方法名称?

假设您有一个返回 ILightBulb 实例的工厂。实现工厂的两种方式(可能还有更多)如下:

选项 1 - 传入枚举类型

enum LightBulbType
{
    Incandescent,
    Halogen,
    Led,
}

class ILightBulbFactory
{
    public ILightBulb Create(LightBulbType type)
    {
        switch (type)
        {
            case LightBulbType.Incandescent:
                return new IncandescentBulb();
            case LightBulbType.Halogen:
                return new HalogenBulb();
            case LightBulbType.Led:
                return new LedBulb();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

选项 2 - 显式方法名称

class ILightBulbFactory
{
    public ILightBulb CreateIncandescent()
    {
        return new IncandescentBulb();
    }

    public ILightBulb CreateHalogen()
    {
        return new HalogenBulb();
    }

    public ILightBulb CreateLed()
    {
        return new LedBulb();
    }
}
Run Code Online (Sandbox Code Playgroud)

哪种方法最可取,为什么?

谢谢。

enums factory-pattern

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

如何在 oauth2 身份验证之上实现用户权限

在使用 IdP 通过 IdP 对其用户进行身份验证的 Web 应用程序中,oauth2用于实现用户权限(客户端和服务器端)的更标准/推荐选项是什么?

通过“用户权限”,我指的是用户在应用程序中允许或不允许执行的操作。
例如,假设应用程序有一个“管理”页面,用于管理应用程序的某些设置,仅允许特定用户进入。其中一些用户仅被允许查看当前设置,而其他用户也被允许更改设置(可能只有其中一些)。

据我所知,oauth2 中“范围”的概念可能用于实现这样的要求,例如,仅被允许查看“管理”页面app:admin:view的用户将具有范围,而可以此外,编辑设置也会有一个app:admin:some-setting:edit范围。
但是,在大多数大型身份提供者服务中,管理这些范围并将它们分配给用户的任务似乎是一项相当乏味的任务。

这会是一个很好的解决方案吗?如果是这样,是否有任何产品/服务与 oauth2 IdP 集成并帮助更轻松地管理权限及其分配给用户(例如,具有漂亮直观的 UI)?如果没有,是否有任何既定方法处理此类情况?

security permissions authorization user-permissions oauth-2.0

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