プログラミング

【Unity】UniTaskを利用した条件待機 - WaitUntileとWaitWhile

UniTaskには、非同期で特定の条件が満たされるまで待機するためのメソッドとして、WaitUntilとWaitWhileがあります。正直使おうと思うとどっちがどっちがごちゃることが多いのでここに備忘録を残しておきたいと思います。これらのメソッドは、Unityのゲーム…

【Unity】UniTaskで「キャンセル時の処理」を登録する - RegisterWithoutCaptureExecutionContextの機能と使い所

RegisterWithoutCaptureExecutionContext の機能と使い所 RegisterWithoutCaptureExecutionContextは、CancellationTokenがキャンセルされた時に実行したい処理を登録するためのメソッドです。こちらはUniTask用のメソッドで、通常のTask用に Register メソ…

【Unity】UniTask終了時に必ず実行したい処理を登録する方法

UniTaskを使って非同期処理を書いた場合に、「早期returnしたいけど必ずこのスコープが終了する時に実行したい処理があるんだよなぁ・・・」というシチュエーションがありがちです。 その場合に using構文とIDiposableを使って終了時の処理を最初に登録し、…

【Unity】【C#】メンテナンス性を向上させるIReadOnlyList

せっかくC#を使っているので便利で簡単に使えるインターフェースを使わないのは勿体無いと思うのです。 IReadOnlyListはどこでも使えるし、メソッドの引数をListやArrayからこちらに変えるだけで意図を明確に堅牢なコードになるのでおすすめです。 この記事…

rubyでopenSSLを使う -ファイルの暗号化-

rubyを使ってファイルの暗号化と復号を行う =begin ファイルの暗号化と復号 =end require 'openssl' require './create_key' class File_Crypto def initialize(key = nil, iv = nil, alg = "aes-128-cbc") @cip = OpenSSL::Cipher.new(alg) @key = key @iv …

Hopscotch Hashingなるものを見つけた

必要に迫られているわけでもなく、ものすごく興味があるわけでもないけれど、ふと最強のハッシュアルゴリズムってなんだろう?という小さな疑問から色々探してみたら、ハッシュの世界はなかなか奥が深いものでした。