Skip to content

Instantly share code, notes, and snippets.

View akirattii's full-sized avatar

Akira TANAKA akirattii

View GitHub Profile
@akirattii
akirattii / make-zipcode-database.md
Last active July 24, 2022 08:07
[MySQL] SQLのパフォーマンステスト用に郵便番号のデータベースでも作ってみる(郵便番号CSVのダウンロードからインポートまで)

郵便局のHPからken_all.zipをダウンロード(Download zipcode CSV file "ken_all.zip"):

$ wget http://www.post.japanpost.jp/zipcode/dl/kogaki/zip/ken_all.zip

ZIPを解凍(Extract KEN_ALL.CSV from ken_all.zip):

$ unzip ken_all.zip
@akirattii
akirattii / gen_address_aliases_address_hash.js
Created May 12, 2017 23:32
メモ: Counterblock API の "get_preferences" が吐き出す address_aliases のハッシュ化アドレス
/*
メモ:Counterblock API の "get_preferences" が吐き出す address_aliases に含まれているハッシュ化されたアドレスは、以下のようなロジックで生成されている。
*/
var CryptoJS = require("crypto-js");
var addr = 'mkcpH67kGUUzVBpKU5P5QkPT48DygcjCgQ'; // address
var base64 = CryptoJS.SHA256(addr).toString(CryptoJS.enc.Base64);
console.log("ハッシュ化されたアドレス:", base64); // 'MvB0qNP3dcHwbatXgFkST2wmc5/D+Pmq/1zgetO0EQc='
/*
@akirattii
akirattii / Mnemonic.js
Last active May 14, 2017 07:18
Example: Get addresses on CounterWallet from passphrase
// Imported from js/external/mnemonic.js of Counterwallet@github
// and changed to CommonJS style
exports.getInstance = function(args) {
var bits, i, l, w1, w2, w3, n;
if (typeof args == "undefined" || typeof args == "number") {
bits = args || 96;
if (bits % 32 !== 0)
throw "Can only generate 32/64/96/128 bit passwords";
this.random = new Uint32Array(bits / 32);
if (window.crypto && window.crypto.getRandomValues)
@akirattii
akirattii / get-host-ip-from-docker-container.sh
Created May 18, 2017 07:27
Docker Memo: How to get host's IP address from a container
# First, login container like this:
$ docker exec -it <container> /bin/bash
# Now you are in the container, try to get host's IP address like this:
$ /sbin/ip route|awk '/default/ { print $3 }'
@akirattii
akirattii / bitcoin.testnet.conf
Created May 18, 2017 07:33
bitcoind memo: set `walletnotify` to bitcoin.conf
# /root/.bitcoin-config/bitcoin.testnet.conf
testnet=1
rpcuser=rpc
rpcpassword=rpc
server=1
printtoconsole=1
rpcallowip=0.0.0.0/0
rpcthreads=50
rpctimeout=300
txindex=1
@akirattii
akirattii / parseBitcoinProtocolLink.js
Created May 25, 2017 04:57
Function: Parses bitcoin protocol link
@akirattii
akirattii / CryptoUtil.js
Created June 5, 2017 07:16
Encryption & Decryption utility for NodeJS
/**
* Crypto Utility
* @author akirattii <[email protected]> (http://mint.pepper.jp)
*
* Caution: Assuming server-side use only!
*/
/*
Usage:
```
const CryptoUtil = require('../lib/CryptoUtil.js');
@akirattii
akirattii / fetchAddressByZipcode.js
Created June 5, 2017 22:57
郵便番号検索API
/**
* Fetch address by zipcode
*/
function fetchAddressByZipcode(zipcode, cb) {
let url = "http://zipcloud.ibsnet.co.jp/api/search?callback=?&zipcode=" + zipcode;
$.getJSON(url).done((data, status, jqXHR) => {
let result = data["results"][0];
vm.prefecture = result["address1"];
vm.city = result["address2"];
@akirattii
akirattii / example-alice-bob-message-verify.js
Created June 8, 2017 22:21
Example: Signed message verification (from generate a keypair) for NodeJS
const crypto = require('crypto');
const secp256k1 = require('secp256k1');
// or require('secp256k1/elliptic')
// if you want to use pure js implementation in node
const msg = process.argv[2]; // message to be signed you pass
const digested = digest(msg);
console.log(`0) Alice's message:
message: ${msg}
message digest: ${digested.toString("hex")}`);
@akirattii
akirattii / docker-mysql-slow-query-log.md
Last active July 14, 2023 22:12
memo: MySQL docker container settings for slow query log

Check running mysql container:

$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
26137efa979f        mysql               "docker-entrypoint..."   8 months ago        Up 10 minutes       0.0.0.0:3306->3306/tcp   container-mysql

Check docker container mysql version:

$ sudo docker exec container-mysql mysqld --version`
mysqld  Ver 5.7.15 for Linux on x86_64 (MySQL Community Server (GPL))