Skip to content

Instantly share code, notes, and snippets.

View pocari's full-sized avatar
🍻
🍻

pocari pocari

🍻
🍻
View GitHub Profile
@pocari
pocari / levenshtein_distance.rb
Created November 22, 2018 03:26
レーベンシュタイン距離
# frozen_string_literal: true
# https://mathwords.net/hensyukyori
def levenshtein_distance(a, b)
d = Array.new(b.size + 1) do
Array.new(a.size + 1)
end
# 先頭の空文字分+1して確保して、
# そこまでの文字列長さで初期化
@pocari
pocari / check_stats.rb
Last active April 9, 2018 09:25
docker statsの結果を整形
require 'bigdecimal'
# while true; do TZ="Asia/Tokyo" ruby check_stats.rb; sleep 3; done > stat_log.txt
cmd = <<EOS
sudo docker stats --no-stream --format '{{.Name}}\t{{.ID | printf "%.10s" }}\t{{.CPUPerc}}\t{{.MemUsage}}'
EOS
def to_mib(str)
val = BigDecimal.new(str[0..-3])
@pocari
pocari / Test.java
Created August 3, 2017 03:46
java 暗号化 復号化
import java.io.*;
import javax.crypto.*;
import javax.crypto.spec.*;
import java.security.*;
public class Test {
public static void main(String ...args) throws Exception {
String password = "01234567890ABCDEFGHIJKLMNOPQRSTU";
encrypt("./hoge.zip", "hoge.encrypted", password);
decrypt("hoge.encrypted", "decrpted", password);
@pocari
pocari / get_log.sh
Created July 7, 2017 03:41
cloudwatchのログをpecoる
#!/bin/bash
if [ -z "$LOG_GROUP" ]; then
LOG_GROUP=$(aws logs describe-log-groups | jq -r ".logGroups[].logGroupName" | grep -v "/aws/lambda/" | peco)
if [ -z "$LOG_GROUP" ]; then
exit 1
fi
fi
LOG_STREAM=$(aws logs describe-log-streams \
@pocari
pocari / restore_snapshot.rb
Last active July 7, 2017 06:14
Auroraのクラスタのスナップショットを既存のAurora環境に復元する
require 'logger'
require 'aws-sdk'
LOGGER = Logger.new(STDOUT)
def current_timestamp
Time.new.strftime("%Y-%m-%d-%H-%M-%S")
end
# 最大一時間待つ
@pocari
pocari / delete_old_application_versions.sh
Last active December 19, 2019 01:21
beanstalkの指定したアプリケーション内のアプリケーションバージョンを削除するshell関数
# --dry-run ... 実際に実行はせず削除コマンドの表示だけ行う
# --keep n ... 直近N個のみ保持しそれ以外は削除
# --target regexp ... regexpにマッチするアプリケーションバージョン名のみを対象
# --v-target regexp ... regexpにマッチしないアプリケーションバージョン名のみを対象
# 例)
# productionが含まれるバージョンを直近20件のみ保持
# $ delete_old_application_versions karada-yosozu --target "production" --keep 20
#
# production, staging以外のバージョンを直近20件のみ保持
# $ delete_old_application_versions karada-yosozu --v-target "staging|production" --keep 20
@pocari
pocari / tmux.md
Created March 30, 2017 04:00
tmux でpane入れ替え swap

swap-pane -t 入れ替えたいpane番号

で今いるpaneと -t で指定したpaneを入れ替える

set display-panes-time 10000
@pocari
pocari / delayed_job_memo.md
Last active September 2, 2020 09:11
DelayedJobのワーカー内でpryを使う(rails delayed job worker pry)
@pocari
pocari / sample.sh
Created March 10, 2017 02:25
pry-byebug でループのデバッグ (loop pry debug break)
bash-3.2$ cat -n test.rb
1 # stop at before loop
2 # and break (or conditional break)
3 # e.g)
4 # > break 8 if i >= 18
5 # and run continue. then stop at next binding.pry
6 binding.pry
7 1.upto(20).each do |i|
8 p i
9 end