Skip to content

Instantly share code, notes, and snippets.

View keitakn's full-sized avatar
🐱
I like cat🐱

keita-koga keitakn

🐱
I like cat🐱
View GitHub Profile
@keitakn
keitakn / Dockerfile
Created November 17, 2021 07:16
GoでDocker
FROM golang:1.17-alpine3.14 as build
LABEL maintainer="https://github.com/keitakn"
WORKDIR /go/app
COPY . .
ARG GOLANGCI_LINT_VERSION=v1.42.1
ARG AIR_VERSION=v1.27.3
@keitakn
keitakn / sha256.js
Created August 30, 2020 03:58
JavaScriptブラウザ側だけでHashを生成する
async function sha256(text){
const uint8 = new TextEncoder().encode(text)
const digest = await crypto.subtle.digest('SHA-256', uint8)
return Array.from(new Uint8Array(digest)).map(v => v.toString(16).padStart(2,'0')).join('')
};
@keitakn
keitakn / README.md
Created August 2, 2020 04:57
kimono-api認証認可(Goの自作Packageを使う場合)

概要

APIGateway経由で普通にAPIを呼び出す(今まで通り)バックエンドのAPIから新しく新規作成した、GoのPackageに

Authorization HTTP HeaderとURL、パラメータ等を渡し、そのリクエストを本当に処理して良いかを検証する。

kimono-appGo

ポイント

最初からいきなりGoのPackageを作るのではなく最初はバックエンドAPIの中に実装して後で認可部分のロジックを別Packageにする。

@keitakn
keitakn / README.md
Created August 2, 2020 04:46
kimono-api認証認可(Lambdaを使う場合)

概要

APIGatewayから直接APIを呼び出すのではなくAPIGatewayからは、Lambda関数を呼び出すようにして、そのLambda関数がJWTトークンの中身を見て、 そのリクエストを処理して良いかを判定する。

kimonoLambda

ポイント

  • Lambda関数はバックエンドAPIと同じVPCの中に作る
@keitakn
keitakn / README.md
Created October 9, 2019 07:04
mysqldumpからHTML形式のテーブル定義書っぽいものを作成する

XML形式でデータ構造のみ持ってくる

mysqldump --no-data --quick --xml -u ${ユーザー名} -h ${ホスト名} -p ${データベース名} > ${データベース名}.xml

事前に style.xsl をカレントディレクトリに設置しておく

xsltproc -o ${データベース名}.html style.xsl ${データベース名}.xml

@keitakn
keitakn / main.tf
Created January 26, 2019 08:33
AuroraServerlessをTerraformで作成する
resource "aws_security_group" "rds_security" {
name = "${terraform.workspace}-${lookup(var.rds, "${terraform.env}.name", var.rds["default.name"])}-cluster"
description = "Security Group to ${lookup(var.rds, "${terraform.env}.name", var.rds["default.name"])}"
vpc_id = "${lookup(var.vpc, "vpc_id")}"
tags {
Name = "${terraform.workspace}-${lookup(var.rds, "${terraform.env}.name", var.rds["default.name"])}-cluster"
}
ingress {
@keitakn
keitakn / prepare-commit-msg
Last active November 4, 2021 01:55 — forked from mesh1nek0x0/prepare-commit-msg
my prepare-commit-msg
#!/bin/bash
# このshを任意の場所に配置して、core.hooksPathに設定すると全体で利用できます。
# e.g. /usr/local/etc/git-hooks/ にこのスクリプトを配置した場合
# git config --global core.hooksPath /usr/local/etc/git-hooks/
out=$1
cat $out
function message() {
mv $out $out.tmp
cat <<EOS > $out