2022-01-01から1年間の記事一覧
SciPyとmatplotlibの学習で書いたコードです。実行するとパラメーターの異なる2つの正規分布とそれらの重複領域を描画します。 import numpy as np from scipy.stats import norm import matplotlib.pyplot as plt # 正規分布のPDF f1 = lambda x: norm.pdf(…
SciPyとmatplotlibの学習で書いたコードです。実行すると標準正規分布と下側・上側2.5%領域を描画します。 import numpy as np from scipy.stats import norm import matplotlib.pyplot as plt # 正規分布で使う平均値と標準偏差 mean_sd = (0, 1) # グラフ…
WindowsのAMSI(マルウェア対策スキャンインターフェイス)プロバイダーのCLSIDと表示名を取得するコードです。AMSIについてはMicrosoftの公式ドキュメントを参照ください。 #include <string> #include <vector> #define STRICT #define NOMINMAX #define WIN32_LEAN_AND_ME</vector></string>…
インスタンスのconstructorプロパティでクラスのオブジェクトを取得できます。このオブジェクトを操作すればクラスのオブジェクトプロパティを操作できます。 class Class1 { static X = 123; } const a = new Class1(); console.log(a.constructor.X) //-> …
Rの自分用チップスです。ちょっとずつ増やしていきたいです。 ベクトルの末尾/先頭N個以外を取り出す ベクトルのインデックスベクトルを安全に返す。 文字列ベクトルを変形する パッケージの関数名一覧を返す。 Rのベースパッケージを検索する summary(lm(.…
JavaScriptのCanvas APIでアナログ時計を描画するコードです。カスタム要素も使用しています。 本来は類似名前空間やむき出しのオブジェクトよりもモジュールを使った方が適切ですが、ローカルでのデバッグが面倒なので通常のスクリプトとして分割しています…
JavaScriptには論理型(boolean)のオブジェクトラッパーであるBooleanクラスが存在しており、プリミティブ型のbooleanとは異なる動作をします。Booleanクラスのインスタンスは保持する値に関わらずtrulyです。 console.log(new Boolean(false) === false) /…
JavaScriptの&&と||はC/C++の&&と||と微妙に異なる動作をします。 類似点:左から右へ順次評価する。評価が左側で終われば右側は評価されない。 相違点:結果は最後に評価した値そのもの(C/C++ではtrue/false)。 類似点は次のコードで確認できます。&&では…
C++23ではstd::optionalにand_then、or_else、transformが導入されるそうです。 and_thenはstd::optionalが有効値の場合に変換処理を実行した結果を返します。or_elseはstd::optionalが無効値の場合に変換処理を実行した結果を返します。いずれも変換処理はs…
MSVCはC++20でもジェネレーターが使えるようにexperimental機能としてstd::experimental::generator<T>を提供しています。このクラスを使うとco_yieldで簡単にジェネレーターを実装できますが、範囲for文と組み合わせる場合は参照で受け取った方が良さそうです</t>…
JPEGファイルEXIFデータのWindows用評価とキーワードを取得・設定・削除するサンプルコードです。 #nullable enable using System; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Runtime.Serialization; using Syste…
System.Drawing.Imaging.PropertyDataはJPEGファイルのEXIFデータを取得・設定する際に必要ですが、コンストラクタが非公開なので通常の方法ではインスタンスを作成できません。これはSystem.Runtime.Serialization.FormatterServicesのGetSafeUninitialized…
P/InvokeとCOM呼び出し時、UnmanagedType.LPWStrのMarshal.FreeCoTaskMemは不要らしいです。CoTaskMemFreeが必要なLPWSTRはout IntPtrやout SafeHandleで受け取らなくても、out stringで受け取れば自動でMarshal.FreeCoTaskMemされるそうです。 ただし複数回…
Shell.Application(CLSID_Shell)でエクスプローラーウィンドウの情報を取得するサンプルコードです。 VBやC#経由で使う場合はIDispatchを使って名前からメンバーを参照することが多いですが、ここではインターフェイス(IShellWindows、IWebBrowser2)を取…
Rとtidyverse 1.3.1でtibbleに条件分岐で列を追加するサンプルコードです。case_whenは%>% case_when(条件式~値, ...)の形式で条件を満たす値を返します。最後のTRUE~NA_real_はどの条件にも一致しない要素の値を指定しています。NA_real_がNAではないのはca…
RazorPages初心者によるOnPostの注意です。 OnPostはpublicでないと無視される。少なくとも省略(internal)ではOnPostが呼び出されなかった。 OnPostはPOST時にOnGetの代わりに呼び出される。順番に両方呼び出される訳ではない。※ドキュメント未確認 ページ…
きっかけ オリンピック意向調査の結果を見ようと札幌市のウェブサイトを検索していたら住民基本台帳の閲覧状況が見つかりました。行政機関に混じって野村総研が混じっていることが気になったので概要を確認してみました。 結論 委託者の多くは行政関係(NHK…
C++20・Win API・WILでバッテリーデバイスの名前を列挙するサンプルコードです。 #include <functional> #include <string> #include <vector> #define STRICT #define NOMINMAX #include <Windows.h> #include <SetupAPI.h> #pragma comment(lib, "SetupAPI.lib") #include <devguid.h> #include <initguid.h> #include <devpkey.h> #include "wil/</devpkey.h></initguid.h></devguid.h></setupapi.h></windows.h></vector></string></functional>…
Process Snapshot APIを使ってプロセスに所属するハンドルの型やオブジェクト名を列挙するサンプルコードです。 #include <algorithm> #include <filesystem> #include <string> #include <memory> #include <vector> #define STRICT #define NOMINMAX #include <Windows.h> #include <Psapi.h> #include "wil/resource.h" templa</psapi.h></windows.h></vector></memory></string></filesystem></algorithm>…
Win32 APIのEnumProcesses関数、QueryFullProcessImageNameW関数を使ってプロセスのIDとパスを列挙するサンプルコードです。 #include <string> #include <memory> #include <vector> #define STRICT #define NOMINMAX #include <Windows.h> #include <Psapi.h> template <DWORD InitSize = 100, DWORD ExpandingSize = 100> std::vector<DWORD> GetAllProces…</dword></dword></psapi.h></windows.h></vector></memory></string>
ZIPファイルに関連付けられたCLSIDとそのProgIDを取得するコードです。 #include <array> #include <bit> #include <format> #include <string> #include <optional> #define STRICT #include <windows.h> #include "wil/resource.h" std::optional<GUID> GetSystemFileAssociationCLSID(PCWSTR name) noexcept { con</guid></windows.h></optional></string></format></bit></array>…
C++20とWILでプロパティ記述子(IPropertyDescriptor)を列挙するサンプルコードです。実行するとプロパティの正規名と表示名を出力します。 #include <functional> #include <format> #include <iostream> #define STRICT #define NOMINMAX #include <Windows.h> #include <propsys.h> // Microsoft WIL 1.0.2202</propsys.h></windows.h></iostream></format></functional>…
C++20とWILでごみ箱内の項目の「元の場所」と「削除された日時」を取得するサンプルコードです。実行すると表示名とそれらを出力します。 #include <format> #include <functional> #include <iostream> #define STRICT #define NOMINMAX #include <Windows.h> #include <ShlObj.h> #pragma comment(lib, "propsy</shlobj.h></windows.h></iostream></functional></format>…
C++20とWILでごみ箱内のフォルダの中身を列挙するサンプルコードです。実行するとごみ箱内のフォルダの中身の表示名を出力します。 #include <functional> #include <iostream> #define STRICT #define NOMINMAX #include <Windows.h> #include <ShlObj.h> // Microsoft WIL 1.0.220201.1 #include "wil/</shlobj.h></windows.h></iostream></functional>…
C++20とWILでごみ箱内のシェル項目を列挙するサンプルコードです。実行するとごみ箱内の項目の表示名を出力します。 #include <functional> #include <iostream> #define STRICT #define NOMINMAX #include <Windows.h> #include <ShlObj.h> // Microsoft WIL 1.0.220201.1 #include "wil/com.h" void Fo</shlobj.h></windows.h></iostream></functional>…
C++20とWILでごみ箱のIShellItemインターフェイスを取得するサンプルコードです。実行するとごみ箱の表示名を出力します。 #include <iostream> #define STRICT #define NOMINMAX #include <Windows.h> #include <ShlObj.h> // Microsoft WIL 1.0.220201.1 #include "wil/com.h" int main() </shlobj.h></windows.h></iostream>…
tidyverseではmutate_at関数で列を指定して列単位で変換できます。ここでは列選択の方法をいくつか紹介します。 library(tidyverse) data <- as_tibble(iris) # 3列目以降の列を文字列に変換したtibbleを作成する。 # 整数範囲または`vars(n:last_col())`を…
Windowsアニメーションカーソル(.ani)の情報を取得するサンプルコードです。 #rifffilereader.py from __future__ import annotations from io import FileIO from os import SEEK_SET, SEEK_CUR from typing import Tuple from dataclasses import datacl…
Windowsアニメーションカーソル(.ani)のRIFFヘッダー構造を解析するサンプルコードです。実行するとシグネチャとチャンクのデータサイズ、RIFFまたはLISTの場合はフォーム/リストタイプを出力します。 RIFFファイルやaniファイルの構造はソース中コメント…
循環小数(はの整数)の成立を証明します。