Tech Notes

|<<>>|
2/7

std::functionに入れられない関数オブジェクトの話

std::functionは、指定の引数リスト・戻り値型を持つ任意の関数オブジェクトを格納できる……これは実は真ではない。

C++ではstd::functionに入れられない関数オブジェクトというものが存在する。

具体的にはコピー不可能な関数オブジェクトは格納できない。 std::functionは格納する関数オブジェクトにコピーコンストラクト可能であることを要請する。

続きを読む

C++におけるコンマ区切りの変数宣言と初期化順序

C++でこういうコードを書いたとする。

int a = 10, b = a * 2;

初期化がa→bの順で行われるなら問題は起きないが、仮に逆の順だと問題が起きるように思われる。その辺は規格上どうなっているのか調べてみた。

続きを読む

VulkanのPushConstantとDescriptorSetの使い分け

Vulkanにおいてはシェーダに何か共通の変数を渡すための方法として主に2つの方法がある。一つは「DescriptorSet」、もう一つは「PushConstant」だ。

この2つの使い分けに関する良さげな情報があったので読んでみた。

続きを読む

ConoHa APIをRustから叩いてみた話

現在自分はRustを第二のメイン言語としようと絶賛勉強中である。勉強と実用を兼ねて、LetsEncryptのDNS認証をRustにやらせてみた。

全ソースコードはGithubに上げてある。ConoHa APIの仕様などについては、公式ドキュメント以前書いた記事を参照。

続きを読む

トゥーンレンダリングのアルゴリズム雑まとめ

調べてもなかなか(自分にとって)的確な記述が出てこなかったので、(自分にとって)分かりやすくまとめ。

続きを読む

KeyCloakのパスワードハッシュの実装について調べてみた

多分あんまり必要とされない知識だと思うがメモ。動機としては以下のような理由で調べていた。

  • KeyCloakのユーザのパスワードを、KeyCloakの外にある自家製システムからREST APIで直接更新したい。
  • 更新失敗時に時間を置いて後で再試行出来るようにしたいが、後の再試行のために生パスワードを保存したくない。
  • 自家製システム内でハッシュ化を行った上でハッシュの方をKeyCloakに渡す形にできないか?これなら再試行が必要な場合も生パスワードでなくハッシュを保存すれば良くなる。
続きを読む

OpenSiv3Dとvcpkgを同居させたら(やや)面倒なことになった話

結論から言って設定一つで解決する程度の話だったのだが、割と手間取ったのでメモ。

続きを読む
|<<>>|
2/7