sh1’s diary

プログラミング、読んだ本、資格試験、ゲームとか私を記録するところ

python クラス 学習

Python チュートリアルを読んで気になったところをメモ。 method object 反復子 iterator generator generator 式 参考 method object x.f() と MyClass.f(x) が厳密に等価であるとは、どういうことか。 class MyClass: def f(self): print("f:", self) prin…

python 入出力 学習

Python チュートリアルを読んで気になったところをメモ。 str と repr の違い 出力フォーマット クラス スコープと名前空間について 基底クラス よく使うエラー OS/ IO 関連エラー 制御フロー用の特殊な例外 Warning 関係 定数 double underscore 関数 参考 …

GPT-5 for Coding の内容整理

2025年8月16日、「GPT-5 for Coding」というPDF資料が OpenAI の X の投稿で共有されています。 概要 1 Be precise and avoid conflicting information 意見 2 Use the right reasoning effort 意見 3 Use XML-like syntax to help structure 意見 4 Avoid o…

python データ構造 学習

Python チュートリアルを読んで気になったところをメモ。 データ構造1 squares = list(map(lambda x: x**2, range(10))) or squares = [x**2 for x in range(10)] or # 冗長な例 squares = [(lambda x: x**2)(x) for x in range(10)] 処理の流れ1: lambda…

python doctest 学習

doctest は python の標準ライブラリです。追加のインストールは不要で、python をインストールすると最初から使えるはずです。 doctest 一番最初にテストコードで doctest をテストしてみます。 def add(a, b): """ Add two numbers. Examples: >>> add(2, …

python docstring 学習

C# には C# のコメントの書き方があるように python には python のコメントの書き方がある。 正直、今までは主として利用するのは C# であって、私にとって python は補助的な言語だからと(まとまった学習から)逃げていたのでノウハウが整理されていない…

Python Zen & PEP8 の検定試験(合格)

Python Zen と PEP 8 とは 受験した理由 勉強に使ったもの 学習期間 費用 参考 Python Zen と PEP 8 の内容を確認する無料テスト(草テスト)を受けました。ネット上だけで受けることができる簡単なもので、一応は合格後(すぐに)それっぽい PDF ファイルが…

Python - PEP20 The Zen of Python

Introduction(はじめに) A Foolish Consistency is the Hobgoblin of Little Minds(愚かな一貫性は小さな心のホブゴブリン) Code Lay-out Indentation Tabs or Spaces?(インデントは tab 文字かスペースの文字か) Maximum Line Length(1行の最大文字…

Python - PEP20 The Zen of Python

Abstract(概要) 本文 1. Beautiful is better than ugly. 2. Explicit is better than implicit. 3. Simple is better than complex. 4. Complex is better than complicated. 5. Flat is better than nested. 6. Sparse is better than dense. 7. Readabi…

WPF IValueConverter の小ネタとテクニックの整理

MarkupExtension の実装と DependancyProperty の実装 パラメータがないときの実装パターン MarkupExtension の実装パターン Freezable を使う Sample 参考 WPF の IValueConverter を実装するときの考え方と小ネタ。 MarkupExtension の実装と DependancyPr…

Python 空白の引数を有効にする

対策 参考 空白の引数は、VS Code などでもシェルレベルで取り除かれてしまうことがあります。 python .\実行ファイル.py "" import sys def test(): print("len = " + len(sys.argv)) # 1 # テスト実行 test() argv[0] は "実行ファイル.py" の部分が入るの…

メンタルヘルスマネジメント検定試験(受験と合格)

メンタルヘルスマネジメント試験とは 受験した理由 勉強に使ったもの 学習期間 費用 参考 2025 年 3 月 16 日 (日) にメンタルヘルスマネジメント試験(Ⅲ種)を受けてきました。同試験の中では一番難易度が易いものになります。受験した理由としては、第一種…

ファイル名を datetime に変更するバッチファイル

参考 とりあえず、ファイル名を置き換えたいときに利用する。 バッチファイルが一瞬走るんでちょっとうざいけど、問題なく動作した。 @echo off setlocal enabledelayedexpansion :: 現在の日付と時間を取得(yyMMdd HH.mm.ss.ff) for /f "tokens=2 delims=…

VisualStudio デフォルトエンコーディングの指定

設定変更 おまけ 参考 VisualStudio のデフォルトエンコーディングは、隙あらば shift-jis が使われました。これまでは。 これとにかく気持ち悪くて、shift-jis と UTF8 が混在するのは VisualStudio のコーディングする上で気づいたらそうなってしまうもの…

WPF Calendar コントロールのカスタマイズ

カレンダーコントロールの構造 Day セルのカスタマイズ ElementNotAvailableException の対応 カレンダーの Binding 要素の更新 カレンダーの Binding の修正例 サンプル 参考 WPF のカレンダーコントロールをしっかりとやっている記事が少なかったので記録…

sharplab-inspect の使い方

1.実行コードの「Run」 Inspect value.Inspect() Inspect.Heap(object) Inspect.Stack(value) Inspect.MemoryGraph(value1, value2, …) Inspect.Allocations(補足) 参考 Sharplab は 2016 年後半ごろに「TryRoslyn」という名前で「C# を Web 上で試せる…

C# パフォーマンス高速化に関するメモ

パフォーマンスに影響の大きい絶対に守るべきこと コレクションの型あわせ ループ内の線形探索 コレクションの初期容量を指定 Result と Wait はやめる 環境 最速の開発/実行環境 構造体 構造体の優位性 構造体の欠点 参照渡し ref readonly/in の難しさ コ…

WinGet を利用した Python の更新(windows 編)

更新の必要有無を確認 winget 更新 バージョンの固定 おまけ:インストールのバッチ化 参考 Windows 環境で Python を更新するときの流れを記録しました。 更新の必要有無を確認 とりあえず、デフォルトの Windows 環境で Python のチェック方法を記録します…

2024 年 会社勤めの買ってよかったモノ、まとめ

12月の風物詩。毎年やっているけど、買って損していないのかチェックみたいな気もする。 QOL 文具 レバーレスコントローラー作成 PC 関係、スマートフォン 運動 本 総括 履歴 QOL 文具 サーモス 真空断熱マグカップ 450ml HARIO 水出し珈琲ポット ブラック…

第一種衛生管理者試験の受験(合格)

第一種衛生管理者とは 受験した理由 勉強に使ったもの 学習期間 費用 参考 2024 年 10 月15 日 (火) に第一種衛生管理者試験を受けてきました。(試験範囲が狭い)第二種衛生管理者は受験していないので、上位資格といっていいだろう第一種だけ受験した形で…

C# Prism ライブラリ 9.0 更新とライセンス変更

GitHub Prism Prism は主に WPF などで利用できる、XAML アプリケーションを構築するためのフレームワークです。 Prism は Microsoft MVVM Toolkit と似た役割を担うことができるライブラリで、特徴として MVVM +α のような機能を提供しています。 これまで…

ID (UUID, GUID) の利用についての学習メモ

ランキング参加中プログラミング 冪等の例 UUID と GUID C# の GUID の生成 NanoID UUID 7(旧:TODO) 参考 特に SQL などで、利用するユニークな採番(各データに番号を割り当てるプロセス)で、いわゆる ID を利用することがあります。 一般的には(単純…

WPF メインウィンドウ、子ウィンドウのインスタンス取得

WindowService の利用 使い方 ポイント 参考 ボタンなどの GUI イベントを実行したときに、メインウィンドウのインスタンス(ハンドル)が欲しいことがあります。 本来、MVVM で設計をするとこういうことは無いように設計するのかもしれませんが、現実的に V…

VisualStudio プロジェクトの場所変更(dev drive)

ランキング参加中プログラミング Dev Drive 「未割り当て」領域の作成 Dev Drive 「未割り当て」領域のドライブ化 Visual Studio のデフォルト プロジェクトの場所を変更 確認 おまけ 参考 Visual Studio をインストールしたあと、通常だとデフォルトのプロ…

System.Diagnostics.Debug と NLog の連携

NLog の定義ファイル (nlog.config) TraceListener を定義 テスト 応用編 Sample 参考 プログラムを作るときに、プロジェクトで(ログ出力をコントールするために)NLog を採用することがあります。 そこまではよいのですが、個人的なライブラリのプロジェク…

Gophish の使い方(標的型メールの訓練ツール)

PC

環境設定 メール送信までの初期設定 参考 標的型攻撃メールは 2024 年現在、「個人向け」「企業向け」ともに対策が必要な状態です。 IPA 情報セキュリティ10大脅威 多くの企業でもセキュリティ対策は実施済ですが、対策のひとつとして「メール訓練」というも…

C# EventLogEntry「システム時刻の変更」のバグ

C# の EventLogEntry を利用して「システム時刻の変更」の情報を取得すると「CVE の検出の可能性」としてメッセージが出力されます。 イベント ID: 1 タスクのカテゴリ: (5) ソース: Kernel-General たしかに、現在ではオンライン設定がデフォルトになってい…

.NET プログラムのバージョンを管理する例

バージョンの基本的な用途のポイント 個人的な最小要件のバージョン管理方法 プログラムからのバージョン参照 参考 .NET でアプリケーションを作成したとき、プログラムのバージョンを正しく管理し続けることが難しいプロジェクトが結構あると思います。.NET…

WPF UI(UI ライブラリ)の使い方(3)バージョン3対応

現在のリソース SnackBar XAML 変更点 (最適ではないけど)動作する最小サンプル Prism DI を使った例 そのほかのアップデートの注意点 参考 WPF UI のメジャーバージョンが「3」になりました。アップデートに伴って、旧バージョンになった「2」は NuGet …

WPF RadioButton と Enum 値の Binding

XAML View ViewModel Converter サンプル 参考 WPF の RadioButton の IsChecked プロパティに Enum 値を Binding させたいシーンが結構よくあります。地味に使うケースがあるんだけど、記述方法にひと手間あるんでその内容を記録しました。 この記事の内容…