GolangのHTTPサーバーのコードリーディング
2021年6月30日概要 Goでrouterを作ったときにHTTPサーバーのコードの内部を読んだので、その時のメモ。 github.com - bmf-san/goblin HTTPサーバーのコードリーディング 基本形 Goに入門したとによく見るであろう形のコード。 色々なものが省略されてこの形になっている。 package main import ( "net/http" ) fun...
概要 Goでrouterを作ったときにHTTPサーバーのコードの内部を読んだので、その時のメモ。 github.com - bmf-san/goblin HTTPサーバーのコードリーディング 基本形 Goに入門したとによく見るであろう形のコード。 色々なものが省略されてこの形になっている。 package main import ( "net/http" ) fun...
概要AWSの代表的なサービスの分類をメモ。 AZサービス サブネット(複数AZにはまたがらない) NAT ネットワークACL EC2インスタンス RDSインスタンス Elastic Cache Elastic File System Elastic Load Balancing EBS Volume Redshift リージョンサービス VPC(複数のAZにまたがることができる) セキュリティグ...
AWSのリソースネーム(ARN)の形式を忘れないようにメモ。 arn:partition:service:region:account-id:resource-id arn:partition:service:region:account-id:resource-type/resource-id arn:partition:service:region:account-id:resource-ty...
概要最近、自作ルーティングのgoblinをアップデートしたのでその記録を書き残しておく。 以下は過去ルーティングについて書き残した記事。他にも実装検討フェーズの記事があるが、内容があまり良くないので割愛。 URLルーティング自作入門 エピソード1 URLルーティング自作入門 エピソード2 GolangのHTTPサーバーのコードリーディング Introduction to URL router f...
概要たまに混乱するので用語集としてメモ。 用語フェイルセーフ障害が発生したら安全な状態に移行する仕組み。 フェイルオーバー稼働中システムに障害は発生したら代替のシステムに自動的に機能を引き継ぎ、処理を続行する仕組み。 フェイルバック代替システムから元のシステムに処理を引き継いで元の状態に戻すこと。フェイルオーバーの逆。 フェイルソフト障害が発生したら障害箇所を取り除き、影響範囲を狭めて運転を継続す...
概要commitを分割したいときの手順についてメモ。 手順# 分割したいところを指定してrebase。対象のcommitをeditにする。 git rebase -i HEAD~5 # unstageする git rebase HEAD~ # unstageしたものを分割したい粒度で再commitする。 git add & git commit # commitが完了したらrebas...
アルゴリズム図鑑 増補改訂版 絵で見てわかる33のアルゴリズムを読んだ。 図解が分かりやすいので手元に置いておきたい一冊。 ...
最近のアップデートでDocker CLIがDocker Composeをサポートするようになったらしい。 cf. docs.docker.com - Compose CLI Tech Preview Tech Previewなのでまだプロダクションでの利用推奨されていないとのこと。 互換性についてはこちら。docs.docker.com - Compose command compatibilit...
概要TerraformとAnsibleを使ってKubernetes環境構築に取り組んだ。 自作アプリの運用をKubernetesに乗っけてみたいという気持ちから環境を構築するところから初めてみた。 サーバー選定プライベートでの開発なので、せいぜい月2000円前後くらいの予算に留めたいところ。 クラウドかVPSか、マネージドか、ノンマネージドかといったところが大きな観点だが、そのへんはコスト感と運用...
概要 spannerのDBマイグレーションで、golang-migrateを使ったのでメモ。 使い方 dockerで使う想定。 dockerではなくバイナリで実行していたが、ホストマシンのopensslのバージョンに依存して動作しない可能性あるようなので、コンテナ実行が無難だと思う。 MIGRATE_VERSION='v4.14.1' docker run -v /migra...