八 四

コンピュータ

C#でドライブの種類(SSD,HDD,NASなど)を取得

System.Managementパッケージが必要です。 <ItemGroup> <PackageReference Include="System.Management" Version="10.0.0-preview.6.25358.1...
コンピュータ

C#でテンポラリファイルのストリームを取得する。TempStreamFactory

MemoryStreamが2GBまでとのことですので、2GBを超える予定の場合テンポラリファイルのファイルストリームが返る、メソッドを作成してみました。public static class TempStreamFactory{ /// <...
コンピュータ

lz4圧縮を使った画像ファイル(.liz)を作る。

lz4圧縮は圧縮展開速度が速く、圧縮率はそれなりですが、キャッシュとして使いやすい圧縮方式だと思います。今回lz4圧縮で画像ファイルを作成してみたいと思います。.liz ファイル形式仕様(リズ形式).liz は、LZ4圧縮された画像データを...
スポンサーリンク
コンピュータ

C#で画像変換で見る並列処理の効果「グレースケール化」

for文とParallel.Forで処理時間を比較してみたいと思います。プロジェクトの作成cd (mkdir ConvertToGray)dotnet new console -f net8.0ソースコードファイル名:ConvertToGr...
コンピュータ

私的IT用語辞典「VO, DI, DTOって何?クラス設計に出てくる略語・用語1行まとめ」

個人的によく目にして、検索する用語をを記事にまとめました。クラス名によく使われる用語 Repository(DDD) ドメイン層とインフラ層をつなぐインターフェイスで、データアクセスを抽象化する。 Service(DDD) Entity単体...
コンピュータ

XAMLを使わないWPF入門12「Gridコントロール」

格子状に領域を分割するGridコントロールを試してみます。左クッリクでGirdの分割数を増やすプログラムになっています。プロジェクトの作成cd (mkdir NoXAML13)dotnet new wpf -f net8.0rm *.xam...
コンピュータ

PowerShellとfsfでC#のソースファイルを選択しコピーするスクリプト

C#のソースファイルを使い回すために、コピーするスクリプトを作りました。fzfがインストールされていることが前提となります。実行すると.csファイルの一覧が表示されるので、選択するとカレントディレクトリに.csファイルがコピーされるだけです...
コンピュータ

C#で直列処理とパイプライン処理で測定結果の比較

直列処理をワーカースレッド+キューで行う多段のパイプライン処理で処理時間がどれほどの差があるか確認してみました。処理内容は、次の手順になります。1.画像ファイルを読み込み2.デコード3.拡大縮小処理4.PNG形式で保存直列処理は1~4までの...
コンピュータ

JavaScriptでclassの使い方。「数値型のValue Objet」

Value Objectは値に意味をもたせることが目的ですので、プリミティブな数値型に適用すると目的と少しずれますが、JavaScriptの型は寛容なので、制約の厳しいValue Objectを使うことで、良い感じに安全な型になると考えます...
コンピュータ

C#でランダムファイルの作成方法と読み込み速度計測ベンチマークテスト

SSDを判定方法調べましたが、良い方法が見つからなかったので、読み取り速度を計測してみました。using System;using System.Diagnostics;using System.IO;using System.Thread...
コンピュータ

C#で利用可能な空きメモリの容量を取得する方法

Windows限定ですが空きメモリを取得するコードを調べました。プロジェクトの作成cd (mkdir UserMemorySpace01 -Force)dotnet new console -f net8.0dotnet add packa...
コンピュータ

C#でドライブの一覧を列挙する方法

System.IO.DriveInfo.GetDrives()を使いドライブの一覧を取得します。class Program{ static void Main() { DriveInfo[] drives = DriveInfo.GetDr...
コンピュータ

C#でワーカースレッド+キューの基本パターンを試す3。「TaskCompletionSource<TResult>」

TaskCompletionSource<TResult>を使ったコードを試してみます。前回記事ファイル名:BasicWorkerQueue.csusing System.Threading.Channels;namespace Worke...
コンピュータ

マルチコアCPUの使い方:「並列処理」と「パイプライン処理」で性能を引き出す

CPUがマルチコア化され、今や現役で使われているPCのほとんどが複数のコアを搭載しています。ところが、せっかく最新のRyzenやCore iシリーズを使っていても、**体感的には“そこまで速くなった気がしない”**ということがよくあります。...