2024-09-01から1ヶ月間の記事一覧
C++と標準ライブラリで以前投稿したコードのC++23 PreviewとWILを使った書き直しです。ifのネストが消えたのはWILのおかげなので、C++20でもWIL、可能ならstd::functionalを使えば同程度に簡単にできると思います。 #include <format> #include <string> #include <iostream> #include <experimental/generator></experimental/generator></iostream></string></format>…
WIC(Windowsイメージングコンポーネント)を使って画像ファイルからDIBセクションを作成する方法です。WICはGDIでは扱いにくいアイコンやGIF、PNGを統一された方法でビットマップに変換できます。 以下のコードはC++20で動作するウィンドウアプリケーション…
Rのパッケージreadr 2.1.5のリファレンス和訳です。readrはHadley Wickham氏の作成したtidyverseの一部で、CSV等の長方形データセットを読み込む機能を提供します。 原文はMITライセンスですが、原文の権利はHadley Wickham氏と貢献者方にあります。翻訳文の…
公開された非公開関数NtQuerySystemInformationと非公開の定数SystemExtendedHandleInformation (0x40)を使うとカーネルオブジェクトハンドルの一覧を取得できます。固定長構造体のみなので前回投稿と比べれば遥かに扱いが楽です。なお、NtQuerySystemInform…
NtQueryObject関数とObjectTypesInformation (3)で詰まったのでその概要と動作するコードを記録します。 詰まった点と解決策 NtQueryObject関数とObjectTypesInformation (3)を使うとPUBLIC_OBJECT_TYPE_INFORMATIONの個数とその配列を取得できます(以下、P…
MicrosoftがGitHubでMITライセンス公開しているWILのGitHub Wikiの記事を和訳・改変したものです。素人による翻訳なので、誤訳や著作権上の問題などありましたらご連絡いただけますと幸いです。 シャットダウン認識オブジェクト(原題:Shutdown aware objec…
MicrosoftがGitHubでMITライセンス公開しているWILのGitHub Wikiからミューテックスハンドルの記事を和訳・改変したものです。素人による翻訳なので、誤訳や著作権上の問題などありましたらご連絡いただけますと幸いです。 ミューテックスハンドル(原題:Mu…
Posit SoftwareのHadley Wickham氏が提供する素晴らしいRパッケージ群tidyverseや関連パッケージの和訳記事へのリンク記事です。徐々に数を増やしていけたらうれしいです。 purrr 1.0.2 リファレンス(途中) purrr 1.0.2 記事「purrr <-> base R」 readr 2.…
Rのパッケージpurrr 1.0.2のリファレンス和訳です。purrrはHadley Wickham氏の作成した関数型プログラミングの素晴らしいパッケージで、base Rよりも一貫した方法、手軽な方法でデータを操作できます。 現状ではas_mapperまで翻訳できています。 添付文書の…
MicrosoftがGitHubでMITライセンス公開しているWILのGitHub Wikiの記事を和訳・改変したものです。素人による翻訳なので、誤訳や著作権上の問題などありましたらご連絡いただけますと幸いです。 ファイルシステムヘルパー(原題:File System Helpers (files…
MicrosoftがGitHubでMITライセンス公開しているWILのGitHub Wikiの記事を和訳・改変したものです。素人による翻訳なので、誤訳や著作権上の問題などありましたらご連絡いただけますと幸いです。 ロックガードオブジェクト(原題:Lock guard object) Raymon…
MicrosoftがGitHubでMITライセンス公開しているWILのGitHub Wikiの記事を和訳・改変したものです。素人による翻訳なので、誤訳や著作権上の問題などありましたらご連絡いただけますと幸いです。 カーネルオブジェクトの待機(原題:Waiting on kernel object…
浮動小数点計算やPEファイルの解析クラスを高速化しようとしてReSharperを導入してみました。 Trial版を30分ほど使った感想は以下の通りです。使用期間は30日ですが、既にアンインストールしたので項目は増えません。 WinFormsやWindows依存クラスライブラリ…
Rのパッケージpurrr 1.0.2の添付文書和訳です。purrrはHadley Wickham氏の作成した関数型プログラミングの素晴らしいパッケージで、base Rよりも一貫した方法、手軽な方法でデータを操作できます。 この文書はpurrr 1.0.2のbase.Rmdの和訳及び改変です。 添…
ディレクトリ中のファイルを列挙するプログラムで列挙後のコードが実行されずに悩んでいたのですが、原因は検索ディレクトリ以下に含まれる循環したディレクトリのシンボリックリンクとtry構文による例外の握りつぶしでした。 ディレクトリに循環したシンボ…
C++では容量削減のためにビットフィールドが多用されました。これをC#でどのように表すべきか、答えのない問題に悩んでいます。 背景:C++のビットフィールド C++のビットフィールドは以下の形式で表されます。組み込み整数のビット演算の糖衣構文です。 // …
Rのパッケージconflicted 1.2.0の添付文書和訳です。conflictedはHadley Wickham氏の作成した衝突回避の素晴らしいパッケージで、衝突の検出だけでなく優先順位指定も可能です。 添付文書のライセンスはMITライセンスですが、原文の権利はHadley Wickham氏と…
ImmutableCollectionsMarshal.AsImmutableArray<T>静的メソッドを使えば配列をラップするImmutableArray<T>を直接作成できます。配列のToImmutableArrayによる要素コピーを回避できます。C++のムーブに該当します。 なお、ImmutableCollectionsMarshalにはAsImmuta</t></t>…
QiitaでTextDecoderを使ってShift-JISコードを取得する記事(McbeEringi氏)を見かけました。記事中のコードは理解できていないのですが、発想を参考にShift-JISコード配列を取得するクラスを作成しました。 // UnicodeコードポイントからShift-JISへの変換…
フォントディレクトリはエクスプローラーでは特殊フォルダ(フォントフォルダ)扱いされて元のファイル名を表示できません。この仕様はシェルを介さないWindows APIにより回避できます。 PowerShell 7でのスクリプトは以下のようになります。スクリプトでは…