Skip to content

Instantly share code, notes, and snippets.

package main
import (
"fmt"
"net/http"
"os"
"strings"
"github.com/gin-gonic/gin"
"github.com/winebarrel/ddcost"
@winebarrel
winebarrel / kanmu-advent-calendar-2021-12-06.md
Last active June 11, 2023 04:16
goth-esaを作った話とおすすめのSFマンガ

これはカンムアドベントカレンダー2021の6日目です。 昨日は@hiroakisさんの記事でした。

goth-esaを作った話

yktr

弊社は情報共有ツールとしてesaを使っています。 esaはシンプルで悪くないんですが自分は、前職での情報共有ツールの体験から「この手のツールははてなブログのように記事を展開して表示してほしい」と常々考えています。 一応、esa運営に機能要望としてフィードバックしてみたものの、実装されるかわからない…ので自分でツールを作成してみました。

@winebarrel
winebarrel / db.r6g-test.md
Last active April 7, 2021 05:16
https://github.com/winebarrel/qlap を使ったdb.r6g.largeとdb.r5.largeの性能比較
@winebarrel
winebarrel / tiny_mysql.rb
Last active January 20, 2017 08:25
https://goo.gl/HPNOeb sha1: 3149baf94ad92fc4254e4864d5b4faa53dc191b0
require 'open3'
class TinyMysql
attr_reader :mysql_command
attr_reader :defaults_extra_file
attr_reader :host
attr_reader :port
attr_reader :username
attr_reader :database
@winebarrel
winebarrel / wrap.rb
Created February 7, 2016 06:20
Usage: wrap.rb any.txt 30
#!/usr/bin/env ruby
trap('PIPE', 'EXIT')
filnum = ARGV[0]
col = Integer(ARGV[1])
File.read(filnum).lines.each do |line|
state = 0
print line.split(//).slice_before {|ch|
@winebarrel
winebarrel / pg_show_grants.sql
Last active July 12, 2022 00:28
show grants for PostgreSQL
select
pg_user.usename,
t1.nspname,
t1.relname,
relacl.privilege_type,
relacl.is_grantable
from (
select
pg_namespace.nspname,
pg_class.relname,
@winebarrel
winebarrel / price.rb
Last active December 24, 2015 03:57
Rubyとjqでap-northeast-1のLinux/OnDemandの料金を出すやつ
#!/usr/bin/env ruby
require 'json'
require 'jq/extend'
#require 'pp'
trap(:PIPE, :EXIT)
# wget https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonEC2/current/index.json -O AmazonEC2.json
json = File.read('AmazonEC2.json')
jq = JQ(json)
@winebarrel
winebarrel / test.rb
Last active December 23, 2015 07:09
Postfixログパースベンチマーク
#!/usr/bin/env ruby
require 'benchmark'
require 'postfix_status_line'
it = 5
n = 500000
status_lines = "Feb 27 09:02:37 MyHOSTNAME postfix/smtp[26490]: D53A72713E5: to=<myemail@bellsouth.net>, relay=gateway-f1.isp.att.net[204.127.217.16]:25, delay=0.57, delays=0.11/0.03/0.23/0.19, dsn=2.0.0, status=sent (250 ok ; id=20120227140036M0700qer4ne)"
r = /^(?<time>[^ ]* [^ ]* [^ ]*) (?<host>[^ ]+) (?<ident>[a-zA-Z0-9_\/\.\-]*)(?:\[(?<pid>[0-9]+)\])?[^\:]*\: (?<key>[^:]+): ?((to|from)=(<(?<address>[^>]+)>)?)?,( ?(orig_to=<(?<orig_to>[^>]+)>),)? ?(relay=(?<relay>[^ ]+)), ?(delay=(?<delay>[^ ]+)), ?(delays=(?<delays>[^ ]+)), ?(dsn=(?<dsn>[^ ]+)), ?(status=(?<status>[^,]+))/
@winebarrel
winebarrel / serverless-gyazo.rb
Last active August 29, 2015 14:24
Replace "Gyazo/script" to follow script:
#!/usr/bin/env ruby
require 'securerandom'
require 'tmpdir'
S3_BACKET = 'my-bucket'
S3_PATH = 'path'
ENDPOINT = 'my-bucket.s3-website-ap-northeast-1.amazonaws.com'
Dir.mktmpdir do |dir|
now = Time.now.utc