アカウント名:
パスワード:
申請にN個のドメインが含まれていた場合、Boulderは1個のみを選択してN回チェックしていたとのこと。
ぐあぁぁ(なにかトラウマが刺激されたらしい)
これだけじゃ何のことか分からんという人のために、丁寧に解説してくださっているブログを見つけたので参照。Let's EncryptがはまったGolangの落とし穴 [hatenablog.com]
これは、ループ内でループ変数iの参照を配列に入れてしまうことで、ループ終了後の出力値が(…中略)のように配列が全て同じ値になってしまう問題です。
for や range などで扱うループ変数が同じ参照になることを知っていないとやってしまいそうな初心者的な間違いです。(…中略)これはひょっとしたら自分もいつかこのようなバグを仕込んでしまうかも、と背筋が寒くなりました。
ループ変数の値でなく参照を配列に積んでいくって、どう考えたらそういう発想になるのか判らないのですが...Goだと、参照を渡すのがほぼ常だとかいうのがあるのでしょうか。
Let's encryptのバグはRustで実装していたら防げたの? [qiita.com]によると
実際のLet's encryptの実装ミスは、ループの中で関数呼び出しを挟んでいるので気づくのが難しいとも感じました。
だそうで、積んでるのが参照だということを見落としやすい形になっていたのかも
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常
ぐええ (スコア:5, おもしろおかしい)
申請にN個のドメインが含まれていた場合、Boulderは1個のみを選択してN回チェックしていたとのこと。
ぐあぁぁ
(なにかトラウマが刺激されたらしい)
補足ね (スコア:2)
これだけじゃ何のことか分からんという人のために、
丁寧に解説してくださっているブログを見つけたので参照。
Let's EncryptがはまったGolangの落とし穴 [hatenablog.com]
これは、ループ内でループ変数iの参照を配列に入れてしまうことで、ループ終了後の出力値が
(…中略)
のように配列が全て同じ値になってしまう問題です。
for や range などで扱うループ変数が同じ参照になることを知っていないとやってしまいそうな初心者的な間違いです。
(…中略)
これはひょっとしたら自分もいつかこのようなバグを仕込んでしまうかも、と背筋が寒くなりました。
「よくある間違い」なの? (スコア:0)
ループ変数の値でなく参照を配列に積んでいくって、どう考えたらそういう発想になるのか判らないのですが...
Goだと、参照を渡すのがほぼ常だとかいうのがあるのでしょうか。
Re:「よくある間違い」なの? (スコア:1)
Let's encryptのバグはRustで実装していたら防げたの? [qiita.com]によると
実際のLet's encryptの実装ミスは、ループの中で関数呼び出しを挟んでいるので
気づくのが難しいとも感じました。
だそうで、積んでるのが参照だということを見落としやすい形になっていたのかも
うじゃうじゃ