2024-01-01から1年間の記事一覧
はじめに 今回はCallerArgumentExpressionを用いてメソッドのパラメーター名を取得する方法を紹介したいと思います。 learn.microsoft.com はじめに 概要 使い方 おまけ 概要 CallerArgumentExpressionを用いることで、メソッドの引数で渡した真の意味での文…
はじめに 今回はTypeをKeyにとるDictionaryをStatic Type Cachingに変えて処理を高速化させる方法について紹介したいと思います。Static Type Cachingについては以下のスライドのp46~触れられています。 www.slideshare.net はじめに 概要 バイナリサイズを…
はじめに 今回はgree/unity-webviewでバウンススクロールを無効化する方法を紹介したいと思います。github.com techvisor.jpちなみに基本的な使い方は前に記事を書いたので、気になる方はチェックしてみてください。 www.hanachiru-blog.com はじめに バウン…
はじめに 今回はGoogle Cloud Functions(.NET) + Cloud Scheduler + Cloud Pub/Subを用いて定期的にSlackにメッセージを投稿するシステムを作ってみようと思います。 実際に動作させている様子 はじめに 概要 Slackでの操作 Slackアプリを作成する GCPでの操…
はじめに 今回はgree/unity-webviweのWebViewObject.SetMarginsの引数にあるrelativeについて書きたいと思います。 public void SetMargins(int left, int top, int right, int bottom, bool relative = false) github.com // 使用例 private void Start() {…
はじめに UniTask.WhenAllを利用することで全てのTaskが終了するまで待つことができます。 // 全てのTaskが終わるまで待つ await UniTask.WhenAll(UniTask.Delay(1), UniTask.Delay(2), UniTask.Delay(3)); 実はこれはいくつか書き方があるので、それを紹介…
はじめに 今回はUI ToolkitのUxmlElementとUxmlAttributeについて取り上げたいと思います。docs.unity3d.com docs.unity3d.com昔Unity2023.2のTech Stream紹介ブログにて、Custom UI Elementsの実装を簡略化した改善が紹介されていました。 Custom UI Elemen…
はじめに Xを見ていたら以下のような投稿を見かけました。Here is a 72-byte alphanum MD5 collision with 1-byte difference for fun: md5("TEXTCOLLBYfGiJUETHQ4hAcKSMd5zYpgqf1YRDhkmxHkhPWptrkoyz28wnI9V0aHeAuaKnak")=md5("TEXTCOLLBYfGiJUETHQ4hEcKSMd…
はじめに 今回はUnity公式パッケージであるBuild Report Inspectorについて紹介したいと思います。docs.unity3d.com 利用している様子 はじめに 概要 インストール方法 使い方 Build Report Inspectorの見方 Build Steps Source assets Output files Strippi…
はじめに 今回はBenchmarkDotNetというライブラリを利用して処理速度・メモリ使用量を計測する方法を紹介したいと思います。github.com はじめに 概要 インストール 使い方 1. classを用意 2. Benchmark属性をつけたメソッド定義 3. BenchmarkRunner.Runを行…
はじめに 今回はGoogle Cloud Functionsに.NETを利用した関数をデプロイする方法について書きたいと思います。内容的には以下の公式ドキュメントをミックスした感じです。 cloud.google.com cloud.google.com codelabs.developers.google.com先に書いておく…
はじめに 今回はStringBuilderとDefaultInterpolatedStringHandlerの処理速度・メモリ確保量を比べてみたいと思います。learn.microsoft.comlearn.microsoft.com大抵のStringBuilderの利用シーン、new StringBuilderの代わりにnew DefaultInterpolatedString…
はじめに 今回はThreadStaticを利用してスレッドによって異なるインスタンスが生成される静的フィールドを作成する方法を紹介したいと思います。learn.microsoft.com はじめに やり方 初期値をつけてはダメ staticでないフィールドはダメ やり方 [ThreadStat…
はじめに 今回はUnity Searchを利用して簡単にApplication.dataPathなどのpublicなStatic APIメソッドやプロパティを実行する方法を紹介したいと思います。docs.unity3d.com はじめに やり方 自前のStaticメソッドの実行 参考 やり方 Unity Editor上でComman…
【C#】string.FormatとDefaultInterpolatedStringHandlerで処理速度・GC.Allocの差を計測してみる(string.Formatはボックス化の可能性あり)
はじめに 今回はstring.FormatとDefaultInterpolatedStringHandlerで処理速度・Allocationの優劣を調べてみようと思います。learn.microsoft.comlearn.microsoft.com結論から言うとDefaultInterpolatedStringHandlerが優秀です。(C#10から補完文字列(interpo…
はじめに 今回はdotnet tool restoreとdotnet-tools.jsonを用いて"現在のディレクトリとサブディレクトリ"で使用するツールのバージョンを固定する方法を紹介したいと思います。↓ マニフェストファイル(.config/dotnet-tools.json)のサンプル { "version": 1…
はじめに 今回はSystem.Text.JsonでスキーマレスなJsonに対してプロパティを追加する方法を紹介したいと思います。learn.microsoft.com はじめに やり方 参考 やり方 JsonDocumentは読み取り専用なので、JsonDocumentではなくJsonNodeを用いることで容易に実…
はじめに 今回はDebug.LogなどのConsoleへのログ出力にハイパーリンクを埋め込む方法を紹介したいと思います。 ハイパーリンクを埋め込んでいる様子 はじめに やり方 外部サイト Assets以下のファイル 該当コード 参考 やり方 外部サイト // 外部サイトを開…
はじめに Unityエディタを開いていたら以下のようなエラーが出てきました。 Diagnostic switches are active and may impact performance or degrade your user experience. Switches can be configured through the Diagnostics section in the Preferences…
はじめに ふと興味本位でBlazorを触ってみようと思い、以下の公式のラーニングパスをやってみてます。 learn.microsoft.comそのときに学んだことをメモがてらに残しておきたいと思います。正直自分宛のメモなので、気になる方は公式のものをみてください。 …
はじめに 今回はGitHub Actionsのワークフローの入力に列挙型(enum)を利用する方法を紹介したいと思います。 実際に利用している様子 はじめに やり方 参考 やり方 choiceというtypeを利用し、入力の選択肢をoptionsに記載します。 name: Sample # workflow_…
はじめに 今回はUnity Editor上でプロジェクト直下・Packages・UserSettings・Logsといったパスの取得方法を紹介したいと思います。 利用している様子 はじめに やり方 Application.dataPathについて やり方 以下はUnity Editor上での取得方法です。 // コメ…
はじめに 今回はGameCIを用いてUnityのCI 環境をGitHub Actions上に構築し、Test Frameworkを実行&結果をアップロードする方法を紹介したいと思います。github.com具体的には以下の2つを紹介します。 GameCIを利用するための設定方法 TestFrameworkをGitHub …
はじめに 今回はUnity公式パッケージであるCode Coverageを利用してTest Frameworkで実行したテストのコードカバレッジを計測する方法を紹介したいと思います。docs.unity3d.com 実際に生成したレポート はじめに Code Coverageとは 概要 環境 インストール…
はじめに 前回messagetemplates-csharpというMessageTemplateを扱えるようにするライブラリを紹介しました。www.hanachiru-blog.com今回はMS製のMicrosoft.Extensions.LoggingというLoggingライブラリについて紹介したいと思います。(Microsoft.Extensions.L…
はじめに 今回はmessagetemplates-csharpというC#用のMessageTemplateライブラリを紹介したいと思います。github.com はじめに 概要 MessageTemplateとは より詳細の設定 messagetemplates-csharp 概要 インストール方法 利用方法 詳細な仕様 さいごに 概要 …
はじめに Riderを動作させていて以下のようなエラーが表示されました。 Low memoryというエラー Low memory The IDE is running low on memory and this might affect performance. Please consider increasing available heap. こちらの対処法について書き…
はじめに System.Environment.CurrentDirectoryをランタイムで変更させられることに気づきました。そのことについて書きたいと思います。 変更している様子 はじめに 説明 説明 public class Sample : MonoBehaviour { private void Start() { // MacのUnity…
はじめに 今回はC#7より追加された型によるswitch と C#8より追加された複数の値をまとめのswitchについて取り上げたいと思います。 はじめに 概要 型スイッチ 複数の値をまとめてswitchする 概要 型スイッチ C#7より型によるswitchができるようになりました…
はじめに 今回はRiderの機能の一つであるメソッドセパレーター(Method separator)を紹介したいと思います。pleiades.io メソッドセパレーターを表示している様子 はじめに 設定方法 結果 参考 設定方法 メニューバーからJetBrains Rider > Settings...を選択…