Skip to content

Instantly share code, notes, and snippets.

@kawanet
kawanet / readFile.js
Created May 17, 2020 04:20
async readFile with STDIN support when path is "-"
function readFile(path: string): Promise<Buffer> {
return new Promise((resolve, reject) => {
const readble = (path === "-") ? process.stdin : fs.createReadStream(path);
readble.on("error", reject).pipe(concatStream(resolve));
});
}
@kawanet
kawanet / ec2-hostnamectl.sh
Created February 27, 2020 05:14
EC2ホスト名を登録する
#!/bin/bash
aws ec2 describe-tags --region ap-northeast-1 --output text \
--query 'Tags[?Key==`Name`].Value|[0]' \
--filter "Name=resource-id,Values=$(curl -s http://169.254.169.254/latest/meta-data/instance-id/)" | \
xargs sudo hostnamectl set-hostname
sudo sh -lc "echo 'preserve_hostname: true' > /etc/cloud/cloud.cfg.d/50_preserve_hostname.cfg"
@kawanet
kawanet / amazon-cloudwatch-agent.json
Created February 11, 2020 13:08
CloudWatch Agent 設定
{
"agent": {
"metrics_collection_interval": 60,
"logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log",
"region": "ap-northeast-1"
},
"metrics": {
"metrics_collected": {
"cpu": {
"measurement": [
@kawanet
kawanet / docker-hostname.sh
Created February 11, 2020 12:56
Dockerコンテナ内で個別のホスト名を設定する
#!/bin/bash
docker="$(egrep ':/docker/[0-9a-f]+$' /proc/self/cgroup | head -1)"
docker="${docker##*/}"
hostname "docker-${docker:0:8}"
@kawanet
kawanet / heap_size_limit.sh
Last active February 5, 2020 13:39
node --max-old-space-size option and heap_size_limit
#!/bin/sh
node --max-old-space-size=1000 -e 'console.log(Math.floor(v8.getHeapStatistics().heap_size_limit/1024/1024))'
# 1049
node -e 'console.log(Math.floor(v8.getHeapStatistics().heap_size_limit/1024/1024))'
# 1456
node --max-old-space-size=2000 -e 'console.log(Math.floor(v8.getHeapStatistics().heap_size_limit/1024/1024))'
# 2066
@kawanet
kawanet / docker-socat-1234.sh
Created September 4, 2019 16:29
Docker for Macで1234番ポートでlistenする
#!/bin/sh
# @see https://github.com/docker/for-mac/issues/770
docker run -d -v /var/run/docker.sock:/var/run/docker.sock -p 1234:1234 alpine/socat TCP-LISTEN:1234,fork UNIX-CONNECT:/var/run/docker.sock
@kawanet
kawanet / aws-describe-to-md.sh
Last active September 10, 2020 02:56
AWS インフラ構成を Markdown で出力
#!/bin/sh
# Name: aws-describe-to-md.sh
# Gist: https://gist.github.com/kawanet/5c135535d9bf49722b96cab29fa94708
# Author: 2019 Yusuke Kawasaki
# License: MIT
#
# Download:
# curl -o aws-describe-to-md.sh https://gist.githubusercontent.com/kawanet/5c135535d9bf49722b96cab29fa94708/raw/aws-describe-to-md.sh
#
@kawanet
kawanet / random-password.sh
Created August 23, 2019 11:19
Base 64 の乱数文字列を生成する(パスワード)
openssl aes-256-cbc -e -in /dev/null -pass pass: | base64 | cut -c 16-31
@kawanet
kawanet / make-su-exec.sh
Created June 8, 2019 05:45
1行で su-exec をビルドする
curl https://raw.githubusercontent.com/ncopa/su-exec/master/su-exec.c | gcc -Wall -Werror -g -xc - -o su-exec
@kawanet
kawanet / MainActivity.java
Created May 31, 2019 00:28
Android String Resources: res/values/string-space.xml white space exploration
package net.kawa.whitespacetests;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
/**
* @see https://developer.android.com/guide/topics/resources/string-resource
*/