APIを呼びだすとき、SHA256で署名を追加したりします。こんな感じのコードがありました。 ただ、secretって、毎回変わることはないので、encoderは、事前に作って、staticで使いまわしができます。 こんな… 続きを読む ComputeHash は lock が必要
カテゴリー: C#
FormUrlEncodedContentの警告CS8620が出なくなった
Visual Studio 2022と .net6.0が出たので、試しつつ、ソースを読んだりしています。 FormUrlEncodedContentに入った修正を見ていると、Dictionary<string,st… 続きを読む FormUrlEncodedContentの警告CS8620が出なくなった
override時の戻り値がTaskで、awaitが無い(同期実行)の場合
C#でClassの継承時に、overrideしている場合、awaitすることが想定される場合、戻り値をTaskにすることになります。しかし、派生クラスによっては、await不要で、同期実行される派生クラスもあります。 p… 続きを読む override時の戻り値がTaskで、awaitが無い(同期実行)の場合
Spanって速いのね
C#のSpanが優秀だと聞くので、ちょっと試してみた。BenchmarkDotNetを使って、速度を比較してみた。 byte[5]からbyte[50]に、10回ループしてデータをコピーしてみた。違いは、byte[]のメソ… 続きを読む Spanって速いのね
BitFlyerのWebSocketプログラム(改)
先日書いた、BitFlyerのwssのサンプルバッファーをnewしていたのから、ArrayPoolを使う形に変えてみたわけだが・・・よく考えてみたら、ReceiveAsyncをawaitしている間、ずっとbufferを掴… 続きを読む BitFlyerのWebSocketプログラム(改)
c0000005エラーでアプリケーションが終了する
c0000005エラーでアプリケーションが終了する 根本的な解決策がなくて、現状、困っているわけだが・・・.Net Core3.1→.Net5.0と変更したところ、1日に1回くらいの頻度で、c0000005エラーでアプリ… 続きを読む c0000005エラーでアプリケーションが終了する
バッファーはArrayPoolから
先日、BitflyerのWebSocketのサンプルを上げたが、バッファーを・・・ とまあ、普通にnewしてた。 その後、いろいろ調べていて・・・ ようするに、今どきnew byte[]なんてしたら殺されるぞ! http… 続きを読む バッファーはArrayPoolから
BitFlyerのWebSocketAPIサンプル
ビットコインの会社、BitFlyerのAPIについて調べてみました。C#のサンプルコードを見てみると、StreamJsonRpcを使うらしい・・・。うーん、またNuGetで入れるものを増やすのか。無しでできないものかね?… 続きを読む BitFlyerのWebSocketAPIサンプル
HttpClientで、Postするときのコードの最適化
システムトレードでオーダーを出すとき、HttpClientでPostしますが、そのコードの最適化を行います。よくあるサンプルコードはこんな感じ。 この元になっているbodyは、jsonだったりするので、Utf8Jsonで… 続きを読む HttpClientで、Postするときのコードの最適化
Utf8Jsonで、テキスト値を、byte[]で取得したい場合
Utf8Json続きでTextを取得したい場合に、パフォーマンスのためにstringに変換せずにutf8-byte[]で取得したい場合があるかと思います。私は、byte[]の値に、属性[JsonFormatter(typ… 続きを読む Utf8Jsonで、テキスト値を、byte[]で取得したい場合