小编joh*_*hni的帖子

将3个枚举概括为一种类型

我正在编写一个Java程序来对文件进行一些计算.该程序支持3种类型的文件(文档,图像,视频),每种类型只允许几种格式:

enum DocType {
    pdf, doc, docx, xls, xlsx, ppt, pptx
}

enum ImageType {
    bmp, jpg, png, gif, ico
}

enum VideoType {
    avi, mpg, mp4, wmv, mov, flv, swf, mkv
}
Run Code Online (Sandbox Code Playgroud)

在我的程序中的某些时候,无论文件类型如何,我都希望保留文件扩展名,这意味着我希望能够执行以下任何分配:

FileType fileExt = DocType.doc
FileType fileExt = ImageType.jpg
FileType fileExt = VideoType.mp4
Run Code Online (Sandbox Code Playgroud)

我怎样才能在Java中实现这种行为?我知道枚举不能扩展其他枚举,所以基本上优雅的解决方案是不可能的.

谢谢

java enums

24
推荐指数
3
解决办法
1890
查看次数

Base64编码一个javascript对象

我有大型的Javascript对象,我想为AWS Kinesis编码为base-64.事实证明:

let objStr = new Buffer(JSON.stringify(obj), 'ascii');
new Buffer(objStr, 'base64').toString('ascii') !== objStr
Run Code Online (Sandbox Code Playgroud)

我想尽量保持这个简单.

我如何base-64编码JSON并安全地将其解码回原始值?

javascript base64 json node.js

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

SWIFT ONLY - 从NSInputStream读取

你能解释一下我如何从NSInputStream中正确阅读?

我无法理解什么是UnsafePointer以及它的用途(也适用于UnsafeArray).

NSInputStream读取函数获取CMutablePointer,可以使用UnsafePointer对象填充该CMutablePointer.

与Java的Streams相比,这真是一团糟.

你会推荐什么 ?

谢谢!

nsinputstream nsstream swift

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

像在Java中一样在Swift中使用套接字

如果我想连接到服务器,在Java中我会打开一个Socket并用端口和主机地址初始化它,然后检索输入/输出流并读/写我想要的任何内容.

在Swift中我很难这样做,因为它不是那样构建的,我真的希望看到一个如何连接到服务器,检索流并使用它们的简单示例.

EDIT1:

这是经过@Grimxn引用的测试代码.

var host = "http://google.com"
var readStream :CFReadStreamRef
var writeStream :CFWriteSteamRef
var socket = CFStreamCreatePairWithSocketToHost(nil, host, 80, readStream, writeStream)
Run Code Online (Sandbox Code Playgroud)

主要问题:

  1. 初始化上面的两个流也需要使用我一无所知的CFAllocator.使用kCFAllocatorDefault没有太大帮助,相同的错误.

  2. 上面的代码返回此错误:无法将表达式的类型'Void'转换为类型UInt32.

  3. 例如,当我使用UInt32(80)构造UInt32时,错误是:找不到接受所提供参数的'init'的重载.

我感谢任何帮助!

sockets input stream output swift

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

等待已经完成的任务时会发生什么?

当我构造一个类的实例时,我想触发令牌更新函数(async方法)并让它在后台运行(我保留对返回的引用Task).

稍后,当用户触发请求时,我想等待Task.

让我们假设Task在1秒后完成,并且用户在2秒后触发请求(这意味着Task完成).

处理用户请求await的方法是Task,它会立即获得值吗?毕竟,Task完成并保持价值.

.net c# asynchronous async-await

9
推荐指数
3
解决办法
3933
查看次数

如何使AWS Lambda停止执行?

我有一个AWSLambda函数对进行操作Kinesis Firehose。该函数使用退避机制。(这时候我认为这浪费了我的计算时间)。

但是无论如何,在我的代码中的某些时候,我想使执行失败。我应该使用什么命令来使执行停止?

附言:我发现有一些命令,例如:

  • context.done()
  • context.succeed()
  • context.fail()

我必须告诉你,我无法找到有关这些命令中的任何文件AWS的文件。

amazon-web-services aws-sdk aws-lambda

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

打字稿多态性

请看下面的代码:

class Greeter {
    greeting: string;
    constructor(message: string) {
        this.greeting = message;
    }
    greet() {
        return "Hello, " + this.greeting;
    }
}

class Ge extends Greeter {
    constructor(message: string) {
        super(message);
    }
    greet() {
        return "walla " + super.greet();
    }
}

let greeter = new Ge("world");

console.log(greeter.greet()); // walla Hello, world
console.log((<Greeter> greeter).greet()); // walla Hello, world
Run Code Online (Sandbox Code Playgroud)

我希望第二个日志能够打印出来Hello, world。查看转Javascript码后的代码,我看到的是完全相同的命令,所以这并不奇怪。

真正的问题是,您如何greeter转换为扩展类?

javascript polymorphism typescript

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

NSwag (Swagger) 创建区分大小写的 swagger 文件,导致参数名称不一致

我有一个 asp.net 核心项目,它使用 NSwag 作为它的 Swagger 工具。我遇到的问题如下:

  1. 我有一个描述集合实体的 Dto 类:

#

namespace SchedulerApi.Entities
{
    public class JobCollectionDtoV2
    {
        [Required]
        [FromRoute]
        [RegularExpression("^[a-z][a-z0-9]+$")]
        [StringLength(maximumLength: 24, MinimumLength = 3)]
        public string Collection { get; set; }

        [Required]
        [FromRoute]
        [RegularExpression("^[a-z][a-z0-9]+$")]
        [StringLength(maximumLength: 24, MinimumLength = 3)]
        public string Tenant { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)
  1. 以下 API 用于添加Collections

#

[HttpPut]
[Route("tenants/{tenant}/collections/{collection}")]
[SwaggerResponse(typeof(JobCollectionDtoV2))]
public async Task<IActionResult> CreateTask(JobCollectionDtoV2 collectionParams)
{
}
Run Code Online (Sandbox Code Playgroud)
  1. 这是 NSwag 生成的 Swagger 文件:

#

{
    "put": {
        "tags": [
            "JobCollectionsControllerV2" …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc swagger nswag

5
推荐指数
0
解决办法
729
查看次数

AWS Kinesis Firehose - 使用索引旋转 (Elasticsearch)

我已经设置了一个新AWS Kinesis Firehose流,并且想每周创建一个新索引。

为此,我应该Index Rotation在配置流时使用设置。

但是,我是否必须在下一周的每个周末都获取新索引?如果不是(希望不是),如何Firehose知道要使用什么映射?它是否使用我在设置中指定的索引中定义的映射Index

此外,假设我有旧数据,我可以Firehose根据旧数据中指定的日期创建具有相关时间戳的索引吗?

谢谢 !

amazon-web-services amazon-kinesis aws-sdk amazon-kinesis-firehose

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

在Swift中将一个字节转换为char

我正在使用NSInputStream来读取msgs.read方法以字节为单位返回msg,与Java中的相同.我想取字节并将其打印为char(例如在Java中println((char) 97) // prints "a")

我怎么会在Swift中这样做?

谢谢.

byte casting char swift

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