【デザインパターン】アダプター(Adapter)パターンの本質とは?原点に戻って考え直してみる。

この記事は、Design Patterns(いわゆる GoF 本)の一次ソースである原典にあたり、GoF が提唱したデザインパターンの本質を理解しようと試みた記録です。

今回はアダプターパターンについて調べます。

原典は Amazon で購入できます(Kindle 版もあります)。
※画像をクリックすると Kindle 版の購入ページに飛びます(アフィリエイトではありません)。

“【デザインパターン】アダプター(Adapter)パターンの本質とは?原点に戻って考え直してみる。” の続きを読む

【UE5】レベルエディタにウィジェット(UMG)を表示する方法【c++】

マニアックなことに挑戦する機会があったので、技術共有したいと思います。

ゲームを起動中に UMG を表示するのは簡単ですが、ゲームを起動していないときに UMG をレベルエディタに表示するのは面倒工夫が必要でした。

以下の環境で動作確認しています。

Unreal Engine 5.1.1
Visual Studio 2022
Windows 11 Home

“【UE5】レベルエディタにウィジェット(UMG)を表示する方法【c++】” の続きを読む

【UE5】ウィジェットブループリント(UMG)の変数をバインドすることなく(UPROPERTYを使わずに) C++ で取得する方法【C++】

こちらの記事で、ウィジェットブループリントと C++ のソースコードをバインドする方法を紹介しましたが、バインドできない状況がまれにあります。
そんなときに、ブループリントの変数(ブループリント側で作成した変数)にアクセスする方法を紹介します。

以下の環境で動作確認しています。

Unreal Engine 5.1.1
Visual Studio 2022
Windows 11 Home

“【UE5】ウィジェットブループリント(UMG)の変数をバインドすることなく(UPROPERTYを使わずに) C++ で取得する方法【C++】” の続きを読む

【日本の恥】ガーベジコレクションをガベージコレクションと言うのをそろそろ止めるべき

スペルミスは良くあることなので、気づいたら直せば良いのですが、和製英語は広く社会に認知されているのでどうしようもないのが困ります。

“【日本の恥】ガーベジコレクションをガベージコレクションと言うのをそろそろ止めるべき” の続きを読む

【C#】IDisposable を継承する際に Dispose パターンの知識が必要になる理由

SonarLint を使っていなければ気づかなかったシリーズ。
C# は C++ と比べて変なテクニックを山ほど覚える必要がなく、とても扱いやすい言語だと思っていたのですが、最近はそうでもないと思うようになってきました。

using System;

// ヒャッハー集団のベースクラス
public class HyahhaaBase : IDisposable {
  public virtual void Dispose() {
    // アンマネージドリソースを解放する処理
  }
}

// モヒカンヒャッハークラス
sealed class MohicanHyahhaa : HyahhaaBase {
  public override void Dispose() {
    // 子クラスのアンマネージドリソースを解放する処理
  }
}

このコードはメモリリークします。

SonarLint については以下の記事で簡単に紹介しています。

その他の、SonarLint を使っていなければ気づかなかったシリーズ。

“【C#】IDisposable を継承する際に Dispose パターンの知識が必要になる理由” の続きを読む

【Unity】ネンネンを Unity で確認するまでの手順【VR Chat】

ネンネンは AI VTuber 紡ネン の愛称です。

ネンネンの VR Chat モデルが BOOTH で販売されているので、支援するためと、VR Chat の技術に興味があったので購入しました。

購入ページに Unity にインポートする方法が記載されているのですが、いくつかつまづいた点があるので、補足を入れながら手順を説明します。

本稿で説明するのは、BOOTH で購入したネンネンのモデルを Unity で確認するところまでです。

“【Unity】ネンネンを Unity で確認するまでの手順【VR Chat】” の続きを読む

【C++】Visual Studio 2022 で OpenCV 4.8.0 を使えるようにする

OpenCV を使うために、NuGet パッケージをインストールしたんですが、まったく使い物にならないので、GitHub からバイナリパッケージをダウンロードしてインストールする必要がありました。

“【C++】Visual Studio 2022 で OpenCV 4.8.0 を使えるようにする” の続きを読む

【.Net C#】System.Exception を継承すると ISerializable がどうのこうのと警告が出る

厄介なバグに繋がる可能性があるコード

class Test {
  public class Hoge : System.Exception {}
}

“【.Net C#】System.Exception を継承すると ISerializable がどうのこうのと警告が出る” の続きを読む

【C#】Visual Studio 2022 で SonarLint を使ってソースコードをより堅牢にする

商業レベルの堅牢なソースコードを書くときに、とても役に立ちます。

“【C#】Visual Studio 2022 で SonarLint を使ってソースコードをより堅牢にする” の続きを読む

【.Net Visual Studio C#】クソコードを書いていないか手軽に確認する方法

Visual Studio を使い、自分がクソコードを書いてしまっていないかをパっと確認する方法です。

“【.Net Visual Studio C#】クソコードを書いていないか手軽に確認する方法” の続きを読む