我刚刚在一个简单的nest控制器上测试了性能,它在get请求(没有数据库)上返回文本.与快递相同的简单GET控制器(中间件).
我使用WRK工具来测试性能.
因此,plain express比nestjs快2倍.为什么nestjs会产生如此多的开销?
package main
import (
"bufio"
"encoding/csv"
"fmt"
"io"
"log"
"os"
)
func main() {
data, err := os.Open("cc.csv")
defer data.Close()
if err != nil {
log.Fatal(err)
}
s := bufio.NewScanner(data)
for s.Scan() {
fmt.Println(s.Text())
if err := s.Err(); err != nil {
panic(err)
}
}
// Is it a proper way?
data.Seek(0, 0)
r := csv.NewReader(data)
for {
if record, err := r.Read(); err == io.EOF {
break
} else if err != nil {
log.Fatal(err)
} else {
fmt.Println(record) …
Run Code Online (Sandbox Code Playgroud) 我有几个问题:
1)对于外部API使用和作为主干(或普通js)前端的服务器端,使用REST API是一个好习惯吗?我认为编写一个REST API服务器并将其用作后端要容易得多.
2)如果我使用oauth 2标准编写我的webapp身份验证,这是将我的秘密令牌存储在cookie中的好方法吗?我认为这会导致CSRF漏洞.
正如我所看到的,passport.js使用cookie存储秘密令牌,例如Facebook或Twitter ......在这种情况下,CSRF是什么?
有谁知道使用Firebase iOS SDK远程调用Firebase是使用主线程还是后台线程?
我在文档中找不到任何东西.
protocol Deck {
var cards: [String] {get set} // {get mutable set}
}
struct MyDeck: Deck {
var cards: [String] = (1...7).map {_ in return String(rand())}
}
Run Code Online (Sandbox Code Playgroud)
只是感兴趣,我需要在协议中指定{get mutable set}吗?找不到有关为什么如果我的setter改变了我的结构,为什么不在setter声明中不使用mutable关键字的任何文档