備忘録

備忘録

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でマザーボード型番を調べる方法

Ⅰ. はじめに タイトルの通り「Windowsでマザーボード型番を調べる方法」です。 Ⅱ. やり方 1. 以下コマンドを実行する wmic baseboard get product,Manufacturer 実行結果 Manufacturer Product ASUSTeK COMPUTER INC. TUF GAMING B550-PLUS 参考 https://tec…

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を初…

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

Ⅰ. はじめに タイトルの通り「はてなブログで更新日時を表示する方法」です。 Ⅱ. やり方 1. 以下プログラムを「設定」→「デザイン」→「カスタマイズ」→「記事」→「記事下」に貼り付ける <script> async function getUpdatedAt () { const createdAt = new Date(docum…

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起動時にロードするカーネルモジュ…

サーバの仮想化手法を調べる方法

Ⅰ. はじめに タイトルの通り「サーバの仮想化手法を調べる方法」です。 Ⅱ. やり方 1. dmidecodeを使う方法 $ dmidecode -s system-product-name KVM 2. systemd-detect-virtを使う方法 $ systemd-detect-virt kvm 3. dmesgを利用する方法 $ dmesg | grep -i …

QEMUでWindowsを利用する方法

Ⅰ. はじめに タイトルの通り「QEMUでWindowsを利用する方法」です。 Ⅱ. 環境 Ubuntu 20.04.1 LTS Ⅲ. やり方 1. KVMが利用できるか確認する(オプション) apt install cpu-checker kvm-ok 2. QEMUをインストールする apt install qemu qemu-utils qemu-syste…

Node.js用のロガー(winston)の使い方

Ⅰ. はじめに タイトルの通り「Node.js用のロガー(winston)の使い方」です。 Ⅱ. やり方 1. winstonをインストールする npm i winston 2. サンプルプログラムを書く const winston = require('winston') const moment = require('moment') const myFormat = …

Moment.jsの使い方

Ⅰ. はじめに タイトルの通り「Moment.jsの使い方」です。 Ⅱ. やり方 1. Moment.js をインストールする npm i moment 2. サンプルプログラムを書く const moment = require('moment') // 現在日時 console.log(moment().format('YYYY/MM/DD HH:mm:ss')) // Da…

pproxyを利用して複数IPアドレスをランダムに変化させる方法

Ⅰ. はじめに タイトルの通り「pproxyを利用して複数IPアドレスをランダムに変化させる方法」です。 Ⅱ. やり方 やり方1(CLI) pproxy \ -l http+socks4+socks5://0.0.0.0:8080 \ -r http://10.0.0.1:3128 \ -r socks5://10.0.0.2:1080 \ -s rr \ -v やり方2…

テスト用途のProxyサーバ(HTTP, SOCKS)をすぐに用意する方法

Ⅰ. はじめに LinuxであればSquidやDanteを利用してProxyサーバを構築するのがメジャーです。 しかし、設定ファイルを編集する必要がある為、面倒に感じたり慣れていても数分かかります。この記事では pproxy を利用して「すぐに用意する」方法を紹介します。…