2023-01-01から1年間の記事一覧
Database に接続する時に SqlConnection を使っていたんだけど、 毎回インスタンス作っていいの? Pool とか再利用されてるの? みたいなが疑問が出てきたのでまとめる。 learn.microsoft.com をベースに色々試していく。 The pooler maintains ownership of…
動機 1 章 監視のアンチパターン 2 章 監視のデザインパターン 3 章 アラート、オンコール、インシデント管理 7 章 アプリケーション監視 動機 オブザーバビリティと監視の違いが良くわからないので理解したい 関わっているプロダクトの運用を監視の文脈でよ…
1 章 お金の計画の基本 お金の計画を立てるとは自分が欲しいものを知ること。まぁでも計画自体にあまり価値はないんだろうな。お金の価値って時間ともに変わっていくし、計画を立てた当時では買えたであろうはずのものが買えなくなってしまったってことはあ…
Rule の作成 Rule の作成 この記事を読みながら learn.microsoft.com CreateRuleAsync というメソッドを使えば、ある topic の subscription に適応するルールを作成できます。 このルールを適応すれば、例えば以下のようなことが出来ます。 ApplicationProp…
1 章 解像度を上げる 4 つの視点 解像度とは...「物事の理解度や、物事を表現する時の繊細さ、思考の明確さ」を表すもの。解像度が高いほど、これらのことも高いことを表す。 解像度の高い人は、対象を以下の 4 つの観点から見ている 深さ 対象の物事や事象…
1 章 世界一流のエンジニアは何が違うのだろう 「早く出来るように頑張る」ということが最終的な生産性をむしろ下げていた コピペをしたほうが「成果」は出る。 「理解」して「実践可能」にしていればそんなことすらする必要はない。 自分の場合はなるべく一…
動機 「良いコードとは認知不可の低いコードである」という漠然とした持論は持っていたが、「プログラミング中に発生する認知不可とは」が曖昧なので突き詰めたい 理解し難い物事に対するストレスが半端ないから、極力そんなコードを後世に残したくない プロ…
備忘用のメモです。 結論、インスタンスが破棄される時です。DI Container で生成されたインスタンスのライフサイクルは DI Container で管理されるので、破棄のタイミングで Dispose を呼び出してくれるみたいです。 雑にサンプルコード。DI Container に登…
動機 前書き 1 章 オブザーバビリティとは 2 章 オブザーバビリティとモニタリングにおけるデバッグの違い 3 章 オブザーバビリティを用いないスケーリングからの教訓 4 章 オブザーバビリティとDevOps、SRE、クラウドネイティブとの関連性 5 章 構造化イベ…
Stream を使いまわしたい時に Stream の Potision を初期化する方法です。
.NET の Disponse パターンって何で必要なんだっけってのとどうやって実装するんだっけってのをまとめときます。 前提 Dispose パターンとは? Dispose パターンの実装方法 StreamWriter, StreamReader の leaveOpen まとめ
.NET の Configure について調べたくなったのでまとめます。 GetValue Section Children Option Pattern と Section
GraphQL の入門記事その 1 です。なぜ誕生したのかや、採用するメリットについて書きました。
Uri class を使えばクエリパラメータの取得は出来るのですが、文字列だとどうしても扱いにくく良い方法はないものかと思っていました。 調べてみたら HttpUtility.ParseQueryString というメソッドがあって、これを使えばクエリパラメータ文字列を NameValue…
4 章 エラー システムで発生するエラーを回復可能なものと不能なものに分類して、それぞれがどういうものなのかを説明した章。 実装する際に、回復可能なエラー (回復することが期待されているエラーも含む) をどう扱うかコードベースで話してる。 まず回復…
Azure Function で Cencel Request が発生するとき Azure Function の parameter には Cancellation Token を bind させることが出来ます。 これを渡すことで Host OS はアプリケーションコードに対して終了通知を送ることが出来ます。 受け取ったアプリケー…
読み込んだ CSV のある Header の値を C# のクラスプロパティにマッピングさせて Deserialize したい場合がある。 そんなときの方法をメモ。 例として CSV で本の「タイトル」「著者」をまとめていたとして、これを C# の Book class に Deserialize する。 …
input tag に Change Event Handler を指定する。 export default function UploadFile() { const [formState, setFormState] = useState<File>(); const onFileInputChange = async (event: React.ChangeEvent<HTMLInputElement>) => { const { files } = event.currentTarget; if (</htmlinputelement></file>…