備忘録

備忘録

Pythonで画像をトリミングする方法

Ⅰ. はじめに タイトルの通り「Pythonで画像をトリミングする方法」です。 Ⅱ. やり方 1. Pillow をインストールする pip install Pillow 2. サンプルプログラムを書く from PIL import Image img = Image.open('lena.png') # 画像サイズを取得する # width, h…

nginx でストリーミングサーバを作る方法

Ⅰ. はじめに Ⅱ. 環境 Ⅲ. やり方 1. ビルドに必要なものをインストールする 2. nginx-rtmp-module を clone する 3. nginx をダウンロードする 4. nginx をビルドする 5. init scriptを作成する 6. nginx の設定を変更する 7. nginx を起動する 8. 配信を開始…

Cordova + Vue.js で Cordova のイベントを拾う方法

Ⅰ. はじめに タイトルの通り「Cordova + Vue.js で Cordovaのイベントを拾う方法」です。 Ⅱ. やり方 1. vue-cordova をインストールする npm install vue-cordova 2. プログラムを書く src/main.js import Vue from 'vue' import VueCordova from 'vue-cordo…

Cordovaで cordova-plugin-fcm を追加すると発生するエラーを消す方法

Ⅰ. はじめに 以下のコマンドでエラーを再現できます $ cordova plugin add cordova-plugin-fcm $ npm run build $ cordova run android Android Studio project detected Invalid data, chunk must be a string or buffer, not object Ⅱ. やり方 1. 以下のス…

NuGetのキャッシュを全て削除する方法

Ⅰ. はじめに タイトルの通り「NuGetのキャッシュを全て削除する方法」です。 Ⅱ. やり方 以下のコマンドを実行するだけです。 nuget locals all -clear 実行結果 私の環境の場合、約10GB容量が空きました。 Clearing NuGet HTTP cache: C:\Users\user01\AppDa…

Firebase+webpack+Vue.jsでチャットを作る方法

Ⅰ. はじめに Ⅱ. やり方 1. 必要なCLIツールをインストールする 2. Vueプロジェクトを作成する 3. firebaseをインストールする 4. Firebase でプロジェクトを作成する 5. Firebase の Realtime Database のルールを変更する 6. プログラムを書く 7. 実行する …

C#でTitanium-Web-Proxyを利用してProxyサーバを構築する方法

Ⅰ. はじめに タイトルの通り「C#でTitanium-Web-Proxyを利用してProxyサーバを構築する方法」です。 Titanium-Web-Proxyはクロスプラットフォーム対応しています。 Websocketには対応しておらずデータをリレーするだけです。Websocketのプロキシサーバが必要…

WPFでボタンにアイコンを設定する方法

Ⅰ. はじめに タイトルの通り「WPFでボタンにアイコンを設定する方法」です。 Ⅱ. やり方 1. Material Design Icons にアクセスする 2. アイコンを右クリックし、View XAMLをクリックする 3. XAMLを貼り付ける <Button Width="50" Height="50"> <Viewbox Width="48" Height="48"> <Canvas Width="24" Height="24"> </canvas></viewbox></button>

ffmpegで動画を一部切り出す

Ⅰ. はじめに タイトルの通り「ffmpegで動画を一部切り出す」方法です。 基本となるコマンドは以下の通りです。 ffmpeg -i input.mp4 -ss [start_time_second] -t [length_second] output.mp4 Ⅱ. やり方 1. 開始時間と終了時間を指定する https://codepen.io/…

PythonでファイルタイプやMIMEを取得する(libmagicのラッパーを使う方法)

Ⅰ. はじめに この記事ではPython標準のmimetypesでは無く、libmagicのラッパーであるpython-magicを利用した方法を紹介します。 Ⅱ. 環境 Python 3.7.0 Windows 10 64bit 1709 Ⅱ. やり方 1. 必要なパッケージをインストールする python-magic-bin はWindowsの…

Pythonでjoinする方法

Ⅰ. はじめに タイトルの通り「Pythonでjoinする方法」です。 Ⅱ. やり方 全て文字列の場合 values = ['a', 'b', 'c'] x = ','.join(values) print(x) # a,b,c 数値が含まれる場合 values = ['a', 'b', 1] values = map(str, values) x = ','.join(values) pri…

puppeteer を利用してWebページのスクリーンショットを撮る方法

Ⅰ. はじめに Ⅱ. やり方 1. puppeteer をインストールする 2. サンプルプログラムを書く 3. 実行する 実行結果 参考 その他 Ⅰ. はじめに タイトルの通り「puppeteer を利用してWebページのスクリーンショットを撮る方法」です。 Ⅱ. やり方 1. puppeteer をイ…

NuGet規定のパッケージ管理形式を変更する方法

Ⅰ. はじめに タイトルの通り「規定のパッケージ管理形式を変更する方法」です。 Ⅱ. やり方 1. VisualStudioでツール→オプションを開く 2. 任意の規定のパッケージ管理形式を指定する

Costura.Fody を利用して埋め込まれたDLLを取り出す方法

Ⅰ. はじめに タイトルの通り「Costura.Fody を利用して埋め込まれたDLLを取り出す方法」です。 Ⅱ. やり方 1. Costura.Plugin.dll をダウンロードする https://github.com/takeshixx/ILSpy-CosturaPlugin/releases 2. Costura.Plugin.dll を ILSpy.exe と同じ…

Pythonでダイナミックリンクライブラリを利用する方法

Ⅰ. はじめに Ⅱ. やり方 1. ダイナミックリンクライブラリを作成する 2. Pythonから呼び出す 実行結果 Ⅲ. 関数名に記号が入っている場合について 参考 Ⅰ. はじめに タイトルの通り「Pythonでダイナミックリンクライブラリを利用する方法」です。 Ⅱ. やり方 1.…

Xamarinでクリップボードを簡単に使う方法

Ⅰ. はじめに タイトルの通り「Xamarinでクリップボードを簡単に使う方法」です。 通常の方法で実装した場合、プラットフォームごとに異なる実装をする必要があり手間がかかります。この記事では Xamarin.Plugins.Clipboard を利用して簡単にクリップボードを…

TermuxにSSH接続する方法

Ⅰ. はじめに タイトルの通り「TermuxにSSH接続する方法」です。 Ⅱ. やり方 1. OpenSSHをインストールする pkg install openssh 2. 鍵を作成する ssh-keygen cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys chmod 700 ~/.…

PythonでFlask + MariaDB(MySQL)を使う方法

Ⅰ. はじめに タイトルの通り「PythonでFlask + MariaDB(MySQL)を使う方法」です。 Ⅱ. やり方 1. Flaskをインストールする pip install flask pip install flask-mysql 2. サンプルプログラム from flask import Flask, jsonify from flaskext.mysql import M…

C++でHTTPサーバ、クライアントを作る方法

Ⅰ. はじめに Ⅱ. HTTPサーバ サンプルプログラム 実行結果 Ⅲ. HTTPクライアント サンプルプログラム 実行結果 参考 Ⅰ. はじめに タイトルの通り「C++でHTTPサーバ、クライアントを作る方法」です。以下のライブラリを使います。 https://github.com/yhirose/c…

.NET CoreでSQLite3を使う方法

Ⅰ. はじめに Ⅱ. インストール Ⅲ. INSERT方法 サンプルプログラム 実行結果 Ⅳ. SELECT方法 サンプルプログラム 実行結果 Ⅳ. SELECT方法(Dapper) サンプルプログラム 実行結果 Ⅰ. はじめに タイトルの通り「.NET CoreでSQLite3を使う方法」です。 Ⅱ. インス…

NuGetパッケージを作成(パック)する方法(.NET Standardの場合)

Ⅰ. はじめに タイトルの通り「NuGetパッケージを作成し、配布する方法(.NET Standardの場合)」です。 Ⅱ. やり方 1. .csproj ファイルをテキストエディタで開く 2. PropertyGroup にNuGet用の情報を追記する プロパティ詳細情報は以下を参照して下さい http…

PythonでSQLiteを使う方法

Ⅰ. はじめに Python の sqlite3 は標準ライブラリです。 pipからインストールする必要はありません。 Ⅱ. サンプルプログラム #!/usr/bin/env python3 # coding: utf-8 import sqlite3 conn = sqlite3.connect('main2.sqlite3') c = conn.cursor() # create t…

PythonでRSSを取得する方法

Ⅰ. はじめに タイトルの通り「PythonでRSSを取得する方法」です。 Ⅱ. やり方 1. 必要なモジュールをインストールする pip install feedparser 2. サンプルプログラムを書く main.py #!/usr/bin/env python3 # coding: utf-8 import feedparser import json f…

x64dbgにテーマを適応する方法

Ⅰ. はじめに タイトルの通り「x64dbgにテーマを適応する方法」です。 Ⅱ. やり方 1. git cloneする git clone https://github.com/ThunderCls/x64dbg_vs_dark 2. style.css と icons フォルダを x64dbg.exe と同じ階層にコピーする 3. visual_studio_dark_the…

LuaでUUIDバージョン4を生成する方法

Lua

Ⅰ. はじめに タイトルの通り「LuaでUUIDバージョン4を生成する方法」です。 Ⅱ. サンプルプログラム math.randomseed(os.time()) local random = math.random local function uuid() local template ='xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx' return string.g…

Steamのファイルを自動ダウンロードする方法

Ⅰ. はじめに タイトルの通り「Steamのファイルを自動ダウンロードする方法」です。サンプルとしてPUBG(PLAYERUNKNOWN'S BATTLEGROUNDS)のTslGame.exeだけを自動ダウンロードする方法をこの記事で紹介します。 Ⅱ. やり方 1. DepotDownloader をダウンロードす…

Fridaでjava.security.MessageDigestをhookする方法

Ⅰ. はじめに タイトルの通り「Fridaでjava.security.MessageDigestをhookする方法」です。この記事は以下のように"hoge"のMD5を取得するdigest()メソッドをhookする事を想定して書かれています。 MessageDigest md5 = MessageDigest.getInstance("MD5"); byt…

Ubuntu にデスクトップ環境をインストールする方法

Ⅰ. はじめに タイトルの通り「Ubuntu にデスクトップ環境をインストールする方法」です。 VPSでレンタルしたコマンドラインのみのUbuntuにデスクトップ環境をインストールし、VNC接続で操作できるようにする事を想定しています。 Ⅱ. やり方 1. VNCサーバをイ…

OnsenUIのons-listを一番下までスクロールする方法

Ⅰ. はじめに タイトルの通り「OnsenUIのons-listを一番下までスクロールする方法」です。 Ⅱ. やり方 サンプルプログラム <html> <head> <link rel="stylesheet" href="https://unpkg.com/onsenui/css/onsenui.css"> <link rel="stylesheet" href="https://unpkg.com/onsenui/css/onsen-css-components.min.css"> </link></link></head></html>

JavaScriptで非同期的にsleepする方法

Ⅰ. はじめに タイトルの通り「JavaScriptで非同期的にsleepする方法」です。 Ⅱ. やり方 サンプルプログラム function sleep (msec) { return new Promise(resolve => setTimeout(resolve, msec)) } (async () => { console.log('hello world 1') await sleep…