题:
休息 API 应该使用哪些头盔模块?
背景:
我正在构建一个 Node/Express REST Api 并不断看到 Helmet 作为我应该使用的安全中间件弹出。查看 Helmet 的文档,看起来某些模块(内容安全策略、跨域等)仅适用于前端应用程序。哪些模块应该在 Helmet 中用于 Rest API?
我是堆栈溢出和 Haskell 的新手,所以请让我知道是否有其他方法可以做到这一点!
这很大程度上是这个堆栈溢出问题的重复,Haskell Recursion Subsets,但是这个问题得到的答案并没有真正帮助我,我仍然对这个问题中的递归如何工作感到困惑。这是我尝试重新开始针对这个问题的对话。
这是问题:
我对以下代码片段中的递归如何工作感到困惑:
subsets :: [a] -> [[a]]
subsets [] = [[]]
subsets (x:xs) = [zs | ys <- subsets xs, zs <- [ys, (x:ys)]]
Run Code Online (Sandbox Code Playgroud)
这段代码的输出是:
*Main> subsets [1,2,3]
[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]
Run Code Online (Sandbox Code Playgroud)
我了解如何递归调用子集以及如何获取子集[] = [[]],但我对它如何返回列表列表以及如何返回诸如 、 和 之类的列表[1]感到[1,3]困惑[2,3]。
再说一次,我是堆栈溢出的新手,所以请让我知道除了重复这个问题之外是否还有更好的方法。