覚えるのが面倒なのでfluent APIを避けてきましたが、エンティティクラスがPOCOなクラスだと何かと都合が良いことに気が付きましたので、fluent APIを試してみたいと思います。サンプルプログラムusing Microsoft.E...
PowerShellの-matchで正規表現を使い文字列を抽出する方法
以下のような感じで取り出せます。"対象文字列" -match "正規表現1(?<名前>正規表現2?)正規表現3"正規表現で抽出する部分は()内で?<名前>正規表現2?で名前を付けて$Matches.名前で取り出します。サンプル"BlackB...
エクスプローラーなどから画像ファイルをアプリへドラックアンドドロップで画像を表示。表示されている画像を別アプリへドラックアンドドロップすることが出来る。ちなみにエクスプローラーのフォルダへドラックアンドドロップするとファイルが移動する。(e...
C#のWinFormでクリップボードを使いCtr+Vで画像を貼り付けCtrl+Cで画像をコピー
GUIのアプリケーション間でデータの受け渡しをする場合、クリップボードを使いコピー&ペーストする方法があります。個人的に画像を扱うことが多いのでピクチャボックスへ画像の貼り付けと、同じくピクチャボックスの表示画像をコピーするサンプルプログラ...
Visual Studio 2022でcl.exeでc言語のソースコードをコンパイル出来るようにする。 – 20250325
Visual Studio 2022でVC関連を一通りインストールしましたが、cl.exeでc言語のソースをファイルをコンパイルするとstdio.hが無いと叱られました。原因としてPowerShell(pwsh.exe)で実行していたことが...
CSharpScriptとgo言語でHello World – 20250324
以前C#の単体のソースコードを実行できないか試行錯誤してみたことがあります。ただ、一時的にC#のコードを試したいだけであれば、CSharpのScriptという選択肢があることに気が付きました。CSharpScriptを使えるようにするには以...
WPFのListViewを文字検索で絞り込み2 – ListViewFilterBehavior
ListViewで文字フィルターをするビヘイビア版です。ソートのビヘイビアが出来たので、フィルターもビヘイビア化出来るだろうと試みました。ただ、フィルターの場合フィルター用の文字を入力するテキストボックスが必要で、それとリストビューをどのよ...
WPFのListViewでヘッダークリックでソート2 – ListViewSortBehavior
ListViewのヘッダークリックでソートするコードを確認しました。再利用する場合、コードビハインドだと中身を理解するのが大変なので、ListViewSortBehaviorを作ることで再利用しやすくしてみました。前回の記事ソースコードファ...
Windowsのファイルにコメントする方法を考える2 – 20250322
ファイルのコメントを保存するテキストファイルをnotepad.exeで開くスクリプトを作成しました。ソースコード<#.SYNOPSIS概要を保存するテキストファイルをノートパッドで開く.DESCRIPTION概要を保存するテキストファイルを...
C#のWinFormでアプリケーションアイコンを設定する方法
アイコンをリソースで埋め込むべきだと思いますが、dotnet.exeでリソースを扱う方法を知らないので、.exeファイルのアイコンを読み込むようにしてみました。まずプロジェクトファイル(.csproj)の<PropertyGroup>にアイ...
VSCodeスニペットなんとなく解説!明日から使える、私だけのコードひな型集
ひな型集と銘打っていますが今のところ一つだけ。スニペットの設定ファイル⇒ユーザー設定⇒スニペットの構成言語固有のスニペット例:JavasSriptのスニペットjavascript.jsonHTMLのスニペットhtml.jsonグローバルスニ...
C#のWinFormsで画像処理 – バケツ塗りつぶしを実装してみた
ペイントソフトなどによくある塗りつぶし機能をC#で作成してみました。使い方ペイントソフトから画像コピー当アプリでCtrl+Vで画像を貼り付けマウスをクリックするとクリックした座標から塗りつぶしが開始します。Ctrl+Cで画像がクリップボード...
Windows11でスクリーンショットを考える。「Win+PrtSc」
Windows10あたりから「PtrSc」(PrintScreen)キーで、スマートフォンの様にスクリーンショットが撮れるようになりました。手元にあるWindows11で「PtrSc」キーを押すと 「Snipping Tool」というスクリ...
Windows11でCドライブがパンクした話。原因と対策20250321
システムドライブのCドライブがパンクすると非常に厄介なことになるので、ユーザーデータなどの保存場所は極力他のでドライブで運用するよう心掛けていました。それなのにCドライブがパンクしてしまい、何がストレージを圧迫しているのか調査しました。世の...
Python標準ライブラリargparseでコマンドライン引数をパースしてみる
argparseをコマンドライン引数にオプション名をつけたり、必須項目やデフォルト値を扱うことが出来るようなので試してみます。import argparse# パーサーの作成parser = argparse.ArgumentParser(...
C# WinForms + NAudio:コマンドライン引数でオーディオファイルを再生するアプリを作る
C#で音声ファイルを扱うライブラリにNAudioがあります。今回はWinFomsで音声ファイルを再生するシンプルなアプリを作成しました。コマンドライン引数で再生するオーディオファイルのパスを受け取り、再生し再生が終了したらアプリケーションを...
ブラウザで動くJavaScript:DOM操作と開発環境構築
JavaScriptはたまにしか使わないので、コードを書くたびに基本から勉強しなおすことになりがちです。JavaScriptを学習したことを忘れてしまった未来の自分のために、記事として残しておきたいと思います。扱う内容として昔ながらのウェブ...
PowerShellからExcelを操作!ワークシートのセルに値を設定する方法
ひな形のエクセルファイルに値を入力する作業を自動化するために必要そうな処理を調べてサンプルスクリプトを書いてみました。サンプルに使ったエクセルファイル社会保険事務所に提出する賞与支払届セルに値をセットするサンプル。<#.SYNOPSISエク...
Windowsのファイルにコメントする方法を考える20250318
エクスプローラーでファイルやフォルダは名前で識別しますが、入力する都合上短めで英数字を使うことが多いです。英語圏で生まれた文化である点もありますが、アルファベットの方が変換などを含まないのでストレートに入力できる点もあると思います。そうなり...
PowerShell は、他のシェルスクリプト言語とは異なる独特の挙動を示すことがあり、一般的なシェル言語の感覚で実行すると、思わぬ落とし穴にはまることがあります。ここでは、PowerShell の罠となりうる要素をいくつかご紹介します。i...
WSL-Ubuntuで音声認識モデルWhisperを使って文字起こししてみた。20250316
音声ファイルが多量にあり中身を一つ一つ視聴し確認する作業をしていて、飽きてきたので音声ファイルを文字起こしが出来ないか調べてみました。Whisperといツールがヒットしましたので、WSL-Ubuntuでインストールしてみました。pipパッケ...
WSL-UbuntuでStyle-Bert-VITS2をインストールした記録
Style-Bert-VITS2をインストールしたので記録を残します。環境Ubuntu22.04Python 3.10.12gitクローンgit clone venv作成cd Style-Bert-VITS2python3 -m venv ...
WSL-UbuntuにDocker Engineを直接インストールした話
作業ログを記事として残しておきます。環境Ubuntuのバージョン22.04パッケージのインストールsudo apt updatesudo apt install ca-certificates curl gnupg lsb-releaseG...
独自のデータセットでReal-ESRGANをファインチューニングする。
Real-ESRGANのモデルに対し追加学習(ファインチューニング)することで、何かに特化したモデルを作成することが出来るとのことですので試してみたいと思います。以下のページの手順通りに進める。Real-ESRGANのインストール環境:Ub...
PowerShellで画像ファイルをjpg形式からpng形式に変換するスクリプト
.NetのImageオブジェクトをファイルから生成してPNG形式で保存します。使い方はスクリプトの.EXAMPLEを見てください。ワンライナー版<#.SYNOPSISJpegファイルをPngファイルへ変換.DESCRIPTIONJpegファ...
dotnet.exeでプリプロセッサのシンボルを定義するには。.csproj編集
.csprojにDefineConstantsでシンボルを定義します。csprojのサンプル<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputT...
dotnet.exeでC#の単独ソースファイルを実行できないか模索する
プロジェクトを作らずにdotnet runで単独のcsファイルが実行できると便利なので方法を調べましたが見つかりませんでした。仕方がないのでプロジェクトを自動作成するPowerShellスクリプトを作成してみました。ファイル名:Run-CS...
VMwareWorkstationのWindows10のイメージをWindows11にアップグレード20250314
結果を先に述べるとアップグレードは出来ましたがライセンス認証が通らなかったので使用は断念することになりました。Windows11のインストール要件にはTPM2.0が必須なので設定します。リアルPCでもマザーボードにTPM2.0対応モジュール...
Windows11の24H2をクリーンインストールしたらsambaで稼働するファイルサーバーにアクセスできなくなった20250313
Windowsで動く有償ソフトで無くなると困るソフトがいくつかありまして、メインPCがトラブルが起きた時のことを想定して、Windows11をインストールしたサブPCを作成しそちらに必要なソフトをインストールすることにしました。それらのソフ...
Stable DiffusionのLoRA学習20250312
Stable-Diffusionの画像生成modelに対し追加学習用の画像を用意しファインチューニングを行います。成功すると追加学習した画像の影響を色濃く反映した画像が生成されるようになります。沢山のパラメータがあり正直自分の手に余ると思い...
C#で単独ファイルで実行できるexeファイルをつくるdotnet.exeのオプション
C#のコンソールプロジェクトでコマンドプロンプト又はPowerShellから実行できる外部コマンドを作成しようと思います。通常にビルドを行うと、実行するバイナリファイルの.exe以外に実行に必要となる.dllファイルが生成されます。複数のフ...
超解像AIのSeeSRをローカル環境で構築することが出来ましたが、私の環境ではVRAM不足のせいか1枚の画像生成に数十分ほどかかります。マシンパワーが不足するのであれば、有るところから借りればよいと思いGoogle Colabで実行環境を構...
Ubuntu22.04DesktopでSeeSRをインストールした記録
画像の超解像ツールのSeeSRのインストールしたので手順を残します。実行した環境Windows11のWSL2でUbuntu22.04CUDAのバージョンは11.8githubからリポジトリをクローンcd ~/gitgit clone cd ...
入力候補としてサジェッションを表示する方法を探していますが、コンボボックスで作ってみました。ファイル名:MainWindow.xaml<Window x:Class="ComboboxSample01.MainWindow" xmlns="...
UbuntuデスクトップPCのOS再インストール20250308
生成AI系のソフト類を動かすためのUbutuをインストールしたPCを弄っていたら、pythonのパッケージやCUDAツールキット、nvidiaのドライバーなどバージョンの不整合を発生させ、自分のスキルでは解決が難しそうでしたので、クリーンイ...
PowerShellでファイルのパスからテキストファイルか判定する
function IsTextFile($filePath) { try { if (-not(Test-Path "HKCR:\")) { # HKCR登録 New-PSDrive ` -Name HKCR ` -PSPr...
沢山あるGoogleのサービスで便利だと思った用途の覚書です。GoogleドキュメントでOCRGoogleドライブにjpgやpngなどの画像ファイルをアップロードし、ドキュメントとして開く。画像内の文字列がOCRされてたドキュメントファイル...
PhotoShopは買えないが「コンテンツに応じた塗りつぶし」機能はつかいたい。
PhotoShopの「コンテンツに応じた塗りつぶし」と似たような機能を無償で入手する方法の話です。現在のところ使っているツールはGIMPのスマート消去プラグインです。こちらのプラグインはWindows版はどこから入手したか不明で、もしかする...
スキャンしたモノクロ画像の小傷のようなノイズを消す20250305
白と黒のモノクロの紙素材を一度カラーでスキャニングし、後からpythonのOpenCV2値化で白黒にします。閾値の調整は必要ですが、黒から白、白から黒へ切り替わるエッジ部分が閾値によって変化します。閾値超調整後、オリジナルが黒色でベタ塗りの...
昨日に続きLora学習に挑戦しています。環境構築でモジュールのバージョン違いが発生しているので、比較的新しい動画などを見ながら再度実行してみましたが、結果は同じでした。コンソールベースで最新環境を作ることは諦めて、昨年構築したGUI版が現在...
ThinkPad X270にChromeOS Flexをインストールしました。
x270にはlubuntuをインストールしていましたが、ChromeOSをインストールしました。インストールUSBを作成するのですが、GoogleChromeの拡張機能で作成します。必要メモリが8GBなので8GBのUSBメモリを刺しましたが...
ネーム印(通称シャチハタ)のキャップの役割をGeminiに聞いてみた。
ネーム印のキャップが行方不明になり、キャップが無くとも問題ないか、キャップの役割をGeminiに聞いてみました。ネーム印(通称シャチハタ)のキャップは、主に以下の2つの目的で使用されます。 インクの乾燥防止: ネーム印はインク浸透式のため、...
Pyside6の主要モジュールの一覧をGeminiに生成してもらった。
Qtには沢山モジュールがあり、pythonの実装の一つであるPysideでも、豊富なモジュールの恩恵をうけることが出来ます。各言語の標準となるライブラリに同等な機能があったりして何方を使うか迷う場面もありそうですが、他言語でもQtの知識を共...
「ブログリーダー」を活用して、84さんをフォローしませんか?
覚えるのが面倒なのでfluent APIを避けてきましたが、エンティティクラスがPOCOなクラスだと何かと都合が良いことに気が付きましたので、fluent APIを試してみたいと思います。サンプルプログラムusing Microsoft.E...
当サイトは、筆者が行った行動を、後日参考にするためのノートですので、基本的に成功事例を掲載するようにしています。ただ、失敗続きだと、記事の投稿頻度が減る傾向があり、見返した際、何も行っていない時期があるように見えるので、失敗談も記事にしたい...
以前WSL2とUbuntu環境でStyle-Bert-VITS2音声学習を試しモデルが作成出来ることは確認しています。それで、面白くて色々試していたところうっかり学習用データとモデルデータで、Cドライブをパンクさせてしまいました。今回は専用...
インターフェイスはメソッド及びプロパティを定義し、クラスで実装して使う機能です。インターフェイスは自体でインスタンスを生成することは出来ませんが、インターフェイスを実装したクラスのオブジェクトを受け入れる変数を定義することが出来ます。機能的...
IEnumerableの実装に挑戦してみたいと思います。こちらのクラスはOnlyOneCollectionとコレクションを銘打ってはいますが、実際は要素数が0または1つのみ格納できるコンテナクラスとなっております。使い道としてはNull許容...
WPFアプリケーションの初期化処理でアプリケーションでSQLiteを使うとして、データベースファイルを設定ファイルから読み込むようにしたい。データベースファイルのパスは基本的に変更されることは無いので定数(const)で定義したいところです...
幾度かの失敗を経て、KVMでホストOSをUbuntu24.04、ゲストOSをUbuntu22.04でGPUをパススルーでRTX3060のドライバーをインストールするところまでこぎ着けました。今後KVMのコマンドを使うことが増えそうなので記事...
個人でプログラミングを楽しむ分にはどのような方法で開発しても構わないと思いますが、すこし規模が大きくなると、クラス単位に機能や役割を分割することになり、それらを単体テストする必要性を感じることがあります。今回は、テストプロジェクトの作成~単...
指定のディレクトリのファイルの一覧を取得し、ファイルのパスをキーとしてデータベースのテーブルからコメント項目の文字列を取得するコードに成ります。// ファイル・ディレクトリの一覧を取得する。using System.IO;using Mic...
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...
SHELL32.dll内にシステムアイコンが埋め込まれているので、そちらからアイコンを取り出して表示するサンプルになります。 プロジェクトの作成 mkdir SystemIconSample cd SystemIconSample dotn
ファイルサイズが以下のようなPNGファイルがあります。 Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 2024/05/01 9:53 463681 2
チャプタースキップ機能を付与しようと試行錯誤してみましたが、C#でチャプターを取得する機能を見つけることが出来ませんでした。 仕方がないので外部コマンドとしてffprobe.exeを実行し、標準出力からテキストを正規表現でパースしchapt
ゆっくりMovieMaker4(以降YMM4)で動画を作っていて、素材となる動画ファイルをAnimeEffectsで作成しています。AnimeEffectsはキーフレームアニメーションを作成するソフトウェアで、静止画を動画として動かすことが
スマートフォンを機種交換してから常時マナーモードをにしているため、着信に気が付かないことがあります。不在着信のメッセージを見ると折り返し電話を掛けるか判断するため、とりあえず電話番号をネット検索してみるのですが、企業の営業の電話や無作為アン
NuGetで公開されている.NetのライブラリをC#でよく使わせていただいています。 .NetのライブラリはPowerShellからも呼び出せるはずなので、ためしてみました。 今回は、NuGetで見つけた動画などのメディアファイルにタイトル
コマンドラインから画像ファイルをリサイズ(拡大・縮小)します。 プロジェクトの作成 mkdir ResizeImage cd ReizeImage dotnet new console dotnet add package System.C
コマンドラインで画像ファイルをグレイスケールに変換します。 プロジェクトの作成 mkdir ToGray cd ToGray dotnet new console dotnet add package System.CommandLine
CLIのアプリケーションを作成していて実行時のパラメータをコマンドライン引数として渡す必要が出てきました。 コマンドライン引数は、アプリケーションのエントリーポイントであるMainメソッドの引数として文字列の配列として渡されます。 ファイル
.NETのZipArchiveがいつの間にかコメントのプロパティが出現していたので(昔からあった?)Zipファイルのコメントを編集するフォームを作成してみました。 ソースコード ファイル名:Program.cs using System.I
Pythonで作成されたシステムを動かす場合、必要となるパッケージをインストールし環境構築をする必要があります。 パッケージのバージョンが競合する場合を想定してvenvなどで仮想環境を構築し、そちらにパッケージをインストールする方法がありま
OpenCVには多数の画像フィルターがあります。また、numpyを使うと画像をピクセル単位で加工するフィルターを作成することが出来ます。個人的によく使う画像フィルター類をまとめたいと思います。 ライブラリのインポート import cv2
前回の問題点として右クリックで表示するコンテキストメニューやダブルクリックの検出がリストビューのアイテム以外でも動作してしまう点がありました。ネット検索して解決方法を探しプログラムに組み込んでみました。また、リスてビューの項目のヘッダーをク
いまいち理解できていないのですが、コードを書いてみたら思った通りに動作したので記事にしてみました。 ソースコード ファイル名:FileEntity.cs using System.ComponentModel; using Reactive
メインメモリーを64GB搭載しているPCで画像ファイルを拡大処理をしていたところOutOfMemoryErrorが発生しました。 元が1000x1000ぐらいの解像度の画像を256倍は通りましたが、300倍ではエラーになります。 そんなに大
前回別ウィンドウを表示することはできましがた、別ウィンドウで入力した値へアクセスする方法がしっくりこない感じでした。 ソースコード ファイル名:MainWindow.xaml <Window x:Class="DialogS
リストビュー上でマウスをクリックし、ビューモデル側で該当するアイテムを検出する方法を考えてみます。 ソースコード ファイル名:FileEntity.cs namespace ListViewOnClick; public class Fil
Amazonを眺めていたらお手頃価格のSIMカードが2枚搭載可能なスマートフォンが販売されいたので機種変更しました。 それまで使っていた機種と比べてメモリーが増えたおかげかアプリケーションの起動が速く操作性は良好です。 タップ後一呼吸まって
「Custom Context Menu」というアプリケーションを使うとWindows11のエクスプローラーの右クリックメニューに任意のアプリケーションを登録することが出来ます。 アプリケーションが登録出来るということは、「pwsd.exe
前回はファイルアイコンを表示するところを作りました。 今回はファイルサイズと更新日付の表示部分を作成したいと思います。 ソースコード ファイル名:DataSizeConverter.cs using System; using System