Go
はじめに 先日Go Conference 2019 Autumnに参加してきました。また、Goは半年前程から使い始めたので、Goのカンファレンスに参加したのは初めてでした。 セッションはテスト、エラーハンドリング、機械学習、ライブラリなどからエミュレータ、コンパイラなど…
はじめに アプリケーションの開発においてエラーハンドリングの設計は重要です。エラーハンドリングの設計を軽視すると、エラー発生時に原因が明確にわからないことや、エンドユーザーに対して不親切なエラーメッセージを返すことになってしまってもおかしく…
はじめに 今回はGoogle Kubernetes Engine(GKE)を利用してgRPC通信の動作検証をしました。 本記事ではGoを使用したgRPC通信の実装例と、GKEへのデプロイ手順を記載しています。 構成図は以下のようになります。LoadBalancer(LB)でgRPCリクエストを受け付…
はじめに 本記事ではgRPCを利用したサーバーとクライアントを実装します。マイクロサービス開発などでよく使われるgRPCですが、ちゃんと調べたことがなかったので簡単なサーバとクライアントを実装してまとめました。 今回の例として使用したリポジトリはGit…
はじめに 今回はGoでの構造体の比較について、 google/go-cmp を利用したテスト手法について紹介します。 今回のブログで使用したリポジトリ github.com google/go-cmpとは go-cmp とは値が等価かどうかを判別する package です。 等価を確認する方法に == …
はじめに Goにおける抽象化の方法にインターフェースがあります。インタフェースをうまく使うことにより具体的な実装を隠し、疎結合な実装ができるようになります。 これにより、テストがやりやすくなったり、リファクタリングの影響範囲を小さくできるなど…
はじめに 今回はGoの標準testing packageを使った基本的なテストの方法を試していきたいと思います。 テストの題材としてFizzBuzz問題を利用してテストを書いていきます。 FizzBuzzの要件 FizzBuzz問題の要件を簡単に整理します。以下の要件を確認するための…