小编Nik*_*hev的帖子

为什么 AWS NACL 是无状态的?

据我所知,无状态防火墙更多地用于数据包过滤。为什么 AWS NACL 是无状态的?

NACL 强制为临时端口打开的端口范围太大。

除了安全组,还有其他方法可以在 AWS 上创建有状态防火墙吗?安全组感觉过于细化,可能会被错误地忽略。

amazon-web-services amazon-vpc aws-security-group aws-nacl

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

Clojure:何时使用记忆,何时使用延迟/强制?

我刚刚开始学习 Clojure 并试图了解两种乍一看非常相同的方法之间的区别。

(def func0 (delay (do 
                    (println "did some work") 
                    100)))
so.core=> (force my-delay2)
did some work
100
so.core=> (force my-delay2)
100
Run Code Online (Sandbox Code Playgroud)
(defn vanilla-func [] (println "did some work") 100)
(def func1 (memoize vanilla-func))
so.core=> (func1)
did some work
100
so.core=> (func1)
100
Run Code Online (Sandbox Code Playgroud)

这两种方法都做某种功能记忆。我错过了什么?

我试图在https://clojuredocs.org/clojure.core/delay & https://clojuredocs.org/clojure.core/memoize上找到解释,但找不到。

clojure

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

Clojure 核心函数参数位置似乎相当混乱。它背后的逻辑是什么?

对我来说,一个新的 Clojurian,当涉及到参数顺序/位置时,一些核心函数似乎相当违反直觉和令人困惑,这是一个例子:

> (nthrest (range 10) 5) 
=> (5 6 7 8 9)

> (take-last 5 (range 10)) 
=> (5 6 7 8 9)
Run Code Online (Sandbox Code Playgroud)

也许它背后有一些我还没有看到的规则/逻辑?

我拒绝相信 Clojure 核心团队做出了如此多出色的技术决策,却忘记了函数命名/参数排序的一致性。

还是我应该记住它的原样?

谢谢


有点题外话:

rand& rand-intVS random-sample- 另一个例子,函数命名似乎不一致,但这是一个很少使用的函数,所以没什么大不了的。

lisp clojure clojurescript clojure-core

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

YARD如何记录返回固定大小数组的方法的@return类型?

我有以下方法:

def foo
  [true_or_false, some_integer]
end
Run Code Online (Sandbox Code Playgroud)

它总是返回一个由 2 组成的数组,其中第一个元素是布尔值,第二个元素是整数。如何使用@return元标记在 YARD 中记录它?

后面就是这样使用的:

is_success, exit_code = foo
Run Code Online (Sandbox Code Playgroud)

我已经检查了@return 部分的官方文档,但没有多大帮助。

ruby yard

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

ActiveRecord、Postgres 和分区表

我已经根据此处的pg 文档在我们的 pg 8.3 数据库之一上设置了基于触发器的分区方案: 。基本上,我有一个父表和几个子表。父表上的插入触发器会将父表上的任何插入重定向到适当的子表中——这效果很好。

然而,ActiveRecord pg 适配器似乎依赖于 postgres INSERT ... RETURNING "id" 扩展来获取初始插入后返回行的 id。但触发器似乎破坏了 RETURNING 子句——尽管行已正确创建,但没有返回 id。

虽然我认为这种行为是有道理的——毕竟,主表中没有插入任何内容,我确实需要找到某种解决方法,因为将插入其他需要刚刚插入的行 ID 的子记录排。

我想我可以在插入之前向行添加某种唯一的 id,然后在插入后使用此键重新读取它,但这看起来相当混乱。有人有更好的解决方法吗?

postgresql activerecord partitioning ruby-on-rails rails-activerecord

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

Fastify 模式下 NestJS 动态模板渲染 - res.render 不是函数

我觉得Model-View-Controller @ docs.nestjs.com没有涵盖这个用例 - 有“动态模板渲染”部分 + Fastify,但两者组合在一起似乎效果不佳。

我尝试过以下片段:

import { Get, Res } from '@nestjs/common'

@Get()
index(@Res() res) {
  if (isFoo()) {
    return res.render('template1.html', {var1: 'foo'})
  } else {
    return res.render('template2.html', {var2: 'bar'})
  }
}
Run Code Online (Sandbox Code Playgroud)

它失败了

类型错误:res.render 不是函数

有什么办法可以解决吗?

需要明确的是,我不使用的原因@Render是因为我需要该操作中的条件逻辑。

nestjs fastify nestjs-fastify

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