備忘録

備忘録

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

タスクトレイのアイコンを消す方法

Ⅰ. はじめに タイトルの通り「タスクトレイのアイコンを消す方法」です。 Ⅱ. やり方 C++の場合 #include <Windows.h> int main() { auto hWnd = FindWindow(L"ApplicationWindow", NULL); NOTIFYICONDATA data; data.cbSize = sizeof(NOTIFYICONDATA); data.hWnd = hWnd</windows.h>…

WiresharkでTCPのPSHフラグのみ表示(フィルタ)する方法

Ⅰ. はじめに タイトルの通り「WiresharkでTCPのPSHフラグのみ表示(フィルタ)する方法」です。 Ⅱ. やり方 tcp.flags.push == 1 参考 https://osqa-ask.wireshark.org/questions/24961/filter-for-syn-psh-and-rst-flags

Fridaでjavax.crypto.spec.SecretKeySpecをhookする方法

Ⅰ. はじめに タイトルの通り「Fridaでjavax.crypto.spec.SecretKeySpecをhookする方法」です。 Ⅱ. やり方 1. hook.js var Base64a = { encode: (function(i, tbl) { for(i=0,tbl={64:61,63:47,62:43}; i<62; i++) {tbl[i]=i<26?i+65:(i<52?i+71:i-4);} //A-Z…

C#でprotobuf-netを使ってデフォルト値を強制的に出力する方法

Ⅰ. はじめに ageが省略された例 Ⅱ. やり方 サンプルプログラム 実行結果 参考 Ⅰ. はじめに タイトルの通り「C#でprotobuf-netを使ってデフォルト値を強制的に出力する方法」です。 protobuf-netはデフォルト値を出力しません。 ageが省略された例 Human.prot…

C#でProtocolBuffersを使う方法

Ⅰ. はじめに Ⅱ. やり方(Google.Protobufを使う方法) 1. NuGetから Google.Protobuf をインストールする 2. protoファイルを作成する 3. protoc.exe をダウンロードする 4. protoファイルからC#のクラスを自動生成する 5. サンプルプログラムを書く 実行結…

Canvasで画像を重ね合わせる方法

Ⅰ. はじめに タイトルの通り「Canvasで画像を重ね合わせる方法」です。 Ⅱ. サンプルプログラム index.html <html> <body> <canvas id="my-canvas" width=300 height=300></canvas> <script src="index.js"></script> </body> </html> index.js // 優先度が低い順に画像パスを指定する。(上に表示したい画像は後ろに指定する) const imgs = ['img/character.png', 'img/frame…

C#でLuaを使う方法(NLuaの使い方)

Ⅰ. はじめに タイトルの通り「C#でLuaを使う方法(NLuaの使い方)」です。 Ⅱ. やり方 1. NuGetからNLuaをインストールする Install-Package NLua 2. サンプルプログラム humans.lua Humans = { [10001] = {id = 10001, name = 'name001' }, [10002] = {id = …

Vue+webpackでlodashを使う方法

Ⅰ. はじめに タイトルの通り「Vue+webpackでlodashを使う方法」です。 Ⅱ. やり方 1. lodashをインストールする npm install lodash 2. src/main.js に 以下をコピペする import lodash from 'lodash' Object.defineProperty(Vue.prototype, '$lodash', { val…

C#でWinPcapを使う方法(SharpPcapの使い方)

C#

Ⅰ. はじめに Ⅱ. やり方 1. NuGetからSharpPcapをインストールする 2. サンプルプログラムをコピペする 実行結果 Ⅲ. TCPだけをキャプチャする方法 参考 Ⅰ. はじめに タイトルの通り「C#でWinPcapを使う方法(SharpPcapの使い方)」です。 WinPcapを利用したキ…

VisualStudioでURLをリンクとして表示しない方法

Ⅰ. はじめに タイトルの通り「VisualStudioでURLをリンクとして表示しない方法」です。 Ⅱ. やり方 1. ツール → オプション 2. 「シングル クリックでの URL ナビゲーションを有効にする」のチェックを外す 設定前 設定後 参考 https://msdn.microsoft.com/ja…

C++でLINQを使う方法(cpplinqの使い方)

Ⅰ. はじめに タイトルの通り「C++でLINQを使う方法(cpplinqの使い方)」です。 Ⅱ. 使い方 1. GitHubから cpplinq.hpp をダウンロードする https://github.com/mrange/cpplinq 2. サンプルプログラムを書く #include <iostream> #include <list> #include <algorithm> #include <string> #includ</string></algorithm></list></iostream>…

GitHubで第三者のメールアドレスを調べる方法

Ⅰ. はじめに タイトルの通り「GitHubで第三者のメールアドレスを調べる方法」です。 Ⅱ. やり方 codepen.io 参考 https://stackoverflow.com/a/44638152

KotlinでFuelにProxyを設定する方法

Ⅰ. はじめに タイトルの通り「KotlinでFuelにProxyを設定する方法」です。 Ⅱ. サンプルプログラム 1. 通常の方法 import com.github.kittinunf.fuel.Fuel import com.github.kittinunf.fuel.core.FuelManager import com.google.gson.JsonParser import java…

Kotlinでunixtimeを取得する方法

Ⅰ. はじめに タイトルの通り「Kotlinでunixtimeを取得する方法」です。 Ⅱ. サンプルプログラム fun getUnixTime() : Long { return System.currentTimeMillis() / 1000 } fun main(args: Array<String>) { println(getUnixTime()) } 実行結果 1521850390</string>

KotlinでGUID(version4)を生成する方法

Ⅰ. はじめに タイトルの通り「KotlinでGUID(version4)を生成する方法」です。 Ⅱ. サンプルプログラム import java.util.UUID fun main(args: Array<String>) { println(UUID.randomUUID().toString()) } Ⅲ. 実行結果 93abd516-f6b1-4108-b7af-d416f4b59f5d</string>

IntelliJ IDEA + Kotlin + Gradleでhelloworldする方法

Ⅰ. はじめに タイトルの通り「IntelliJ IDEA + Kotlin + Gradleでhelloworldする方法」です。 サンプルとしてUserAgentを表示するプログラムを作成します。 Ⅱ. やり方 1. Create New Project をクリック 2. GradleでKotlinを指定する 3. GroupId, ArtifactId…

IntelliJ IDEAで引数の名前を非表示にする方法

Ⅰ. はじめに タイトルの通り「IntelliJ IDEAで引数の名前を非表示にする方法」です。 Ⅱ. やり方 1. Ctrl + Alt + Sを押してSettingsを開く 2. Show hits for のチェックをオフにする Ⅱ. やり方(旧バージョン) 1. Ctrl + Alt + Sを押してSettingsを開く 2. …

Costura.Fody の使い方

Ⅰ. はじめに タイトルの通り「Costura.Fody」の使い方です。 Costura.Fodyはpdbファイルを基に自動的にDLLをEXEに埋め込みます。 ILMergeの代替として利用できます。 Ⅱ. 使い方 1. Costura.Fody をインストールする Install-Package Costura.Fody 2. プロジ…

ConfuserExの使い方

Ⅰ. はじめに Ⅱ. 使い方 1. ConfuserEx をダウンロードする 2. ConfuserEx.exe を起動 3. 難読化したいファイルをドラッグ&ドロップする 4. 難読化設定を追加する 5. 難読化する Ⅲ. ビルド後、自動的に難読化する方法 1. ConfuserExプロジェクトを保存する 2…

VSCodeで単語選択をする方法

Ⅰ. はじめに タイトルの通り「VSCodeで単語選択をする方法」です。 Ⅱ. やり方 Ctrl + D Ⅲ. キーボードショートカットの変更方法 1. VSCodeで「Ctrk + K, Ctr+ S」を押し「キーボードショートカット」を開く 2. 「選択項目を次の一致項目に追加」で検索する 3…

VSCodeで統合ターミナルをフォーカスするショートカットキーを設定する方法

Ⅰ. はじめに タイトルの通り「VSCodeで統合ターミナルをフォーカスするショートカットキーを設定する方法」です。 「Ctrl+.」を押すたびに①と②が切り替わるようになります。 Ⅱ. やり方 1. VSCodeで「Ctrk + K, Ctr+ S」を押し「キーボードショートカット」を…

LinodeでWindowsを起動する方法

https://github.com/ClickSimply/docs/blob/windows-on-linode/docs/tools-reference/windows-on-linode/installing-windows-on-linode-vps.md

C#でYahooAPIのルビ振りを利用する方法

C#

Ⅰ. はじめに タイトルの通り「C#でYahooAPIのルビ振りを利用する方法」です。 Ⅱ. サンプルプログラム using System; using System.Net.Http; using System.Threading.Tasks; using System.Xml.Linq; static async Task Main(string[] args) { var grade = 1;…

MariaDB(MySQL)を自動的にGoogleDriveにバックアップする方法

Ⅰ. はじめに タイトルの通り「MariaDB(MySQL)を自動的にGoogleDriveにバックアップする方法」です。 Ⅱ. やり方 1. git cloneする $ git clone https://github.com/kagasu/DBAutoBackup 2. gdriveを初期化する // gdrive を以下のリポジトリから自分でビルド…

WPFでGridを使いコントロールの位置を動的に変更する方法

Ⅰ. はじめに Ⅱ. サンプルプログラム MainWindow.xaml MainWindow.xaml.cs Ⅲ. 実行結果 参考 Ⅰ. はじめに タイトルの通り「WPFでGridを使いコントロールの位置を動的に変更する方法」です。 Ⅱ. サンプルプログラム MainWindow.xaml <Grid Name="grid1" ShowGridLines="True"> <Grid.RowDefinitions> <RowDefinition Height="1*" MaxHeight="80"/> <RowDefinition Height="3*" /> </rowdefinition></rowdefinition></grid.rowdefinitions></grid>

Linuxでディスク読書速度を測定(ベンチマーク)する方法

Ⅰ. はじめに Ⅱ. やり方(簡易版) 書き込み速度 読み込み速度 Ⅲ. やり方(fioを使用する方法) インストール 書き込み速度(random read) 読み込み速度(random write) その他 Ⅰ. はじめに タイトルの通り「Linuxでディスク読書速度を測定する方法」です。 Ⅱ.…

CefSharpでリダイレクトURLを取得する方法

Ⅰ. はじめに Ⅱ. サンプルプログラム MainWindow.xaml test.php MyRequestHandler.cs 実行結果 参考 Ⅰ. はじめに タイトルの通り「CefSharpでリダイレクトURLを取得する方法」です。CefSharpに関する基本的な情報はこちら http://kagasu.hatenablog.com/entry…

CSSでウィンドウ幅に合わせて要素を横に並べる方法

Ⅰ. はじめに タイトルの通り「CSSでウィンドウ幅に合わせて要素を横に並べる方法」です。 Ⅱ. サンプル CSS Grid Layoutを使う場合 CSS Flexible Box Layout を使う場合

Dapperの遅いINSERTをDapperPlusを使って高速化する

C#

Ⅰ. はじめに Dapperで以下のようなINSERTを実行した場合数秒かかります。 var values = Enumerable.Range(0, 10000).Select(x => new { a = x, b = x }); var count = connection.Execute(@"insert MyTable(ColA, ColB) values (@a, @b)", values); 原因はバ…

MariaDBのデータ復旧方法

Ⅰ. はじめに MariaDBが異常停止して二度と起動しない状態になった場合、原因究明よりもとにかくデータを復旧したい場合のやり方です。 Ⅱ. やり方 1. innodb_force_recovery の値を設定する 1~6まで1ずつ値を起動するまで増やし、MariaDBが起動できるように…