2019-02-01から1ヶ月間の記事一覧
概要 Kubernetes のローカル環境が欲しくなった。 そういえば Docker for mac から使えるようになったという記事を見た記憶が... 使えるようにしたのでメモ。 バージョン stable版でも Kubernetes を使えるようになっていた。 手順 Preference を開いて Kube…
Lambda でシェルスクリプトを実行するまでの動画を作ってみました。 公式ドキュメント www.youtube.com
Lambda Go を動かすまでをやってみた動画を作ってみました。 AWS公式ドキュメント www.youtube.com
概要 Go で REST API 用のモックサーバーを作りました。 kawabatas/gomock バイナリの実行で、モックサーバーが起動する handler をパッケージにすることで、テストでも使える ということを意識しました。 gostub/gostub(紹介記事)を参考にさせていただき、r…
概要 Golang + Echo の API に IPアドレスによるアクセス制限を設けたのでメモ。 実装 ほぼほぼこちらを参考にさせていただいた。 package main import ( "net" "os" "strings" "github.com/labstack/echo" ) // InternalIpFilter returns an middleware whi…
概要 docker-compose で postgres -> mysql に変えたら起動できなくなりました。 無事解決できたのでメモです。 起動時のエラー $ docker-compose up -d $ docker-compose ps Name Command State Ports ---------------------------------------------------…
概要 Golang Lambda で DynamoDB のトレース、外部HTTPリクエストのトレースをした際のメモです。 Lambda のトレースの有効化 Lambda での AWS X-Ray のセットアップにあるように、 「アクティブトレースを有効にします」にチェックを入れれば、Lambda の起…
概要 セキュリティグループのインバウンドルールで TCP を許可している EC2 に対して、 VPC 内にアクセス可能にした Lambda、そうでない Lambda からの疎通確認をしてみました。 Lambda のランタイムは Go です。 Lambda のコード package main import ( "lo…
概要 GitHub Actions で Go の超シンプルなテストを実行してみたのでメモ。 GitHub Actions 現在 limited public beta で、使いたい人はこちらからエントリーが必要。 コード サンプルリポジトリはこちら。 .github/main.workflow を作成しただけ。 $ tree -…
概要 HTTP モックサーバがほしいなら、標準の httptest パッケージを使えばよいとわかったのでメモ。 コード GET リクエストを投げる ping 関数 func ping(url string) int { client := &http.Client{ Timeout: 5 * time.Second, } res, err := client.Get(u…
概要 外部 API や DB が関わるコードのテストでモックを使いたい場面は多々あると思う。 interface を使って、テストでモックに切り替えることができるのでメモ。 インターフェイスを定義 type DB interface { Add(name string) error Delete(name string) e…
概要 go を触り始めたばかりで、go のテストのことが少しわかったので、メモ。 書き方 テストのファイルは *_test.go main.go だったら main_test.go testing ライブラリを import して、func TestXXX(t *testing.T) という関数を作成する package main func…
go fmt をサブディレクトリ配下のすべてのファイルにまとめて行える $ go fmt ./...
概要 go の開発環境を設定し、go のプロジェクト作成までやったのでメモ。 goenv のインストール goenv は、go 言語のバージョンを管理するもの。 go 言語版の rbenv や nodebrew のようなもの。 リポジトリはこちら $ brew install goenv $ echo 'export GO…
概要 ステージング、本番など環境ごとに環境変数を用意すると思いますが、 ローカルの環境変数の管理には direnv が便利なので、その設定方法をメモです。 リポジトリはこちら direnv をインストール $ brew install direnv $ echo 'eval "$(direnv hook bas…