chevron_left

メインカテゴリーを選択しなおす

cancel
はなちる
フォロー
住所
未設定
出身
未設定
ブログ村参加

2020/03/05

arrow_drop_down
  • 【Terraform】Docker Providerを利用してローカルでインフラ環境を構築してみる

    はじめに Terraformを触っていたら、Docker Providerなるものがあることを見つけました。registry.terraform.iogithub.com面白そうだったので触ってみたメモを残しておきたいと思います。 はじめに Docker Providerとは tfファイルの記述 Terraformの実行 結果確認 後片付け 参考 Docker Providerとは Docker ProviderはDockerコンテナやイメージとやり取りをするためのProviderです。 The Docker provider is used to interact with Docker c…

  • 【C#】Dockerとminimal API(ASP.NET Core + .NET 8)を利用して最小構成のウェブサーバーを構築する

    はじめに 今回はDockerとminimal API(ASP.NET Core + .NET 8)を利用して最小構成のウェブサーバーを構築してみたいと思います。 はじめに プロジェクトを用意する Dockerfileを定義する イメージをビルド コンテナを起動 参考 プロジェクトを用意する まずはプロジェクトを作成します。minimal API用のテンプレートが用意されているので、それを利用していきます。 $ dotnet new web -o DockerTest -f net8.0 .NET 8がインストールされていれば無事にプロジェクトが作成されるはずです。 bin/ obj/ apps…

  • 【C#】minimal API(ASP.NET Core + .NET 8)で構築した最小構成のウェブサーバーをCloud Runで動作させる

    はじめに 今回はminimal API(ASP.NET Core + .NET 8)で構築した最小構成のウェブサーバーをCloud Runで動作させる方法を書いていきます。 はじめに プロジェクトを作成する Dockerfileについて Cloud Runにデプロイする Artifact Registry 参照 プロジェクトを作成する まずはminimal APIを利用したプロジェクトを作成します。テンプレートがプレインストールされているので、それを利用してプロジェクトを作成します。 $ dotnet new web -o CloudRunSample -f net8.0 テンプレート "AS…

  • 【Unity】UnityでCallerArgumentExpression属性, required修飾子, initアクセサを利用する方法(自分で定義する必要があり)

    はじめに 現在のUnityで利用できるC#のバージョンはC#9までになってます。ただ少し裏技?を使うことで実質C#11まで利用することが可能になっています。zenn.devただ注意点としてはasmdefが絡んでくるとよく知られているCsprojModifierを用いる手法だけだといけなかったはずです。(CsprojModifierでやっていることはAssetPostprocessor.OnGeneratedCSProjectを用いてcsprojに変更を加える)github.com本題のCallerArgumentExpressionなのですが、C#10から登場した属性です。Unityに対してC…

  • 【C#】インターンプールを用いてstring生成によるヒープのメモリ確保を防ぐ方法(メモリを占有しつづけるのでそこは注意)

    はじめに 今回はなるべくstringでヒープへのメモリ確保を抑えるためにインターンプールを利用する方法について紹介したいと思います。 はじめに 概要 string.Internとstring.IsInterned 明示的に登録しなくても登録される場合 注意点 参考 概要 通常stringはヒープにメモリが確保され、ガベージコレクションの対象になります。ただし同一の文字列なら同一のメモリ領域を利用した方が良いのではということで利用されるのがインターンプールです。 new stringで生成した文字列は、文字列の値として同一のものも、異なるメモリ領域に確保しています。ただし定数文字列のみ、インター…

  • 【C#】.NET 6で追加されたstring.Create(internalであるstring.FastAllocateStringを利用できるメソッド)を用いて高速にstringを生成する

    はじめに 今回はstring.Createを用いて高速にstringを生成する方法を紹介したいと思います。learn.microsoft.com 概要 string.FastAllocateStringというinternalなメソッドが.NETにはあり、これを利用することで高速に文字列領域を確保することができます。 通常のオブジェクトと同じようにオブジェクトヘッダを持ちヒープ領域に確保され、同様に、原則new stringのみで生成可能です。StringBuilder.ToStringやEncoding.GetStringなども、最終的にnew stringを呼んで、新たな文字列を確保していま…

  • 【C#】GitHub Actionsで.NETのビルド&テストを行う方法(スターターワークフローがあるので簡単)

    はじめに 今回はGitHub Actionsで.NETのビルド&テストを実行する方法を紹介したいと思います。 はじめに やり方 実験 ファイルを用意 ローカルで動作確認する GitHub Actionsが動作するか確認する ワークフローの中身 参考 やり方 .NETのビルド&テストをするワークフローはよくある典型なので、公式で用意してくれています。それを用いればとても簡単に設定できます。 リポジトリ名の下にあるActionsをクリック dotnetを検索 .NETのConfigureを選択 .NETのスターターワークフローを探す4. .NETのバージョンやワークフローが実行されるタイミングなど…

  • 【C#】FastEnumというライブラリを用いて列挙型関連のメソッドを爆速+ゼロアロケーションで実行させる(Static Type Cachingによる高速化)

    はじめに 今回は列挙型関連のメソッドを爆速+ゼロアロケーションで実行できるFastEnumというライブラリを紹介したいと思います。 .NETメソッドとの比較結果 はじめに 概要 インストール方法 使い方 列挙型のName・Value・FieldInfoなどを一度に取得したい場合 列挙型に情報を付与する 制約 実験 早い理由 概要 FastEnumを用いることでゼロアロケーションで高速に列挙型関連のメソッドを動作させることができます。 FastEnum is the fastest enum utilities for C#/.NET. It's much faster than .NET Co…

  • 【C#】dotnet newコマンドでプロジェクトを作成できるようなテンプレートを作成する方法

    はじめに 今回はdotnet new 〇〇コマンドでプロジェクトを作成できるようなテンプレートの作成方法を紹介したいと思います。 $ dotnet new stringext テンプレート "Example templates: string extensions" が正常に作成されました。 テンプレートからプロジェクトを作成した様子 はじめに 概要 実装のイメージ .template.config/template.jsonについて プロジェクトテンプレートの作成 プロジェクトテンプレートとは .template.config/teplate.jsonファイルを配置する template.j…

arrow_drop_down

ブログリーダー」を活用して、はなちるさんをフォローしませんか?

ハンドル名
はなちるさん
ブログタイトル
はなちるのマイノート
フォロー
はなちるのマイノート

にほんブログ村 カテゴリー一覧

商用