アプリケーションランチャーを使っていて登録したアプリケーションの数が増えるとスクロールするのが大変になってきました。対策として、Homeキーでで最初の行に移動する機能と、アプリケーションをダブルクリックするたびに1つ上の行に移動する機能を付...
通常、HDMIをマザーボードのHDMIポートに接続することはおすすめされません。理由は、内蔵GPU(iGPU)が優先され、グラフィックボードの性能が無視されるからです。ゲームや動画編集など、GPU性能を活かす用途では、グラボ側のHDMIポー...
C#のConsoleでEntityFramework「fluent APIで1対多のリレーションシップ」
EntityFrameworkで1対多のリレーションシップを定義してみます。ソースコードusing Microsoft.EntityFrameworkCore;using System.Dynamic;using System.IO.Com...
C#のコンソールで入力した文字を表示する「順次処理キューによる非同期処理」
コンソールで入力した文字をそのまま出力します。Endと入力すると終了します。文字入力をメインスレッドで、文字出力をサブスレッドで実行しています。スレッド間で文字列をキューを介して送受信しています。using System;using Sys...
コンソールで入力した文字をそのまま出力します。Endと入力すると終了します。namespace console01;class Program{ static void Main() { while(true) { Console.Writ...
C#のConsoleでEntityFramework「fluent APIで主キーを定義」
覚えるのが面倒なのでfluent APIを避けてきましたが、エンティティクラスがPOCOなクラスだと何かと都合が良いことに気が付きましたので、fluent APIを試してみたいと思います。サンプルプログラムusing Microsoft.E...
DreamBoothを試すべくkohya_ssのリポジトリを導入してみましたが…
当サイトは、筆者が行った行動を、後日参考にするためのノートですので、基本的に成功事例を掲載するようにしています。ただ、失敗続きだと、記事の投稿頻度が減る傾向があり、見返した際、何も行っていない時期があるように見えるので、失敗談も記事にしたい...
以前WSL2とUbuntu環境でStyle-Bert-VITS2音声学習を試しモデルが作成出来ることは確認しています。それで、面白くて色々試していたところうっかり学習用データとモデルデータで、Cドライブをパンクさせてしまいました。今回は専用...
インターフェイスはメソッド及びプロパティを定義し、クラスで実装して使う機能です。インターフェイスは自体でインスタンスを生成することは出来ませんが、インターフェイスを実装したクラスのオブジェクトを受け入れる変数を定義することが出来ます。機能的...
C#で要素数が最大1個のコレクション「OnlyOneCollection」を作りNull許容型変数を置き換えてみる。
IEnumerableの実装に挑戦してみたいと思います。こちらのクラスはOnlyOneCollectionとコレクションを銘打ってはいますが、実際は要素数が0または1つのみ格納できるコンテナクラスとなっております。使い道としてはNull許容...
WPFアプリケーションの初期化処理でアプリケーションでSQLiteを使うとして、データベースファイルを設定ファイルから読み込むようにしたい。データベースファイルのパスは基本的に変更されることは無いので定数(const)で定義したいところです...
基本的KVMコマンドの使い方【Ubuntu24.04,GPUパススルー,RTX3060】
幾度かの失敗を経て、KVMでホストOSをUbuntu24.04、ゲストOSをUbuntu22.04でGPUをパススルーでRTX3060のドライバーをインストールするところまでこぎ着けました。今後KVMのコマンドを使うことが増えそうなので記事...
dotnet.exeでC#の単体テスト(MSTest)プロジェクトの作り方
個人でプログラミングを楽しむ分にはどのような方法で開発しても構わないと思いますが、すこし規模が大きくなると、クラス単位に機能や役割を分割することになり、それらを単体テストする必要性を感じることがあります。今回は、テストプロジェクトの作成~単...
C#でファイル一覧を取得してデータベースのテーブルから情報を取得する。
指定のディレクトリのファイルの一覧を取得し、ファイルのパスをキーとしてデータベースのテーブルからコメント項目の文字列を取得するコードに成ります。// ファイル・ディレクトリの一覧を取得する。using System.IO;using Mic...
肥大化しがちなWPFのXAMLとViewModelをユーザーコントロールを使って分割する方法
WPFでシングルウィンドウアプリケーション(一つのウィンドウだけで完結するアプリ)を作っていると、Viewにコントロールを沢山配置することになり、Viewを構成するXAMLファイルと、データソースとして紐づくViewModelのソースファイ...
1つしか存在しないものや、複数あると都合の悪いものを、インスタンス化する仕組み。・基本的に一つしか存在しないもの:システムの設定情報ロギングサービスプリンタスプーラー・複数存在すると都合の悪いもの:データベース接続プールキャッシュマネージャ...
C#ではList<T>などIEnumerable<T>インターフェースを実装したコレクションと、それをループ処理するforeachがあるので、Iteratorパターンを実装する機会は少ないと思われます。サンプルコードusing System...
MVVMで使うICommandというインターフェイスがあり、これを実装することでViewからViewModelのCommandを呼び出すことが出来ます。ウィキペディアの「Commandパターン」のページサンプルコードusing System...
オブジェクトの構築プロセスを段階的に行い、複雑なオブジェクトを柔軟に生成するためのデザインパターンです。ウィキペディアの「Builderパターン」のページサンプルコード/// <summary>/// BUilderパターンのサンプルコード...
Adapterパターンを使うと、既存のクラスを直接加工することなく、新たなインターフェイスを作ることが出来る。ウィキペディアの「Adapterパターン」のページサンプルコード/// <summary>/// Adapterパターンのサンプル...
Bridgeパターンを使うと、複数の要素の組み合わせの数分クラスを生成する必要があるケースで、要素をクラス化することで少ないクラス数で組み合わせを表現出来るように出来る。ウィキペディアの「Bridgeパターン」のページサンプルコード/// ...
オブジェクトを動的に装飾するパターンウィキペディアの「Decoratorパターン」のページサンプルコード/// <summary>/// Decoratorパターンのサンプルコード/// </summary>interface IProdu...
オブジェクトへのアクセスを制御し、必要に応じて追加の処理を提供する中間オブジェクトを用いるパターンとのこと。現実のProxyサーバーはHTTPリクエストを中継し代わりにアクセスすることで、本来アクセスできないネットワークからのWebブラウジ...
オブジェクトの状態を外部に公開せずに保存し、後でその状態に復元するためのパターンみたいです。ウィキペディアの「Mementoパターン」のページサンプルコードusing System.ComponentModel;using System.D...
オブジェクトの内部状態に応じて振る舞いを変更し、状態遷移をクラスとして表現するパターンです。ウィキペディアの「Stateパターン」のページサンプルコード/// <summary>/// Stateパターンのサンプルコード/// </summ...
Strategyパターンは処理のアルゴリズムをカプセル化し、実行時に切り替えることを目的としたパターンです。ウィキペディアの「Strategyパターン」のページサンプルコード/// <summary>/// Strategyパターンのサンプ...
C#でデザインパターン「TemplateMethodパターン」
クラスが提供する機能(TemplateMethod)を実現するため、その実装の一部をサブクラスに任せることで、コードの柔軟性と再利用性を高めるパターンウィキペディアのTemplateMethodパターンのページサンプルコード/// <sum...
C#でデザインパターン「TemplateMethodパターン」
クラスが提供する機能(TemplateMethod)を実現するため、その実装の一部をサブクラスに任せることで、コードの柔軟性と再利用性を高めるパターンウィキペディアのTemplateMethodパターンのページサンプルコード/// <sum...
Visitorパターンは、既存のクラスの構造を変更することなく、それらのクラスに対する新しい操作(メソッド)を外部から追加することを目的としたデザインパターンみたいです。Wikipediaの「Visitorパターン」サンプルコード/// <...
Compositeパターンと言ったらファイルシステムでしょう。ということでサンプルコードを作成してみました。using System.ComponentModel;using System.Runtime.CompilerServices;...
メインPCのHDDからSSDへの置き換えが完了して大分時間が経過しました。ファイルのバックアップ用に3.5インチHDDを接続していたのですが、そちらを動画作成用のプロジェクトフォルダとして使ってみました。極端に遅くなってしまい、SSDの速度...
C#でデザインパターン「AbstractFactoryパターン」
GUIのアプリケーションを作成する場合、ButtonやLabelなどのコントロールを配置すると思いますが、OSなどプラットフォームごとに生成するオブジェクトが異なる場合でも、生成する過程を抽象化することで同じ生成コードが適用できるようにする...
C#ででデザインパターン「FactoryMethodパターン」
オブジェクトの生成工程と生成するクラスを分離したパターン。クラスを差し替えたりすることで、開発と本番環境の切り替えなどがスムーズに出来るようです。サンプルコード/// <summary>/// FactoryMethodパターンのサンプルコ...
複数のオブジェクトのメソッドを決まった手順で実行する処理がある場合、Facadeオブジェクトで手順を実行するメソッドとすることで、シンプルなインターフェイスを提供する目的。プログラミングで関数(メソッド)やサブルーチンを作る目的と同じ感じで...
オブジェクト同士で通信する場合、Mediatorというオブジェクトを介して通信を行うパターン。/// <summary>/// Mediatorパターンのサンプルコード/// </summary>class MyMediator{ Dict...
「ブログリーダー」を活用して、84さんをフォローしませんか?
アプリケーションランチャーを使っていて登録したアプリケーションの数が増えるとスクロールするのが大変になってきました。対策として、Homeキーでで最初の行に移動する機能と、アプリケーションをダブルクリックするたびに1つ上の行に移動する機能を付...
LiteDBはSQLを書かずにC#のマネージドオブジェクトとして扱えるデータベースです。アプリケーションのバックエンドに良さそうなので試してみました。プロジェクトの作成mkidr LiteDBSamplecd LiteDBSampledot...
NMeCabを使うと日本語の文章を単語ごとに分割してくれるようなので試してみました。プロジェクトの作成 mkdir MeCabSample cd MeCabSample dotnet new console dotnet add packa...
mallocでメモリを確保する処理を確認したいと思います。ソースコード#include <stdio.h>#include <stdlib.h>int main() { int *arr; int size = 10; // メモリ確保 a...
WinFormsでシンプルなアプリケーションランチャーを作成しました。プロジェクトの作成mkdir ApplicationLauncher01cd ApplicationLauncher01dotnet new winformsソースコード...
名前とファイルパスのコレクションを管理するサンプル プロジェクトの作成mkdir jsonsaveloadcd jsonsaveloadgo mod init example.com/jsonsaveloadソースコードファイル名:json...
文字入力ダイアログボックスのサンプルです。プロジェクトの作成mkdir dialogmemocd dialogmemoMake-GoWalk.ps1Make-GoWalk.ps1は次の記事を参照ソースコードファイル名:dialogmemo....
ウィンドウにファイルをドラックアンドロップするサンプルコードです。プロジェクトの作成mkdir dragdropdemocd dragdropdemoMake-GoWalk.ps1Make-GoWalk.ps1は次の記事を参照ソースコードフ...
はじめに2025年現在、PCのパーツ選びにおいて「どれを交換すると快適になるのか?」は多くの人が一度は考えるテーマです。CPUやGPUのような高価なパーツもありますが、今回はあえて体感の快適性に直結するパーツとして、「SSD」、とくにNVM...
PowerShellのパイプラインはコマンドレット間でオブジェクトを渡す仕組みで、各オブジェクトで処理を組み合わせることで、複雑な処理流れを1行で表現することが出来ます。エクスプローラなどでファイルを操作する場合など、手作業で行うことに比べ...
ウィンドウにボタンをレイアウトし、ボタンを押すことでボタンの文字が変化するサンプルプログラムを作成しました。ソースコードファイル名:datasource.h#ifndef DATASOURCE_H#define DATASOURCE_H#i...
書籍「MSX-BASICでゲームを作ろう」を電子書籍で購入しました。書籍は後でじっくり読むとして、MSX公式エミュレーターMSXPlayerのダウンロード用のリンクとパスワードがあるので試してみました。起動時MSXのタイトル、RAMは豪華に...
C++のスマートポインタを学習したのですが、モダンな初期化方法があるとのことですので、試したいと思います。また、Qt6でGUIプログラミングを学習する予定あり、Qtにもスマートポインタがあり、其の中でQPointerを学習したいと思います。...
C++のスマートポインタを学習したのですが、モダンな初期化方法があるとのことですので、試したいと思います。また、Qt6でGUIプログラミングを学習する予定あり、Qtにもスマートポインタがあり、其の中でQPointerを学習したいと思います。...
XAMLを使わないWPFでListViewとコレクションのバインディングを試して見ます。サンプルコード・プロジェクトの作成dotnet new wpf -f net8.0 -n NoXAML05cd NoXAML05rm *.xamlrm ...
全てのコントーロルがコマンドを持つわけではないので、イベントからコマンドに変換してとバインドする方法を試してみます。サンプルコード・プロジェクトの作成dotnet new wpf -f net8.0 -n NoXAML04cd NoXAML...
全てのコントーロルがコマンドを持つわけではないので、イベントからコマンドに変換してとバインドする方法を試してみます。サンプルコード・プロジェクトの作成dotnet new wpf -f net8.0 -n NoXAML04cd NoXAML...
XAMLを使わないWPFでプロパティとのバインドを前回試しました。今回はICommandのオブジェクトとのバインドを試してみたいと思います。サンプルコード・プロジェクトの作成dotnet new wpf -f net8.0 -n NoXAM...
XAMLを使わないWPFでプロパティとのバインドを前回試しました。今回はICommandのオブジェクトとのバインドを試してみたいと思います。サンプルコード・プロジェクトの作成dotnet new wpf -f net8.0 -n NoXAM...
XAMLを使わない状態でデータバインディングはどのようにするか調べてみました。サンプルコードプロジェクトの作成dotnet new wpf -f net8.0 -n NoXAML02cd NoXAML02rm *.xamlrm MainWi...
UbuntuでAnimeEffectsというソフトを使っていて、こちらのソフトは静止画から動画を作成するソフトなのですが、動画の書き出しで失敗しアプリケーションが強制終了することがありました。再現性があるので原因を調べてみることにしました。
住宅事情により、ワイヤレスヘッドフォン(ヘッドセット)を使っていましたが、バッテリーが持たなくなってきたので、ネックスピーカーを試してみました。 よくない点 少し重い。肩がこるほどでは無いので許容範囲。 たまに振動する。鎖骨のあたりがムズム
システムドライブ(C:)の空き容量が少なくなってきた場合、ストレージを増設しドキュメントフォルダなどの場所を移動させると、容量不足を解消することが出来ます。 手順 ドキュメントフォルダ上で右クリック⇒「プロパティ」⇒「場所」のタブ 「移動」
コマンドラインからGoogle翻訳を実行することが出来るようなので試してみました。 インストール sudo apt install translate-shell aptパッケージで楽々インストール 実行例 echo Jacket tr
IOPaintをインストールしたのでその作業ログを残しておきます。 IOPaintは画像の一部をいい感じに消去してくれるソフトでLama Cleanerの後継ソフトになります。 pythonの仮想環境を作成 cd ~/git mkdir i
IOPaintをインストールしたのでその作業ログを残しておきます。 IOPaintは画像の一部をいい感じに消去してくれるソフトでLama Cleanerの後継ソフトになります。 pythonの仮想環境を作成 cd ~/git mkdir i
ASP.NETが稼働しているサーバーの特定のディレクトリ下にあるファイルの一覧をJSON形式で返すサンプルプログラム。 プロジェクトの作成 mkdir AspMvcFileList cd AspMvcFileList dotnet new
ソースコード using System; using System.Windows.Forms; using System.Drawing; /* **************************************** リストビュ
monoは.NET Frameworkの互換ですのでDirectory.GetLogicalDrives()でドライブの一覧が取得できるはずです。 ただ、ドライブはWindowsの概念でUbuntuには存在しません。実行するとどのような結果
たまたまUbuntuのデスクトップ環境があるのでPowerShellをインストールしてみたいと思います。 サポート情報 インストールしようとしているUbuntu22.04はサポートされているようです。 Ubuntu 22.04 (Jammy
Ryzen7 5700XでWindows11なメインPCとRyzen5 7600でUbuntu22.04のサブPCで常設するデスクトップPCが2台となりました。 PCケースは手製のPCデスクの足元にミニタワーケースが2台設置出来るようにして
ディレクトリ:/usr/lib/mono/4.7.1-api/ Accessibility.dll Commons.Xml.Relaxng.dll CustomMarshalers.dll Facades I18N.CJK.dll I18N
ファイルアイコンをパスを使って描画してみます。 ソースコード ファイル名:Form1.cs using System.Drawing.Drawing2D; namespace FileIcon; public partial class F
フォルダーアイコンをパスを使って描画してみます。 ソースコード ファイル名:Form1.cs using System.Drawing.Drawing2D; namespace FolderIcon; public partial clas
Windows10には「Microsoft Print to PDF」という仮想プリンターが標準でインストールされています。 使い方は、アプリケーションの印刷機能で印刷先のプリンターに「Microsoft Print to PDF」を選ぶと
Ubuntu22.04のデスクトップを使っていてアプリケーションなどのソフトをソースコードからビルドした実行ファイルを起動することがあります。ターミナルから実行するスクリプトを組むようにしていますが、少し面倒なのでWindowsの様にデスク
注文した翌日パーツが届きました。 すぐに組んであげないとパーツの旬が過ぎてしまいますので、休日の早朝AM3:00から組み始めました。 既存のパソコンからケースと電源、グラフィックボード、M.2-SSDを流用しました。 比較的古い設計のマイク
ListViewでShiftキーやコントロールキーを使って複数アイテムを選択した状態を検出する方法調べてみました。 プロジェクトの作成 ソースコード ファイル名:FileEntity.cs public class FileEntity {
昨日、Ryzen5 7600を注文した記憶がうっすらあり、注文履歴をみてみたら以下の商品を注文しているようです。 AMD Ryzen 5 7600, Wraith Stealth Cooler ASRock マザーボード B650M PG
SHELL32.dll内にシステムアイコンが埋め込まれているので、そちらからアイコンを取り出して表示するサンプルになります。 プロジェクトの作成 mkdir SystemIconSample cd SystemIconSample dotn