備忘録

備忘録

2021-01-01から1年間の記事一覧

Pythonで実行ファイルを出力する方法

Ⅰ. はじめに タイトルの通り「Pythonで実行ファイルを出力する方法」です。 Ⅱ. やり方 1. サンプルプログラムを書く main.py print("helloworld") 2. PyInstallerをインストールする pip install pyinstaller 3. 実行ファイルを出力する pyinstaller main.py…

Visual Studio 2019のC++/CLIでWindows Formを利用する方法

Ⅰ. はじめに タイトルの通り「Visual Studio 2019のC++/CLIでWindows Formを利用する方法」です。 Ⅱ. やり方 1. Visual Studio インストーラーを起動する 2. v142 ビルド ツール用 C++/CLI サポートをインストールする 3. 新規C++/CLIプロジェクトを作成する…

右クリックメニューの「右に回転」「左に回転」を消す方法

Ⅰ. はじめに タイトルの通り「右クリックメニューの「右に回転」「左に回転」を消す方法」です。 Ⅱ. やり方 1. コマンドプロンプトで以下コマンドを実行する reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\.png\ShellEx\ContextM…

右クリックメニューの「デスクトップの背景として設定」を消す方法

Ⅰ. はじめに タイトルの通り「右クリックメニューの「デスクトップの背景として設定」を消す方法」です。 Ⅱ. やり方 1. コマンドプロンプトで以下コマンドを実行する reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\.png\Shell\se…

mongooseを利用してHTTPサーバを構築する方法

Ⅰ. はじめに タイトルの通り「mongooseを利用してHTTPサーバを構築する方法」です。 Ⅱ. やり方 1. サンプルプログラムを書く #include <iostream> #include <winsock2.h> #pragma comment(lib, "ws2_32.lib") extern "C" { #include <mongoose.h> } static void fn(struct mg_connection* c, in</mongoose.h></winsock2.h></iostream>…

VisualStudioを利用してAndroidで実行可能な実行ファイルをC++で作成する方法

Ⅰ. はじめに タイトルの通り「VisualStudioを利用してAndroidで実行可能な実行ファイルをC++で作成する方法」です。 Ⅱ. やり方 1. Visual Studio Installerを起動する 2. 「C++ によるモバイル開発」をインストールする 3. 「メイクファイル プロジェクト(A…

AndroidStudioを利用してAndroidで実行可能な実行ファイルをC++で作成する方法

Ⅰ. はじめに タイトルの通り「AndroidStudioを利用してAndroidで実行可能な実行ファイルをC++で作成する方法」です。 Ⅱ. やり方 1. 新規Native C++プロジェクトを作成する 2. CMakeLists.txtを編集する $(project_root)/app/src/main/cpp/CMakeLists.txt cma…

C++のHTTPサーバ、HTTPクライアントライブラリ一覧

Ⅰ. はじめに タイトルの通り「C++のHTTPサーバ、HTTPクライアントライブラリ一覧」です。 Ⅱ. 一覧 cpprestsdk HTTP Server/Client C++でHTTP(S)でGET/POSTする(cpprestsdk の使い方) cpprestsdk をビルドしてstatic linkする cpp-httplib HTTP Server/Clie…

Chrome拡張機能でProxy設定情報を取得する方法

Ⅰ. はじめに タイトルの通り「Chrome拡張機能でProxy設定情報を取得する方法」です。 Ⅱ. やり方 1. サンプルプログラムを書く manifest.json { "manifest_version": 2, "name": "ChromeTestExtension", "version": "1.0.0", "background": { "scripts": [ "s…

UnityでHelloWorldする方法

Ⅰ. はじめに Ⅱ. やり方(インストール方法) 1. Unity Hubをインストールする 2. 任意バージョンのUnityをインストールする Ⅲ. やり方(プロジェクト作成からHelloWorldまで) 1. Unity Hubで新規プロジェクトを作成する 2. C#スクリプトを作成する 3. サン…

systemdを利用してCPU使用率を制限する方法

Ⅰ. はじめに タイトルの通り「systemdを利用してCPU使用率を制限する方法」です。 Ⅱ. やり方 1. 負荷テスト用にstressをインストールする apt install stress 2. systemd ユニットファイルを作成する /etc/systemd/system/StressTest.service [Unit] Descrip…

Linuxで任意CA証明書をインストールする方法

Ⅰ. はじめに タイトルの通り「Linuxで任意CA証明書をインストールする方法」です。 Ⅱ. やり方 1. 任意CA証明書をコピーする cp server.crt /usr/local/share/ca-certificates/ 2. 更新する update-ca-certificates その他 Linuxで自己署名証明書を発行する方…

Linuxで自己署名証明書を発行する方法

Ⅰ. はじめに タイトルの通り「Linuxで自己署名証明書を発行する方法」です。 オレオレ証明書とも呼ばれる事があります。 Ⅱ. やり方 1. 秘密鍵生成(RSA 2048bit) openssl genrsa 2048 > server.key 2. 証明書署名要求(CSR)の生成 openssl req -new -key serve…

C++でWindows上の特定プロセスの全モジュールを取得する方法

Ⅰ. はじめに Ⅱ. サンプルプログラム1(EnumProcessModulesExを使用する方法) Ⅲ. サンプルプログラム2(CreateToolhelp32Snapshotを使用する方法) Ⅳ. サンプルプログラム3(NtQueryInformationProcessを使用する方法) Ⅴ. 実行結果 Ⅵ. 留意点 参考 Ⅰ. はじ…

C++でWindows上の特定プロセスの全スレッドIDを取得する方法

Ⅰ. はじめに タイトルの通り「C++でWindows上の特定プロセスの全スレッドIDを取得する方法」です。 Ⅱ. サンプルプログラム #include <Windows.h> #include <tlhelp32.h> #include <iostream> #include <vector> #include <algorithm> std::vector<uint32_t> GetAllThreadIds(uint32_t processId) { std::vector<uint32_t> threadIds; T</uint32_t></uint32_t></algorithm></vector></iostream></tlhelp32.h></windows.h>…

ハードウェアブレークポイント(HWBP)とVEHを利用してデバッガを作成する方法

Ⅰ. はじめに タイトルの通り「ハードウェアブレークポイント(HWBP)とVEHを利用してデバッガを作成する方法」です。 Ⅱ. サンプルプログラム https://github.com/kagasu/VEHTest HWBPのメリット/デメリット メリット メモリを変更する必要がない為メモリ改…

Twitterのトレンド(おすすめ)にNGワードを設定して非表示にする方法

Ⅰ. はじめに タイトルの通り「Twitterのトレンド(おすすめ)にNGワードを設定して非表示にする方法」です。 Ⅱ. やり方 1. Tampermonkeyをインストールする https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo 2. 以…

Windowsでマザーボード型番を調べる方法

2024/01/30追記 WMICが廃止されます https://techcommunity.microsoft.com/t5/windows-it-pro-blog/wmi-command-line-wmic-utility-deprecation-next-steps/ba-p/4039242 Ⅰ. はじめに タイトルの通り「Windowsでマザーボード型番を調べる方法」です。 Ⅱ. や…

C++でjoinする方法

Ⅰ. はじめに タイトルの通り「C++でjoinする方法」です。 Ⅱ. やり方 1. 必要なパッケージをインストールする vcpkg install fmt 2. サンプルプログラムを書く #include <fmt/format.h> #include <iostream> int main() { auto delimiter = ","; auto items = { "a", "b", "c" }; auto</iostream></fmt/format.h>…

C++でクリップボードに文字列をコピーする方法

Ⅰ. はじめに タイトルの通り「C++でクリップボードに文字列をコピーする方法」です。 Ⅱ. やり方 1. サンプルプログラムを書く #include <Windows.h> #include <iostream> void copy(const wchar_t *str) { auto len = (wcslen(str) + 1) * 2; auto hMem = reinterpret_cast<HGLOBAL>(Global</hglobal></iostream></windows.h>…

C#でWin32APIを呼び出す方法(CsWin32利用)

C#

Ⅰ. はじめに タイトルの通り「C#でWin32APIを呼び出す方法」です。この記事ではMicrosoftが作成しているCsWin32を利用する方法を紹介します。 Ⅱ. 必須環境 .NET 5 以上 C# 9 以上 Visual Studio 16.8 以上 Ⅲ. やり方 1. 必要なパッケージをインストールする …

LaravelでQueueを利用する方法

Ⅰ. はじめに Ⅱ. やり方 1. .envを編集する 2. テーブルを作成する 3. Job用クラスを作成する 4. ファイルを編集する 5. キューワーカを起動する 6. テスト用のプログラムを書く 実行結果 その他 systemdを利用してキューワーカを常駐させる方法 留意点 参考 …

キーボード、マウスの状態を取得する方法

Ⅰ. はじめに タイトルの通り「キーボード、マウスの状態を取得する方法」です。 この記事では KeyboardStateView を利用する方法を紹介します以下のようなケースで便利です 特定キーが「VK_…」の形式だと何か調べる時 キーボード、マウスのキーコードを知り…

ProxmoxでIntel GVT-gを利用してiGPUを仮想化して使用する方法

Ⅰ. はじめに タイトルの通り「ProxmoxでIntel GVT-gを利用してiGPUを仮想化して使用する方法」です。 Ⅱ. やり方 1. 以下記事の1~6までを実行する https://kagasu.hatenablog.com/entry/2021/01/05/201126 2. Proxmox管理画面でPCIデバイスを追加する 3. ゲ…

Proxmoxでプライベートネットワークを利用する方法

Ⅰ. はじめに タイトルの通り「Proxmoxでプライベートネットワークを利用する方法」です。例 Ⅱ. やり方 1. vmbr1 を追加する $ vim /etc/network/interfaces auto vmbr1 iface vmbr1 inet static address 10.0.0.0/24 bridge_ports none bridge_stp off bridg…

Node-Media-Serverを利用してストリーミングサーバを作る方法

Ⅰ. はじめに タイトルの通り「Node-Media-Serverを利用してストリーミングサーバを作る方法」です。 Ⅱ. やり方 1. NodeJSをインストールする curl -sL https://deb.nodesource.com/setup_14.x | bash - apt-get install -y nodejs 2. Node-Media-Serverを初…

はてなブログで更新日時を表示する方法

2023/08/01追記 公式機能として実装されました。 本記事内容をあえて実行する必要はありません。 https://staff.hatenablog.com/entry/2023/08/01/160421 Ⅰ. はじめに タイトルの通り「はてなブログで更新日時を表示する方法」です。 Ⅱ. やり方 1. 以下プロ…

Intel GVT-gを利用してiGPUを仮想化して使用する方法

Ⅰ. はじめに タイトルの通り「Intel GVT-gを利用してiGPUを仮想化して使用する方法」です。 Ⅱ. 環境 Intel i7 8700 Ubuntu 20.04.1 LTS Linux kernel 5.4.0 QEMU 4.2.1 BIOSの設定でVT-xとVT-dを有効に設定 Ⅲ. やり方 1. OS起動時にロードするカーネルモジュ…