小编pho*_*att的帖子

使用Typescript(Angular 5)中的类vs接口与Java和C#进行对象创建

我想了解使用接口vs类来创建角度为2的模型.当我们用Java或C#创建模型时,我们使用模型类来表示在我们的应用程序中传递的数据模型,因此强类型化.

//C#
public class Movie 
{
   public int ID { get; set; }
   public string Title { get; set; }
   public DateTime ReleaseDate { get; set; }
   public string Genre { get; set; }
   public decimal Price { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

大多数时候,我们会根据我们的要求坚持使用这种模型将数据绑定到数据库.

我看到使用相同方法的示例和教程.

//Java
public class Movie
{
   public int ID;
   public String Title;
   public Date ReleaseDate;
   public String Genre;
   public float Price;
}
Run Code Online (Sandbox Code Playgroud)

然后,我开始使用angular和typescript进行Web开发.我发现有些人喜欢使用界面来表示他们的模型而其他人喜欢坚持使用类.

//Class
export class Movie {
    public string id;
    public string title;
    public Date ReleaseDate; …
Run Code Online (Sandbox Code Playgroud)

interface class object typescript angular

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

使用 IAsyncEnumerable 读取文本文件

我在测试 C# 8.0 功能时遇到了 IAsyncEnumerable。我从 Anthony Chu ( https://anthonychu.ca/post/async-streams-dotnet-core-3-iasyncenumerable/ ) 中找到了非凡的例子。它是异步流和替代Task<IEnumerable<T>>

// Data Access Layer.
public async IAsyncEnumerable<Product> GetAllProducts()
{
    Container container = cosmosClient.GetContainer(DatabaseId, ContainerId);
    var iterator = container.GetItemQueryIterator<Product>("SELECT * FROM c");
    while (iterator.HasMoreResults)
    {
        foreach (var product in await iterator.ReadNextAsync())
        {
            yield return product;
        }
    }
}

// Usage
await foreach (var product in productsRepository.GetAllProducts())
{
    Console.WriteLine(product);
}
Run Code Online (Sandbox Code Playgroud)

我想知道这是否可以应用于读取文本文件,例如下面逐行读取文件的用法。

foreach (var line in File.ReadLines("Filename"))
{
    // ...process line.
}
Run Code Online (Sandbox Code Playgroud)

我真的很想知道如何将 async withIAsyncEnumerable<string>()应用于上述 foreach 循环,以便在阅读时进行流式传输。

如何实现迭代器以便我可以使用 yield …

c# system.io.file c#-8.0 iasyncenumerable

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

Nestjs 的 Swagger Codegen

我已经使用 Swaggerhub 创建了 api 端点,并成功导出以与 asp.net core 一起运行。我想用 Nestjs 测试相同的 api,但我发现用 openapi 进行记录,但反之则不然;将 yaml 转换为 Nodejs。有没有办法使用 OpenAPI3.0 架构中的 TypeScript 生成 NestJS?

swagger-codegen nestjs swaggerhub

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

如何在新的 Visual Studio 2019 的新 git 体验界面中添加要提交的工作项

Visual Studio 2019 版本 16.8.3 的快速问题,如何将工作项连接到新的 git 更改选项卡中的提交?我真的很难使用这个新的 git 体验。我可以在团队资源管理器中看到我的工作项,但不知道如何将此工作项添加到这个新界面中的提交中。通常,在提交之前版本中的文件时,会有一个添加相关工作项的按钮。请有人帮帮我吗?

ide git workitem visual-studio-2019

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

firebase功能在成功将映像保存到firebase云存储后获取下载URL

将图像保存到云存储后,我在firebase功能中获取下载URL时遇到问题.下面是我在firecript中的firebase http函数,用于将base64字符串保存到firebase云存储中的jpeg.当我记录结果时,它总是为空.我按照此链接获取下载URL" 从使用firebase-admin上传的文件中获取公共URL ".但它给了我以下错误:" SigningError:身份和访问管理(IAM)API尚未在项目81673989436中使用之前或它被禁用. "并且找不到简单的示例.我的计划是在上传到云存储后更新我的firestore表.

export const publishImage = functions.https.onRequest((req, res) => {
// Convert the base64 string back to an image to upload into the Google 
// Cloud Storage bucket
const base64EncodedImageString=req.body.image.replace(/^data:image\/jpeg;base64,/, "");
const mimeType = 'image/jpeg';
const randomFileName = crypto.randomBytes(16).toString('hex') + '.jpeg';    
const imageBuffer = new Buffer(base64EncodedImageString, 'base64');

const bucket = admin.storage().bucket();

// Upload the image to the bucket
const file = bucket.file('images/' + randomFileName);
file.save(imageBuffer, {
    metadata: { contentType: mimeType },
}).then(result => {
    console.log(result);
    file.makePublic(); …
Run Code Online (Sandbox Code Playgroud)

google-cloud-storage firebase typescript firebase-admin

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

在typescript或javascript中链接箭头函数

我在"Angular,第二版入门"一书中偶然发现了下面的箭头函数代码.

let isPrime: (n: number) => boolean = n => { 
// body 
};
Run Code Online (Sandbox Code Playgroud)

我想确认这个细分的正确性.

  1. let isPrime =函数名称"isPrime"
  2. (n: number) =输入参数号"n"
  3. => boolean =箭头函数检查布尔值(放置逻辑的地方)
  4. =n=我没有得到这一部分.这是否意味着如果我把"逻辑在第三步中找到素数"并且是真的,你得到满足我逻辑的"n"?
  5. => {} =我可以将返回或其他逻辑放在最后的过程中.

最后一个问题是有多少箭头功能对于链接或限制来说太多了?

我相信@Fenton对我的理解给出了明确的解释.

@Sebastien给了我答案,让我意识到我对箭头功能的错误解释; 等号和箭头符号并不总是指向函数,也可以表示数据类型.

以下是我接受的答案的组合版本.

类型

现在让我们描述这个函数的类型,它是一个数字,并返回一个布尔值.

//correct usage : return boolean
let isPrime: (n: number) => boolean = n => { 
    // body
    return true
};

//incorrect usage
let isPrime: (n: number) => boolean = n => { 
    // body
    return "wrong"
};
Run Code Online (Sandbox Code Playgroud)

简单

我想我会写如下,除非我有充分的理由使用箭头功能!

//correct usage : return …
Run Code Online (Sandbox Code Playgroud)

javascript logic typescript arrow-functions

3
推荐指数
2
解决办法
77
查看次数

Ngx图表无法使用带有角度的异步管道直接加载条形图

我的问题类似于此stackoverflow帖子

当我使用异步管道从firebase观察数据并将其显示在图表中时,可以看到图表,但在控制台中提示为空错误。没有异步管道,所有错误都消失了,但是我无法获取数据(这是异步数据)。请帮帮我。

巴查特

条形图代码

错误

空图

javascript observable angular-pipe angular ngx-charts

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

损坏的二维码重建

下面的图像编辑 是原始图像的预处理序列。1. 原始图像 -> 2. 模糊 xn 次以使 qrcode 位置显着 -> 3. 裁剪原始图像,使用 blob 从第二步中提取位置 -> 4. 锐化和阈值 -> 5. 检查 qrcode 的三个方块 -> 6 .进行额外的转换,例如旋转 ->(最终图像)(具有调整大小分辨率的裁剪图像。)

老问题 我正在尝试从原始图像重建二维码。正如你所看到的,照片的二维码已损坏,因此我使用 Aforge 库使用 blob 从图像中检测 3 个正方形。现在我不明白的是从这些信息生成二维码的逻辑。在技​​术上是否可以用给定的信息重建二维码?

分解

qr-code image-processing aforge

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