備忘録

備忘録

botanをWindowsでビルドする方法

Ⅰ. はじめに

タイトルの通り「botanをWindowsでビルドする方法」です。

Ⅱ. 環境(必要なもの)

Visual Studio 2017 Community (C++)
Python 2.6以降

Ⅲ. やり方

1. リポジトリを clone する
git clone https://github.com/randombit/botan
2. 「VS 2017用x86_x64 Cross Tools コマンドプロンプト」を起動する


3. 以下のコマンドを実行
cd c:\botan
python configure.py --cc=msvc --os=windows
nmake
4. 実行結果

f:id:kagasu:20181129161428p:plain

JSONをCLIで比較(diff)する方法

Ⅰ. はじめに

タイトルの通り「JSONCLIでdiffする方法」です。

Ⅱ. やり方

1. jsondiffpatch をインストールする
npm install -g jsondiffpatch
2. 比較する
$ cat a.json
{ "name": "a" }

$ cat b.json
{ "name": "b" }
jsondiffpatch a.json b.json
実行結果

f:id:kagasu:20181115104515p:plain

JavaScriptをCLIで整形する方法

Ⅰ. はじめに

JavaScript の整形は以下のWebサイト、テキストエディタ拡張機能等があります。

https://beautifier.io/
https://marketplace.visualstudio.com/items?itemName=HookyQR.beautify

しかし、ファイルサイズが大きい場合は上記の方法では処理ができない為、この記事ではCLIとして提供されている整形ツールを紹介します。

Ⅱ. 使い方

1. js-beautify をインストールする
npm -g install js-beautify
2. 整形する
js-beautify input.js > output.txt

Node.js で非同期にファイルを読み込む方法

Ⅰ. はじめに

タイトルの通り「Node.js で非同期にファイルを読み込む方法」です。

Ⅱ. サンプルプログラム

main.js

const fs = require('fs')
const util = require('util')
const readFile = util.promisify(fs.readFile).bind(util)

(async () => {
  let str = await readFile('a.txt', 'utf8')
  console.log(str)
})()

a.txt

あああ

実行結果

$ node main.js
あああ

C#でcronの書き方でスケジュール実行する方法

Ⅰ. はじめに

cronは以下の書き方でスケジュール実行できます。
この記事ではC#でも以下の書き方でcronのようにスケジュール実行する方法(ライブラリ)を紹介します。

# 1分ごと
* * * * * command

# 1時間ごと
0 * * * * command

Ⅱ. やり方

1. CronSTD をインストールする
Install-Package CronSTD
2. サンプルプログラムを書く
static void MyTask()
{
  Console.WriteLine("hello1");
}

static void Main(string[] args)
{
  var daemon = new CronDaemon();

  // 1分ごとに "hello1" をコンソールに出力する
  daemon.AddJob("* * * * *", MyTask);

  // 1分ごとに "hello2" をコンソールに出力する
  daemon.AddJob("* * * * *", () =>
  {
    Console.WriteLine("hello2");
  });

  daemon.Start();
  Console.ReadLine();
}
実行結果

f:id:kagasu:20181114154146p:plain